set_max_transition,set_max_capacitance,set_max_fanout 一定要设置吗?
如果必需设置的话,该怎么设置?有什么参考依据吗?
比方0.5UM,最高工作频率20MHZ,该怎么设置?小弟雪地裸身跪求答案!
zi ji ding !
这三个是用于DRC的,是由厂商提供的工艺参数,必须保证满足,否则无法流片
eetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetopeetop
:kiss: :kiss: :kiss: :kiss: :kiss:
怎么没有人回答啊?
迫切希望得到答案
不是根据设计设置的,应该是满足工艺库的条件就行,就是说你设计规则,设不设置应该都没有关系。
这三项不是工艺库文件里边已经设置了的吗
可能你在综合的时候没有问题,但是裕量太小,进行p&r后就有可能报错
通过适当的设置增大裕量,保证p&r后也没问题
后两个肯定要设的啊,DRC规则
第一个set_max_transition也很重要,
transistion过大可能导致 时延变差,信号翻转时的短路功耗变大。
有什么不对或不足的地方请楼下的补充~
都是由厂商提供的工艺参数,必须保证满足,否则无法流片
不设的话是根据你的库里的定义来的,一般第一边compile的时候可以不设 这样他会在关键路径用到比较大的值 即选取比较的大的单元 ,以满足时序;当做第二边compile或更多次compile的时候可以根据关键路径里出现的三个DRC值,来大概的约束,其他书上说应该是有这样一个命令get_attribute 来得到库中单元的属性(但我试了没有获得),为了给布局布线的时候留些余量,一般设为库中值的90%左右。
这是我个人的经验,仅供参考,如有错误指正!
3# jy8312
对,3楼说的没错,最后做的结果,必须满足DRC,小于工艺库的值,否则无法流片!
同意设置
不需要设置,库里面有的。
由厂商提供的工艺参数,适当的设置增大裕量.
DRC不是设计规则的检查吗。比如,布线之间的间距等等
在lib里面会有设置,但是为了得到较好的时序这时不够的,需要自己设定合适的值,.5的我没有经验,自己设置几个试试。
三楼的对
不是必须的, 因为.lib 文件里面对所有单元都设置了这些约束,
人为的约束肯定是比他们紧,否则也不要设了,和没设一样,
20Mhz 几乎不用设置, max_transition是为了保证信号完整性,和时钟频率很有关系
ADFADFADSFASDFADFASDFASDFA
这三个设置的小点可以保证工具查找的点在查找表范围内,如果落在表外只能通过算法延伸,从而查出的值会比较不准确。
怎么没答应咯。
前两个必须的,但max_fanout 好像没哪个foundry有硬性规定吧?
我个人理解只要driver的能力够强,能保证transition和capacitance满足约束就行了,例如用mesh或FISHBONE结构做时钟分布的时候,就不会限制fanout数量。
当然设置max_fanout是有好处的,可以让transition和capacitance更容易控制在一定范围内,在这里顶一下23楼的。
这三个参数一般要根据设计进行设置的。
都跟延迟有关。
一般说来,max_transition是要求工具添加足够的buffer,使上升下降时间不至于太大,导致延迟变大。
max_capacitance我设置得不多,一般是主管给的推荐值。
max_fanout是保证在综合时候,一根线的扇出不要太多。扇出过多,会导致一根线上负载过大,也会增加延迟。
一般说来,1,3两个选项都会增加级数。
所以设定时候,要权衡逻辑级增加和延迟减少的利弊进行设置。
一般我是根据一个推荐值,反复试验几次
学习了啊。再仔细研究下
同求!?是不是只要满足工艺库的设计规则的前提下,怎么设置都行啊?
一般工艺库自己带了,但是比较宽松,裕度小,在设置了驱动和负载后DC也能计算出传输时间的。一般如果使用库定义的话,可能会在P&R后产生违例,所以通常在综合的时候设置一个较紧的transition。其它的同理吧
我觉得是要设的,设的值要小于你逻辑库中查找表的index_transition,和index_cap,这样才能做到不外插值