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.净

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

相关推荐
星夜离尘561 天前
FPGA 三点中值滤波:不补零、不丢背压样本的流式实现
fpga开发
hexiaoyan8271 天前
互联卡设计方案:504-PCIE X16 金手指 FPGA Aurora协议互联卡
fpga开发·测试载板·互联卡·fpga aurora协议·夹板连接器·板卡互联
星夜离尘561 天前
FPGA 二进制数如何变成十进制显示:可背压的逐位 BCD 转换器
fpga开发
匠行科技1 天前
基于VPX架构的4路10GSPS ADC信号采集处理板
fpga开发
幻智星科技2 天前
蒙哥马利模乘FPGA优化实战
fpga开发·密码学
星夜离尘562 天前
FPGA 多通道 DAC 目标码影子寄存器:成组提交、同拍写入与快照边界
fpga开发
t_niu_niu3 天前
基于多帧累加平均的图像传感器暗电流抑制方法与 FPGA 实现
fpga开发·ram·fpn·固定模式噪声·image sensor
幻智星科技3 天前
FPGA纯硬件UDP桥接:微秒级响应新范式
c++·fpga开发·硬件架构
小蘇的FPGA3 天前
基于FPGA实现PCIe H2C过程中TAG的一种管理方法
fpga开发
威嵌神州3 天前
一台加固平板,能替掉几台现场设备?
嵌入式硬件·fpga开发·电脑·平板