Quality of results (QoR) suggestions help improve the ability of a design to meet timing through tactics such as:
- Adding switches to commands such as
opt_design - Adding properties to design objects such as cells and nets
- Applying full implementation strategies
The report_qor_suggestions command
generates a report in either the Vivado Integrated Design
Environment (IDE) or as a text file. You can use it to:
- Generate and view new suggestions for the current design in memory
- View existing suggestions that were read using the
read_qor_suggestionscommand
You can run report_qor_suggestions on a
design loaded in memory at any point after synthesis. The generated suggestion objects
consider many design characteristics and can be grouped into the following
categories:
- Clocking
- XDC
- Netlist
- Utilization
- Congestion
- Timing
- Strategies
The generated suggestions must be fed back into the flow to take effect, which usually requires rerunning specific design stages, as shown in the following figure:
Before generating new suggestions, load a design into memory.
report_qor_suggestions can be run at any stage of the flow after
synthesis. The report lists suggestions in order of importance, with the most important
at the top. Only suggestions that are necessary to improve QoR are included.
Some suggestions require placement or routing information before they can be issued. Additional rules control when suggestions are generated:
- Netlist suggestions are based on netlist analysis. They identify structures that often lead to timing failures later in the flow, without directly examining timing paths. These can be generated for designs that already meet timing.
- Clocking suggestions are usually generated after placement, though exceptions exist when accurate information is available earlier. Most require a failing timing path.
- Timing suggestions are based on analysis of the top 100 failing timing paths per clock group.
- Utilization suggestions are generated when a resource is overused and the change does not increase the use of a critical resource. These can be reported at any design stage.
- Congestion suggestions are reported only after placement. They are omitted from routed designs that already meet timing, as they are not affecting timing closure.
- Strategies are implementation strategies generated using machine learning algorithms that analyze multiple design characteristics. Their usage flow differs from the other categories and is explained in the Strategy Suggestions section.