RQS in the Incremental Flow - 2025.2 English - UG906

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
UG906
Release Date
2025-12-10
Version
2025.2 English

When your design is very close to timing closure, typically with a worst negative slack (WNS) less than –250 ps, enable the incremental flow with RQS suggestions. This approach helps achieve timing closure faster by combining the benefits of the incremental flow and RQS suggestions. The report_qor_assessment command indicates when to use this flow in the Flow Guidance section.

In this flow, the suggestions generated from the reference routed DCP are read in before running the incremental flow commands.
Note: This flow is supported only for UltraScale and UltraScale+ devices.
Vivado automatically applies the rest of the flow. It determines which suggestions to apply at each stage by differentiating between suggestions that were newly GENERATED and those APPLIED in the reference run, as shown in the following figure:
Figure 1. Incremental Flow

When the incremental flow runs:

  • Suggestions applied in the reference are read from the reference DCP and applied regardless of whether they are enabled. The ENABLED property is ignored to ensure the reference checkpoint is replicated as closely as possible.
  • Incremental-friendly suggestions from the RQS file are applied. These must be enabled, which is done automatically during read_qor_suggestions.
  • Suggestions are applied during read_checkpoint -incremental rather than at the APPLICABLE_FOR stages. Do not read or enable suggestions after this stage, as they are ignored.
  • Any new non-incremental-friendly suggestions in the RQS file are ignored unless they already exist in the reference, in which case they are applied.

Take special care with suggestions applicable for opt_design. Because this stage occurs before the flow switches to incremental mode, it cannot be managed automatically. You must ensure that the same suggestions applied in the reference are also applied in the incremental run, and no new suggestions are introduced. If you want to use new opt_design suggestions, update the reference accordingly.

If the incremental flow reverts to the default flow, usually because of a negative quality change, all suggestions from the RQS file are executed. Before launching the next incremental run, export all suggestions to the RQS file, not only the incremental-friendly ones.

An example of the commands required to run the flow is shown here:

Prerequisites for Using This Flow

  • The device part must match between the reference run and the incremental run.
  • The reference checkpoint must be a post-route checkpoint.
  • The same directive must be used for opt_design in both the reference and incremental runs.
  • The design must not have major issues such as high congestion, unbalanced clocking, or an RQA score lower than 4.
  • Regenerate suggestions from the reference checkpoint.
  • Newly generated suggestions are applied only if they are incremental-friendly. Non-incremental-friendly suggestions are executed only if the flow reverts to default.
  • All newly generated suggestions must be created from the reference checkpoint to ensure they do not affect resolved timing paths, such as those after post-route phys_opt_design.

Example Commands

Reference Run:
# 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
Incremental Run:
# 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