Strategy Suggestions - 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
Note: Strategy Suggestions are supported only for UltraScale and UltraScale+ architectures.

Typical timing closure strategies involve running multiple implementation strategies and selecting the best one for lab testing. Machine learning (ML) strategies provide an alternative by requiring only three strategies to achieve a similar QoR benefit. ML strategies analyze features from a post-route design to predict the performance of different strategies on the same design.

The best three strategies are stored in RQS files generated by report_qor_suggestions (and write_qor_suggestions) and can be applied in subsequent runs. This approach significantly reduces the server resources required.

When the directive is set to RQS on implementation commands, the tool references the RQS file for both the directive and other tool command options. The flow is shown in the following figure:

Figure 1. Strategy Suggestion Flow

Strategy Suggestions Flow

  1. Generate strategy suggestions by running report_qor_suggestions on a fully routed design generated using either Default or Explore directives. For detailed requirements, see ML Strategy Availability.
  2. Write the strategy RQS files by using the following command to generate the required RQS files in the specified directory: write_qor_suggestions -strategy_dir <dir>. By default, three strategies are generated. Each strategy RQS file contains all suggestion objects and the strategy suggestions object. The RQS file created using write_qor_suggestions -file <fn>.rqs can be discarded because the information is duplicated in the strategy RQS files.
    Note: To generate more strategies, increase the number with:
    report_qor_suggestions -max_strategies <n>
  3. Load the strategy RQS file by reading the generated RQS file into the new implementation run.
  4. Run the RQS strategy flow by setting the directive to RQS. Include calls to opt_design, place_design, phys_opt_design and route_design in the script.