适用于时序收敛的 Intelligent Design Run(智能设计运行)是一种激进的时序收敛实现,其运行的唯一目的就是达成时序收敛。在此过程中功耗和编译时间均不予考虑,但凭借节省使用率可以达成一定程度的功耗最优化。它拆分为三个阶段,如下简化图所示。
图 1. IDR 概述
此流程为完全自动化流程,无需用户控制可运行的阶段。在尝试使用 IDR 达成时序收敛前,设计中应不含任何方法论问题。运行 report_methodology
并修复或者豁免所有严重警告和警告。
以下提供了每个阶段的详细信息。
- 阶段 1:设计最优化
- 在设计最优化阶段,会生成并应用 QoR 建议。此阶段的编译时间通常高达标准实现运行的编译时间的 2.5 倍。原因如下:
- 为了生成准确数据以供分析,必须在布局后和布线前运行实现工具。为了应用建议,设计运行必须复位,并且必须重新运行实现。
- 支持先达成 QoR 建议的影响效果,而后再开展新分析并生成新建议,这样即可避免过高估计设计问题的影响,从而最大化 QoR 的影响。
- 阶段 2:工具选项探索
- 此阶段使用 ML 策略来预测要使用的最佳工具选项。
- 阶段 3:最后一步时序收敛
- 此阶段利用布线后
phys_opt_design
、使用“Last Mile”指令进行增量实现以及利用增量 QoR 建议来达成时序收敛。要进入此阶段,设计的 RQA 得分必须不低于 3,并且 WNS 在 -0.250 到 0.000 之间。如果不满足这些条件,则会跳过此阶段且退出流程。
满足以下任一条件时,流程就会退出:
- 在任意阶段,如果满足时序并且设计已完全布线。
- 在阶段 1 中,如果:
- 设计未能通过初始时序检查。
- 设计未能通过初始使用率检查。
- 方法论检查结果为失败,则激活工具退出选项,并且失败的方法论检查包含下列 ID:TIMING-6/7/8/13。
- 设计布线失败。
- 不存在预测的 ML 策略。
- 在阶段 2 中,如果不满足 Last Mile 条件。
- 在阶段 3 结束时,如果 Last Mile 算法已穷尽,且无法再进行进一步提升。