微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 修max_transition违规选什么样的buffer合适?

修max_transition违规选什么样的buffer合适?

时间:10-02 整理:3721RD 点击:
之前没有修过max_transition违规,这几天在看相关的东西,请教了别人也看了点资料。说是通过插buffer可以修,我现在的困惑时究竟插什么样的buffer比较合适?不像修hold我可以report_timing报出来,看插的buffer是否满足需要,这个插了buffer的确是消去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

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

网站地图

Top