Floorplan:

要做好floorplan需要掌握哪些知识跟技能?

通常,遇到floorplan问题,大致的debug步骤跟方法有哪些?

如何衡量floorplan的QA?

T:Block level的floorplan最重要的就是size和timing。首先需要研究macro之间的data flow,可以根据这个信息摆一个大致的floorplan,尽量的减少线长,算好macro之间所需要的间距,调整好pin的朝向。在PG都打好之后,可以简单粗暴一步不漏地从头跑到尾来衡量block size等是否合理。其次需要考虑timing的问题,对于某些高要求的block,需要通过place timing result反过来调整floorplan会有很多fp/place之间的来回,并且还需要通过 bound, group, preplace 等手段去人工干预工具的结果。

top level的floorplan需要对全局有把控,跟 package, IP, PAD, foundary 等有很多互动,需要跟前端和供应商不停的沟通review看spec等,对知识面要求很广。在这些基础上还要控制芯片的面积,feasibility,电源网等,并根据个block之间的 data flow, timing紧密程度和block的可行性来进行partition。

P:FP的形状最好规则,size能满足density的需求,power是ir 和resource的综合考虑。mem和io的摆放是基于对design数据流的理解。Innovus fp的gui界面特别好用应该是公认的。checkFplan应该可以报出所有于row, track相关的问题

A:Floorplan需要会操作gui界面,memory,ip都需要摆。QA需要做try run看看timing, congestion好不好。

Placement:

要做好placement需要掌握哪些知识跟技能?

通常,遇到placement问题,大致的debug步骤跟方法有哪些?

如何衡量placement的QA?

T:placement需要考虑的是timing,power,congestion。

基本上就是通过timing result以及各种分步reports和之后步骤的结果来分析QA,从而决定是否需要通过bound, group, preplace等人工手段去干预,或者做logic调整,禁用某些cell,更改工具流程等等。

P:place 主要考虑timing, overflow,好的place应该是critical的path放的尽量集中且没有overflow的问题。Innovus的优势在于skp,同时考虑timing, overflow和wirelength。

A:place需要会在ideal clock情况调整脚本,可能会用到useful skew调整来控制congestion,同时meet timing。

CTS:

要做好CTS需要掌握哪些知识跟技能?

通常,遇到CTS问题,大致的debug步骤跟方法有哪些?

如何衡量CTS的QA?

T:低要求的只要后期timing可以收敛,直接跑脚本就可以。

高要求的在做之前要理顺clocktree结构,仔细看工具log, clock report,查看treelevel, design rule, skew。有选择地使用clockcell, target design rule尽量把tree做短。在对clock tree和工具熟悉的基础上甚至可以单独准备一个cts sdc以及平衡tree在不同corner之间的长度功耗等。

在把握住以上的要求后,进一步使用后续步骤的hold, setup timing去反过来检查tree的质量。

P:cts主要看clk tree的skew, slew和latency。innovus的ccopt有强大的chain based useful skew的能力,在得到最好的timing的同时实现这三个目标。

A:cts要知道如何看clock tree结构,如何利用工具把tree按照sdc的要求实现。

Route:

要做好Route需要掌握哪些知识跟技能?

通常,遇到Route问题,大致的debug步骤跟方法有哪些?

如何衡量Route的QA?

T:route这一步随着工艺的进步xtalk效应越来越严重,xtalk在绕线之前基本很难衡量,往往在绕线后会引起时序不收敛和runtime的增长,在极端情况下有可能会引起block的面积增长。

route的问题需要仔细去排查PR工具的drc report,一般需要注意short, total drc, drc type.

P:route首先要保证能route通没有drc,然后就是route前后的timing尽量一致,innovus的global Route和detail Route均是timing driving的,能很好满足以上两点。

A:Route要知道如何调整工具把design route通的前提下提升yield,主要是double via或dfm via的ratio

DRC:

要做好DRC需要掌握哪些知识跟技能?

通常,遇到DRC问题,大致的debug步骤跟方法有哪些?

如何衡量DRC的QA?

T:低要求的基本只要看到某些常见的drc violations知道怎么修就可以了。

高要求的则需要对foundary不同工艺的rule file和工具的tech file有一定的了解以及对layout有一定的概念。通过这些知识在PR初期可以预见和规避掉一些潜在致命的drc错(比如base layer或部分metal Layer的错)。此外还可以人肉过滤PR工具里的drc report, 高效率的找到可能的root cause及相应的workaround.

A:DRC要会把出现的问题分类,是base layer还是Metal layer,同时确定是routing可修还是要动cell位置,甚至需要再调整floorplan。

P & R 8的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  3. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  4. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  5. 应用r.js来优化你的前端

    r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用 ...

  6. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  7. c#使用Split分割换行符 \r\n

    c# 使用Split分割 换行符,方法如下(其余方法有空再添加):   string str = "aa" + "\r\n" + "bb"; ...

  8. JAVA调用R

    JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...

  9. Windows Form调用R进行绘图并显示

    R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上. 1 前提准备 安装R软件,需要安装32位的R软件,6 ...

  10. react-native Simulator com+r不能刷新模拟器

    这个问题是我按了com + shift + K 调出Simulatior 的时候出现的, 然后虚拟机就刷新不了了, 怎么按com+r都不好使. 在Simulatior的菜单栏选择Hardware -- ...

随机推荐

  1. js封装删除数组指定的某个元素的方法

    首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = ...

  2. python 多版本环境

    参考 https://www.cnblogs.com/---JoyceLiuHome/articles/7852871.html 安装 Anaconda集成化环境 https://www.anacon ...

  3. Python入门8 —— 逻辑运算符补充

    一:优先级:not > and > or 1.not与紧跟其后的那个条件是不可分割的 2.如果条件语句全部由纯and.或纯or链接,按照从左到右的顺序依次计算即可 print(True a ...

  4. Java的三种循环:1、for循环 2、while循环 3、do...while循环

    Java的三种循环 Java三种循环结构: 1.for循环 2.while循环 3.do...while循环 循环结构组成部分:1.条件初始化语句,2.条件判断语句 , 3.循环体语句,4.条件控制语 ...

  5. 使用Vue-MUI轮播图失效问题解决案例(在Vue的update中执行)

    我使用的是mui+vue,社区关于轮播图失效的问题也有几个.我这边遇到的一个情况是我把所有的东西都写到plusReady事件中会导致轮播图搞死都不动,按照其他问答解决了vue生命周期等等的问题.提出来 ...

  6. 终极教程【zhong】

    just for a better future! 资源教程               aiim                   综合类 前端知识体系 前端知识结构 Web前端开发大系概览 We ...

  7. 将图片中的一部分图片用ps进行旋转

    先用选择工具选择你要进行变动的那部分图像,至于选择的方法有多种而且得看你的图片来决定采取何种选择方法.然后在英文输入状态下按下“CTRL+T”出现变换框,你将鼠标移动对角点上,当鼠标变为一种旋转的图标 ...

  8. js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换

    1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...

  9. Electron – 项目报错整理(打包~1): WARNING: Make sure that .NET Framework 4.5 or later and Powershell 3 or later are installed, otherwise extracting the Electron zip file will hang.

    WARNING: Make sure that .NET Framework 4.5 or later and Powershell 3 or later are installed, otherwi ...

  10. bbs论坛注册功能(1)

    分析项目需求创建表: STATICFILE_DIR = [ os.path.join(BASE_DIR,'static') #设置目录,bootstrip添加到目录中去,直接本地调用 ] # auth ...