create_rqs_runs - 2022.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2022.1 English

Create ML Strategy implementation runs


create_rqs_runs [‑reference_run <arg>] [‑quiet] [‑verbose]


Name Description
[-reference_run] Reference implementation run name
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution




This command is used to create up to 3 implementation runs using ML Strategies that are selected based on an analysis of critical features in a design. It is a two step process, where the first step is to create the ML Strategy RQS files and the second step is to create the implementation runs and reference the RQS files.

This command copies any required properties such as Tcl hooks from the -reference_run, reference the RQS file containing the strategy, and set up the directives to use RQS. It requires ML Strategy RQS files to be present at the location.

ML Strategies can be generated in this location using either of the following commands.
generate_ml_strategies  [get_runs <impl_run_name>] -suggestions_filter {APPLIED || Category==Strategy}
This command can only be used in Project mode, on implementation runs and for the Ultrascale, Ultrascale+, and Versal families. Refer to the Examples section for usage on both the project and non-project use-cases for using ML Strategies.


-reference_run <arg> - (Required) A reference implementation run object which has RQS strategy files generated in the <run_name>/MLStrategy folder.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.


The following command creates ML Strategy RQS files and references the files in the new runs replicating how a user interacts with the IDE.
generate_ml_strategies [get_runs impl_1] -suggestions_filter {APPLIED || Category==Strategy}
create_rqs_runs -reference_run [get_runs impl_1]
For the script based project users, the ML strategies can be generated by default using a Tcl hook or turning on the AUTO_RQS feature of the run. AUTO_RQS also update other QoR Suggestions.
  1. Add the following commands into the Tcl file.
    write_qor_suggestions -strategy_dir ./MLStrategy -filter {APPLIED || Category == Strategy}
  2. Add the Tcl file to the post route Tcl hook.
    import_files -fileset utils_1 post_route.tcl
    set_property STEPS.ROUTE_DESIGN.TCL.POST [ get_files post_route.tcl -of [get_fileset utils_1] ] [get_runs impl_1]
  3. Execute the following command to create new runs.
    create_rqs_runs -reference_run [get_runs impl_1]
Note: It is not recommended to manually script the creation of the run. Vivado® recommends running three ML Strategies per design.
The following non-project command generate ML strategy suggestions and write them to an RQS file in directory ./MLStrategy
write_qor_suggestions -strategy_dir ./MLStrategy -filter {APPLIED || Category == Strategy}
The following example shows the equivalent non-project based commands to reference the RQS strategies.
<insert after link design or open checkpoint>
read_qor_suggestions ./MLStrategy/<top>_routedSuggestionFile[1||2||3].rqs
opt_design -directive RQS
place_design -directive RQS
phys_opt_design -directive RQS
route_design -directive RQS