Complexity Report - 2024.1 English

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

Document ID
UG906
Release Date
2024-06-05
Version
2024.1 English

The complexity report shows the Rent Exponent, Average Fanout, and distribution of the types of leaf cells of the top-level design and/or of hierarchical cells. The Rent exponent is the relationship between the number of ports and the number of cells of a netlist partition when recursively partitioning the design with a min-cut algorithm. It is computed with similar algorithms as the ones used by the placer during global placement. Therefore it can provide a good indication of the challenges seen by the placer, especially when the hierarchy of the design matches well the physical partitions found during global placement.

The Rent Exponent is defined by the Rent's rule:

ports = constant x cellsRent
log(ports) = Rent x log(cells) + constant

A design with higher Rent exponent corresponds to a design where the groups of highly connected logic also have strong connectivity with other groups. This usually translates into a higher utilization of routing resources and an increased routing complexity. The Rent exponent provided in this report is computed on the unplaced and unrouted netlist.

After placement, the Rent exponent of the same design can differ as it is based on physical partitions instead of logical partitions. The post-placement Rent exponent is not reported by the Report Design Analysis command as it is recommended to analyze the congestion reports once the design is placed instead.

Report Design Analysis runs in Complexity Mode when you do either of the following:

  • Check the Complexity option in the Report Design Analysis dialog box Options tab.
  • Execute the report_design_analysis Tcl command and use any of the options shown in the following table.
    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.