请教关于clock tree为啥不能插入delay cell
如果不可以,为什么?
我见过的delay cell 的 rise transition time 和 fall transition time偏差较大。做CTS时skew不好控制,所以不用。
也有这样的说法:delay受工艺的影响比较大,会比较不好控制。
不知道对不对?
对
delay cell不能用在时钟树上大概有以下的原因:
1> 像2楼说的一样,rising和falling差的太远,所以clock的duty不好。对于有ddr接口的时钟,或者上沿下沿都要用的时钟,是非常不好的。
2> 像3楼说的一样,表现为工艺上的影响比较大。但是并不是真的由于工艺的问题,主要是由于delay cell对于transition的容忍度很差,可以去看看delay cell的二维查找表就会发现,随着transitIon和output load的变化,整个delay的变化是很剧烈的。 所以如果用了delay cell,那么max和Min下,我们会发现很多路径setup和hold(同一条路径),算上ocv的话,很难收敛。因为clock path上的变化居然会很大。(所以我们会在做clock tree时候,禁用delaycell)
说道这里,有一句题外话,为什么会有clk buff和clk inv。因为我们需要的clock tree 网络的结果应该是这样的,高驱动,对transiton容忍度高。这样的好处是,不管你ocv以及transiton如何变化,只要范围比较小,那么我们会发现整个clock tree上的delay是差不太多的。这可以算是一个稳定的时钟树结构,所以我们可以观察一下clock buffer和clock inv的二维查找表,会发现,他是符合这些特征的。
5楼的总结非常精彩!
感谢回复!多谢大家!
請教大大:
若對於 data path, 在解 hold time 時,
能否用 delay cell 來取代 buffer?
若插入 delay cell, 應該也會受 process 飄移的影響, 造成 tape-out 後,
發生 timing violation 而導致 function fail...不知道小弟的理解是否錯誤...
感謝大大的指導...
5楼正解
5楼
V5
精彩~
hao,学习了
delay 的variation 太大, 不好控制
clock tree上一般是不能用delay, hvt等单元的, 就是为了维持clocktree的稳定性,
5楼说的太好了,受教了
五楼牛人:
顺便补充一下,delay cell 的OCV确实很大,在算TOP的时候deterate要单独设(>=10%). TOP上面很难收敛
学习了,多谢
和rising和falling的trans有关的!
setup margin 足够的情况下,data path 用DLY cell 毫无问题
可以这样搭配使用,不会有tran和duty问题:
-->clkinv-->dly-->clkinv-->dly-->clkbuf-->
当需要大的insertion delay时,能省不少面积
謝分享
[b]回复 请问小编,不同阈值的cell也会对时钟树的robust产生影响吗?我们一般用svt的cell做时钟树吗?
刚开始入门,受教了
好帖!
clock 上为什么不能用hvt的cell 呢?
感觉5楼,学习了。
