针对input port驱动的约束使用方法
时间:10-02
整理:3721RD
点击:
在普通的timing constraint书籍中能知道,一般要对input port设定一个驱动值,不然默认情况下工具会认为是无限大的驱动能力,这当然不符合常理,而设driving有如下三种方法:
1.set_drive
set_drive 100 [all_inputs]
Delay_to_first_gate =
(drive * load_on_net) + interconnect_delay
具体设定方法是通过在lib里查找相关值得出吗?
2.set_driving_cell
set_driving_cell -lib_cell INV2 -library tech13g [all_inputs]
这个比起第一条,不用查找lib里具体数值,而可以直接设定某种驱动强度的buffer或者invertor,比较方便,但缺点是工具在计算路径延迟时,会加上这个driving cell 的delay。
3.set_input_transition
set_input_transition 0.6 [all_inputs]
这个是人为设定某个数值,但是这个数值应该根据什么因素设定。clk period?这也是目前比较迷茫的地方
求各位大神指点!十分感谢!
1.set_drive
set_drive 100 [all_inputs]
Delay_to_first_gate =
(drive * load_on_net) + interconnect_delay
具体设定方法是通过在lib里查找相关值得出吗?
2.set_driving_cell
set_driving_cell -lib_cell INV2 -library tech13g [all_inputs]
这个比起第一条,不用查找lib里具体数值,而可以直接设定某种驱动强度的buffer或者invertor,比较方便,但缺点是工具在计算路径延迟时,会加上这个driving cell 的delay。
3.set_input_transition
set_input_transition 0.6 [all_inputs]
这个是人为设定某个数值,但是这个数值应该根据什么因素设定。clk period?这也是目前比较迷茫的地方
求各位大神指点!十分感谢!
我觉得设置set_driving_cell、set_input_delay就够了,set_drive、set_input_transition没有太多必要
参考lib相关值设置,可以略紧
具体是怎么做?是IO的库还是STD的库,求给点思路
嗯,确实有很多种方式可以用,都会有效