封面选自微博-迟迟·CHICHi
本文选自知识星球,星球最近刚分享一个新的笔记《Python在IC设计中的应用(第1版)- 0.6万字,35页》,同时星球还有分享自己编写的 21本+系统性的、编辑成册的笔记,高达56.6万字+,还有分享还有更多干货知识以及后端视频教程等,星球专属QQ群还有分享1.5G的后端教程和所有EDA的最新UG,欢迎加入星球进行查看。
《REG2OUT Timing的优化及问题分析》
ICC中可以用New Timing Analysis Window来非常方便地去分析Timing问题:
窗口打开之后的效果如下,里面罗列了有时序违反的Path的Slack、Startpoint、Endpoint、Path Group等信息:
在Innovus中有类似的方式就是Debug Timing。
且我们可以通过右键点击Edit Table Column去自己定制这个Table里面具体都显示哪些内容:
结果:
上面加了一个Innovus的插曲,现在回到原来的ICC的Timing结果:
除了FEEDTHROUGH的path是由于input delay和output delay比较大之外,可以看到4个REG2OUT的Timing也是比较差的。它们都是160M时钟域(clk_160m)的。
下面针对reg2out的Timing来讲一下如何去优化它们。
一些情况下,我们是不希望做 IO Latency update的,我们希望到output ports的arrival time达到一个期望的值。比如上面的情况就是这样。那么这些Flop的Insertion delay就是一个重要的影响因素,如果将这些reg2out的Flop和其他所有Flop一起做balance的话,那么它的insertion delay肯定是比较大的,尤其是Sink数量非常多的情况。那么它对于reg2out的Timing肯定是非常不利的。
因此,一个非常常用的优化方法就是对它们做Early Skew。如果希望对某个Clock的所有reg2out的Flop做early skew,可以用下面的脚本去抓到这些Flop:
下面的脚本可以指定clock的名字来得到对应的reg2out的reg的个数和list:
脚本见知识星球原文- https://t.zsxq.com/gSNKr
结果:
可以看到它刚好可以抓到上面reg2out timing比较差的4个Flop。结果是完全匹配的。
下面就是针对它们去做Early Skew:
对上面这四个reg创建skew group把latency做到最短,依次来优化reg2out的timing:
命令:
见星球原文https://t.zsxq.com/gSNKr
对应的Timing状态:可以看到之前最差的Slack是-2.57ns,之后是-2.38ns, -2.38ns。
现在是-2.55ns, -2.39ns, -2.35ns,几乎没有什么改善。。。
可以打开Clock latency的分布图直方图去方便Debug:
物理Latency分布图:
下面的方法可以用来去显示某个Clock的Latency分布直方图:
从下面的直方图可以看到,那几个做了skew group的Register的Latency根本没有做到最短:
那么你知道是为什么吗?
下面给出详细的Debug步骤以及解决方法:
剩下的内容见知识星球原文
原文链接 https://t.zsxq.com/gSNKr
星球简介
低功耗设计技术总结 - 3万字,129页 IR drop的分析与修复总结 - 4.3千字,20页 数字后端理论及实践-ICC干货笔记 - 11万字,423页 数字后端理论及实践-Innouvs教程(第4版)- 5.7万字,316页 ICC2教程-星球精编版 - 2万字,125页 数字后端理论及实践-Innouvs教程(第5版)- 11.8万字,635页 面试笔试题整理 面试笔试经验分享(第1版)- 1.6万字,48页 面试笔试题整理 面试笔试经验分享(第2版)- 2.3万字,87页 ICC2 ICC与Innovus的命令对照(第1版) Tcl与DesignCompiler教程(第1版)- 6.1万字,183页 DRC规则讲解、DRC的检查与修复(第1版)- 7.3千字,26页 Congestion的分析与修复专题(第1版)- 1.2万字,41页 Perl-Tk教程(第1版)- 1.6万字 73页 星球精华推文分类整理合集(第1版)- 1.8万字,75页 星球精华推文分类整理合集(第2版)- 4.4万字,160页 面试笔试题整理 面试笔试经验分享(第3版)- 2.7万字,96页 星球精华推文分类整理合集(第3版)- 6.6万字,240页 时序分析与sdc专题笔记(第1版) - 3.1万字,115页 星球精华推文分类整理合集(第4版)- 8.4万字,296页 面试笔试题整理 面试笔试经验分享(第4版)- 3.2万字,103页 Python在IC设计中的应用(第1版)- 0.6万字,35页 更多教程、笔记持续更新中。。。