修max_transition违规选什么样的buffer合适?
谢谢大家的帮助!
这个要看transition violation是怎么产生的,
1)long wire -- 中间插中等size的buf
2)weak driving cell -- size up buffer
3)high fanout -- split wire后再加buf
谢谢陈小编的解答!
我是通过report_constraint -all 报出来的transition violation,但是只能看到required transition和actual transition值,不知道这个该怎么具体分析?或者有什么命令可以得到相关的信息?
非常感谢您的帮助!
我也很想知道,在具体工具里是如何去查看的如encounter中,其实陈小编之前回复的原理我是懂,但是落实到具体项目中,如何通过工具去查看这个violation是属于三种类型里的哪一种?
《后端面试 每日一题》里面专门有一题是针对这个讨论的,去看一下就明白具体的分析方法了
请问split wire 是什么呢?比如原来一个buffer驱动10个gate,现在变成一个buffer驱动两个buffer,而后面的buffer分别驱动5个gate吗?是建立buffer tree吗?
你好,请问你的关于max_transition的问题有没有解决?最近有个项目要流片所以需要解决这个问题?想要向你请教一下!非常感谢
学习了。
我来解释下什么是split。
split的意思是分离,就是找到有violation的path的上一级进行分离操作。
比如一个driver(A),驱动十个cell,由于需要驱动的cell太多,有transition违例。你需要找到这个driver(A)的driver(B),clone一个和A一名模一样的cell(C),让C来分担A驱动的五个cell,A驱动剩下的五个cell,而B从驱动A变成了驱动A和C两个cell,这就是splite。
这么做对A以及A原来驱动的十个cell来说没什么变化,不会像插buffer那样增加一个级数,唯一的变化只有原来驱动A的cell(B)增加了一个sink。
学习了,谢谢。
就是cloning的意思吗
对,就是clone