vivado实现分析与收敛技巧5-增量流程中的 RQS

当设计非常接近时序收敛 通常 WNS 小于 -250 ps 可启用增量流程并包含 RQS 建议。这样即可利用增量流程和RQS 建议来实现时序收敛并节省迭代时间。 report_qor_assessment 用于在“ Flow Guidance 流程指南 部分中指示何时使用此流程。
在运行中 运行增量流程命令前 将读入从参考布线 DCP 生成的建议。流程其余部分将为您自动应用。 Vivado 会通过区分新生成 (GENERATED) 的建议以及参考运行中已应用 (APPLIED) 的建议 来明确应用于流程中各阶段的具体建议。如下图所示:
如果运行增量流程 那么对于参考中已应用的建议 无论是否已启用 都会从参考 DCP 中读取并应用这些建议。之所以忽略 ENABLED 属性 因为至关重要的是应尽可能复制参考检查点。
下一步会应用来自 RQS 文件的适合增量流程的建议。在 read_qor_suggestions 期间会自动启用这些建议 并且必须启用后才有效。在 read_checkpoint -incremental 期间 而不是在 APPLICABLE_FOR 阶段中 会应用这些建议。因此, 在此阶段后不应读取或启用建议 否则会被忽略。 RQS 文件中的任何不适合增量流程的新建议都将被忽略( 将要应用的是在参考中已应用的现有不适合增量流程的建议
应用适用于 opt_design 的建议时 请谨慎处理。因为在执行此操作时 流程尚未意识到自身处于增量模式下 故而无法自动管理这些建议。对于参考中已应用的现有建议, 您必须确保在增量运行中也同样应用这些建议 并且不应用任何新建议。如果倾向于应用这些建议, 那么应更新参考。
如果增量流程还原为默认流程 通常源于更改产生的负面影响 ), 则将从 RQS 文件执行所有建议。因此 在启动下一轮增量运行前, 必须将所有建议 而不只是适合增量流程的建议 都导出至 RQS 文件。采用此流程前, 请注意满足如下前提条件
• 参考运行与增量运行的器件部分应相匹配。
• 参考检查点应为布线后检查点。
• 针对参考运行和增量运行中的 opt_design 应使用相同的指令。
• 设计不应存在重大设计问题 如高拥塞、时钟设置不平衡或 RQA 评分低于 4
• 应从参考检查点重新生成建议。
• 仅当新生成的建议属于适合增量流程的建议时 才会加以应用。如果建议不适合增量流程 则仅当流程还原为默认流程时才会执行这些建议。如果不发生还原, 则将忽略这些建议。
• 这些新生成建议必须从参考检查点生成。此项检查可确保建议不会影响时序已解决的路径 例如 布线后phys_opt_design) 。 运行该流程所需的命令示例如下所示:
• 参考
# Generate RQS suggestions from the reference DCP
open_checkpoint reference_routed.dcp
report_qor_suggestions -file postroute_rqs.rpt
write_qor_suggestions -force ./post_route.rqs
• 增量流程
# RQS-Incremental Run:
open_checkpoint <pre_opt.dcp>
read_qor_suggestions ./post_route.rqs
# opt_design directive must be same as the reference run
opt_design -directive {same directive as reference run}
read_checkpoint -incremental reference_routed.dcp
# place_design is running in TimingClosure mode
place_design
# phys_opt_design is optimized for incremental
phys_opt_design
# route_design is running in TimingClosure mode
route_design
write_checkpoint postroute.dcp
自动删除建议
为了防止建议过多累积 Vivado Design Suite 会对建议进行自动管理。生成新建议时 它将删除与先前生成的建议相同的建议。
Tcl 或文本格式来查看建议
建议对象存储在二进制文件中 因此读取建议的唯一途径是加载设计、读取建议并运行
report_qor_suggestions 。对于不希望使用对象流程的用户 支持在 Tcl 中查看和执行建议。
要在 Tcl 中写出建议 请使用以下命令
write_qor_suggestions -tcl_output_dir <outputDir>
通过运行此命令即可将 1 个或多个 Tcl 文件输出到指定目录。该选项在 Vivado IDE 中不可用。
对于为实现命令生成的 Tcl 脚本 使用 Tcl 前挂钩或后挂钩将其添加到实现运行中 通常最好是在 opt_design 之前使用。可以在非工程流程中使用 Tcl 源命令读取这些脚本。对于综合 Tcl 脚本 必须将其添加到在工程模式下设置的约束中( 将文件筛选工具更新为 Tcl 可进行查看 ), 或者在非工程模式下使用 read_xdc -unmanaged <Tcl file> 访问这些脚本。
当对象显示在 Tcl 中时 您应负责维护 Tcl 以移除不再需要的对象 并且仅应用这些对象要应用的建议。您需将任何新生成的 Tcl 脚本追加到现有的 Tcl 脚本中。report_qor_suggestions 将不再报告使用 Tcl 输入的建议。
受支持的系列和流程
下表汇总了该版本中 QoR 建议支持的器件系列和设计流程。
支持的建议
Vivado 可生成 100 余项 QoR 建议 其中 80 余项建议能自动执行 无需用户对约束或 RTL 进行任何编辑。要查看可生成的所有建议的列表, 请运行 get_qor_checks 命令。您可检查随附于返回的对象的属性。此命令返回的对象并非生成的建议, 无法写入这些对象本身。
-family 开关可用于仅显示适用于某一系列的建议。以下示例演示了如何查看当前打开的设计系列可用的建议
get_qor_checks -family [get_property FAMILY [get_parts [get_property PART
[current_design]]]]
-filter 开关允许用于基于对象属性进行筛选。可供筛选的实用属性有
CATEGORY
AUTO
INCR_FRIENDLY
此命令的输出应使用 Tcl 来处理。以下示例演示例如如何查看所有 AUTO 检查的 ID 和描述
foreach sugg [lsort -dict [get_qor_checks -filter {AUTO==1}]] {
set ID [get_property ID $sugg]
set DESCRIPTION [get_property DESCRIPTION $sugg]
puts "[format %-16s $ID]: $DESCRIPTION "
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cckkppll

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

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

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

打赏作者

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

抵扣说明:

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

余额充值