Strategy suggestions are a special type of suggestion. They set implementation directives that are optimal for the design. They are reported in the IDE but can only be generated via Tcl and are applicable only to the implementation runs. The prediction is based off the netlist features and so the synthesis settings should be the same in the strategy runs as they were in the reference run. The flow is shown in the following figure:
As shown in the previous figure, there are four key points to this flow.
Firstly report_qor_suggestions
should be
run on a fully routed design that is generated using either Default or Explore
directives. For complete details about the requirements, see ML Strategy Availability.
Secondly, write_qor_suggestions -strategy_dir
<dir>
generates Tcl and RQS files in the directory specified. By
default, three strategies are generated. For each strategy generated, a single RQS file
contains all the suggestion objects as well as the strategy suggestions object. The RQS
file specified using write_qor_suggestions -file
<fn>.rqs
can be discarded as the information is replicated in each
strategy RQS file.
report_qor_suggestions -max_strategies <n>
.
Thirdly the generated RQS file must be read in to the new implementation run.
Finally, the directive RQS must be set and the script must contain a
call to opt_design
, place_design
, phys_opt_design
and route_design
. The RQS directive instructs the tools to
reference the suggestion.
In project mode, source the project based Tcl script. This will automatically create a new run based on the existing run, setup the RQS file to be read and adjust the directives.
In non-project mode, an example Tcl script is provided. This shows how the RQS file must be read and the directives for the implementation commands set to RQS. These scripts are intended to be an example on a design loaded into memory in the pre-opt_design stage. They do not contain any reporting or writing of checkpoints.