增量流程中的 RQS - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

当设计非常接近时序收敛(通常 WNS 小于 -250 ps)时,可启用增量流程并包含 RQS 建议。这样即可利用增量流程和 RQS 建议来实现时序收敛并节省迭代时间。report_qor_assessment 用于在“Flow Guidance”(流程指南)部分中指示何时使用此流程。

在运行中,运行增量流程命令前,将读入从参考布线 DCP 生成的建议。流程其余部分将为您自动应用。Vivado 会通过区分新生成 (GENERATED) 的建议以及参考运行中已应用 (APPLIED) 的建议,来明确应用于流程中各阶段的具体建议。如下图所示:

图 1. 增量流程

如果运行增量流程,那么对于参考中已应用的建议,无论是否已启用,都会从参考 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