马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
3、对于新添加的cell,它们的最大loading会在instance file 中指定,或者不指定,让工具自动生成。想知道这个最大loading的值需要很严格的设定吗?比如在layout中,driver strength 2 的输出级size 是driver strength 1的输出级size的1.6倍,然后driver strength 2的loading设置的是driver strength 1的2倍,这样可以吗,还是应该设为1.6倍呢?或者还有其他的要求? 做一个全新的库,没有reference lib 可以参考!有些参数值应该如何设定? 1)
Configure.tcl文件中,所有cell的max_transition一般情况都是一个值,这个值是如何得来的?是《user guide》里面的default值吗?可是《user guide》里面没有default_max_transition参数,只要liberty_max_transition。“用max_transition的值来设定max_tout的值”,怎么设定,是有什么理论吗?在《user guide》中,max_tout的default值,是1.2ns。 2)
另外,“siliconsmart自动找最大的loading”,我们会在Configure.tcl文件中设定:largest_load,smallest_load,default_load,这些值是不是用《user guide》中的default值就可以了?如果不是,要如何设定。还是根据自己做的cell,抽 RC 后,手动算? 3)
通常,我们会在cell的instance file中通过explicit_piints_load和explicit_points_slew来直接指定index值,一个index里面相邻的值都成一个倍数左右的关系,对于这些值的指定有什么要求吗?如果不在instance file中指定,siliconsmart就会根据largest_load,smallest_load和numsteps_load自动生成,但是我希望能指定,而不是自动生成。那么,指定的区间是怎么得出来的呢? 4)
最后,加margin,有一个命令叫add_margin,不过这个是加绝对的margin,有没有什么方法是给每一个value值加相对的margin?对于时序单元,比如DFF的setup和hold值一般会加margin,这个margin加多大,有什么可以参考的标准吗?
谢谢大家! |