Report Design Analysis Complexity Report - 2024.1 English

UltraFast Design Methodology Guide for FPGAs and SoCs (UG949)

Document ID
UG949
Release Date
2024-06-26
Version
2024.1 English

The Complexity Report shows the Rent exponent, Average Fanout, and distribution per type of leaf cells for the top-level design and/or for 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.

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 global 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.

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 with the -complexity option.

The following figure shows the Complexity Report.

Figure 1. Complexity Report

The following table shows the typical ranges for the Rent exponent.

Table 1. Rent Exponent Ranges
Range Meaning
0.0 to 0.65 This range is low to normal.
0.65 to 0.85 This range is high, especially when the total number of instances is above 15,000.
Above 0.85 This range is very high, indicating that the design might fail during implementation if the number of instances is also high.

The following table shows the typical ranges for the Average Fanout.

Table 2. Average Fanout Ranges
Range Meaning
Below 4 This range is normal.
4 to 5

This range is high, indicating that placing the design without congestion might be difficult.

When using SSI technology devices, if the total number of instances is above 100,000, it might be difficult for the placer to find a solution that fits in 1 SLR or is spread over 2 SLRs.

Above 5 This range is very high, indicating that the design might fail during implementation.

You must treat high Rent exponents and high Average Fanouts for larger modules with higher importance. Smaller modules, especially under 15,000 total instances, can have high Rent exponent and high Average Fanout and still be easy to place and route successfully. Therefore, you must review the Total Instances column along with the Rent exponent and Average Fanout.

Tip: Top-level modules do not necessarily have high complexity metrics even though some of the lower-level modules have high Rent exponents and high Average Fanouts. Use the -hierarchical_depth option to refine the analysis to include the lower-level modules.

For more information on generating and analyzing the Report Design Analysis Complexity report see this link in the Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906).