典型时序收敛策略需运行大量实现策略并选取其中最佳的策略以供在实验室内应用。 ML 策略同样可选 , 且只需您运行3 项策略即可达成类似的 QoR 收益。这些策略使用机器学习来检验布线后设计的各项功能特性 , 以便预测相同设计上不同策略的性能。在 report_qor_suggestions ( 和 write_qor_suggestions ) 所生成的 RQS 文件中会捕获最佳的 3 项策略 , 以供后续应用。这样即可显著降低服务器功耗。如果在实现命令上, 指令设为 RQS , 那么此命令会为该指令和其他工具命令选项引用 RQS 文件。此流程如下图所示 :
此流程包含 4 个关键点 :
1. report_qor_suggestions 命令必须在使用 Default 或 Explore 指令生成的完全布线的设计上运行。
2. write_qor_suggestions -strategy_dir <dir> 命令会在指定的目录中生成所需的 RQS 文件。默认情况下, 可生成 3 项策略。生成的每项策略各有一个 RQS 文件 , 其中包含所有建议对象以及策略建议对象。使用 write_qor_suggestions -file <fn>.rqs 指定的 RQS 文件可丢弃 , 因为在每个策略 RQS 文件中都包含此重复信息。
3. 生成的 RQS 文件必须读入新的实现运行。
4. 必须设置指令 RQS , 并且脚本必须包含针对 opt_design 、 place_design 、 phys_opt_design 和
route_design 的调用。
策略建议的工程应用
在工程模式下 , 在下列步骤中会捕获生成和应用建议的进程 :
1. 生成包含策略的 QoR 建议文件 ( 以及其他可选 QoR 建议 ) 。
2. 创建新的实现运行、读取 QoR 建议文件并将指令设置为 RQS 。
在 IDE 中集成了多种方式用于完成步骤 1 。这些方式因使用的流程以及添加到 RQS 文件中的其他 QoR 建议而异。下表描述了每一项功能特性的工作方式及其对于非策略 QoR 建议的影响。
以上每个选项都会在步骤 2 中生成一种方式来创建和设置运行。在每个项中 , 都会在运行目录中创建 MLStrategy 目录。其中包含 3 个 RQS 文件。看到这些文件时 , 会在“ Design Runs ”右键单击菜单中启用 create_rqs_runs 选项。
运行该选项时 , 它会自动创建 3 个新的实现运行 , 并将其与参考运行相连。每次参考运行仅允许 3 项 ML 策略。如果要重新创建这些策略, 请首先将其删除 , 然后重新运行。次要设计更改应该无需重新生成这些策略。以下显示了从实现运行 impl_1 创建新 ML 策略的等效 Tcl 命令 :
create_rqs_runs -referene_run [get_runs impl_1]
策略建议的非工程应用
在非工程模式下 , -strategy_dir 目录中提供了 1 个 Tcl 脚本示例。此脚本显示了 RQS 文件的读取方式以及用于设置到 RQS 的实现命令的指令。这些脚本旨在作为设计上的示例 , 以供在 opt_design 阶段之前中加载到存储器中。其中不包含任何检查点报告或写入操作。