请问insertion delay是什么意思?
没人会吗?
insertion delay refers to the clock tree, it is different from latency
clock latency is concept of clock tree depth before CTS, which means an estimated value. It can be used as contraint of CTS.clock insertion delay means the clock tree depth after CTS.
为什么要设置insertion delay?设置insertion delay的作用是什么啊?
学习了。
Insertion delay是指clock root pin和flip flop的clock sink pin之间的延时。CTS为了min skew,会插入clock delay,从而产生insertion delay, 一般试图找到min latency,CTS算法目标就包含获得一个min latency.
我们需要最小的skew来得到更好的timing,但是关心min latency如何能得到chip更好的performance呢?
详细说下,如果你有两个flops,为了满足capturing flop的setup要求,我们会试图使得第一个flop的clk-q延时最小。同样的,当你有两个blocks或modules,而且它们之间有interacting,我们会试图使得insertion delay小,来满足第二个块的第一个flop的setup.为了方便理解,在这里你可以把这两个块分别“看成”两个flops。
简而言之,当两个moudles/blocks相互作用interacting时,min latency有用,可以帮助时序收敛。
Insertion delay是指clock root pin和flip flop的clock sink pin之间的延时。CTS为了min skew,会插入clock delay,从而产生insertion delay, 一般试图找到min latency,CTS算法目标就包含获得一个min latency.
我们需要最小的skew来得到更好的timing,但是关心min latency如何能得到chip更好的performance呢?
详细说下,如果你有两个flops,为了满足capturing flop的setup要求,我们会试图使得第一个flop的clk-q延时最小。同样的,当你有两个blocks或modules,而且它们之间有interacting,我们会试图使得insertion delay小,来满足第二个块的第一个flop的setup.为了方便理解,在这里你可以把这两个块分别“看成”两个flops。
简而言之,当两个moudles/blocks相互作用interacting时,min latency有用,可以帮助时序收敛。
我怎么觉得insertion delay和latency其实就是一个意思,楼上的同学们不要把小编搞乱了呀。
应该不会搞乱lz,CTS为了min skew,会插入clock delay,从而产生insertion delay,你说的没错,虽然本质上是latency,但是作用有所区别。
CTS为了min skew,会插入clock delay,从而产生insertion delay。请问有问题吗?
很崇拜这位大侠,知识很丰富,一下子就给大家讲了这么多。我这里还有一个小问题,还请大侠赐教,提前谢谢了。
1. 计算和分析min skew的意义显而易见,但是计算和分析 max insertion delay 和 min insertion delay 分别有什么意义呢?
2. 在clock root pin 与 cell clk pin 之间插入buffer 产生延时然后分析计算出min skew;另外有时候为了使信号更快地传播,会进行“断点插buffer” 处理,即在时序路径中插入buffer加快传播速度:那么就产生了一个矛盾,在路径中插入buffer到底是产生了延时呢还是加快了信号传播速度呢?
谢谢
兄弟,我发现你问的问题好多都是我想问的,太给力了!
inseration delay 不就是clock source delay么是clock source 到 clock defination point 之间的 延时inseration delay 跟 clock skew 有什么关系呢? 初学者求解释 谢谢
大侠不敢当,大家交流,skew,latency对于做tree都很重要,比如insertion delay插太多,会让tree做长,delay会比较大,这是设计不愿看到的,如果底层的delay就做的很大,到top层没法调了,而且如果一个长一个短,skew不就大吗?其实对于每个design project,具体是否要插buffer或者不插都是case by case,比如一根path必须走很长,这时如果slew会比较大,并且如果影响到delay或skew,这种情况下其net上就可以加一对inverter,比较smooth,这样inverter本身造成的delay已经远远小于它们对于减少slew而减少delay所做的贡献;而有的path必须做的比较短,例如做tree的spec里面的clock group里面的path,都往某条path match,希望clock group skew越小越好,clock latency越短越好,这条path就必须做短,并且很短了,这时候插buffer反而会使得delay增大,主要就看哪个作用占优。
再说点题外话,比如对于backend design engineer的理解,需要看得懂constraints,自己可以debug大部分skew,timing,而不是把所有问题丢给前端,让前端告诉哪里需要debug。而使用tool的目的是将tool的最大努力方向用在可以提高的path,cell,timing,skew等指标上,而不是完全依赖tool跑一遍flow看下timing,skew就拉倒。需要根据design的具体要求和sta结果,知道哪里为什么需要插buffer,为什么某些cell需要upsize等等,为什么spec需要和如何设置clock group,macromodel等等,为什么在floorplan阶段需要place一些critical path,而非拿到网表就一股脑让tool自动摆放。另外还有“小”问题也不可忽略,比如SI,会直接影响到setup,hold,不能单纯靠upsize,还有可能route就已经很密了,等等。
说了这么多无非是想说明一个:解决办法是不断的尝试总结尝试总结...,eco,从工作经验中总结和学习。听起来像等于没说,但确实就是这样,掌握处理问题的方法的能力往往比会解决一个问题的强弱要更重要,工程上的解决办法不是课本上的定律法则,一招吃遍天下鲜。
初学者,顶一个
latency 分source latency(外部) 和net latency(内部), insertion delay 就是net latency。
继续讨论。
学习了
受教了,多谢
知其然,更要知其所以然~
insertion delay指的也就是clock 用的buffer吧?“当你有两个blocks或modules,而且它们之间有 interacting,我们会试图使得insertion delay小,来满足第二个块的第一个flop的setup”,当你的整个设计规定好的时候,latency都是由从root pin到clock sink pin之间的距离和cell直接决定的吧?跟是不是两个module没有关系吧?
insertion delay = clock network latency is a part of the clock network delay
This is also called insertion delay and is the time it takes for a clock to propagate from its source to the clock definition point of the design under analysis.
同一个group里面的clock的source insertion delay 也差好多啊,继续调
厉害,努力的方向