QoR Suggestions - 2025.2 English - UG906

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
UG906
Release Date
2025-12-10
Version
2025.2 English

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_suggestions command

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:

Figure 1. Suggestion Flow

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.