The automatic QoR suggestion flow generates and applies QoR suggestions for project-based runs. It is the easiest way to generate and apply QoR suggestions on a design that is readily changing. When automatic QoR suggestions are enabled, the standard implementation flow is adjusted as shown in the following figure.
The initial run can be set to take a user-selected RQS file, or it can run without an RQS file. If a user RQS file is selected, it remains in place until new suggestions are generated. Any suggestions in the file are written into a <top>_routed.rqs file, removing the requirement to keep the original file.
report_qor_suggestions command is run after
place_design and either
route_design or post route
phys_opt_design if that
command is enabled.
Most suggestions are written to an RQS file at the end of the implementation run so that they can be applied on the next implementation run. The suggestions that get written to the RQS file are:
- New suggestions with the property AUTO_RQS_FLOW==1
- Older suggestions with the property APPLIED==1
There is also a suggestion RQS_CLOCK-1 that can be generated at
opt_design and applied in the same run.
To examine the suggestions, the
report_qor_suggestions report is available in the Reports tab for each of the points where the
command is run.
When the run is reset, suggestions are copied from the implementation run directory to another location and added to the utils_1 fileset. This location is part of the sources directory by default but can be modified to any other location.
Suggestions can also be applied to the parent synthesis run if one exists. Only one child implementation run can supply synthesis suggestions. If more than one child implementation run is selected, the latest one is used.
The following properties are used on the first class run object:
|RQS file name
|Allows you to input user RQS file.
|Enable the automatic RQS flow.
|Allows the specification of an alternative directory to copy the RQS file back to.
|Implementation run name that generates the RQS file
|Applied to the synthesis parent run.
An example of the use of these properties in Tcl is shown in the following code snippet:
set_property AUTO_RQS 1 [get_runs impl_1]
set_property RQS_FILES C:/temp/test.rqs [get_runs impl_1]
set_property AUTO_RQS.DIRECTORY C:/project_name/sources/rqs/impl_1 [get_runs impl_1]
set_property AUTO_RQS.SUGGESTION_RUN impl_1 [get_runs synth_1]