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

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

2.4.2. 使能时间借用优化(Enabling Time Borrowing Optimization)

在High或者Superior Performance编译期间,Compiler在Finalize阶段对 Intel® Stratix® 10 Intel® Arria® 10设计自动计算并存储Optimal时间借用值。默认情况下,后续的时序分析结果会反映Finalize阶段的Optimal借用值。

按照以下步骤对受支持的器件使能时间借用功能:

  1. 点击Assignments > Settings > Compiler Settings > Optimization Mode。选择任何high或者superior Performance设置。
  2. 运行Fitter和Timing Analyzer,如第3步:运行Timing Analyzer所描述。
  3. 若要生成显示时间借用数据的报告,请点击Reports > Timing Slack > Report Timing。时间借用数据出现在给定时钟域的关键路径上,如报告时间借用数据所描述。
图 42. Performance Compiler Optimization Mode设置


  • 若要指定时间借用优化,而不更改Compiler Optimization Mode,请在工程.qsf中指定以下assignment:

    set_global_assignment -name ENABLE_TIME_BORROWING_OPTIMIZATION <ON|OFF>
  • 若要在时序分析期间手动指定时间借用模式,请运行以下其中一个update_timing_netlist命令选项:
表 5.  时间借用模式
时间借用模式 命令选项 作为...的默认模式

Optimal—时序分析包括Finalize阶段的最佳时间借用值。您可以选择将 recompute_borrow选项添加到update_timing_netlist来重新计算借用数量,但不重新计算借用窗口大小。

update_timing_netlist Intel® Stratix® 10 Intel® Arria® 10设计的High和Superior性能编译。
Dynamic—时序分析报告器件上相对于SDC约束,而没有进行任何优化的情况下实际发生的时间借用。也就是说,时序分析会根据需要应用尽可能多的借用,以解决所有negative slack。时序分析假设任何时序路径的最大可能的借用,其中时间借用的最大数量不足以消除所有的negative slace。唯一允许对电平敏感的锁存器的借用的模式。 update_timing_netlist -dynamic_borrow update_timing_netlist -loop_aware_dynamic_borrow
Zero—时间分析使用零时间借用。 update_timing_netlist –no_borrow 不支持的器件,或者除了Performance模式以外的任何Compiler Optimization模式。
注: 动态模式不能通过时钟过约束产生最佳结果,因为时钟过约束会导致几乎每条路径上过多的negative slack。这种情况导致到处使用最大的借用时间,这不太可能是最佳的。当使用Partial Reconfiguration时,如果在时间借用(time borrowing)使能的情况下编译基本设计,那么要在时间借用(time borrowing)使能的情况下编译实现设计。否则,基本设计中的时间借用量将被复位成零,并且设计可能无法通过时序。如果发生这种情况,那么您可以使用update_timing_netlist–recompute_borrow命令恢复整个设计中的时间借用量。