Complexity Report - 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

The complexity report provides insight into the Rent Exponent, average fanout, and the distribution of leaf cell types for the top-level design or specified hierarchical cells. These metrics help you estimate routing complexity and anticipate placement challenges.

The Rent exponent describes the relationship between the number of ports and the number of cells in a partitioned section of the netlist. It is calculated using a recursive min-cut algorithm similar to the one used by the placer during global placement. If your design hierarchy closely aligns with the physical partitions determined during placement, this value can give you an early indication of how difficult the design might be to place and route.

Rent's rule is defined as:

Figure 1. Rent's Rule

A higher Rent exponent indicates that groups of highly connected logic also maintain strong interconnectivity with other logic groups. This often results in increased routing complexity and heavier use of routing resources. The Rent exponent reported here is based on the unplaced and unrouted netlist.

After placement, the same design can produce a different Rent exponent because it is then measured against physical partitions instead of logical hierarchy. Post-placement Rent is not included in this report. For placed designs, analyze congestion reports instead.

Vivado runs Report Design Analysis in Complexity Mode when you either:

  • Select the Complexity checkbox in the Report Design Analysis dialog box (Options tab).
  • Use the Tcl command report_design_analysis with any of the following options:
    Table 1. Options that Run Report Design Analysis in Complexity Mode
    Tcl Option Description
    -complexity Forces the report to run in Complexity Mode.
    -cells <arg> Limits the hierarchical cells considered to cells under the specified levels of hierarchy.
    -hierarchical_depth <arg> The levels of hierarchy under the qualifying cells to be considered for reporting.
    -av_fanout_greater_than Minimum average fanout of nets within a hierarchical cell.
    -instances_greater_than Minimum number of instances a hierarchical cell must contain.
    -instances_lesser_than Maximum number of instances a hierarchical cell must contain.
    -rent_greater_than Only report on hierarchical cells that exceed the rent value specified.