P & R 10
作为一个后端设计者,所需要掌握的技能其实就是熟练的利用工具,为自己服务。 需要的知识是什么?说的简单点,就是如何把设计的PPA搞上去。 说的复杂点,那就得从PPA需要注意的每个点去一一剖析。这个就太需要篇幅了。我也不想展开去说。
我们就先拿floorplan来做个例子简单说一下。floorplan是整个设计的起点,好比建房子的地基一样,好的地基才会造出牢固的房子。 不好的地基,估计没建几层就跨了。 经常会听到小伙伴在place的时候cell放不下去,timing很差,很多时候都和floorplan有关系。因为做floorplan的时候,影响PPA的因素很多。
power 怎么打:也看到有公众号相关的技术贴,分析怎么打 Power才能省route的资源,才能有比较好的IR drop,这都是和设计最后的PPA息息相关。当然也需要做power 分析才能决定最终的power 方案。 一般大的设计会有专人负责整个chip的power方案。(注:打power请参考《无边光景一时新,power-plan如何定》)
mem如何摆放,pin如何摆放:这些也是Floorplan要考虑的东西。Mem的位置决定了模块的摆放位置。所以设计者需要熟悉设计中的数据走向,根据走向来合理摆放。同时,你还要考虑congestion,要让一行mem或者一列mem有那种流线的感觉,不能太突兀。个人经验,堆出那种凹凸不平的mem要么就是浪费面积,要么就是congestion比较差。以前arm的A9 据说摆了100多版的Floorplan才给出了最后的reference FP 给客户。 所以mem的摆放是个技术活,也是个体力活。 如何衡量一个floorplan的好坏,还是要看PPA. 所以需要迭代的过程会比较多。 当然,熟练工会通过迭代的结果来分析工具的行为,然后再对FP做调整,这样往往会事半功倍。
FP形状和大小:如果是bottom-up的设计,那这个形状和大小可以有block的owner先定,往往会比较容易做。 但是如果是top-down的设计,做top的一般都是比较牛的人。他要给下面每个block做好划分,同时还要考虑每个block的pin的摆放。 在这方面,innovus 的功能是很强大的。 谁用谁知道。
module guide/blockage的添加:这个也是根据place的结果来看的,实际上现在innovus 的Giga place相当强大,真正的timing driven,以前那种要加成百上千的guide的时代已经一去不复返了,现在基本上先什么都不加,都可以给你一个比较好的结果了。
当然,对于一个设计来说,没有最好的FP,只有更好的FP。 不管是白猫黑猫,能达到最后的PPA要求就是一个好的FP。 有时候一个完美的结果往往出现在你挪动了几个mem的位置,加了几个guide而突然出现的。那个时候的成就感是无以言表的。
其实往往FP定好了,那你的design基本上已经成功了一大半了。 如前所述,定FP的时候,是需要迭代的,是需要看PPA的,基本上跑一个place_opt就能知道这个FP的好坏。所以FP和place关系最为密切。怎么去debug Place的结果? 看PPA。 方法有哪些? 看PPA。 能不能讲的详细点? 好吧,其实就是看timing好不好,congestion好不好。 Timing 不好,是因为module没放好? 加guide吧。 是因为congestion的问题导致不好? 那就解congestion吧。。 这个没有葵花宝典,只有多用心做几次就有经验了。
到CTS阶段的时候, 又是一个可以展开的话题。 因为cts其实就是一个小的pr flow,从place到route到opt都有。。 实际上现在工具都已经很智能很强大了,需要用户干涉的很少。比如innovus可以直接通过SDC来生成做CTS的spec。 对用户来说,啥都不要考虑。工具自己做,同时还帮你修timing。 那CTS最关注的是什么? 越到advance node,越关心latency,power。Skew反而不是最重要的指标。 所以要把树做短,树功耗做小,同时它的skew也不能太差,这个更多的是EDA需要解决的问题。 因为现在设计越来越复杂,以前的分步做树放到现在很适用了。
后面的route和drc对设计者来说,只需要知道drc在lef的定义,知道怎么修就好了。但是实际上,大面积的drc一般可能就有两个原因:
design的问题:FP不合理? Place不合理?congestion太差?
工具的bug。
P & R 10的更多相关文章
- HDU 2031 进制转换(10进制转R进制)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2031 进制转换 Time Limit: 2000/1000 MS (Java/Others) M ...
- 二模 (10) day2
第一题: 题目大意:求出区间 [L,R]里约数最多的数. L,R<=10^9 解题过程: 1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数.. 那么 用搜索质因子的方法 是 ...
- R之批处理
在linux下如何编写脚本调用R语言写的程序呢? R语言进行批处理有2种方式: R CMD BATCH --options scriptfile outputfile Rscript --option ...
- 10.30 afternoon
P76竞赛时间: ????年??月??日??:??-??:?? 题目名称 他 她 它 名称 he she it 输入 he.in she.in it.in 输出 he.out she.out it.o ...
- HDU_2031——十进制转换成R进制
Problem Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=1 ...
- 使用r.js来打包模块化的javascript文件
前面的话 r.js(下载)是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器 ...
- (10) 如何MySQL读压力大的问题
如何进行读写分离 由开发人员根据所执行的SQL类型连接不同的服务器 由数据库中间层实现读写分离 读写分离时,需要注意,对于实时性要求比较高的数据,不适合在从库上查询(因为主从复制存在一定延迟(毫秒级) ...
- oracle笔记--查询10条之后记录的数据
本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 由于之前一直在用mysql 对于oracle 的一些语法不太了解,自己有一次去面试让写一个oracle ...
- \r\n 回车换行浅析
\r \ 10 x0a return \n \ x0d newline Unix系统里,每行结尾只有“<换行>”,即“\n”: Windows系统里面,每行结尾是“<回车>&l ...
随机推荐
- yii2表单提交CSRF验证
Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭Csrf public $enableCsrfValidation = false; ...
- anki
anki需要一个舞台来容纳所有的不同领域的经历 虽然难以避免臃肿的局面.
- Maven无法下载com.oracle:ojdbc14:jar解决方法
问题说明:导入Maven项目时,想要添加Oracle驱动包时,Maven的pom.xml总是报Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0错. ...
- 二分-C - Pie
C - Pie My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a n ...
- 检测识别问题中的metrics
之前一直记不熟各种指标的具体计算,本文准备彻底搞定这个问题,涵盖目前遇到过的所有评价指标. TP,TN,FP,FN 首先是true-false和positive-negative这两对词.以二分类为例 ...
- IDEA编写shell脚本并运行
1.去官网下载IDEA开发工具 https://www.jetbrains.com/idea/ 2.打开IDEA并安装bashsupport插件 3.安装完插件重启IDEA 4.下载git工具 htt ...
- 粗略写了使用GD2制作文字图像demo
项目要求宽,高为传入参数:文字大小,文字间隔需要自动调节: 由于imagettftext()函数写入文字坐标点不以画布左上角为原点,而是根据文字的字体类型,字体大小,中英文,标点等因素变换(测试多组数 ...
- Python实现共享内存通信方式
创建共享内存python文件: import mmap import contextlib import time with contextlib.closing(mmap.mmap(-1, 100, ...
- CentOS 7 yum配置阿里云镜像(转)
1.下载源配置 凡是下载国外的软件,比如用npm,pip,yum有时下载速度感人,最好配置国内镜像地址 yum配置阿里云镜像参考:https://blog.csdn.net/hnmpf/article ...
- LVS-DR模式搭建
出于对架构的兴趣,一有时间我就会了解一下如何搭建一个高并发,高可用,可扩展的服务器运行环境.LVS-DR究竟现在的企业运用频率有多高其实我也不清楚,本文是下班之余断断续续研究搭建笔录,并且仅仅在vir ...