REG2OUT Timing的优化及问题分析

科技   2024-11-21 18:04   上海  

封面选自微博-迟迟·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




星球简介


目前星球中一共分享了21本+系统性的、整理成册的笔记,高达56.6万字+,2024年星球将分享更多私人笔记,逐步完善整个IC设计生态。
以后知识星球也会陆续会开放:
《Timing/DRV修复的专题笔记》 《ICC2 flow教程》 《Makefile在IC设计中的应用》和 《RedHawk教程笔记》 等等。
目前已上传的笔记有:
  • 低功耗设计技术总结 - 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页
  • 更多教程、笔记持续更新中。。。 


集成电路设计及EDA教程
知识 前端 后端 DFT 低功耗 验证 EDA 1rtl检查:LEDA 2仿真:VCS 3逻辑综合:DC 4形式验证:Formality 5布局布线:ICC 6STA:PT 7功耗分析:PTPX 8DRC LVS:Calibre
 最新文章