微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 关于为什么后端在CTS时,要尽量把skew做小

关于为什么后端在CTS时,要尽量把skew做小

时间:10-02 整理:3721RD 点击:
后端在CTS时,为什么有个目标就是把skew做小?我觉得timing 过了skew,也无所谓多大,但是目标是skew要尽量小,是根据以往的经验,只有skew小点时,最后timing才好收敛吗?

我觉得你把因果关系搞反了……CTS尽量减少skew的目的是为了timing可以更好收敛。减少skew不是终极目的而是手段。

skew存在不一定不好,就像userful skew,但是这是有意识的工程师自己设置的预期的skew。但是对于无意识的skew,当不确定哪些 timing path是特殊情况的时候,为什么都统一尽量skew做小后,timing更容易收敛,这个一直想不懂

有人说是为了更好的corr,就是place时,skew是0,那CTS后,skew也要与CTS之前(place时)吻合的更好一些,所以也要小一些靠0近一些,他的意思是:前后阶段吻合性越好,timing容易收敛?不知道对不对,请指正

对的,skew小和place的结果更接近,timing更容易meet
但timing meet了就不用太care skew多大了
useful skew aware CTS其实也是先做把tree做平,再调节skew来optimize timing的
现在Tool useful skew都可以做得很好了。但即使不用useful skew timing能meet,最好也enable useful skew,这样flop就不会同时翻转,避免瞬态电流太大

感谢您的回答,受教了
我想问,innovus有个ccopt,工具可以自动用usefulskew,但是,在ICC中我怎么使能usefulskew?通过哪个命令?我们的flow里我没找到。
后端不是说最好不要用usefulskew,是在没办法时才用,因为会插很多buffer,以后在修hold时就没有space了,我的想法对吗?可能理解错了,我是新手

你说的没错,最终的目标是时序的收敛,但是skew做的小得花,hold fix buffer会少很多,这在power,area上都有好处,芯片timing上的margin也会更大

clock_opt-concurrent_clock_and_data...

我研究了下,-concurrent_clock_and_data就是CTS和postCTS(opt)并行一起做,长tree和datapath(因为opt只优化datapath)并行做,就是平时看到的CDD,类似于encounter的CCOPT,在复杂的design中,特别是在复杂的clock tree中使用有限而且耗时,而且效果不好,对于简单的clk,比如CPU,有时很管用,所以说?这个命令有时候并不是应该下的?得看情况?

skew 太大,STA 有可能cover不到, 尽量不要太大, 如果大了,去修hold 尽量用线长去补 delay, 如果非要用cell去补,要留好hold,setup margin,冲频率的模块有可能会用到useful skew去做



很开心收到您的回复有两点疑问,第一,修hold可以插delay cell和buffer,但是要先考虑延长线?这是为什么?具体是什么命令?
第二,冲频率是什么?

因为net delay 和cell delay 在不同corner 下变化不一致, ff 升压时 cell delay 变化快, hold会恶化。
高频的模块适当用useful skew 去调时钟,把setup 极限吃出来 ,可以冲更高的频率,最好人为控制,工具不一定能做好

我觉得应该是derating的问题,在skew比较大的时候,再乘上一个derating之后timing更加不好满足。
小编觉得timing满足了就可以,skew无所谓,这种说法也可以。但是换个角度来想,你skew很大的情况下,timing都能满足,就说明你的design还有很大的优化空间。

学习了

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

网站地图

Top