transition的violation一定要修吗?
transition是指单个cell的性能,只要整条path timing过了,应该就行了吧。
除了频率很低的设计可以考虑不修外,transition vio一定要修,至少要让该信号的transition time小于后一级单元输入端的max transition要求(.lib延时表中transition的最大值),因为STA工具通过外插法得出的单元延时不够准确,所以整条路径的timing是否真的满足还不好说。
我也遇到过这种问题。我是按1.5 x max_transition为界限。大于这个的必须修,小于这个的我发通过这些cell的路径全部抓出来,然后分析这些路径的slack,如果slack比较大的就不修,小的话就修。最后从1000多个中抓了100多个让工具自动去修。
一般推荐在pr工具里面把max_transition值设小一点。另外,对SI的设置约束得更紧一点也能减少违反的数量。
实在不行就去问foundary。出了事他们负责。
会出啥事呢?
如果较大,那就必须要需,否则影响timing。要是violation很小,看情况而定,坚持,能修就修的原则。
我是想修来的,可是一修,routing就不通了。所以我想知道能不能不修。
到底怎么修呢
频率比较低的时候,slew有问题,可能在timing上看不出来。
楼上几位童鞋都讲到了一些,但是没有抓住重点。
slew大,意味着信号翻转的时间越长,那么该信号的斜率就十分平缓。
如果你的slew vio出现在clock上,那么,一定要做好SI以及其他效应的防护。因为这种波形很敏感,很容易造成不确定性的翻转。如果这种slew vio出现在data上,因为很少有人做signal net的防护,太占资源,所以这种slew vio更容易引发信号的不确定性。
如果lib里面定义的slew 是30/70, 那么这个时候设定了slew 的约束是1ns的时候这个时候pt出来的slew是从10到90还是30到70的呢?
请问一下这个transition violation该怎么修呢?能不能具体一点?比如说setup/hold violation可以插buffer之类的啊。
谢谢谢谢!
1.can upsize the pre driving cell
2. insert buff in long wire
3.split the high fanout wire
哦, 谢谢!
留名,正在学习
超过一定值后一定要修, 否则你PT计算会有问题
请问 这个频率很低 指低于多少M
看看transition值是否超出了load cell的lookup table的index范围,如果不超,就还好,如果超了很多,建议修。
求助一下,是用什么命令将这些大于1.5的cell路径抓出来的,如何设定1.5的阈值?
transition violation 相关文章: