In project mode, the process of generating and applying suggestions is captured in the following steps:
- Generate QoR suggestion files containing strategies (and, optionally, other QoR suggestions).
- Create the new implementation runs, read the QoR suggestion file, and set the directives to RQS.
There are various ways integrated into the IDE that accomplish step 1. They each differ based on the flow used and the other QoR suggestions that are added to the RQS file. The following table describes how each feature works and its impact on non-strategy QoR suggestions.
Flow | RQS File Creation | Other QoR Suggestions |
---|---|---|
Standard implementation run | Right-click in the Design Runs window. |
APPLIED suggestions are added by default. Newly generated AUTO suggestions are added optionally. |
With auto RQS enabled | Automatic. |
APPLIED suggestions are added by default. New AUTO suggestions are added by default. |
Report QoR suggestions from an open design | Strategies are written automatically containing selected suggestions during the writing of suggestions. | Individually selected by the user. |
Intelligent design runs | Automatic |
Includes APPLIED suggestions from stage 1 IDR. Equivalent to stage 2 runs. |
Report QoR suggestions in post-route Tcl hook | Manual |
Individually selectable by the user. Use
|
Each of these options leads to a single way to create and set up the runs in
step 2. In each of these items, an MLStrategy directory is created
in the run directory. It contains three RQS files. When these files are seen, the
create_rqs_runs
option is enabled in the
Design Runs right-click menu.
When run, this option automatically creates three new implementation runs and links them with the reference run. Only three ML strategies are allowed per reference. If you want to recreate them, delete them first and then rerun. Minor design changes should not require regeneration of the strategies.
The equivalent Tcl command to create new ML strategy runs from an
implementation run impl_1
is as follows:
create_rqs_runs -referene_run [get_runs impl_1]