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

ID 683068
日期 9/24/2018
Public
文档目录

2.2.5.5. 将约束与时序报告相关联

理解时序分析报告中出现时序约束和违规的方式对于理解结果至关重要。以下示例显示了特定约束是如何影响时序分析报告的。 大多数时序约束仅影响时钟启动沿和锁存沿。具体来说,create_clockcreate_generated_clock创建具有默认关系的时钟。但是, set_multicycle_path异常会修改默认的设置和保持关系。set_max_delayset_min_delay约束是低级覆盖(low-level overrides),明确地指示出启动沿和锁存沿的最大延迟和最小延迟。

下图显示了在特定路径上运行Report Timing的结果。

在下例中,设计包含一个通过10 ns周期驱动源寄存器和目的寄存器的时钟。这产生一个10 ns的设置关系(launch edge = 0 ns, latch edge = 10ns)和0 ns的保持关系(launch edge = 0 ns, latch edge = 0 ns),命令如下:
create_clock -name clocktwo -period 10.000 [get_ports {clk2}]
图 40. 设置关系10ns,保持关系0ns
set_multicycle_path约束加入多个周期以放宽设置关系,或打开窗口,使得设置关系为20 ns,而保持关系仍为0 ns:
set_multicycle_path -from clocktwo -to clocktwo -setup -end 2
set_multicycle_path -from clocktwo -to clocktwo -hold -end 1
图 41. 设置关系20ns

set_max_delayset_min_delay约束显式覆盖设置关系。请注意,对于这些不同约束,唯一变化的是设置和保持分析的启动沿时间和锁存沿时间。每隔一行的项目都来自FPGA内部的延迟,并且对于给定的fit是静态的。查看这些报告以分析约束如何影响时序报告。

图 42. 使用set_max_delay
图 43. 使用set_min_delay

对于I/O,您必须添加-max-min值,它们显示为Type列中的iExt或者oExt。 例如一个set_output_delay -max 1.0set_output_delay -min -0.5的输出端口:

时钟关系决定启动沿时间和锁存沿时间,多周期以及可能的set_max_delayset_min_delay约束。Timing Analyzer还将set_output_delay的值作为oExt值进行添加。对于输出,此值是Data Required Path的一部分 ,因为这是分析的外部部分。左侧的设置报告减去-max值,使设置关系更难满足,因为Data Arrival Path必须短于Data Required Path。Timing Analyzer还减去-min值。此减法是一个负数导致更具限制性的保持时序的原因。Data Arrival Path必须长于Data Required Path