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.
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
ENABLEDproperty 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 -incrementalrather than at theAPPLICABLE_FORstages. 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_designin 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
# 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