vivado XDC优先级

XDC优先级

关于XDC优先级

Xilinx Design Constraints(XDC)的优先级规则继承自Synopsys Design限制(SDC)。本章讨论如何解决约束冲突或重叠。

XDC约束顺序

XDC约束是按顺序解释的命令。对于等效约束,最后一个约束优先。

约束顺序示例:
> create_clock -name clk1 -period 10 get_ports clk_in1
> create_clock -name clk2 -period 11 get_ports clk_in1
在该示例中,第二时钟定义覆盖第一时钟定义,因为:

•它们都连接到同一个输入端口。

•未使用create_clock-add选项。

例外优先级

如果约束重叠(例如,如果多个定时异常应用于同一路径)从最高到最低的优先级为:

1.时钟组(set_Clock_Groups)

2.错误路径(set_False_Path)

3.最大延迟路径(set_max_Delay)和最小延迟路径(set _min_Delay)

4.多循环路径(set_multycle_path)

注意:set_bus_skew约束不影响上述约束的优先级。这个set_bus_skew约束不覆盖,也不被时钟组、最大延迟、false覆盖路径和多循环路径。原因是总线偏斜不是对特定路径的约束,而是路径之间的约束。

注意:错误路径、最大/最小延迟和多周期路径之间的优先级可以更改使用选项-reset_path。时钟组约束不能被覆盖。A最大值/最小值延迟或多周期路径约束只能覆盖先前定义的错误路径或最大值/当两个约束都使用完全相同的参数定义时的最小延迟约束/-到/-through,并且最新的约束使用-reset_path。

此外,对于相同类型的异常,约束越具体,则越高优先根据过滤选项和约束中使用的对象类型,您可以修改约束的特定性。对象的优先级规则为:

1.端口、引脚和单元

使用单元的引脚而不是单元本身。

2.时钟

时钟的优先级总是低于端口、引脚和单元。使用的定时异常时钟对象总是具有比用端口定义的另一个定时例外更低的优先级,引脚和单元。

过滤器的优先级规则(从高到低)为:

  1. -from -through -to
  2. -from -to
  3. -from -through
  4. -from
  5. -through -to
  6. -to
  7. -through
    例外优先级示例
    > set_max_delay 12 -from get_clocks clk1 -to get_clocks clk2
    > set_max_delay 15 -from get_clocks clk1
    在本例中,对于从clk1到clk1的路径,第一个约束覆盖第二个约束clk2.异常中使用的through选项的数量不会影响优先级。这个正时发动机使用最严格的约束。
    > set_max_delay 12 -from get_cells inst0 -to get_cells inst1
    > set_max_delay 15 -from get_clocks clk1 -through get_pins hier0/p0 -
    to get_cells inst1
    在本例中,第一个约束仅使用单元对象,第二个约束使用时钟对象尽管inst0由clk1计时,但第一个约束会覆盖第二个约束用于从单元inst0到单元inst1的路径。

具有多个直通选项的异常优先级实例
> set_max_delay 4 -through get_pins inst0/I0
> set_max_delay 5 -through get_pins inst0/I0 -through get_pins inst1/I3
这两个例外都由正时发动机保持。更具挑战性的约束用于计时分析在本例中,4 ns最大延迟约束将用于通过的路径引脚inst1/I3。

带有-reset_path的异常优先级示例
> set_false_path -from get_clocks clkA -to get_clocks clkB
> set_max_delay 1 -from get_clocks clkA -to get_clocks clkB -
reset_path
时钟clkA和clkB之间的路径由具有路径的最大延迟覆盖1ns的要求。"最大延迟"是用-from/-到和的相同参数定义的指定-reset_path,它将覆盖False path。
> set_false_path -from get_clocks clkA -to get_clocks clkB
> set_max_delay 1 -from get_pins reg0/CLK -to get_pins reg1/D -
reset_path
reg0/CLK和reg1/D之间的路径由False Path覆盖,因为该约束具有比最大延迟更高的优先级。最大延迟不会覆盖错误路径尽管有-reset_path,因为它不是用-from/-to的相同参数定义的。

建议:您必须避免在同一路径上使用多个定时异常,以便定时分析结果不依赖于优先级规则,而且更容易验证约束。建议您使用report_exceptions验证计时异常命令此命令提供了有关哪些定时异常被覆盖或忽略的详细信息。对于更多信息,请参阅Vivado Design Suite用户指南:设计分析和闭合技术(UG906)。

如果将字符串而不是对象传递给约束,Tcl解释器将使用以下内容序列以确定哪个对象与字符串匹配:

1.端口

2.销

3.细胞

4.净

搜索并不详尽。一旦某个类型的对象与字符串模式匹配,它们返回,即使列表中其他类型的对象也可能匹配相同的对象图案。

相关推荐
郝旭帅电子设计团队7 小时前
图像处理是什么
图像处理·fpga开发·郝旭帅电子设计团队·郝旭帅
weixin_4526006914 小时前
D2632大电流低差压可调线性稳压器介绍,D2632可替换MIC29302
fpga开发·机器人·无人机·电动工具·车载摄像头
ARM|X86+FPGA工业主板厂家17 小时前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ千兆以太网高速数据记录仪
arm开发·fpga开发
cmc102817 小时前
275.需要双边沿触发时,直接对时钟取反会不会出问题
fpga开发
ARM|X86+FPGA工业主板厂家20 小时前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ FPGA图像预处理加速系统
arm开发·fpga开发
LCMICRO-133108477462 天前
国产长芯微LPS7118完全pin-pin替代ADP7118,是一款采用 CMOS 技术设计的低噪声、高 PSRR、快速瞬态响应、低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·adp7118
LCMICRO-133108477462 天前
国产长芯微LM3042完全P2P替代LT3042,是一款高性能低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·lt3042
ARM|X86+FPGA工业主板厂家2 天前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ高精度温振压多参融合采集系统
fpga开发
辰丁电子3 天前
PCB设计:EMMC设计规范
fpga开发·pcb设计·pcb工艺·layout·pcb layout
小蘇的FPGA4 天前
FPGA远程更新升级和测试(MultiBoot)
fpga开发