Intel® Quartus® Prime Pro Edition用户指南: Timing Analyzer

ID 683243
日期 10/02/2023
Public
文档目录

2.6.8.1. 时序异常优先(Timing Exception Precedence)

如果在多个时序异常中出现相同的时钟或节点名称,那么Timing Analyzer会遵循以下时序异常优先顺序:
  1. Set False Path (set_false_path)为第一优先级。伪路径和时钟组有相同的优先级,除非您使用带伪路径异常的-latency_insensitive-no_synchronizer选项。无论使用哪个选项,伪路径都优先于时钟组。
  2. Set Clock Groups (set_clock_groups)为第二优先级。
  3. Set Minimum Delay (set_min_delay)和Set Maximum Delay (set_max_delay)为第三优先级。
  4. Set Multicycle Path (set_multicycle_path)为第四优先级。
伪路径时序异常具有最高优先级。在每个类别中,对各个节点的分配优先于对时钟的分配。对于相同类型的异常:
  1. -from <node>为第一优先级。
  2. -to <node>为第二优先级。
  3. -thru <node>为第三优先级。
  4. -from <clock>为第四优先级。
  5. -to <clock>为第五优先级。
包括星号通配符(*)的这些选项与选项未被指定时应用相同的优先级。例如, -from a -to *被视为与-from a具有相同的优先级。

优先级示例

  1. set_max_delay 1 -from x -to y
  2. set_max_delay 2 -from x
  3. set_max_delay 3 -to y

第一个异常的优先级高于其他两个异常,因为第一个异常指定-from(而#3没有指定)和指定-to(而#2没有指定)。在没有第一个异常的情况下,第二个异常的优先级高于第三个异常,因为第二个异常指定了-from,而第三个异常则没有。最后,其他异常的剩余优先顺序是依赖于顺序的,这样最近创建的assignment会覆盖或部分覆盖早期的assignment。

set_net_delayset_max_skewset_data_delay约束分析独立于最小或最大延迟或多周期路径约束。
  • 无论在相同节点上是否存set_false_path异常或者set_clock_groups异常或者其他基于路径的约束或异常,都要应用set_net_delay异常。它是一个基于网络的异常,基于网络的异常和基于路径的异常是彼此独立应用的。
  • set_max_skew异常应用在由异步时钟组切割的路径上,并且与任何set_false_path异常无关。独占时钟组会覆盖最大偏斜异常,因为独占时钟之间的路径是完全无效的(inactive),并且不应该针对时序或偏斜要求进行分析。此优先级使您能够对异步CDC总线传输进行更有针对性的约束定义。
  • set_data_delay异常指定给定路径的最大数据路径延迟异常。独占时钟组会覆盖数据延迟异常,因为独占时钟之间的路径完全无效的(inactive),并且不应该针对时序或偏斜要求进行分析。异步时钟组不会覆盖数据延迟异常。伪路径异常会覆盖Intel Quartus Prime Pro软件版本21.2及更早版本中的数据延迟异常。从版本21.3开始,伪路径异常不会覆盖数据延迟异常。这种优先级更改使您能够在异步CDC总线传输上编写更有针对性的约束。