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

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

1.2.10. 时间借用(Time Borrowing)

时间借用(time borrowing)通过使能时间借用触发器或锁存器上的路径结束以从寄存器流水线中的下一条路径“borrow”时间来提高性能。借用的时间从下一条路径中减去,从而导致相同的累积时序。这样,时间借用可以将时序裕量(slack)转移到设计的更多关键部分。如果没有时间借用,Timing Analyzer独立分析每条路径,通常假定每次传输恰好一个时钟周期。
图 34. 时间借用示例

Intel® Stratix® 10 Intel® Arria® 10器件中的某些触发器(flip-flop)支持时间借用。可用时间借用窗口的确切大小取决于硬件设置。Fitter (Finalize)阶段会根据硬件限制和可用的保持时序裕量(hold slack),对每个时间借用触发器自动配置相应的借用窗口。1

图 35. 包括各种时序裕量(slack)条件和借用值的时间借用

Intel FPGA器件通常仅支持几种借用窗口尺寸。例如, Intel® Stratix® 10器件支持窄,中和宽。通常,几个触发器组必须共享相同的设置。实际的借用数量在特定借用窗口中是完全灵活的。Timing Analyzer对每个操作条件,时钟和信号上升和下降沿分别计算借用数量。选择一个较宽的借用窗口可以降低保持时序裕量(hold slack)。如果hold slack允许,那么Compiler仅选择较宽的设置。 此外,如果Compiler确定一个较窄的窗口足以用于一组特定的寄存器(基于最佳时间借用解决方案),那么即便有足够的hold slack用于较宽的窗口,Compiler也会使用较窄的窗口。

对于特定的借用窗口尺寸,借用窗口的确切尺寸可能取决于寄存器输入(例如:d或者sclr),输入信号的边沿(上升或者下降),器件速度等级和操作条件。

您可以使能时间借用的自动实现,而无需进行任何RTL更改。一旦使能,Fitter会自动配置窗口大小。Fitter还对Fitter布局在时间借用触发器中的任何设计寄存器确定可用借用窗口内的最佳时间借用量。

包含对电平敏感的锁存器的设计的正确时序分析要求时间借用。然而,自动Fitter时间借用优化不应用于对电平敏感的锁存器,如包含锁存器的时间借用详细所述。

1 在Partial Reconfiguration设计中,额外的限制可能应用于时间借用窗口大小。