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
显示命令冲突时,内部时钟不确定设定命令优先,所以第二条件命令优先。 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
set_input_delay
设定与时钟相关接脚或输入端口的输入延迟
语法:
status set_input_delay delay_value
[-reference_pin pin_port_name] [-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
指定与指定延迟相关的时钟。如果-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
指定是否增加延迟信息给已存在的输入延迟或将其取代。-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去删除输入延迟设定。
多条件多模式支持:
该命令仅使用当前方案中的信息。
范例:
给组合逻辑设计的端口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} 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
set_output_delay
设定接脚或输出端口与时钟信号相关的输出延迟
语法:
int set_output_delay