P & R 8
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的更多相关文章
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 利用python进行数据分析2_数据采集与操作
txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- 应用r.js来优化你的前端
r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用 ...
- 使用R画地图数据
用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...
- c#使用Split分割换行符 \r\n
c# 使用Split分割 换行符,方法如下(其余方法有空再添加): string str = "aa" + "\r\n" + "bb"; ...
- JAVA调用R
JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...
- Windows Form调用R进行绘图并显示
R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上. 1 前提准备 安装R软件,需要安装32位的R软件,6 ...
- react-native Simulator com+r不能刷新模拟器
这个问题是我按了com + shift + K 调出Simulatior 的时候出现的, 然后虚拟机就刷新不了了, 怎么按com+r都不好使. 在Simulatior的菜单栏选择Hardware -- ...
随机推荐
- js封装删除数组指定的某个元素的方法
首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = ...
- python 多版本环境
参考 https://www.cnblogs.com/---JoyceLiuHome/articles/7852871.html 安装 Anaconda集成化环境 https://www.anacon ...
- Python入门8 —— 逻辑运算符补充
一:优先级:not > and > or 1.not与紧跟其后的那个条件是不可分割的 2.如果条件语句全部由纯and.或纯or链接,按照从左到右的顺序依次计算即可 print(True a ...
- Java的三种循环:1、for循环 2、while循环 3、do...while循环
Java的三种循环 Java三种循环结构: 1.for循环 2.while循环 3.do...while循环 循环结构组成部分:1.条件初始化语句,2.条件判断语句 , 3.循环体语句,4.条件控制语 ...
- 使用Vue-MUI轮播图失效问题解决案例(在Vue的update中执行)
我使用的是mui+vue,社区关于轮播图失效的问题也有几个.我这边遇到的一个情况是我把所有的东西都写到plusReady事件中会导致轮播图搞死都不动,按照其他问答解决了vue生命周期等等的问题.提出来 ...
- 终极教程【zhong】
just for a better future! 资源教程 aiim 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 We ...
- 将图片中的一部分图片用ps进行旋转
先用选择工具选择你要进行变动的那部分图像,至于选择的方法有多种而且得看你的图片来决定采取何种选择方法.然后在英文输入状态下按下“CTRL+T”出现变换框,你将鼠标移动对角点上,当鼠标变为一种旋转的图标 ...
- js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换
1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...
- 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 ...
- bbs论坛注册功能(1)
分析项目需求创建表: STATICFILE_DIR = [ os.path.join(BASE_DIR,'static') #设置目录,bootstrip添加到目录中去,直接本地调用 ] # auth ...