微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 深入浅出聊聊CTS后的target skew问题,欢迎加入讨论

深入浅出聊聊CTS后的target skew问题,欢迎加入讨论

时间:10-02 整理:3721RD 点击:
我在CTS后,一般先分析原因,degug方向有:修改set_clock_tree_option -target skew或者是改-max_transition 或者修改fanout值,听所还可以限制级数levers,不知怎么搞啊

以前ICC可以限制level,现在不可以。
分析可从下面的入手:skew的两条branch的构成,可能是constraint(SDC)的原因,placement的原因,clock structure的原因,mux 或 clock gating 的原因,还有可能是用错 clock cell 了。

对啊,先检查clk路径上的nonck cell

细化一下您说的,有不对的地方请您传教,补充,小女子这厢有礼了
CTS后若发现skew不合理。第一,分析skew两条分支就是看看是不是因为skew的原因引起的violation,即:capture和launch delay的差值skew过大不合理,是造成violation的原因。CTS的目的做平(衡)balance就是指让capture和launch delay两个delay尽量相等。分析这两条path上的cell,net delay。第二,SDC的约束,您是指set_clock_tree_option 和set_clock_tree_exception,max_fanout/max_cap/max/transion吗?除了这些还有别的我没想到的SDC约束会影响skew的吗?
第三,placement的原因,可以详细一点解释吗?
第四,树的结构?我可以自己设计吗?平时就是ICC自己去做,这个完全蒙了。

可以解答下吗?我是新手刚入门,非常感谢!

good good good

good good good

先检查nonclk cell是什么意思?可以解释一下吗

层主说的是否是clock专用buffer?

标题

CTSTCH文件中的MSAXSKEW是不是越小时序越好


CTSTCH文件中的MAXSKREW是不是越小时序越好

1。SDC 的约束还有set_clock_latency/set_case_analysis也会对才clock tree有影响(SDC的问题一定要和前端确认好,skew只是目的之一)。
2。关于Placement的结果对clock tree的影响,这个说起来很重要,但是我们能改变的太小,只能调整Floorplan去尽量改善Placement结果,如果用了usefulSkew记得把相关的借用的信息load到工具让工具根据它去做Tree。
3。要做好tree认真分析clock structure是非常重要的,现在对于简单的clock tree工具自己可以做的很好。但稍微复杂一点的,可能就需要分析时钟结构采取一些方法才能做好的,如工具去balance了一些不该balance的tree,或者不该长tree的长le。还有长tree的一些具体方法le。这个得多看文档和多实践了。
4。Skew不要给太小,引起插入过的buffer,引入额外的derate,影响PPA. 而且skew也不是越小越好,只要timing meet 没啥问题就可以。
5。clock 选用的buffer,suozai的布线层,宽度这些都会影响。这个需要反复跌打多次才能得到好的结果

谢谢您的指导,感觉找到组织了
1。SDC 的约束还有set_clock_latency/set_case_analysis也会对才clock tree有影响(SDC的问题一定要和前端确认好,skew只是目的之一)。
2。关于Placement的结果对clock tree的影响,这个说起来很重要,但是我们能改变的太小,只
能调整Floorplan去尽量改善Placement结果,如果用了usefulSkew记得把相关的借用的信息load
到工具让工具根据它去做Tree。
3。要做好tree认真分析clock structure是非常重要的,现在对于简单的clock tree工具自己可
以做的很好。但稍微复杂一点的,可能就需要分析时钟结构采取一些方法才能做好的,如工具去
balance了一些不该balance的tree,或者不该长tree的长le。还有长tree的一些具体方法le。这个得
多看文档和多实践了。
4。Skew不要给太小,引起插入过的buffer,引入额外的derate,影响PPA. 而且skew也不是越小
越好,只要timing meet 没啥问题就可以。
5。clock 选用的buffer,suozai的布线层,宽度这些都会影响。这个需要反复跌打多次才能得到
好的结果
关于您说的第二条,您遇到在CTS的什么情况下需要回去调整floorplan?我经验少,就算应该去调整,我也不清楚什么情况下去调整,可以说下您遇到过的情况吗?
关于您说的第三条,分析树的结构?是在CTS之前去分析?我晕
第四条第五条我都能理解

哇 你都能理解这么多条了

可以帮忙解释一下吗?新人求教

举个例子CTS 在比较烂的情况下分析发现有些MACRO 摆放不合理,导致tree 长得太长或太短 ,这时需要重新返回查看floorplan
对于比较复杂的clock tree, 需要先理清clock tree 结构 在去做CTS
我也是新人 不对之处多多指点

您在CTS后一般是怎么样的分析流程?

学习了

Sorry for delay.
1.调整Floorplan尽量使stdcell放得均匀,局部density不要过高,否则CTS新插入的BUffer可能会引起Congestion,影响clock tree的质量。总之尽量把Floorplan做好。
2.clock tree的结果通过SDC定义,所以要先学会读懂SDC,一般是先让工具自己做tree,然后分析结果,不是自己期望的结果再去Debug,首先和确定问题是不是由SDC的定义引起,如定义了false_path,两个时钟被错误的定义成了异步时钟导致工具没有去把他们做平,这个需要和前段仔细确认。ICC/EDI/INNOVUS都提供了很好用的用来的分析clock structure的工具(Check user guide),可以和直观明了的看到的时钟结果帮助你分析。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top