vivado实现分析与收敛技巧4

执行建议
满足以下条件时 在建议运行轮次期间执行建议
• 这些建议处于已启用 (ENABLED) 状态。
• 必须运行 APPLICABLE_FOR 阶段。
• 这些建议必须设置为 AUTO
执行建议时 APPLIED 设置将会更新 如下图所示
在实现流程中 如果未将建议中的某个属性正确应用于关联的单元或信号线 FAILED_TO_APPLY 将被设置为 1 。如 果部分应用某项建议, 则将生成新的建议 此建议将被拆分为已应用的建议和未能应用的建议。 如果 APPICABLE_FOR 阶段位于生成建议的阶段之后 那么可在生成建议的相同运行轮次中执行这些建议。为此 您必须首先手动启用建议。
set_property ENABLED 1 [get_qor_suggestions <SuggID>]
使用此方法时 当运行完成后 请务必将此建议写入 RQS 文件以便后续继续使用此建议。
所有相关命令
5 条相关命令可用于处理 QoR 建议对象
应用建议
在建议对象文件中读取然后运行命令即可在流程中应用建议。以下章节涵盖了便于在工程模式下处理建议对象文件的附加功能特性。
工程模式
在工程模式下 建议写入 RQS 文件后 会将此文件自动添加到工程 ( utils_1 ) 中的实用工具源文件集内。请将此文件存储于除运行目录外的其他目录中, 因为当运行复位后 将删除此文件。每轮运行都应采用不同的独立目录来存储各轮
运行的专用建议文件。推荐采用如下位置 <project_dir>/<project>.srcs/utils_1/<run_name>
在工程内的“ Design Runs 设计运行 窗口中右键单击运行 然后选择“ Set QoR Suggestions 设置 QoR 建议) 。在综合运行和实现运行中可能都需要添加此操作。
选择“ Enable Suggestions 启用建议 。这样您即可选择建议文件和 / 或执行自动运行。所选建议文件如果尚未添加到 utils_1 文件集中 则会执行添加。
以下代码片段中显示了此流程的等效 Tcl 命令
write_qor_suggestions -of_objects [get_qor_suggestions \
{<NAME_1> <NAME_2>}] -file <fn.rqs>
add_files -fileset utils_1 <fn>.rqs
set_property RQS_FILES <fn>.rqs [get_runs <run name>]
自动生成和应用建议
自动 QoR 建议流程会为基于工程的运行生成并应用 QoR 建议。对于易于更改的设计而言 这是生成和应用 QoR 建议
的最简单的方法。启用自动 QoR 建议时 会按下图所示调整标准实现流程。
初始运行可设为使用用户所选的 RQS 文件 也可以在不使用 RQS 文件的情况下运行。如果选择用户 RQS 文件 那么此文件会保留在原处直至生成新建议为止。此文件中的任何建议都将写入 <top>_routed.rqs 文件 并移除保留原始文件的要求。
如果已启用 report_qor_suggestions 命令 那么在 opt_design place_design 以及 route_design 或布线后 phys_opt_design 之后运行该命令。
大多数建议会在实现运行结束时写入 RQS 文件中 以便在下一次实现运行时应用。可写入 RQS 文件的建议包括
• 含有属性 AUTO_RQS_FLOW==1 的新建议
• 含有属性 APPLIED==1 的旧建议
此外还包括 RQS_CLOCK-1 建议 该建议可在 opt_design 处生成 且在同一轮运行中应用。
在运行命令的每个点的“ Reports 报告 选项卡中提供了 report_qor_suggestions 报告 可用于检查这些议。
当运行复位后 会将建议从实现运行目录复制到另一处位置 并将其添加到 utils_1 文件集中。默认情况下 此位置位于源文件目录中, 但也可修改为任意其他位置。
建议也可以应用于父综合 如果存在 。仅限单一子实现运行可提供综合建议。如选中多个子实现运行 则使用最新的运行。
在第一类运行对象上使用了以下属性
以下代码片段中显示了在 Tcl 中使用这些属性的示例
set_property AUTO_RQS 1 [get_runs impl_1]
set_property RQS_FILES C:/temp/test.rqs [get_runs impl_1]
set_property AUTO_RQS.DIRECTORY C:/project_name/sources/rqs/impl_1
[get_runs impl_1]
set_property AUTO_RQS.SUGGESTION_RUN impl_1 [get_runs synth_1]
自动 QoR 建议和 ML 策略
如果在开始运行前存在 ML 策略 那么可使用 RQS_FILES 属性来设置 RQS 文件。在流程结束时 会将这些策略建议添加到新的 RQS 文件中。
如果不存在 ML 策略 则会在建议生成进程中 <run_name>/MLStrategy 目录中为用户自动生成这些策略。
自动 QoR 建议和增量编译
启用增量流程后 在后续步骤中只能应用对增量友好的新建议。这会限制建议可以执行的更改量 因此可能难以大幅改善时序。
如果在 opt_design 处应用建议 并且随后发起增量流程 则可应用影响更大的建议。由于此建议可能导致时序劣化, 因此可能需要将其禁用。
如果自动增量流程由于参考检查点质量欠佳而决定使用默认流程 则可应用所有建议。
禁用不需要的建议
由于对自动添加到建议文件的建议缺少足够的控制 如果建议导致时序结果变差 那么可在 opt_design 之前的步骤中禁用 Tcl 脚本。以下代码片段提供了禁用 RQS_TIMING-1 建议的示例
set_property ENABLED 0 [get_qor_suggestions RQS_TIMING-1*]
非工程模式
在此模式下创建 RQS 文件的过程与工程模式相同。即 编写建议文件 随后必须使用 read_qor_suggestions 将此文件添加到运行中。read_qor_suggestions 命令应在 synth_design opt_design 之前运行。
此流程的等效 Tcl 命令如下所示
read_vhdl <some_file>.vhd
read_qor_suggestions all_enabled_suggestions.rqs
synth_design -top <top> -part <part>
opt_design
...
route_design
report_qor_suggestions -file design_rqs_routed.rpt
write_qor_suggestions -force all_enabled_suggestions.rqs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值