指定仅用于最大延迟分析的模型。任何用于最小延迟分析的模型集都没有影响。
object_list
指定将被设定连线负载模型的端口、设计或单元的列表。连线负载模型默认设定给当前设计。
描述:
该命令设置wire_load_attach_name属性给特定的端口,设计或对象列表中单元或当前设计,用于连线电容的计算。如果没有任何选项,模型将作用于顶层设计。-name选项是必须的。 如果指定的是一个设计,将作用于整个设计中的所有连线。如果指定的是一个单元,存在在当前设计中。设定给单元的连线模型会取代设计赋值给单元的连线模型。
你可以使用该命令设定端口外部连线负载模型,并且不受设计连线模型的影响。 如果没有为设计指定连线模型,首个满足条件的连线模型将默认设定给设计。当
auto_wire_load_selection 属性被打开,如果库有wire_load_selection 表,当前设计的单元部分将自动搜索与wire_load_selection表相匹配的连线模型。如果库有不只一个表,将设置default_wire_selecting_group属性将其中一个表设定为初始表。你也可以通过
set_wrie_load_selection_group进行手工设定。 如果你没有使用set_wire_load_min_block_size 设定模块大小,当合适的连线被选用,设计单元面积被假设为至少与这个值一样大。如果没有wire_load_selection表,库中的default_wire_load会被使用。如果上述情况都没有,将没有连线会被使用。
当auto_wire_load_selection 属性被设为false,并且没有指定model_name,也同样没有连线模型会被使用。
report_design命令显示当前设计的连线模型和模式,以及相关联的库。report_wire_load命令可提供更多连线模型信息。
report_lib命令显示指定库中定义的连线模型及选择表。你可以使用report_port显示设计端口连线模型。
你可以对当前设计中的层次化单元设定特定的连线模型,引用层次化单元的其他设计,其连线模型不会被改变。
如果你对子设计设定连线模型,你需要确保顶层设计连线模型不是top,否则下层模块的连线模型的选择会被忽略。
如果你为设计指定连线模式,工具在compile时,会搜索首个满足条件的连线模式作为初始设定。如果初始设定没有被指定,会假设top作为初始值。你可以使用set_wire_load_mode重新指定。对于set_wire_load_mode属性的top, enclosed和segmented 值的定义,可参考set_wire_load_mode命令。
连线电阻及面积也会遵照规则考虑进连线电容的计算。
使用-min选项,你可以使用set_wire_load_model指定一个不同的连线模型用于最小延迟分析 。除非明确的指定,最大最小延迟分析使用相同的连线模型。你可以设定不同的连线模型指定给设计或端口。你不可以指定不同的连线模型或模块尺寸仅用于最小延迟分析。对于这种情况,最大最小分析使用相同的值。
布线面积总是使用与最大延迟分析的相同连线负载来计算。
连线负载模型包含compile估计连线延迟所需要的所有信息。下面是一个连线负载模型的例子。
wire_load(“90x90”) { resistance : 0;
capacitance : 1 ; area : 0 ; slope : 1.64 ;
fanout_length(1 , 1.9 ); fanout_length(2, 2.8 ); fanout_length(3, 4.7 );
}
模型名称90x90,模型字段定义为: resistance
互连线单位长度电阻
capacitance
互连线单位长度电容
area
互连线单位长度连线面积
fanout_length (fanout1, length1)
这些数组描述一个查找表,工具可以据此用给定的扇出估算出被驱动单元的互连线长度。你必须指定至少一组数据,可以更多附加数据表达期望的扇出长度行为特征。在邻近的两组数据之间使用线性插值方法来估算查找表中不存在的点。
slope
该值用来表征线性超出查找表的扇出或长度行为。
删除连线负载模式使用remove_wire_load_model命令或reset_design命令。
范例:
在顶层设计设定布线负载模型,没有local_link_library设定前提下: report_lib tech_lib ?
Wire Loading Model:
NameLibrary ResCap Area Slope Fanout Length
------------------------------------------------------ 05x05tech_lib0.00001.00000.00000.1860100.3900 10x10tech_lib0.00001.00000.00000.3110 10.5300 ?
link_library = {tech_lib.db}
set_wire_load_model –name “10x10”
以下范例使用-library 选项指定库my_lib.db中的连线负载模型10x10 set_wire_load_model –name “10x10” –library my_lib.db
以下范例为子设计LOW设定连线负载模型10x10,用于最大最小延迟分析 。接着为顶层设计TOP设定连线模型20x20,模型模式为enclosed。最后设定20x20MIN模型仅用于最小延迟分析。 current_design LOW
set_wire_load_model –name “10x10” current_design TOP
set_wire_load_mode enclosed
set_wire_load_model –name “20x20”
set_wire_load_model –name “20x20MIN” -min
以下例子设定子设计LOW没有连线负载模式,让它基于单元面积来选择。连线负载模式enclosed和连线负载模型20x20设定给顶层设计,使用-min_block_size选项描述假设对于子设计的一个模块的尺寸至少为200。
current_design LOW /*没有连线负载设定*/ current_design TOP
set_wire_load_mode enclosed set_wire_load_min_block_size 200.0
set_wire_load_model –name “20x20”
以下命令描述一个端口的外部扇出
set_wire_load_model [get_ports O1] “default_wl” set_port_fanout_number 5 [get_ports O1]
假设U1,U2和U3是TOP设计中的三个单元,它们都被子设计LOW所引用。以下命令设定10x10连线模型给LOW,20x20连线模型给U1和U2。 current_design TOP
set_wire_load_model –name “10x10” LOW set_wire_load_model –name “20x20” {U1 U2}
更多:
characterize, current_design, remove_wire_load_model, report_lib, reset_design, set_load, set_local_link_library, set_port_fanout_number, set_wire_load_min_block_size, set_wire_load_mode, set_wire_load_selection_group, auto_wire_load_selection, link_library
set_driving_cell的端口。
为当前设计的输入或输入/出类型的端口设定属性。指定一个单元或单元的输出端口来驱动特定
语法:
int set_driving_cell [-lib_cell lib_cell_name] [-library lib] [-rise] [-fall] [-min] [-max]
[-pin pin_name]
[-from_pin from_pin_name] [-dont_scale] [-no_design_rule] [-none]
[-input_transition_rise rtran] [-input_transition_fall ftran] [-multiply_by factor] port_list
[-cell obsolete_-_please_use_-lib_cell_instead]
数据类型:
lib_cell_name 字符 lib 字符 pin_name 字符 from_pin_name 字符 rtran 浮点 ftran 浮点 factor 浮点 port_list 列表
参数:
指定用来驱动端口的单元名称。你可以配合-pin选项指定有不至一个输出的单元,将driving_cell_rise和driving_cell_fall属性设定给端口上的lib_cell_name。要指定不同的单元给上升和下降情况,需要执行两次命令。分别使用-rise选项和-fall选项。你如果使用本选项,还需要同时使用-dont_scale和multiply_by选项。命令默认搜索link_library中的单元。
-lib_cell lib_cell_name
-libray lib
指定驱动单元所在的库名或库的集合。如果库单元没有找到,与端口控制条件相匹配的库将会被使用。当没有库被指定时,会根据控制条件搜索所有的库。如果与控制条件相匹配的库单元不能找到,第一个与库单元名称相匹配的单元会被使用。本选项只能与