当设计非常接近时序收敛(通常 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