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

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

1.1.7. Timing Pessimism(时序悲观)

通过将公共时钟路径的最大和最小延迟值之间的差值与相应的slack公式相加,公共时钟路径悲观移除(common clock path pessimism removal)在静态时序分析过程中会考虑了与公共时钟路径相关联的最小和最大延迟变化。

当两个不同的延迟值用于同一时钟路径时,可能出现最小和最大延迟变化。例如,在一个简单的设置分析中,到源寄存器的最大时钟路径延迟用于决定数据到达时间。到目地寄存器的最小时钟路径延迟用于决定所需的数据时间。但是,如果到源寄存器和目地寄存器的时钟路径共享一个公共时钟路径,那么最大延迟和最小延迟都用于在时序分析期间对公共时钟路径建模。使用最小延迟和最大延迟都会导致过度悲观分析(pessimistic analysis),因为两个不同的延迟值(最大和最小延迟)不能用于对同一时钟路径建模。

图 30. 典型的寄存器到寄存器路径

Segment A是reg1reg2之间的公共时钟路径。最小延迟为5.0 ns;最大延迟为5.5 ns。最大和最小延迟的差值等于公共时钟路径悲观移除值(common clock path pessimism removal value);在这种情况下,公共时钟路径悲观度(common clock path pessimism)是0.5ns。Timing Analyzer将公共时钟路径悲观移除值添加到相应的slack公式中以确定总slack。因此,如果示例中寄存器到寄存器路径的setup slack等于0.7 ns (没有公共时钟路径悲观移除),那么slack为1.2 ns (有公共时钟路径悲观移除)。

您还可以使用公共时钟路径悲观移除来确定一个寄存器的最小脉冲宽度。时钟信号必须满足寄存器的最小脉冲宽度要求才能被寄存器识别。最小高时间(minimum high time)定义了正边沿触发寄存器的最小脉冲宽度。最小低时间(minimum low time)定义了负边沿触发寄存器的最小脉冲宽度。

违反寄存器最小脉冲宽度的时钟脉冲可防止数据在寄存器的数据管脚上锁存。要计算最小脉冲宽度的slack,Timing Analyzer从实际最小脉冲宽度时间中减去所需的最小脉冲宽度时间。Timing Analyzer根据您为寄存器的时钟端口提供的时钟而指定的时钟要求来确定实际的最小脉冲宽度时间。Timing Analyzer通过最大上升时间,最小上升时间,最大下降时间和最小下降时间来确定所需的最小脉冲宽度时间。

图 31. 高脉冲和低脉冲所需的最小脉冲宽度时间

通过使用公共时钟路径悲观(common clock path pessimism),最小脉冲宽度slack可以增加最大上升时间减去最小上升时间或最大下降时间减去最小下降时间的最小值。在此示例中,slack值可以增加0.2ns,这是0.3 ns (0.8 ns-0.5 ns)和0.2 ns (0.9 ns-0.7 ns)之间的最小值。