UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 66698

Vivado Implementation – Using congestion metrics to find high fanout nets

Description

This article describes a method for identifying high fanout nets that are involved in congested regions of a device.

Solution

There are a few ways of finding specific regions where congestion is located.

Device View Metrics:

From an open implemented design, right-click in the device view -> Metric -> Horizontal/Vertical congestion.

Route_design reporting - this includes an initial estimated congestion level.

Report_design_analysis command From an open implemented design, navigate to Report -> Report Design Analysis

Each of these methods will report specific Tiles where the worst congestion is seen. The Metrics tab & GUI version of the report_design_analysis command allow a specific tile to be selected so that this region can be zoomed in on. Using the route_design reporting, a Tile can be selected with a command similar to the following:

Select_objects [get_tiles CLBLL_R_X129Y155]

 

Once selected, this can be marked and zoomed into. Above, the selected site is towards the center of the congestion.

Next, select the individual bels (LUT, CARRY, and FFs) within the two SLICEs. Use the schematic button or (F4) to bring up a schematic of this logic within the congested region. 

From the schematic, select the Nets link at the top. If important control set (enable & reset) connections to the FFs have not been loaded, it might be a good idea to double-click on these to add these nets to the schematic.

 

When selecting the Nets link, there will be a Find Results tab at the bottom with a list of nets. Sort these by Flat Pins. 

This will show the total fanout of the net plus 1. Because global clocks have dedicated paths, it will be helpful to concentrate on non-clock control signals such as resets and clock enables. 

The highlighted Flat Pin Count below shows a reset signal that is causing congestion in this region.

sort_high_fanout_nets.png 

These results can be compared against the report_high_fanout_nets for the same criteria. 

The non-clock control nets from either the congested regions or report_high_fanout_nets are good candidates to have their drivers (FF) replicated via the following phys_opt_design command.

phys_opt_design -force_replication_on_nets ${hi_fanout_nets}

Use the phys_opt_design -help command from the Vivado Tcl console for more information on this usage.

AR# 66698
Date Created 02/23/2016
Last Updated 04/01/2016
Status Active
Type General Article
Tools
  • Vivado Design Suite