当前位置:首页 >> 信息与通信 >>

sdc


www.chalayout.com – nfmao 常用时序分析 SDC 命令参考 1. Define design environment 1.1. Set_operating_conditions 1.2. Set_wire_load_model 1.3. Set_driving_cell 1.4. Set_load 1.5. Set_fanout_load 1.6. Set

_min_library 2. Set design constraints 2.1. Design rule constraints 2.1.1. Set_max_transition 2.1.2. Set_max_fanout 2.1.3. Set_max_capacitance 2.2. Design optimization constraints 2.2.1. Create_clock 2.2.2.create_generated_clock 2.2.3. Set_clock_latency 2.2.4. Set_propagated_clock 2.2.5. Set_clock_uncertainty 2.2.6. Set_input_delay 2.2.7. Set_output_delay 2.2.8. Set_max_area 3. Other commands 3.1. set_clock_groups 3.2. set_false_path 3.3. set_case_analysis 3.4. set_max_delay

1. Do not exist in timing fix sdc file: 1.1. Set_max_area 1.2. set_operation_conditions 1.3. set_wire_load_model 1.4. set_ideal_* 2. Must be placed in timing fix sdc file: 2.1. Set_clock_uncertainty, 2.2. set_max_transition 2.3. set_propagated_clock

-1-

www.chalayout.com – nfmao

[NextPage]

set_operating_conditions
定义当前设计的控制条件

语法:
Int set_operating_conditions [-analysis_type bc_wc | on_chip_variation] [-min min_condition] [-max max_condition] [-min_library min_lib] [-max_library max_lib] [-min_phys min_proc] [-max_phys max_proc] [-library lib] [-object_list objects] [condition]

数据类型:
min_condition 列表 max_conditon 列表 objects condition 列表 列表

参数:
-analysis_type bc_wc | on_chip_variation

-2-

www.chalayout.com – nfmao 设定分析的类型。两个选项只能选择其中一个。使用 bc_wc 或 on_chip_variation 切换设计 到 min_max 模式。bc_wc 值设定最小(快)最大(慢)控制条件是两个极端的控制条件。 在 bc_wc 分析,用最大的控制条件分析 SETUP,用最小控制条件分析 HOLD。 on_chip_variation 分析分别有最小和最大控制条件表示片上最大偏差的上下限。对所有最 大延迟的路径运用最大控制条件,对所有最小延迟的路径运用最小控制条件。 -min min_condition 指定用于最小延迟分析的控制条件。如果没有指定,工具默认使用最大控制条件。-min 必 须与-max 同时使用。 -max max_condition 指定用于最大延迟分析的控制条件。 -min_library min_lib 指定用于最短延迟分析,并包含有控制条件定义的库。可以是一个库的名称或集合。如果 是集合,工具将选择集合中首个满足条件的库。 -max_library max_lib 指定用于最大延迟分析,并包含控制条件定义的库。可以是一个库的名称或集合。如果是 集合,工具将选择集合中首个满足条件的库。 -min_phys min_proc 指定工艺资源名称搜索相匹配的电阻和电容值,用于最小延迟分析。该选项必须与max_phys 一起使用。 -max_phys max_proc 指定工艺资源名称搜索相匹配的电阻和电容值,用于最大延迟分析。该选项必须与min_phys 一起使用。 -library lib 指定包含控制条件定义的库,用于最小和最大延迟分析。可以是一个库的名称或集合。如 果是集合,工具将选择集合中首个包含控制条件的库。 -object_list objects 指定要设置控制条件的单元或端口。如果没有指定,默认为整个设计。该选项支持子单元 或子模块。 Condition -3-

www.chalayout.com – nfmao 指定有环境特征定义的条件,在最小最大延迟分析时使用。

描述:
该命令设定控制条件或环境特征,据此对当前设计进行时序或布局的优化。控制条件必须定 义在.lib 或 link_library 包含的任一库中。当前设计的 local_link_library 会被加到 link_library 的开头, 查找时优先于 link_library。库搜索顺序依次为: 1. lib 2. local_link_library 3. link_library 如果没有为设计设定控制条件,compile 命令寻找链接库中首个库的控制条件作为初始值。如 果库中没有控制条件定义,控制条件将不会被使用。 使用-object_list 选项将取代来自于设计或更高层次设计上的设定。 使用 report_design 命令可以查看当前设计控制条件设定和链接库信息。使用 report_lib 命令 可以查看指定库控制条件设定。

多条件多模式支持:
该命令仅使用当前方案的信息

范例:
operating_conditions(“BCCOM”) { process : 0.6 ; temperature : 20 ; voltage : 5.25 ; tree_type : “best_case_tree” ; } 控制条件的名称是 BCCOM,参数定义为: process 浮点数代表半导体工艺特征 temperature 浮点数代表环境设定的温度

-4-

www.chalayout.com – nfmao voltage 浮点数定义环境设定中电压范围的上限,下限为 0.0 tree_type 环境互连模型。compile 命令使用互连模式选择互连延迟的计算公式。三个有效模型: ? ? ? best_case_tree, 假设连线延迟为 0 worst_case_tree, 使用集中(总)RC 模型 balanced_tree, 所有负载均匀分摊线电阻

当工艺因素,控制温度和控制电压与标称值有偏差,compile 使用线性模型补偿偏差的带来的影响, 模拟为单元延迟,输入负载,输出驱动等值。包含有控制条件定义的库中有标称值设计的定义。 以下例子设定控制条件为 WCIND,如果 link_library 是 my_lib.db,并且设计没有 local_link_library 设定。my_lib.db 的库为 my_lib_core。 set_operating_conditions WCIND 控制条件’WCIND’在库”my_lib_core”中查找。

使用 other_lib_core.db 库中 BCIND 值 用于最小延迟分析,WCIND 用于最大延迟分析。 other_lib_core.db 的库名称为 other_lib_core set_operating_conditions –min BCIND –max WCIND –library other_lib_core

删除当前控制条件设定 set_operating_conditions

更多:
compile, report_lib, reset_design, set_local_link_library, link_library

[NextPage]

-5-

www.chalayout.com – nfmao

set_wire_load_model
为设计、端口、当前设计中层次化单元设定 wire_load_attach_name 属性,选择一个连线模型用于 连线电容的计算。

语法:
status set_wire_load_model -name model_name [-library lib] [-min][-max] [object_list]

数据类型:
model_name 字符 object_list 集合

参数:
-name model_name 指定连线负载模型的名称。该模型必须是已定义的。这个选项必须使用。 -library lib 指定包含模型的库。可以是一个库的名称或集合。如果是集合,工具将选择集合中首个满 足条件的库。 -min 指定仅用于最小延迟分析的模型。你不能用-min 选项设定一个不同的模型或最小模块尺寸。 因为对于这些参数,无论最大最小延迟分析都使用相同的值。 -max 指定仅用于最大延迟分析的模型。任何用于最小延迟分析的模型集都没有影响。 object_list 指定将被设定连线负载模型的端口、设计或单元的列表。连线负载模型默认设定给当前设 计。 -6-

www.chalayout.com – nfmao

描述:
该命令设置 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 指定一个不同的连线模型用于最小延迟分析 。 除非明确的指定,最大最小延迟分析使用相同的连线模型。你可以设定不同的连线模型指定给设

-7-

www.chalayout.com – nfmao 计或端口。你不可以指定不同的连线模型或模块尺寸仅用于最小延迟分析。对于这种情况,最大 最小分析使用相同的值。 布线面积总是使用与最大延迟分析的相同连线负载来计算。 连线负载模型包含 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 命令。

-8-

www.chalayout.com – nfmao

范例:
在顶层设计设定布线负载模型,没有 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 /*没有连线负载设定*/

-9-

www.chalayout.com – nfmao 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 [NextPage]

set_driving_cell
为当前设计的输入或输入/出类型的端口设定属性。指定一个单元或单元的输出端口来驱动特定的 端口。

- 10 -

www.chalayout.com – nfmao

语法:
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 浮点 浮点 - 11 -

www.chalayout.com – nfmao factor port_list 浮点 列表

参数:
-lib_cell lib_cell_name 指定用来驱动端口的单元名称。你可以配合-pin 选项指定有不止一个输出的单元,将 driving_cell_rise 和 driving_cell_fall 属性设定给端口上的 lib_cell_name。要指定不同的单元 给上升和下降情况,需要执行两次命令。分别使用-rise 选项和-fall 选项。你如果使用本选 项,还需要同时使用-dont_scale 和 multiply_by 选项。命令默认搜索 link_library 中的单元。 -libray lib 指定驱动单元所在的库名或库的集合。如果库单元没有找到,与端口控制条件相匹配的库 将会被使用。当没有库被指定时,会根据控制条件搜索所有的库。如果与控制条件相匹配 的库单元不能找到,第一个与库单元名称相匹配的单元会被使用。本选项只能与-lib_cell 一起使用。它设定 driving_cell_library_rise 和 driving_cell_library_fall 字符属性给在端口的库。 指定不同的库,需要执行两次,分别使用-rise 和-fall 选项。 -rise 指定 lib_cell_name, lib, pin_name, 和 from_pin_name 对应到上升情况。并且为目标设定相 应 driving_cell_rise, driving_cell_library_rise, driving_cell_pin_rise, 和 driving_cell_from_pin_rise 字符属性。你可与-fall 选项一起使用,指定上升和下降情况。 -fall 指定 lib_cell_name, lib, pin_name, 和 from_pin_name 对应到下降情况。并且为目标设定相 应 driving_cell_rise, driving_cell_library_rise, driving_cell_pin_rise, 和 driving_cell_from_pin_rise 字符属性。你可与-rise 选项一起使用,指定上升和下降情况。 -min 设定驱动单元信息仅用于最小控制条件分析。 -max 设定驱动单元信息仅用于最大控制条件分析。 -pin pin_name 指定驱动单元驱动端口的输出脚。当你使用-lib_cell 选项驱动单元有不止一个输出脚或使 用-from_pin 选项时,需要使用-pin 选项。本选项设定 driving_cell_pin_rise 和 - 12 -

www.chalayout.com – nfmao driving_cell_pin_fall 属性给在端口上的接脚。指定不同的接脚用于不同情况,需要执行命 令两次,分别是上升或下降情况。初始值为库单元中第一个被找到的时序弧(单元内部路 径)。 -from_pin from_pin_name 指定驱动单元输入脚用于搜索时序弧。当驱动单元有不止一个输入接脚,并且这些接脚有 不同的特性弧,而且使用了-pin 和-lib_cell 选项时,本选项需要使用。-from_pin 选项设定 driving_cell_from_pin_rise 和 driving_cell_from_pin_fall 属性给在端口上的 from_pin_name。 初始值为库单元中第一个被找到的时序弧。 -dont_scale 指定时序分析器不要依照当前控制条件改变端口驱动能力。本选项只能与-lib_cell 一起使 用。-dont_scale 产生 driving_cell_dont_scale 布尔属性 true 给端口。当驱动单元被改变时, 端口驱动能力会根据控制条件进行改变。 -none 去除前一个驱动单元信息 -input_transition_rise rtran 指定与-from_pin 选项相连的输入上升转变时间。使用-input_transiton_rise 和input_transition_fall 选项通过截取与-from_pin 相关的精确转变时间去获取输出接脚一个更 准确的转变时间和延迟时间。初始值 为 0。 -input_transition_fall ftran 指定与-from_pin 选项相关的输入下降转变时间。初始值为 0. -multiply_by factor 指定一个倍数,用它来加倍端口的延迟特征。本选项只能与-lib_cell 一起使用。它作用于 端口的负载延迟与转变时间。它产生 driving_cell_multiply_by 浮点属性给端口上特定的因 子。初始值 为 1.0 。 post_list 指定当前设计要放置驱动单元属性的输入输出端口的列表。如果不止一个端口要指定,可 以使用括号或花括号。

- 13 -

www.chalayout.com – nfmao

描述:
该命令设定属性给当前设计中指定的输入或双向端口,这些端口连接外部驱动单元。端口的驱动 能力相同,如同指定的驱动单元都是在相同的环境中被连接,以允许端口驱动能力非线性延迟模 型的精确建模。对于 CMOS2 延迟模型,由端口驱动的接脚的边沿率相同,如同端口驱动单元都被 取代了一样。除非使用-dont_scale 选项,端口驱动能力会根据当前控制条件发生变化。 要显示端口驱动信息,使用 report_port 命令加-drive 选项。 你可使用 characterize 命令会基于他们在整个设计中的关系,自动设定子设计端口上驱动单元的属 性。 你可以使用 remove_driving_cell 或者 reset_design 命令删除端口驱动单元属性。 remove_driving_cell 命令删除指定端口上任何匹配上升或下降驱动电阻属性(由 set_drive 命令产 生)。现在认为较好的方式是使用 set_driving_cell 命令取代 set_drive,因为 set_driving_cell 更准 确。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
分配 AND2 单元驱动力给端口 IN1 set_driving_cell –lib_cell AND2 {IN1}

分配 tech_lib 库中 INV 单元的 Z 端的驱动给所有输入端口 set_driving_cell –lib_cell INV –pin Z –library tech_lib [all_inputs]

分配驱动不因控制条件而发生改变 set_driving_cell –lib_cell INV –dont_scale {IN1}

在上升沿情况与下降沿情况分配不同的端口驱动 set_driving_cell –rise –lib_cell BUF1_TS –pin Z set_driving_cell –fall –lib_cell BUF1_TS –pin Q {IN1} - 14 -

www.chalayout.com – nfmao

设定 AN2 驱动单元给 top1 输入端口,并使用由-from_pin 选项指定的 A 上的输入上升转变时间 2.3。 set_driving_cell –lib_cell AN2 –input_transition_rise 2.3 –from_pin A top1

更多:
all_inputs, characterize, current_design, remove_driving_cell, report_port, reset_design, set_drive, set_load, set_max_capacitance, set_max_fanout, set_max_transiton, set_min_capacitance, set_port_fanout_number [NextPage]

set_load
设定特定端口或连线的 load 属性。

语法:
status set_load value objects [-subtract_pin_load] [-min] [-max] [[-pin_load] [-wire_load]]

数据类型:
value 浮点 objects 列表

参数:
value

- 15 -

www.chalayout.com – nfmao 指定端口或连线 load 属性的值。注意单位要与技术库的一致。比如,如果技术库是 pf,指 定值的单位也必须是 pf. objects 指定当前设计中的端口或连线的列表,给它们设定负载属性。 -subtract_pin_load 指明当前连线接脚的电容值减去 value 后再设为负载。如果结果为负将设为 0。该选项产 生 subtract_pin_load 属性。如果带有这个属性,在 update_timing 时不计入总负载。使用 该选项,如果 value 包含接脚或端口电容,subtract_pin_load 属性将不会产生。 -min 指明负载是在最小延迟分析时使用。你不能使用继承选项-fanout_number 加-min,因为对 于最大最小延迟不支持不同的扇出数。如果没有指定最小负载值,将使用最大值。 -max 指明用于最大延迟分析的负载值。有一个值被分配给最小延迟分析,但没有最大延迟分析 的值,最小值也会被忽略。你不能只声明一个最小值给某个连线。 -pin_load –wire_load 指明分配给端口的值是接脚负载,是连线负载,还是两者都是。这些选项仅能与端口一起 使用。如果 objects 中包含连线,会报错。如果你没有指明两者中任意一个,-pin_load 作 为初始选项。你可以两个同时使用,一个为接脚负载,一个为连线负载。

描述:
该命令在当前设计端口或连线上生成 load 属性。如果当前设计是层次化的,它必须已经用 link 命 令进行关联。连线上总计负载是所有与连线相关的接脚负载、端口负载、连线负载的总和。指定 的 value 会取代内部估计的负载值。 你可以使用 set_load 命令在层次化设计,对下层连线产生作用。下层连线的命名方式如: BLOCK1/BLOCK2/NET_NAME. 查看端口负载可使用 report_port 命令。查看连线负载可使用 report_net 或 report_internal_loads 命令。 重设负载值可使用 remove_attribute 命令。重设所有在设计中标注的值,可使用 reset_design。

- 16 -

www.chalayout.com – nfmao

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
设定 2 个单位给端口 the_answer set_load 2 the_answer

用 3 倍反相器输入负载加一个预估的 2.5 单位负载给所有的输出端口 link –all port_load = 2.5 + 3 * load_of(tech_lib/IV/A) set_load port_load all_outputs()

将 tech_lib 库单元 IV 端口 Z 上的负载值赋给 input_1 和 input_2 set_load load_of(tech_lib/IV/Z) {input_1 input_2}

将 3 分配给连线 U1/U2/NET3。如果接脚或端口电容为 2,即连线电容标为 1。 如果电容不小于 3, 即标为 0。 set_load –subtract_pin_load 3 U1/U2/NET3

设定 5 单位连线负载给端口 the_answer set_load –wire_load 5 the_answer

描述一个输出端口外部扇出 set_load –fanout_number 5 [get_ports O1] set_wire_load_model –port_list [get_ports O1] “default_wl”

- 17 -

www.chalayout.com – nfmao 删除反标属性 remove_attribute [get_ports the_answer] load remove_attribute [get_ports the_answer] “wire_capacitance” remove_attribute [get_ports O1] “fanout_number” remove_attribute [get_nets U1/U2/NET3] load

更多:
all_outputs, current_design, load_of, remove_attribute, report_internal_loads, report_net, report_port, reset_design, set_drive, set_wire_load_min_block_size, set_wire_load_mode, set_wire_load_model, set_wire_load_selection_group, target_library [NextPage]

set_fanout_load
赋值给当前设计中特定的端口,并产生 fanout_load 属性。

语法:
int set_fanout_load value port_list

数据类型:
value 浮点 port_list 列表

参数:
value 指定给端口 fanout_load 属性的值,端口要在 port_list 列表中。注意单位必须与 max_fanout 及 fanout_load 在技术库中用于优化的值的单位保持一致。 port_list - 18 -

www.chalayout.com – nfmao 要设定 fanout_load 属性的端口。如果不止一个,需要用{} 括起来。

描述:
赋值给当前设计中特定的端口,并产生 fanout_load 属性。compile 会尽可能确保总的负载不超过 驱动接脚 max_fanout 限制。对于某个端口的 fanout_load,其初始值为 0。 注:双向端口不在最大扇出计算之列。所以,使用 set_fanout_load 命令应用于双向端口时,不会 对 compile 产生任何影响。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
设定 2 个单位的扇出承载能力给所有的输出端口,如果最大扇出数为 20,则输出端可驱动 10 个 单元。 set_fanout_load 2 all_outputs()

更多:
all_outputs, compile, remove_attribute, report_port, reset_design, set_max_fanout [NextPage]

set_min_library
设定一个替代库用于最小延迟分析。

语法:
int set_min_library max_library -min_version min_library | -none

数据类型:
max_library 字符 - 19 -

www.chalayout.com – nfmao min_library 字符

参数:
max_library 指定库文件名称作为 link_library 或 target_library。这个库仅用作最大延迟分析。不要为库 文件增加路径。 -min_version min_library 指定对应于最大延迟分析的库文件名称用于最小延迟分析。min_library 不应指定在 link_library 或 target_library 中。库文件名称不包含路径。 -none 取消最小延迟库设定

描述:
Set_min_library 命令在两个库之间创建了一个最小/最大关系。max_library 用于最大延迟分析, min_library 用于最小延迟分析。 无论何时工具计算一个最小延迟值,它首先从最大延迟库里寻找库单元。如果一个单元在最小延 迟库有相同名称、相同接脚以及相同时序弧,最小延迟库中的时序信息将被使用。如果工具不能 从最小延迟库中找到匹配单元,就会使用最大延迟库中的单元。 不要在库文件名称中加入路径。用$search_path 是指定路径。

多条件多模式支持:
该命令不依靠特定方案的信息。

范例:
以下例子是 set_min_library 通常的用法: set link_library “LIB_WC_COM.db” set target_library $link_library set_min_library LIB_WC_COM.db –min_version LIB_BC_COM.db set_operating_conditions –max WC_COM –max_library LIB_WC_COM \

- 20 -

www.chalayout.com – nfmao –min BC_COM –min_library LIB_BC_COM report_timing –delay max report_timing –delay min

更多:
link, set_operating_conditions, link_library, target_library [NextPage]

set_max_transition
对指定的时钟组、端口或设计创建 max_transition 属性。

语法:
int set_max_transition transition_value object_list

参数:
transition_value 设定最大转换时间给特定的时钟组、端口或设计。设定 max_transition 属性到时钟组、端 口或设计上的 transition_value。transition_value 的单位必须与用于优化的库的单位保持一 致。比如,比如库特定的驱动值为 kohms,负载值为 pf,那么 transition_value 必须是在 ns。 object_list 要分配 transiton_value 的时钟组、端口及设计名称的列表。

描述:
设定 max_transition 属性给时钟组、端口及设计。compile 尽可能保证连线的转变时间小于设定值。 连线的最大转变时间定义为单元接脚及设计端口上的最大转换时间的最小值。 全局和局部最大转变时间都有设定时,compile 使用更严格的条件。

- 21 -

www.chalayout.com – nfmao 初始情况下,输入输出端口没有转变限制,所以驱动连线的最大转变时间取决于驱动单元输入或 输出的最大转变时间。分配一个更小的转变时间给端口,连线的最大转变时间就会减小。那么设 计约束也会更严格。 max_transition 是设计规则约束。因此,compile 优先于其他约束。即使,它有悖于设计的优化约 束。max_delay 和 max_area 为优化约束,相应的 max_fanout 和 max_transition 为设计规则约束。 设计规则约束影响这些保证功能正确的技术限制,优化约束影响期望的目标和限制,但对于设计 的操作都不是决定性的。设计编译器尽可能达到所有约束,但会在优化阶段优先考虑设计规则约 束。 使用 report_constraint 可以得到优化约束和设计规则约束。 使用 remove_attribute 可以删除设计端口上的最大转变时间。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
设定 2.0 单位给端口 late_riser set_max_transition 2.0 late_riser

设定 2.0 单位给设计 TEST set_max_transition 2.0 TEST

更多:
all_inputs, all_outputs, characterize, current_design, remove_attribute, report_constraint, reset_design [NextPage]

set_max_fanout
给指定的输入端口或设计设定 max_fanout 属性。

- 22 -

www.chalayout.com – nfmao

语法:
int set_max_fanout fanout_value object_list

参数:
fanout_value 指定将设定给 max_fanout 属性的值。即,最大扇出值。 object_list 指定要设定 max_fanout 属性的输入端口或设计的列表。

描述:
给指定的输入端口或设计设定 max_fanout 属性。compile 尽可能确保总计 fanout_load 小于设定的 值 。扇出数没有最大初始值,但技术库中设定了 max_fanout 属性。 全局和局部都有设定时,compile 使用更严格的条件。 通常,设计规则约束是影响保障功能正确的技术规格约束。优化约束是设计目标与非关键性合理 限制。设计编译器尽可能达到所有约束,但会在优化阶段优先考虑设计规则约束。 使用 report_constraint 可以得到优化约束和设计规则约束。 使用 remove_attribute 可以删除设计端口上的最大扇出限制。reset_design 可以删除当前设计所有 属性,包括 max_fanout。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
给端口 going_places 设定 20.0 单位最大扇出 set_max_fanout 20.0 going_places

设计 18.5 单位给设计 TEST - 23 -

www.chalayout.com – nfmao set_max_fanout 18.5 TEST

更多:
all_inputs, current_design, remove_attribute, report_constraint, report_port, reset_design, set_fanout_load [NextPage]

set_max_capacitance
为端口或设计设定 max_capacitance 属性

语法:
int set_max_capacitance capacitance_value object_list

参数:
capacitance_value 设定 max_capacitance 的值。capacitance_value 的单位必须与技术库一致。比如,如果库 电容值单位为 pf, 则该值也必须为 pf。 object_list 要设定 max_capacitance 属性的端口或设计的名称列表

描述:
设定 max_capacitance 属性给端口或设计。compile 尽可能确保连线电容小于设定的值。最大电容 值定义为单元接脚和设计端口最大电容值的最小值。 无论全局或局部最大电容值限制,compile 都会尽可能满足最严格的约束。 如果 max_capacitance 属性已经存在在技术库中,compile 会自动满足约束。 缺省情况下,端口或设计没有 max_capacitance 约束。

- 24 -

www.chalayout.com – nfmao 该命令的 max_capacitance 属性不能赋值给输出或双向端口。 max_capacitance, max_fanout 以及 max_transition 为设计规则约束。max_delay 和 max_area 为优化 约束。设计规则约束必须要满足,因为它关系到设计功能的正确性。优化约束是期望值,并非设 计操作的关键因素。design compiler 尽可能满足所有约束,但设计规则约束优先与优化约束。因 此,compile 处理时,max_capacitance 优先于其他约束,即使它有可能不利于设计优化。 显示约束信息可以使用 report_constraint 命令。显示端口约束可以使用 report_port 命令。删除 max_capacitance 属性使用 remove_attribute 命令。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
给端口 later_rise 和设计 TEST 设置 2.0 单位 max_capacitance 属性。 set_max_capacitance 2.0 later_riser set_max_capacitance 2.0 TEST

更多:
all_inputs, all_outputs, characterize, current_design, remove_attribute, report_constraint, report_port, reset_design, set_min_capacitance

create_clock
在当前设计中创建一个时钟

语法:
status create_clock [-name clock_name] [-add] [source_ojbects] [-period period_value]

- 25 -

www.chalayout.com – nfmao [-waveform edge_list]

数据类型:
clock_name 字符 source_objects 列表 period_value edge_list 浮点 列表

参数:
-name clock_name 指定时钟名称。如果你不使用该选项,时钟名称将会与第一个时钟源在 source_objects 指 定的一样。如果你没有使用 souce_objects,你就必须使用本选项,它会创建一个与端口或 接脚无关的虚拟时钟。本选项与 source_objects 一起使用可以为时钟增加一个描述性的名 称。 如果你使用-add 选项,你必须使用-name 选项,并且要为有相同源的时钟分配不同的名称。 -add 指明是否将该时钟加到已存在的时钟中或将其覆盖。使用本选项抓取有相同源不同波形, 进行同时分析的复合时钟。你使用该选项时,必须使用-name 选项。定义在相同源接脚或 端口的复合时钟相比一个单一时钟,会导致更长的运行时间和更高的内存占用。因为时序 综合引擎必须搜索所有开始和截取组合的可能性。使用 set_false_path 命令限制不期望的 组合。该选项在默认为关闭,除非复合时钟分析的相关变量 timing_enable_multiple_clocks_pre_reg 被设为 true。 source_objects 指定应用于时钟的接脚或端口的列表。如果你没有使用本选项,你必须使用-name clock_name ,它会创建一个与接脚或端口无关的虚拟时钟。如果你指定的时钟已经在接脚 上了,旧的时钟会被取代, 除非你增加-add 选项。 -period period_value 以库时间单位指定时钟波形的周期。 -waveform edge_list

- 26 -

www.chalayout.com – nfmao 以库时间单位指定整个时间周期中时钟的上升或下降沿时间。列表中第一个时间是上升转 换,通常第一个上升转换在时间零点之后。这里增加次数必须是偶数,并且它们假定为交 替的上升和下降时间。数值上,为一个完整时钟周期。如果-waveform edge_list 没有设定, 但有-period period_value,默认情况,波形假定为一个 0.0 上升沿和一个 period_value/2 下 降沿。

描述:
create_clock 命令在当前设计中创建一个时钟。该命令在当前设计中定义指定的 source_objects 作 为时钟源。一个接脚或端口可以成为一个单时钟源。如果 source_objects 没有指定,但 clock_name 给定,一个虚拟时钟会被创建。一个虚拟时钟可以被创建,代表一个片外时钟用于描 述输入或输出延迟。更多关于输入和输出延迟的信息,可以阅读 set_input_delay 和 set_oupt_delay 参考。 时钟影响到时钟网络的属性,比如 dont_touch_network, fix_hold 和 propagated_clock。使用 create_clock 在已存在的时钟上会覆盖时钟上已有的属性。create_clock 也同时定义时钟波形。时 钟允许每个周期多脉冲形式。建立和保持路径延迟是从时钟波形路径的起点到终点自动衍生的。 fix_hold 属性(用 set_fix_hold 设定)指导 compile 修复时钟保持 (hold) 错误。 默认状态,时钟对应一组路径。该组与时钟相关的终点用于估算函数的计算。要将时钟从分配的 组中删除,使用 group_path 命令分配时钟到另一个组或默认路径组。更多的信息可参考 group_path 命令帮助。 新的时钟有理想时序,不能通过时钟网络传播延迟。使用 set_propagated_clock 命令让时钟能够进 行延迟传播。要添加偏差(skew)和不确定因素(uncertainty)到理想波形中,使用 set_clock_latency 或 set_clock_uncertainty 命令。 显示当前设计中所有时钟源信息,使用 report_clock 命令。得到时钟源列表,使用 get_clocks 命令。 返回所有与特定时钟相关的序列单元,使用 all_registers 命令。取消 create_clock,使用 remove_clock 命令。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
在端口 PHI1 创建时钟周期为 10,上升在 5.0,下降在 9.5. create_clock “PHI1” –period 10 –waveform {5.0 9.5}

- 27 -

www.chalayout.com – nfmao 在端口 PHI2 创建时钟周期为 10,下降在 5,上升在 10 create_clock “PHI2” –period 10 –waveform {10 15}

在接脚 u12/Z 创建时钟 CLK,周期 25,下降在 0.0,上升在 5.0,下降在 10.0,上升在 15.0. create_clock “u13/Z” –name “CLK” –period 25 –waveform {5 10 15 25}

创建一个虚拟时钟 PHI2,周期 10,上升在 0.0, 下降在 5.0 create_clock –name “PHI2” –period 10 –waveform {0.0 5.0}

创建多源复合波形时钟 create_clock –name “clk2” –period 10 –waveform {0.0 2.0 4.0 6.0} \ {clkgen1/Z clkgen2/Z clkgen3/Z}

更多:
all_clocks, all_registers, check_timing, compile, current_design, get_clocks, group_path, remove_clock, reset_design, set_clock_latency, set_clock_uncertainty, set_dont_touch_network, set_fix_hold, set_max_delay, set_output_delay, set_propagated_clock [NextPage]

create_generated_clock
创建一个生成时钟

语法:
string create_generated_clock [-name clock_name] [-add] - 28 -

www.chalayout.com – nfmao source_objects -source master_pin [-divide_by divide_factor | multiply_by multiply_factor] [-duty_cycle percent] [-invert] [-preinvert] [-edges edge_list] [-dege_shift dege_shift_list] [-combinational]

数据类型:
clock_name source_objects master_pin clock divide_factor multiply_factor percent edge_list edge_shift_list 字符 列表 列表 字符 整数 整数 浮点 列表 列表

参数:
-name clock_name 指定生成时钟的名称。如果你不使用本选项,时钟接受与第一个时钟的-source 设定的名 称相同的名称。如果你使用-add 选项,你必须使用-name 选项,并且不能与源时钟有相同 的名称。 -add - 29 -

www.chalayout.com – nfmao 指定是否增加这个时钟到已经存在的时钟中或将其覆盖。使用本选项去截取相同源的复合 时钟。理想状态,一个生成时钟必须设定为每个时钟扇出的源接脚。如果你使用该选项, 必须同时使用-name 选项。 定义相同源接脚或端口的复合时钟,会增加运行时间和需要更多的内存,因为时序综合引 擎搜索启动与截取组合的所有可能。使用 set_false_path 取消不希望有的组合。默认状态, 忽略该选项,除非将 timing_enable_multiple_clock_per_reg 变量设为 true 打开复合时钟分 析. source_objects 指定一组端口或接脚定义为要产生的生成时钟源。 -source master_pin 指定主时钟接脚,可以是一个主时钟源接脚或被主时钟驱动的一个接脚,并且是驱动生成 时钟定义的接脚。主接脚的时钟波形用于驱动生成时钟波形。 -master_clock clock 如果多个时钟扇入这个主接脚,指定主时钟用于这个生成时钟。 -divider_by divide_factor 指定频率被除数。如果 divide_factor 为 2,生成时钟周期是主时钟周期的两倍。 -multiply_by multiply_factor 指定频率倍数。如果 multiply_factor 为 3,则生成时钟周期为原先的三分之一。 -duty_cycle percent 指定倍频使用时的占空比。允许 0-100 之间的数值。占空比是高电平脉冲宽度。 -invert 反转生成时钟信号,不管主接脚上,源时钟反应或判断(sense)是单因素决定(unate)还是 非单因素决定(non-unate) (遇到倍频时)。 -preinvert 创建一个生成时钟基于反转的时钟信号,仅当主接脚源时钟有非单因素决定反应,或生成 时钟不被反转,仅当该选项没有被指明时。-invert 与-preinvert 不同之处在于,-invert 先创 建生成时钟后反转信号,而 preinvert 是先反转信号,再创建生成时钟。 -edges edge_list

- 30 -

www.chalayout.com – nfmao 指定正整数列表,代表形成生成时钟沿的源时钟沿。沿解释为交替变化的上升和下降沿, 并且每个沿不小于它之前的沿。沿的数值必须是不小于 3 的奇数,用来创建一个完整的生 成时钟的波形。第一个沿必须大于或等于 1。比如,1 代表第一个源边沿,2 代表第二个 源边沿,依次类推。 -edge_shift edge_shitf_list 指定浮点数列表代表偏移量,指定的沿经过变化产生最终的生成时钟波形,单位与库时钟 单位相同。指定的沿偏移量必须等于沿指定的数值。数值可以为正或负。正数表示延后, 负的表示提前。比如,1 代表相应的沿被延后了 1 个时间单位。 -combinational 指定对于这一类型的生成时钟的源滞后路径仅包含主时钟传播组合路径上的逻辑。源滞后 路径不会通过序列单元的时钟接脚,透明锁存器数据接脚,或其他生成时钟的源接脚。

描述:
create_generated_clock 命令在当前设计中创建一个生成时钟。该命令定义一个对象列表作为当前 设计生成时钟源。你可以指定接脚或端口作为生成时钟对象。命令同时指定被生成时钟源。使用 该命令的优势在于,无论何时主时钟发生改变,生成时钟也同时发生改变。 生成时钟可以进行变频处理,降低频率时使用-divide_by 选项,增加频率时使用-multiply_by 选项, 沿派生使用-edge 选项。另外,频率在除或乘时也可以用-invert 选项进行反转。沿派生时钟的沿偏 移使用-edge_shift 选项。-edge_shift 使用在对沿的故意偏移,而非时钟滞后。如果生成时钟使用 divide_factor 是 2 的幂,主时钟上升沿被用来决定生成时钟的沿。如果 divider_factor 不是 2 的幂, 则是从对主时钟沿尺寸改变得来。 对已有的 generated_clock 使用 create_generated_clock,会覆盖已有的 generated_clock 属性。 generated_clock 在时序分析时被扩展为真实的时钟。 以下命令能够引用 generated_clock: set_clock_latency set_clock_uncertainty set_propagated_clock set_clock_transition 显示有关生成时钟的信息使用 report_clock 命令。

- 31 -

www.chalayout.com – nfmao

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
创建频率-divide_by 2 的生成时钟 create_generated_clock –divide_by 2 –source CLK [get_pins foo]

创建频率-divide_by 3 的生成时钟。主时钟周期为 30, 主波形为{24 36},则生成时钟周期为 90, 波形为{72 108} create_gneraged_clock –divide_by 3 –source CLK [get_pins div3/Q]

创建频率-multiply_by 2 的生成时钟,占空比为 60%。 create_generated_clock –multiply_by 2 –duty_cycle 60 –source CLK [get_pins foo1]

创建频率-multiply_by 3 的生成时钟,占空比不变。如果主时钟周期为 30,主波形为{24 36} ,生成 周期为 10,波形为{8 12} create_gnerated_clock –multiply_by 3 –source CLK [get_pins div3/Q]

创建生成时钟沿为主时钟的 1,3,5 沿。如果主时钟周期为 30,波形{24 36},生成时钟周期为 60, 波形为{24 54} create_generated_clock –edges {1 3 5} –source CLK [get_pints foo2]

与上个例子相似,但沿偏移 1 个单位。如果主周期为 30,主波形为{24 36},生成时钟周期为 60, 波形为{25 55} create_generated_clock –edges {1 3 5} –edge_shift {1 1 1} –source CLK [get_pins foo2]

创建一个反转时钟

- 32 -

www.chalayout.com – nfmao create_generated_clock –divider_by 2 –invert

更多
check_timing, create_clock, get_generated_clocks, remove_generated_clock, report_clock, set_clock_latency, set_clock_unertainty, set_propagated_clock, timing_enable_multiple_clocks_per_reg [NextPage]

set_clock_latency
指定时钟网络滞后

语法:
string set_clock_latency [-rise] [-fall] [-min] [-max] [-source] [-early] [-late] [-clock clock_list] delay object_list

数据类型:
clock_list 列表 delay 浮点

object_list 列表

- 33 -

www.chalayout.com – nfmao

参数:
-rise 指示 delay 仅应用于上升类型时钟网络滞后。默认情况下,delay 应用于上升和下降类型时 钟网络滞后。 -fall 指示 delay 仅应用于下降类型时钟网络滞后。默认情况下,delay 应用于上升和下降类型时 钟网络滞后。 -min 指示 delay 仅应用于最小延迟类型时钟网络滞后。默认情况下,delay 应用于最大最小类型 时钟网络滞后。 -max 指示 delay 仅应用于最大延迟类型时钟网络滞后。默认情况下,delay 应用于最大最小类型 时钟网络滞后。 -source 指示 delay 仅应用于时钟源滞后。默认情况下,delay 应用于时钟网络滞后。 -early 指示 delay 仅应用于最早时钟源滞后。默认情况下,如果-source 指定,delay 应用于最早 最晚时钟源滞后。 -late 指示 delay 仅应用于最晚时钟源滞后。默认情况下,如果-source 指定,delay 应用于最早 最晚时钟源滞后。 -clock clock_list 指示 delay 应用于相关时钟。默认情况下,delay 应用于所有指定目标。 delay 指定时钟滞后值。 object_list 指定时钟,端口或接脚列表用于时钟滞后设定。

- 34 -

www.chalayout.com – nfmao

描述:
两种类型时钟滞后可以指定给设计。时钟网络滞后是时钟信号从时钟定义点传播到寄存器时钟接 脚的时间。上升和下降滞后分别表示在寄存器时钟接脚的上升和下降转变的滞后。时钟波形的反 转,如果出现在时钟网络中,当计算时钟网络在寄存器时钟接脚处的滞后时,要带进去考虑。时 钟源滞后(或称为插入延迟)是对于一个时钟信号从它的实际理想波形原点传播到时钟定义点的 时钟。当时时钟产生电路不是设计的一部分时,它通常定义为片外时钟滞后。对于生成时钟,时 钟源滞后通常定义为从主时钟到生成时钟定义点的延迟。-early 和-late 选项通常指定最早和最晚 时钟源滞后。 如果多重时钟允许应用于每个对象,可以用-clock 选项指定时钟滞后来考虑每个时钟。不同的值 被应用,这样不同的时钟网络就有不同的时钟滞后。 design compiler 假定理想时钟,这意味着初始时钟只有一个指定的网络滞后(用 set_clock_latency 命令设定)或零网络滞后。传播时钟网络滞后(用 set_propagated_clock 命令)通常对于后版图, 就是已经完成时钟树的建立。理想时钟网络滞后可供前版图时钟树评估。 时钟源可以指定为理想或可传播时钟。在寄存器接脚上总的时钟滞后是时钟源和时钟网络滞后之 和。 取消 set_clock_latency 设定,使用 remove_clock_latency。 查看时钟网络和时钟源滞后信息,可以使用 report_clock -skew 命令。

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
指定时钟”CLK1”上升滞后 1.2,下降滞后 0.9 set_clock_latency 1.2 –rise [get_clocks CLK1] set_clock_latency 0.9 –fall [get_clocks CLK2]

设定时钟”CLK1” 最早上升下降滞后 0.8, 最晚上升下降滞后 0.9 set_clock_latency 0.8 –source –early [get_clocks CLK1] set_clock_latency 0.9 –source –late [get_clocks CLK1]

- 35 -

www.chalayout.com – nfmao

更多:
create_clock, current_design, report_clock, set_clock_transition, set_clock_uncertainty, set_input_delay, set_propagated_clock [NextPage]

set_propagated_clock
指定传播时钟滞后。

语法:
string set_propagated_clock object_list

数据类型:
object_list 列表

参数:
object_list 提供时钟,端口,接脚或单元的列表

描述:
指定通过时钟网络传播,决定寄存器时钟接脚滞后的延迟。如果没有指定,就假定为理想时钟。 理想时钟意思为时钟网络有一个指定的滞后(用 set_clock_latency 命令)或初始零滞后。传播时 钟滞后用于时钟树生成后的后版图。理想时钟滞后可供时钟树建立之前,用来作评估。 如果 set_propagated_clock 应用于接脚或端口,它作用于所有与传递扇出的接脚或端口相连的寄存 器的时钟接脚。 取消 set_propagated_clock,使用 remove_propagated_clock 或 set_clock_latency 提供一个理想滞后。 查看时钟的传播属性,使用 report_clock –skew。

多条件多模式支持:
该命令仅使用当前方案中的信息。 - 36 -

www.chalayout.com – nfmao

范例:
设计中的所有时钟都使用传播时钟滞后。 set_propagated_clock [all_clocks]

更多:
remove_propagated_clock, set_clock_latency, report_clock, set_input_delay, create_clock, current_design [NextPage]

set_clock_uncertainty
指定不确定(偏差)给特定的时钟网络。

语法:
string set_clock_uncertainty [object_list |-from from_clock |-rise_from rise_from_clock |-fall_from fall_from_clock -to to_clock |-rise_to rise_to_clock |-fall_to fall_to_clock] [-rise] [-fall] [-setup] [-hold] uncertainty

- 37 -

www.chalayout.com – nfmao

数据类型:
object_list from_clock rise_from_clock fall_from_clock to_clock rise_to_clock fall_to_clock uncertainty 列表 列表 列表 列表 列表 列表 列表 列表

参数:
object_list 指定一个时钟,端口或接脚列表,用于不确定因素设定。不确定应用于截取被 object_list 列表中的时钟启动的锁存器,或者截取时钟接脚在 object_list 的端口扇出或接脚列表中的 锁存器。你必须使用-from –to 对或 object_list。你不能同时设定它们。 -from from_clock 本选项指定源时钟用于内部时钟不确定。你必须使用-from/-rise_from/-fall_from 和-to/rise_to/-fall_to 对,或 object_list。你不能两者都设定。 -rise_from rise_from_clock 与-from 相同,但指定的 uncertainty 仅应用于源时钟上升沿。你可以仅使用-from,rise_from 或-fall_from 选项中的一个。 -fall_from fall_from_clock 与-from 相同,但指定的 uncertainty 仅作用于源时钟的下降沿。你可以仅使用-from,rise_from 或-fall_from 选项中的一个。 -to to_clock 该选项指定作用于内部时钟不确定的终点时钟。你必须使用-from/-rise_from/-fall_from 和to/-rise_to/-fall_to 对,或 object_list。你不能两者都设定。 -rise_to rise_to_clock - 38 -

www.chalayout.com – nfmao 与-to 相同,但指定的 uncertainty 仅应用于终点时钟上升沿。你可以仅使用-to,-rise_to 或fall_to 选项中的一个。 -fall_to fall_to_clock 与-to 相同,但指定的 uncertainty 仅应用于终点时钟下降沿。你可以仅使用-to,-rise_to 或fall_to 选项中的一个。 -rise 指定 uncertainty 仅作用于终点时钟上升沿。默认情况下,uncertainty 作用于上升和下降沿。 本选项仅对内部时钟 uncertainty 有效,并且目前已经被废弃。除非你需要该选项兼容旧版 本,否则用-rise_to 代替。 -fall 指定 uncertainty 仅作用于终点时钟下降沿。默认情况下,uncertainty 作用于上升和下降沿。 本选项仅对内部时钟 uncertainty 有效,并且目前已经被废弃。除非你需要该选项兼容旧版 本,否则用-fall_to 代替。 -setup 指定 uncertainty 仅作用于建立时间(setup)检查。默认情况下,uncertainty 作用于建立和保 持两种情况的检查。 -hold 指定 uncertainty 仅作用于保持时间(hold)检查。默认情况下,uncertainty 作用于建立和保 持两种情况的检查。 uncertainty 使用浮点数设定 uncertainty 的值。通常,时钟的不确定应该为正。负的不确定值也支持, 用于设计的复合时钟约束。负值的使用会导致分析过于乐观,建议在特殊情况下使用。

描述:
指定特定时钟网络中时钟的不确定(偏差特征)。该命令可以指定内部时钟不确定或简单不确定。 对于内部时钟不确定,使用-from/-rise_from/-fall_from 和-to/-rise_to/-fall_to 选项设定源或终点时 钟。在这之间的所有路径接受设定的 uncertainty 值。对于简单不确定,使用 object_list。 uncertainty 的值应用于截取被 object_list 列表中的时钟启动的锁存器,或者截取时钟接脚在 object_list 的端口扇出或接脚列表中的锁存器。 设定 uncertainty 会给终点或在时钟域之间一个最坏的偏差预期。你可以增加这个值占用建立或保 持时间的富余时间。 - 39 -

www.chalayout.com – nfmao 当你指定内部时钟不确定,确保你的设定作用于时钟域相互之间的所有可能性。比如,你指定的 路径从 CLKA 到 CLKB 和 CLKB 到 CLKA,你必须两个都指定 uncertainty 值,即使指定的值是相同的。 内部时钟不确定比简单不确定更明确。如果内部时钟不确定设定命令与简单不确定设定命令冲突, 内部时钟设定命令优先。 如果路上没有一个合适的内部时钟 uncertainty,其值等于简单不确定的值。 删除 set_clock_uncertainty 设定的不确定设定,使用 remove_clock_uncertainty 命令。 查看时钟不确定信息,使用 report_clock –skew 命令

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
被时钟 CLK 驱动的到达寄存器的所有路径或端口,附加 0.65 建立时间不确定,和 0.45 保持时间 不确定。 set_clock_uncertainty –setup 0.65 [get_clocks CLK] set_clock_uncertainty –hold 0.45 [get_clocks CLK]

设定 PHI1 与 PHI2 两个时钟域之间的内部时钟不确定 set_clock_uncertainty 0.4 –from PHI1 –to PHI1 set_clock_uncertainty 0.4 –from PHI2 –to PHI2 set_clock_uncertainty 1.1 –from PHI1 –to PHI1 set_clock_uncertainty 1.1 –from PHI2 –to PHI1

设定 PHI1 与 PHI2 两个时钟域之间的内部时钟特定沿的不确定 set_clck_uncertainty 0.4 –rise_from PHI1 –to PHI2 set_clock_uncertainty 0.4 –fall_from PHI2 –rise_to PHI2 set_clock_uncertainty 1.1 –from PHI1 –fall_to PHI2

- 40 -

www.chalayout.com – nfmao

显示命令冲突时,内部时钟不确定设定命令优先,所以第二条件命令优先。 set_clock_uncertainty 5 [get_clocks CLKA] set_clock_uncertainty 2 –from [get_clocks CLKB] –to [get_clocks CLKA]

设定从 CLKA 到 CLKB 和从 CLKB 到 CLKA 的不确定值。 set_clock_uncertainty 2 –from [get_clocks CLKA] –to [get_clocks CLKB] set_clock_uncertainty 2 –from [get_clocks CLKB] –to [get_clocks CLKA]

命令冲突时内部时钟不确定设定优先,但如果有从 CLKA 到其他时钟的路径时,第一个命令将发 生作用。 set_clock_uncertainty 5 [get_clocks CLKA] set_clock_uncertainty 2 –from [get_clocks CLKB] –to [get_clocks CLKA]

更多:
current_design, remove_clock_uncertainty, report_clock, set_clock_latency, set_clock_transition [NextPage]

set_input_delay
设定与时钟相关接脚或输入端口的输入延迟

语法:
status set_input_delay delay_value [-reference_pin pin_port_name] - 41 -

www.chalayout.com – nfmao [-clock clock_name] [-clock_fall] [-level_sensitive] [-network_latency_included] [-rise] [-fall] [-max] [-min] [-add_delay] port_pin_list

数据类型:
delay_value clock_name port_pint_list 浮点 字符 列表

参数:
delay_value 指定路径延迟。delay_value 必须与技术库优化时采用的单位一致。delay_value 代表时钟沿 后有效信号的时间数量。它代表组合路径从一个寄存器时钟接脚的延迟。 -reference_pin pin_port_name 指定与指定延迟相关的时钟接脚或端口。如果你使用该选项,并且如果传播时钟也已经设 定,与特定参照接脚的到达时间相关的延迟值等于时钟源滞后加上它从时钟源到达参照接 脚的网络滞后。选项-network_latency_include 和 –source_latency_included 不能与reference_pin 选项同时使用。对于理想时钟网络,仅使用源滞后。 接脚使用-reference_pin 选项设定,应该是一个分支接脚或一个时钟网络上的端口,并且 在-clock 选项指定的时钟源,直接或间接地传递扇出。如果多个时钟到达有输入延迟设定 的端口或接脚时,并且 –clock 选项没有使用,命令视为对所有的时钟有效。 -clock clock_name - 42 -

www.chalayout.com – nfmao 指定与指定延迟相关的时钟。如果-clock_fall 被使用,-clock clock_name 必须指定。如果clock 没有指定,组合设计的延迟参照时间零。对于连续设计,延迟考虑参考其周期由在 每个端口传递扇出的序列单元决定的新时钟。 clock_name 可以是字符也可以是一个对象的集合。 -clock_fall 指定延迟参照时钟的下降沿。默认为上升沿。 -level_sensitive 指定延迟源是一个级敏感锁存。当端口是一个级敏感锁存时,这个选项允许工具从端口得 到建立和保持关系。如果-level_sensitive 没有使用,输入延迟被看作从触发器的路径来的。 -network_latency_included 指定时钟网络滞后不被加到输入延迟值中。如果该选项没有指定,与时钟相关的时钟网络 滞后会被加入到输入延迟值中。如果时钟是传播的或者输入延迟没有指定相关时钟,它就 是无效的。 -source_latency_included 指定时钟源滞后不被加入到输入延迟中。如果该选项没有指定,相关时钟的时钟源滞后将 会被加入到输入延迟中。如果输入延迟没有指定相关时钟,它就是无效的。 -rise 指定 delay_value,它指的是在当前设计中特定的端口上的一个上升转变。如果既没有设定 -rsie 也没有设定-fall,上升与下降延迟假设为相同。 -fall 指定 delay_value,它指的是在当前设计中特定的端口上的一个下降转变。如果既没有设定 -rsie 也没有设定-fall,上升与下降延迟假设为相同。 -max 指定一个最长的路径上的 delay_value。如果既没有设定-max 也没有设定-min,最长最短输 入延迟假设为相同。 -min 指定一个最短的路径上的 delay_value。如果既没有设定-max 也没有设定-min,最长最短输 入延迟假设为相同。 -add_delay - 43 -

www.chalayout.com – nfmao 指定是否增加延迟信息给已存在的输入延迟或将其取代。-add_delay 选项能够让你截取通 向与不同时钟或时钟边沿相关的输入端口的多路径信息。 比如,如果没有指定-add_delay ,以下命令删除所有其他从 A 开始的最大上升延迟。其他 有不同时钟或带-clock_fall 选项输入延迟会被删除。 set_inptut_delay 5.0 –max –rise –clock phi1 {A} 在以下例子中,-add_delay 被设定。如果有一个输入最大上升延迟给 A 与时钟 phi1 上升沿 相关,大的值被使用。小的值不能影响最大延迟分析的关键时序。对于最小延迟分析,小 的迟被使用。这里没有与不同时钟或同一时钟不同沿相关的最大上升输入延迟,它与新的 延迟一起被保留。 set_input_delay 5.0 –max –rise –clock phi1 –add_delay {A} port_pin_list 在当前设计中,指定一个输入端口或内部接脚名称的列表用于 delay_value 分配。如果不 止一个对象被指定,对象要用双引号或花括号括住。如果输入延迟指定在接脚,接脚单元 被设定为只能变化尺寸,为 compile 应用尺寸变化提供空间。

描述:
set_input_delay 命令为当前设计设定输入路径延迟。跟 set_load 和 set_driving_cell 一起使用,输 入输出延迟描述了当前设计控制环境的特征。 一个路径开始于主输入或序列单元时钟,并且结束于一个序列单元或主输出。delay_value 是起始 点和与时钟沿相关,并且设定有 set_input_delay 对象之间的延迟。 set_input_delay 命令设定与一个时钟沿相关的输入端口的输入路径延迟。输入端口被假定为零输 入延迟,除非已有指定。对于输入/出双向端口,你可以指定路径延迟用于输入和输出两种模式。 要描述一个来自级敏感锁存的路径延迟,使用-level_sensitive 选项。如果锁存是为正有效,设定输 入延迟与上升时钟沿相关。如果是为负有效,则设定输入延迟与下降时钟沿相关。如果锁存时间 被缩减,增加被缩减的时间给从决定输入延迟的锁存器开始的路径延迟。 characterize 命令依据被引用单元的环境,自动设定输入和输出延迟,驱动和负载值。 计时器增加输入延迟给从主输入端开始的路径延迟,增加输出延迟给到主输出端结束的路径延迟。 列出内部接脚输入延迟,使用 report_design 命令。 使用 remove_input_delay 或 reset_design 去删除输入延迟设定。

- 44 -

www.chalayout.com – nfmao

多条件多模式支持:
该命令仅使用当前方案中的信息。

范例:
给组合逻辑设计的端口 IN1 和 IN2 设定输入延迟 2.3。因为组合逻辑不需要时钟。 set_input_delay 2.3 {IN1 IN2}

设定 1.2 输入延迟给与 CLK1 上升沿相关的所有输入端口 set_input_delay 1.2 –clock [get_clocks CLK1] [all_inputs]

设定输入和输出延迟给双向端口 INOUT1。输入信号在 CLK1 下降沿之后 2.5 单位时间到达 INOUT1。 输出信号要求在 CLK2 上升沿之前 1.4 单元到达 INOUT1。 set_input_delay 2.5 –clock CLK1 –clock_fall {INOUT1} set_output_delay 1.4 –clock CLK2 {INOUT1}

下面的例子有三个路径到达 IN1 输入端口。其中一个与 CLK1 上升沿有关。另一个与 CLK1 下降沿 有关。第三个路径与 CLK2 下降沿有关。-add_delay 选项用来指示新的输入延迟信息不会导致旧的 信息被覆盖。 set_input_delay 2.2 –max –clock CLK1 –add_delay {IN1} set_input_delay 1.7 –max –clock CLK1 –clock_fall –add_delay {IN1} set_input_delay 4.3 –max –clock CLK2 –clock_fall –add_delay

用-add_delay 设定两个不同的最大延迟和两个最小延迟给端口 A。因为信息与相同的时钟和时钟 沿相关,仅最大最小值有效,比如 5.0 或 1.1 有效。如果-add_delay 没有使用,新的信息将覆盖原 有的信息。 set_input_delay 3.4 –max –clock CLK1 –add_delay {A} set_input_delay 5.0 –max –clock CLK1 –add_delay {A} set_input_delay 1.1 –min –clock CLK1 –add_delay {A} - 45 -

www.chalayout.com – nfmao set_input_delay 1.3 –min –clock CLK1 –add_delay {A}

更多:
all_inputs, characterize, create_clock, current_design, remove_input_delay, report_design, reset_design, set_driving_cell, set_load, set_output_delay [NextPage]

set_output_delay
设定接脚或输出端口与时钟信号相关的输出延迟

语法:
int set_output_delay delay_value [-reference_pin pin_port_name] [-clock clock_name [-clock_fall] [-level_sensitive]] [-network_latency_included] [-rise] [-fall] [-max] [-min] [-add_delay] [-group_path group_name] port_pin_list

数据类型:
delay_value 浮点

- 46 -

www.chalayout.com – nfmao clock_name group_name port_pin_list 字符或集合 字符 列表

参数:
delay_value 指定路径延迟。delay_value 必须与技术库优化时采用的单位一致。delay_value 代表时钟沿 前有效信号的时间数量。对于最大输出延迟,它代表组合路径从一个寄存器时钟接脚的延 迟加寄存器上库建立时间。对于最小输出延迟,这个值通常是寄存器最短路径延迟减去库 保持时间。 -reference_pin pin_port_name 指定与指定延迟相关的时钟接脚或端口。如果你使用该选项,并且如果传播时钟也已经设 定,与特定参照接脚到达时间相关的延迟值等于时钟源滞后加上它的从时钟源到达参照接 脚的网络滞后。选项-network_latency_include 和 –source_latency_included 不能与reference_pin 选项同时使用。对于理想时钟网络,仅使用源滞后。 接脚使用-reference_pin 选项设定,应该是一个分支接脚或一个时钟网络上的端口,并且 在-clock 选项指定的时钟源,直接或间接地传递扇出。如果多个时钟到达设定有输入延迟 的端口或接脚,并且 –clock 选项没有使用,命令视为对所有的时钟有效。 -clock clock_name 指定与指定延迟相关的时钟。如果-clock_fall 被使用,-clock clock_name 必须指定。如果clock 没有指定,组合设计的延迟参考时间零。对于连续设计,延迟考虑参考周期由在每 个端口传递扇出的序列单元决定的新时钟。 clock_name 可以是字符也可以是一个对象的集合。 -clock_fall 指定延迟参照时钟的下降沿。默认为上升沿 -level_sensitive 指定延迟源是一个级敏感锁存。当端口是一个级敏感锁存时,这个选项允许工具从端口得 到建立和保持关系。如果-level_sensitive 没有使用,输入延迟被看作是从触发器的路径来 的。 -network_latency_included - 47 -

www.chalayout.com – nfmao 指定时钟网络滞后不被加到输入延迟值中。如果该选项没有指定,与时钟相关的时钟网络 滞后会被加入到输入延迟值中。如果时钟是传播的或者输入延迟没有指定相关时钟,它就 是无效的。 -source_latency_included 指定时钟源滞后不被加入到输入延迟中。如果该选项没有指定,相关时钟的时钟源滞后将 会被加入到输入延迟中。如果输入延迟没有指定相关时钟,它就是无效的。 -rise 指定 delay_value,它指的是在当前设计中特定的端口上的一个上升转变。如果既没有设定 -rsie 也没有设定-fall,上升与下降延迟假设为相同。 -fall 指定 delay_value,它指的是在当前设计中特定的端口上的一个下降转变。如果既没有设定 -rsie 也没有设定-fall,上升与下降延迟假设为相同。 -max 指定一个最长的路径上的 delay_value。如果既没有设定-max 也没有设定-min,最长最短输 入延迟假设为相同。 -min 指定一个最短的路径上的 delay_value。如果既没有设定-max 也没有设定-min,最长最短输 入延迟假设为相同。 -add_delay 指定是否增加延迟信息给已存在的输出延迟或将其取代。-add_delay 选项能够让你截取通 向与不同时钟或时钟边沿相关的输出端口的多路径信息。 比如,如果没有指定-add_delay ,以下命令删除所有其他从 OUT1 开始的最大上升延迟。 其他有不同时钟或带-clock_fall 选项输出延迟会被删除。 set_outptut_delay 5.0 –max –rise –clock phi1 {OUT1} 在以下例子中,-add_delay 被设定。如果有一个输出最大上升延迟给 Z 与时钟 phi1 上升沿 相关,大的值被使用。小的值不能影响最大延迟分析的关键时序。对于最小延迟分析,小 的迟被使用。这里没有与不同时钟或同一时钟不同沿相关的最大上升输出延迟,它与新的 延迟一起保留。 set_output_delay 5.0 –max –rise –clock phi1 –add_delay {Z}

- 48 -

www.chalayout.com – nfmao -group_path group_name 指定在特定的端口或接脚结束的路径,将其加到名称组中。如果组不存在,会被创建。这 里有一个额外的方法来设定名称组。 group_path –name group_name –to port_pin_list 如果 –group_path 没有指定,已有路径组不会被改变。 port_pin_list 在当前设计中,指定一个输出端口或内部接脚名称的列表用于 delay_value 分配。如果不 止一个对象被指定,对象要用双引号或花括号括住。如果输出延迟指定在接脚,接脚单元 被设定为只能变化尺寸,为 compile 应用尺寸变化提供空间。

描述:
set_output_delay 命令为当前设计设定输出路径延迟。跟 set_load 和 set_driving_cell 一起使用,输 入输出延迟描述了当前设计的控制环境的特征。 set_output_delay 命令设定与一个时钟沿相关的输出端口的输出路径延迟。输出端口被假定为零输 入延迟,除非已有指定。对于输入/出双向端口,你可以指定路径延迟用于输入和输出两种模式。 要描述一个来自级敏感锁存的路径延迟,使用-level_sensitive 选项。如果锁存是为正有效,设定输 出延迟与上升时钟沿相关。如果是为负有效,则设定输出延迟与下降时钟沿相关。如果锁存时间 被缩减,增加被缩减的时间给从决定输出延迟的锁存器开始的路径延迟。 characterize 命令依据被引用单元的环境,自动设定输入和输出延迟,驱动和负载值。 工具增加输入延迟路径给从主输入端开始的路径延迟,增加输出延迟给到主输出端结束的路径延 迟。 -group_path 选项改变路径分组。路径分组影响到最大延迟的估算功能。每组中最差一个被加入到 估算中。对于优化,一些路径的单独重组改善他们的延迟估算,但也增加了设计的面积和编译时 间。 使用 report_port 列出与端口相关的输出延迟。列出内部接脚的输出延迟,使用 report_design。使 用 report_path_group 列出定义过的路径组。 使用 remove_output_delay 或 reset_design 去删除输出延迟设定。修改路径分组使用-group_path 选项。使用 group_path 命令增加路径到另一组或默认组。

多条件多模式支持:
该命令仅使用当前方案中的信息。 - 49 -

www.chalayout.com – nfmao

范例:
设定与 CLK1 上升沿相关的输出延迟 1.7 给所有输出端口 set_output_delay 1.7 –clock [get_clocks CLK1] [all_ouputs]

输入信号在 CLK1 下降沿后 2.5 时间单位到达 INOUT1。输出信号在 CLK2 上升沿之前 1.4 到达 INOUT1 set_input_delay 2.5 –clock CLK1 –clock_fall {INOUT1} set_output_delay 1.4 –clock CLK2 {INOUT1}

第一个路径与 CLK1 上升沿有关。第二个路径与 CLK1 下降沿有关。第三个路径与 CLK2 下降沿有关。 -add_delay 选项用来指示新的输出信息不会导致旧的信息被覆盖。 set_output_delay 2.2 –max –clock CLK1 –add_delay {OUT1} set_output_delay 1.7 –max –clock CLK1 –clock_fall –add_delay {OUT1} set_output_delay 4.3 –max –clock CLK2 –clock_fall –add_delay {OUT1}

下面的例子指定两个最大延迟与两个最小延迟给 Z 端,并且使用-add_delay 选项。因为信息与同 一时钟和同一时钟边沿相关,仅最大{5.0}和最小{1.1}的值会被使用。如果-add_delay 没有使用, 新的信息会覆盖旧的信息。 set_output_delay 3.4 –max –clock CLK1 –add_delay {Z} set_output_delay 5.0 –max –clock CLK1 –add_delay {Z} set_output_delay 1.1 –min –clock CLK1 –add_delay {Z} set_output_delay 1.3 –min –clock CLK1 –add_delay {Z}

使用-group_path 选项增加端口给名称组。没有这个选项,到这些端口的路径被会加入到 CLK 分组。 set_output_delay 4.5 –max –clock CLK –group_path busA {busA[*]}

- 50 -

www.chalayout.com – nfmao

更多:
all_outputs, characterize, create_clock, current_design, group_path, remove_output_delay, report_design, report_path_group, report_port, reset_design, set_driving_cell, set_load, set_output_delay [NextPage]

set_max_area
将 max_area 属性加到当前设计中

语法:
int set_max_are [-ignore_tns] area_value

数据类型:
area_value 浮点

参数:
-ignore_tns 指定面积优先与所有不满足规则的项(TNS : Total Negative Slack ) area_value 指定要赋给 max_area 属性的值。单位必须与技术库在优化时用的单位保持一致。

描述:
该命令设定 max_area 属性给当前设计中的 area。max_area 属性代表设计目标面积,并且 compile 命令以此计算面积的花费。 默认情况下,compile 优先于面积处理与规则冲突的对象。意思是说 compile 不会为改善面积而产 生新的规则冲突或恶化不满足规则路径的时序。

- 51 -

www.chalayout.com – nfmao 当-ignore_tns 选项被使用时,ignore_tns 属性加入到设计中。如果该属性被设定,compile 优先与 TNS 处理面积约束。意思是说,compile 为了达到面积约束而使得时序变差。 如果多次指定 max_area,旧的会被新的取代。 如果 set_max_area 没有使用-ignore_tns 选项,那么 ignore_tns 属性会被删除。 取消 set_max_area,可以使用 remove_attribute 或 reset_design 命令。 使用 report_area 命令可以得到设计面积详细描述。使用 report_constraint 可以显示面积的花费。

多条件多模式支持:
该命令不依靠方案的信息

范例:
设定目标面积为零。compile 会尽可能的让面积优化到最小。 set_max_area 0.0

更多:
compile, current_design, remove_attribute, report_area, report_constraint, reset_design [NextPage]

set_clock_groups
指定设计中,时钟组互相排斥或彼此异步。因此,这些时钟之间的路径不会在时序分析时被考虑。

语法:
Boolean set_clock_groups -physically_exclusive |-logically_exclusive |-asynchronous [-allow_paths] [-name name] - 52 -

www.chalayout.com – nfmao -group clock_list

参数:
-physicall_exclusive 指定时钟组在物理上彼此排斥。物理排斥时钟不能同时存在在实际物理设计中。比如多个 时钟定义在同一个源接脚。-physical_exclusive, -logically_exclusive 和-asynchronous 选项是 相互排斥的,你只能选择其中一个。 -logicall_exclusive 两个时钟排斥类型,一个是物理排斥,另一个是逻辑排斥。逻辑排斥的例子比如 MUX 多 路选择。但如果存在物理路径,就不推荐对多路选择时钟进行排斥设定。physically_exclusive, -logically_exclusive 和-asynchronous 选项是互相排斥的,你只能选择其 中一个。 -asynchronous 指定时钟组是彼此异步的。两个时钟是异步的如果它们彼此之间没有相位关系。信号完整 性分析使用一个无限到达窗口给干扰源,除非所有到达窗口的受噪声干扰的连线和干扰源 的连线由同步时钟控制。-physically_exclusive, -logically_exclusive 和-asynchronous 选项是互 相排斥的,你只能选择其中一个。 -allow_paths 允许在指定的时钟组之间进行时序分析。如果这一选项没有被使用,在时钟之间的时序分 析会被禁止。该选项仅可以用于异步时钟组。 -name name 指定被创建时钟组的名称。每个命令只能指定一个唯一的名称,这些名称指明指定时钟组 的排斥或异步关系,并且这个名称之后也便于对时钟组定义的删除。默认情况下,命令创 建一个唯一的名称。 -group clock_list 指定一个时钟列表。 你可以多次使用-group 选项在一条执行命令中。每个-group 循环设定一组时钟,与其他所 有时钟组是排斥或异步关系。如果仅有一个组被指定,这意味着该组与其他所有时钟是排 斥或异步的。包含其他时钟的另一个组也同时会产生。无论何时一个新的时钟被创建,它 会自动地加入到这个组。 给 clock_list 替换上你希望的列表。 - 53 -

www.chalayout.com – nfmao

描述:
指定设计中的时钟组彼此排斥或异步。这些时钟之间的时序路径在时序分析时不会被考虑,除非 使用-allow_paths 选项。一条 set_clock_groups 执行命令不能对同一时钟定义多次,但可以多次使 用该命令把它加入到多个分组中。 两个不同类型的互斥时钟在简单时序分析时不会视为不同。然而,信号完整性分析会在时序窗口 视逻辑排斥时钟为异步 。物理排斥时钟不会被时序窗口分析所考虑。 这些排斥或异步时钟之间的路径不会在时序分析时被搜索,除非使用-allow_path 设定。这类似于 在时间之间设定禁止路径(false path)。因此你无需人为的再次设定禁止路径。如果一个在两个排 斥或异步时钟之间禁止路径已经设定,那么 set_clock_groups 产生的禁止路径会将其覆盖。其他 不会受影响。 当时钟彼此异步,在时序窗口重叠分析时,串扰分析忽略之间的时序关系。这一情形也可称为无 限窗口重叠。对于同步时钟没有无限窗口重叠,结果会变得乐观。所以当时钟不彼此同步时,使 用 set_clock_groups –asynchronous 是十分重要的。 当一些排斥或异步时钟组被定义时,一个生成时钟和它的主时钟默认不在同一分组中。如果有必 要,你必须明确地将他们让在一起。 如果多个时钟组关系为相同成对时钟而定义,物理排斥有最高优先级,其次是异步和逻辑排斥。 取消 set_clock_groups 设定,使用 remove_clock_groups 命令。报告设计中的时钟分组,使用 report_clock 命令加-groups 选项。

多条件多模式支持:
该命令从当前方案中读取信息

范例:
定义两个异步时钟域 set_clock_groups –asynchronous –name g1 –group CLK1 –group CLK2

定义一个名为 CLK1 的时钟作为与其他时钟异步的时钟 set_clock_groups –asynchronous –group CLK1

显示同时分析多个时钟每个寄存器而无需手工设定禁止路径。假设有两对相互排斥的时钟被复用: - 54 -

www.chalayout.com – nfmao CLK1 和 CLK2, CLK3 和 CLK4 每对时钟被不同的信号选择,你必须执行两次来同时分析四个时钟: set_clock_groups –logically_exclusive –group CLK1 –group CLK2 set_clock_groups –logically _excluseive –group CLK3 –group CLK4

如果每对由相同信号选择,则只要一条命令: set_clock_groups –logically_exclusive –group {CLK1 CLK3} –group {CLK2 CLK4}

定义 CLK1 和 CLK2 作为物理排斥。 set_clock_groups –physically_exclusive –group {CLK1} –group {CLK2}

更多:
remove_clock_groups, report_clock, set_false_path, create_clock, create_generated_clock [NextPage]

set_false_path
删除特殊路径时序约束

语法:
int set_false_path [-rise | -fall] [-setup | -hold] [-from from_list | -rise_from rise_from_list |fall_from fall_from_list] [-through through_list] [-rise_through rise_through_list]

- 55 -

www.chalayout.com – nfmao [-fall_through fall_through_list] [-to to_list | -rise_to rise_to_list | -fall_to fall_to_list] [-reset_path]

数据类型:
from_list rise_from_list fall_from_list through_list rise_through_list fall_through_list to_list rise_to_list fall_to_list 列表 列表 列表 列表 列表 列表 列表 列表 列表

参数:
-rise 标识上升延迟禁止,以路径的终点作为衡量依据。如果你没有指定-rise 或-fall,上升或下 降时序都标识为禁止。 -fall 标识下降延迟禁止,以路径的终点作为衡量依据。如果你没有指定-rise 或-fall,上升或下 降时序都标识为禁止。 -setup 标识建立(最大)路径为禁止。-setup 取消指定路径的建立检查。如果你没有指定-setup 或-hold,建立和保持都标识为禁止。

- 56 -

www.chalayout.com – nfmao -hold 标识保持(最小)路径为禁止。-hold 取消指定路径的保持检查。如果你没有指定-setup 或 -hold,建立和保持都标识为禁止。 -from from_lis 指定禁止路径的起点(时钟、端口、接脚或单元)。如果你没有指定一个 from_list,所有终 点在 to_list 的路径都被设为禁止。from_list 可以包含时钟、接脚或端口。如果你指定一个 时钟,所有起点与指定时钟相关的路径都会有影响。如果你指定一个内部接脚,接脚必须 是一个路径的起点(比如一个触发器的时钟接脚)。如果一个单元被指定,起点在单元上 的路径也会被影响到。 -rise_from rise_from_list 与-from 选项相同,除了通过路径上指定的对象时,必须是上升状态。如果一个时钟对象 被指定,这个选项选择由相同时钟驱动的起点,但仅在时钟源由时钟上升沿启动的路径考 虑沿时钟路径的任意逻辑反转。你仅能使用-from,-rise_from 和-fall_from 中的一个选项。 -fall_from fall_from_list 与-from 选项相同,除了通过路径上指定的对象时,必须是下降状态。如果一个时钟对象 被指定,这个选项选择由相同时钟驱动的起点,但仅在时钟源由时钟下降沿启动的路径考 虑沿时钟路径的任意逻辑反转。你仅能使用-from,-rise_from 和-fall_from 中的一个选项。 -through through_list 当前设计路径通过点(端口、接脚或子单元名称)的列表。禁止路径仅为通过路径的点在 throught_list 列表中。如果不止一个对象,你必须使用引号或花括号。如果你多次使用through 选项,禁止路径设定应用给那些路径通过在每个给定的按顺序排列的 through_list 列表中的一个成员。也就是说,路径必须首先通过第一个 through_list 中的一个成员,接 着通过第二个列表的一个成员,像这样依次通过每个指定列表。如果你使用了-through 选 项组合-from 或-to 选项,禁止路径仅当-from 或-to 条件被满足,并且-through 条件也被满 足时有效。 -rise_through rise_through_list 与-through 选项相同,但,仅作用于上升转变发生在指定对象的路径。你可以在一条命令 中多次使用-rise_through 选项,就你-through 选项一样。 -fall_through fall_through_list 与-through 选项相同,但,仅作用于下降转变发生在指定对象的路径。你可以在一条命令 中多次使用-fall_through 选项,就你-through 选项一样。

- 57 -

www.chalayout.com – nfmao -to to_list 指定禁止路径的结束点(时钟、端口、接脚或单元)。如果你没有指定一个列表,所有起 点设定在 from_list 中的路径都被设定为禁止。to_list 可以包含时钟、接脚或端口。如果你 设定一个时钟,所有与时钟相关的终点都会被考虑。如果你设定一个内部接脚,接脚必须 是一个路径的终点(比如一个触发器的数据接脚)。如果你指定一个单元,终点在单元上 的路径会有影响。 -rise_to rise_to_list 与-to 选项相同,但仅应用于终点为上升状态的路径。如果指定的是一个时钟对象,该选 项选择由相同时钟驱动的终点,但只有被时钟源上升沿截取的路径,考虑沿时钟路径的任 意逻辑反转。你仅能使用-to、-rise_to 和-fall_to 中的一个选项。 -fall_to fall_to_list 与-to 选项相同,但仅应用于终点为下降状态的路径。如果指定的是一个时钟对象,该选 项选择由相同时钟驱动的终点,但只有被时钟源下降沿截取的路径,考虑沿时钟路径的任 意逻辑反转。你仅能使用-to、-rise_to 和-fall_to 中的一个选项。 -reset_path 删除已存在的点到点,除了指定路径上的信息。仅相同上升/下降或建立/保持的信息被复 位。这与在 set_false_path 出现之前,使用 reset_path 命令带类似参数的效果一样。

描述:
如你所知,删除特定路径的时序约束不影响电路控制。set_false_path 可以禁止最大延迟(建立) 检查和最小延迟(保持)检查。 set_false_path 命令禁止从路径起点、途径点到终点的时序。路径起点是输入端口或寄存器时钟接 脚。路径途径点可以是单元、接脚或端口。路径终点是寄存器的数据接脚或输出端口。 要禁止当前设计中一个特定单元的时序,使用 set_disable_timing。这会从单元时序图上删除特定 的时序弧。如此,路径上经过这些弧的路径就无法通过了。set_false_path 命令仍然允许通过这些 路径,只不过它们的时序约束被删除了。 set_false_path 是一个点到点的时序排除命令。这就意味着对于一个或更多时序路径,它帮助重写 了默认单周期时序关系。其他点到点时序排除命令包括 set_max_delay、set_min_delay 和 set_multicycle_path。 如果一个路径满足多时序排除,以下规则协助决定哪个排除产生作用。与-from 相关的规则与rise_from 和-fall_from 有相同的应用,与-through 和-to 上升和下降选项类似。

- 58 -

www.chalayout.com – nfmao 1. 两个 group_path 命令可能彼此冲突。但一个 group_path 自身排除不会与另一个类型的排 除相冲突。 所剩下的规则应用到两个 group_path 排除或两个非 group_path 排除。 2. 如果两个排除都是 set_false_path。它们没有冲突。 3. 如果一个排除是 set_max_delay,另一个是 set_min_delay,它们没有冲突。 4. 如果一个排除是 set_multicycle_path –hold,另一个是 set_multicycle_path –setup,它们没 有冲突。 5. 如果一个排除是 set_false_path,其他的不是,那么,set_false_path 优先。 6. 如果一个排除是 set_max_delay,其他的不是,那么,set_max_delay 优先。 7. 如果一个排除是 set_min_delay,其他的不是,那么,set_min_delay 优先。 8. 如果一个排除有-from pin 或-from cell,其他的不是,那么,前者优先。 9. 如果一个排除有-to pin 或-to cell,其他的不是,那么,前者优先。 10. 如果一个排除有-through points,其他的不是,那么,前者优先。 11. 如果一个排除有-from clock,其他的不是,那么,前者优先。 12. 如果一个排除有-to clock,其他的不是,那么,前者优先。 13. 排除附加限制性约束则优先。对于 set_max_delay 和 set_multicycle_path –setup,有更低值 的约束。对于 set_min_delay 和 set_multicycle_path –load 有更高值的约束。 取消 set_false_path 的影响,使用 reset_path 或 reset_design。 使用 report_timing_requirements 列出设计中点到时点排除路径。

多条件多模式支持:
该命令仅使用当前方案的信息

范例:
删除从 ff12 到 ff34 的时序约束 set_false_path –from {ff12} –to {ff34}

删除通过 u14/z 到 ff29/Reset,并且在终点为上升状态路径的时序约束 set_false_path –rise –through {u14/Z} –to {ff29/Reset}

取消终点由时钟 PHI1 驱动的保持检查(最小延迟时序)。触发器和锁存器由时钟 PHI1 驱动的都要考 虑建立时间冲突,但不考虑保持时间冲突。 set_false_path –hold –to [get_clocks PHI1] - 59 -

www.chalayout.com – nfmao

删除首次通过 u1/Z 或 u2/Z,又通 u5/Z 或 u6/Z 所有路径的时序约束 set_false_path -through {u1/Z u2/Z} –through {u5/Z u6/Z}

取消通过 u14/Z 到达 ff29/Reset 上升时序路径 set_false_path –rise_through {u14/Z} –to {ff29/Reset}

更多:
current_design, reset_design, reset_path, set_disable_timing, set_max_delay, set_min_delay, set_multicycle_path [NextPage]

set_case_analysis
指定一个端口或接脚是在一个常数逻辑值 1 或 0。或者被认为有上升或下降转变。

语法:
string set_case_analysis value port_or_pin_list

数据类型:
port_or_pin_list 列表

参数:
value 指定常数逻辑值或转变,并赋值给接脚或端口。有效的常数值是 0 或 1,zero 或 one。有效 的转变值是 rising、falling、rise 和 fall。 port_or_pin_list

- 60 -

www.chalayout.com – nfmao 案例分析的端口或接脚。命令执行非反向常数传播。

描述:
指定一个端口或接脚在常数逻辑值 1 或 0. 案例分析是一种方法,指定一个给定的模式,而无需改变网表结构。对于当前时序分析进程,你 可以指定一些信号在常数值或仅某一种转变去做验证。但你指定案例分析为常数值时,常数值通 过网络进行传播,只要通过逻辑的控制值是常数值。 比如,如果你指定一个 NAND 门的一个输入为常数 0,它被传播到 NAND 的输出,现在就被认为 是逻辑常数 1。这个被传播的常数值,本身通过这个信号被传播到所有单元的驱动。 转变的案例分析事件中,给定的接脚或端口仅在时序分析时考虑指定的转变。其他转变为禁止。 所有分析命令使用案例分析信号,包含排除路径侦测算法使用 report_timing 命令带-true 选项和justify 选项。 你可使用案例分析(除模式命令外)完整地指定设计的模式。比如,你使用 set_mode 命令指定 一个设计有 TESTMODE 的实例化模型,在时序分析时被禁止。另外,如果一个 TESTMODE 信号存 在在设计中,它可以被指定为常数逻辑值,如此所有测试逻辑由 TESTMODE 信号控制的都会被禁 止。

多条件多模式支持:
该命令仅使用当前方案的信息

范例:
指定名为 IN1 的端口为常数,逻辑值为 0 set_case_analysis 0 IN1

指定如何关闭引用单元的 TESTMODE 模式。并将 TEST_PORT 端口设为常数,逻辑值为 0. remove_mode TESTMODE U1/U2 set_case_analysis 0 TEST_PORT

指定接脚 U1/U2/A 仅考虑上升转变。下降转变对于这些接脚无效。

- 61 -

www.chalayout.com – nfmao set_case_analysis rising U1/U2/A

更多:
remove_case_analysis, report_analysis, set_mode [NextPage]

set_max_delay
给当前设计路径指定都大延迟目标。

语法:
int set_max_delay delay_value [-rise | -fall] [-from from_list | -rise_from rise_from_list | -fall_from fall_from_list] [-through through_list] [-rise_through rise_through_list] [-fall_through fall_through_list] [-to to_list | -rise_to rise_to_list | -fall_to fall_to_list] [-group_path group_name] [-reset_path]

数据类型:
delay_value 浮点 - 62 -

www.chalayout.com – nfmao from_list rise_from_list fall_from_list through_list rise_through_list fall_through_list to_list rise_to_list fall_to_list group_name 列表 列表 列表 列表 列表 列表 列表 列表 列表 字符

参数:
delay_value 指定路径开始到结尾的最大延迟的期望值。你必须使用与技术库在优化时一样的单位来表 达 delay_value。如果路径的起点是在一个序列器件,时钟偏差包含在计算的延迟中。如果 路径起点有一个输入延迟的指定,延迟值会被加入到路径延迟中。如果路径的终点是在一 个序列器件上,时钟偏差和库建立时间都被包含进计算延迟中。如果路径终点有一个输出 延迟指定,延迟会被加入到路径延迟中。 -rise|-fall 指定终点是上升或下降延迟约束。如果你两者都不指定,则两者都会被约束。 -from from_list 指定当前设计路径起点(端口、接脚、时钟或单元)列表。如果你指定一个时钟,所有起 点与时钟相关的路径都会有影响。如果你指定一个单元,起点在单元上的路径会受影响。 所有路径从这些起点到在 to_list 中的终点都被约束到 delay_value。如果你没有指定 to_list, 所有从 from_list 开始的路径都会受影响。这个列表不能包含输出端口。如果你的指定超过 一个对象,你必须使用双引号或花括号括起来。 -rise_from rise_from_list

- 63 -

www.chalayout.com – nfmao 与-from 选项相同,除了路径必须是从指定对象上升开始。如果一个时钟对象被指定,这 个选项选择由被命名的时钟控制的起点,但仅选择由在时钟源上升沿启动的路径,考虑沿 时钟路径的任意逻辑反转。你仅能使用-from、-rise_from 或-fall_from 中的一个选项。 -fall_from fall_from_list 与-from 选项相同,除了路径必须是从指定对象下降开始。如果一个时钟对象被指定,这 个选项选择由被命名的时钟控制的起点,但仅选择由在时钟源下降沿启动的路径,考虑沿 时钟路径的任意逻辑反转。你仅能使用-from、-rise_from 或-fall_from 中的一个选项。 -through through_list 指定当前设计中路径途径点(端口、接脚或子单元)列表。最大延迟值仅应用于通过 through_list 中一点的路径。如果不止一个对象,必须使用双引号或花括号。如果你指定through 选项多次,最大延迟应用于依次通过 through_list 中一个成员的路径。也就是说, 路径必须先通过第一个列表中的一个成员,接着通过第二个列表中的一个成员,以此类推。 如果使用-through 选项组合-from 或-to 选项,最大延迟仅应用于在-from 或-to 条件下,满 足-through 条件的路径。 -rise_through rise_through_list 与-through 选项相同,但仅应用于上升转变在指定对象的路径。你可以指定-rise_through 多次在一条命令中,调用与-through 选项一样。 -fall_through fall_through_list 与-through 选项相同,但仅应用于下降转变在指定对象的路径。你可以指定-fall_through 多次在一条命令中,调用与-through 选项一样。 -to to_list 指定一个当前设计中路径终点(端口、时钟、单元或接脚名称)的列表。所有终点在列表 的路径都被约束到 delay_value。如果你没有指定一个 from_list,所有到 to_list 的路径都会 受影响。这个列表不能包含输入端口。如果有不止一个对象,要使用双引号或花括号。如 果你指定一个单元,一个终点在单元上的路径会被影响。如果你指定一个时钟,所有终点 与时钟相关的路径都被影响。 -rise_to rise_to_list 与-to 选项相同,但仅应用于上升在终点的路径。如果一个时钟对象被指定,该选项选择 被命名时钟驱动的终点,但仅有在时钟源被时钟上升沿截取的路径,被考虑沿时钟路径的 任意逻辑翻转。你仅可以使用-to、-rise_to 和-fall_to 中的一个选项。 -fall_to fall_to_list

- 64 -

www.chalayout.com – nfmao 与-to 选项相同,但仅应用于下降在终点的路径。如果一个时钟对象被指定,该选项选择 被命名时钟驱动的终点,但仅有在时钟源被时钟下降沿截取的路径,被考虑沿时钟路径的 任意逻辑翻转。你仅可以使用-to、-rise_to 和-fall_to 中的一个选项。 -group_path group_name 指定路径组的名称。如果组不存在,会被创建。这等于分别使用 group_path 命令-name group_name –from from_list –to to_lsit 选项,指定 set_max_delay 命令除外。如果你不指定 该选项,存在路径的组不会被改变。 -reset_path 删除现存点到点,指定路径上的信息除外。仅相同上升/下降 或 建立/保持 的信息被重设。 这等同于在执行 set_max_delay 命令之前,使用 reset_path 命令附加类似的选项。

描述:
给当前设计中的路径指定期望的最大延迟。该命令指定 from_list 中任意起点到 to_list 中任意终点 的最大路径长度必须小于 delay_value。 单个的最大延迟目标被自动从时钟波形和端口输入或输出延迟中衍生出来。更多的信息可以查看 create_clock、set_input_delay 和 set_output_delay 信息。 设计优化的花费依靠那些被指定的路径组。更多的信息可以查看 group_path 命令。 set_max_delay 命令是点到点时序排除命令。也就是,对于一个或更多的时序路径而言,它取代了 默认单循环时序关系。其他点到点排除命令包括,set_multicycle_path、set_min_delay 和 set_false_path 命令。 如果一个路径满足多个时序排除,以下规则决定哪一个排除有效。规则涉及-from 应用等同于rsie_from 或-fall_from,并且与-through 和-to 的上升或下降类似。 1. 两个 group_path 命令彼此冲突。但一个 group_path 排除不会与它的另一个排除产生冲 突。因此,剩下的规则应用于两个 group_path 排除或两个非 group_path 排除。 2. 如果两个排除都是 set_false_path,没有冲突发生。 3. 如果一个排除是 set_max_delay,并且另一个是 set_min_delay,没有冲突发生。 4. 如果一个排除是 set_multicycle_path –hold,并且另一个是 set_multicycle_path –setup, 没有冲突发生。 5. 如果一个排除是 set_false_path,另一个不是,set_false_path 优先。 6. 如果一个排除是 set_max_delay,另一个不是,set_max_delay 优先。 7. 如果一个排除是 set_min_delay,另一个不是,set_min_delay 优先。 8. 如果一个排除有-from pin 或-from cell,另一个没有,前者优先。 9. 如果一个排除有-to pin 或-to cell,另一个没有,前者优先。 - 65 -

www.chalayout.com – nfmao 10. 11. 12. 13. 如果一个排除有-through points,另一个没有,前者优先。 如果一个排除有-from clock,另一个没有,前者优先。 如果一个排除有-to clock,另一个没有,前者优先。 有更多限制约束的排除优先。对于 set_max_delay 和 set_multicycle_path –setup,这个 约束用更低的值。对于 set_min_delay 和 set_multicycle_path –hold,它的约束用更高的 值。 max_rise_delay 属性的值不能小于相同路径 min_rise_delay 属性的值 (同样适用 fall 属性)。如果 冲突发生,旧的属性会被删除。 注意,指定一个 min_delay 或 max_delay 给一个不是路径终点的接脚,会给单元带上一个隐含的 dont_touch 属性。 -group_path 选项修改路径分组。路径分组影响最大延迟花费函数。每组中最差违规者会被加入到 花费中。对于优化,一些路径的单独分组可以改善他们的延迟消耗,但也可能增加设计面积和编 译时间。 取消 set_max_delay,使用 reset_path。 修改分组使用-group_path 选项,使用 group_path 命令摆放路径到另一个组或默认组。

多条件多模式支持:
该命令仅使用本方案中的信息

范例:
下面例子显示如何优化设计如此任何延迟路径到达名为 Y 的端口小于 10 个单位。 set_max_delay 10.0 –to {Y}

指定所有从 ff1a 或 ff1b 通过单元 u1 且结束于 ff2e 的路径必须小于 15.0 个单位。 set_max_delay 15.0 –from {ff1a ff1b} -through {u1} –to {ff2e}

所有终点由时钟 PHI2 控制的路径必须小于 8.5 个单位。 set_max_delay 8.5 –to [get_clocks PHI2]

- 66 -

www.chalayout.com – nfmao 所有到达端口 busA[*]的路径延迟小于 5.0,并且包含在路径组 busA 中。 set_max_delay 5.0 –to “busA[*]” –group_path “busA”

一开始通过 u1/Z 或 u2/Z 接着通过 u5/Z 或 u6/Z 的所有路径延迟小于 3.0。 set_max_delay 3.0 –through {u1/Z u2/Z} –through {u5/Z u6/Z}

所有路径从 ff1/CP 到 ff2/D,并且上升通过 u1/Z 或 u2/Z,并且下降通过 u3/Z 或 u4/C 的延迟必须 小于 8.0 个单位。 set_max_delay 8.0 –from {ff1/CP} –rise_through {U1/Z U2/Z} –fall_through {U3/Z U4/C} –to {ff2/D}

更多:
compile, create_clock, current_design, group_path, report_constriant, report_path_group, reset_design, reset_path, set_false_path, set_input_delay, set_min_delay, set_multicycle_path, set_output_delay

- 67 -


相关文章:
艾默生SDC空调使用说明手册
艾默生SDC空调使用说明手册_信息与通信_工程科技_专业资料。艾默生 SDC 空调使用说明手册一、 设备用途向地下吹风的打空调,用于机房温湿度调节。 二、 接口类型通讯接...
SGM常用缩写
降低RPN值计划 S1、2、3、4:可销售阶段 SDC:Supplier Daily Capacity:合同要求的供应商最高日产能 SDE: Supplier Development Engineer SFMEA: 供应商开发工程师 ...
SDC数字电位差综合测试仪的使用20131122
SDC数字电位差综合测试仪的使用20131122_电子/电路_工程科技_专业资料。SDC-Ⅲ数字电位差综合测试仪的使用 注意:测试液千万不可污染操作键盘! 1. 开机 用电源线将...
Vivado 用户约束sdc文件常用命令
Vivado 用户约束sdc文件常用命令_计算机软件及应用_IT/计算机_专业资料。Vivado 用户约束 sdc 文件常用命令 1.外部时钟输入的约束如下: create_clock -period (...
SDC量热仪说明书正文
2. 软件安装与卸载 软件的安装 SDC量热仪测试软件保存在1张光盘上; 请将标有“SDC量热仪测试软件”标记的光盘放入光盘驱动器,用“资源管理器”找到光盘驱动器...
Linux答案
() A、/home B、/etc C、/dev D、/tmp 18、/dev/sdc6 分区表示( ) A、 第 2 块 IDE 硬盘的第 6 个分区,是逻辑分区 B、第 3 块 IDE 硬盘的第...
SDC35表参数设定
SDC35-36 表参数设定 1 2 3 按 PARA 键显示 GOGE 按上下键进入 STUP 按 ENTER 键确定 C01 传感器类型 按 ENTER 键修改 2 K 型热点偶 4 5 C05 传感器...
SDC36操作设定--简易版
SDC36操作设定--简易版_计算机硬件及网络_IT/计算机_专业资料。SDC36 设定操作步骤 一台新 SDC36 在首次应用时按照如下的方式设定参数,如仪表已经设定有内容(其他...
DISC各种性格详细解读
SDC 主导 DISC 图形 14 / 23 这种典型行为风格,可被大致描述为是"探索者"的类型.这种类型的人通常有耐性, 控制力,实事求是,为达目的而坚持不懈.他们体贴而...
SDC-Ⅱ 数字电位差综合测试仪
SDC-Ⅱ 数字电位差综合测试仪 使用说明书 一、 特点 1、 一体化设计:将 UJ 系列电位差计、光电检流计、标准电池等集成一体,体积小,重量轻,便于携带。 2、...
更多相关标签:
sdc设计师网址导航 | 山地车 | sdc是什么意思 | sdc文件 | sdc公司 | adc | 站酷网 | sdc显示器 |