Monday, November 9, 2015

Congestion Map


To generate a congesting map, choose Route > Global Route Congestion Map in the GUI and click Reload in the Map Mode dialog box.  You can also generate congestion maps based on the track assignment and detail routing in your design. To generate a congestion map based on track assignment, choose Route > Track Assign Congestion Map in the GUI.
To generate a congestion map based on detail routing, choose Route > Detail Route Congestion Map in the GUI.

Analyzing Congestion
You can generate the congestion report and congestion map for each routing stage: global routing, track assignment, and detail routing. The more routing stages that have been completed, the more accurate the congestion information is; however, the harder it is to fix the congestion issues.

Generating a Congestion Report
To generate a congestion report, run the report_congestion command.
icc_shell> report_congestion
By default, this cmd generates a global route congestion report by running global  routing and reports a summary of the overflow information for the entire design.

For Example,
Default Global Route Congestion Map,
-----------------------------------------------
Information: Reporting global route congestion data from Milkyway...

Both Dirs:  Overflow  = 39  Max = 8 ( 1 GRCs)  GRCs  = 14  (0.26%)
H routing:  Overflow  = 6    Max = 2 ( 2 GRCs)  GRCs  =  4   (0.07%)
V routing:  Overflow = 33   Max = 8 ( 1 GRCs)   GRCs = 10  (0.18%)
-----------------------------------------------
In the congestion report, the Overflow value is the total number of wires in the design that do not have a corresponding track available. Tha Max Value corresponds to the highest number of overutilized wires in a single global routing cell.  The GRCs value is the total number of overcongested global routing cells in the design.

The generated congestion information is stored in the Milkyway database; however, the global routing results are not. By default, the congestion data is stored for each layer, which enables the tool to generate a layer-based congestion map; however, saving the layer-based information increases the size of the Milkyway design database.  If you do not need layer-based congestion maps, you can disable this capability and save only aggregate congestion information by seeting the layer_based_congestion_map Zroute global route option to false.

To display the congestion report in the design database instead of regenerating a congestion report, use the -no_reroute option when you run the report_congestion command.

You can report addtional information in the congestion report by using the options shown below:

This shows a example GRC-based congestion report. This same format  is used  when you specify the  -grc_based, -grc_number, or -overflow_threshold options; the onlu difference is the number of global routing cells reported in each category.

GRC-Based Global Route Congestion Report,


You can generate a congestion report for a portion of the design by using the -coords option to specify a rectangular area or the -polygon option to specify a rectilinear area.

You can also generate congestion reports based on the track assignment and detail routing  in the design by setting the -routing_stage option to track or detail, respectively.  When you generate these reports, the tool does not run track assignment or detail routing; is uses the existing information in the design. If the track assignment or detail route information does not already exist in the design database, ICC issues an error message and does not generate a congestion report.

Generating a Congestion Map
To display the global route congestion map, choose Route > Global Route Congestion Map in the GUI. If the design database contains global route congestion information, ICC generates the congestion map based on this information; otherwise, you must click Reload to generate the congestion map. When you click Reload, ICC opens a dialog box that contains the following command:
report_congestion -grc_based -by_layer -routing_stage global

When you click OK in this dialog box, ICC generates a new congestion map. If you want to use different options for the report_congestion command, You can modify this command before clicking OK.

The congestion map shows the borders between global routing cells highlighted with different colors that represent different levels of overflow. If you select multiple layers, the overflow values shown in the congestion map represent the total overflow for all selected layers. Underflow is not considered; If a layer has underflow, it contributes zero overflow to the total overflow calculation. If you select a single layer, the exact overflow or underflow information is displayed.

By default, all metal layers are selected in the congestion map, except those specified as ignored layers with the set_ignored_layers command. To display the congestion map for a subset of layers, select ( or deselect) the layers on the Map Mode Panel. For  example,  If the global routing report shows that the maximum overflow occurs on metal layer 2, you can deselect all layers, except for metal 2, to display only the metal 2 congestion.

The Map Mode panel also displays a histogram showing the number of global routing cells in different ranges ( bins) of overflow values for the selected layers. You can select which bins to display in the congestion map by selecting or deselecting them on the Map Mode Panel.

If the design shows congested areas, zoom into the congested area to see the overflow number on the global routing cell. For Example, the red highlight on the edge of the global routing cell shows 18/9.
This means there are 9 wire tracks available, but 18 tracks are needed.

You can also generate congestion maps based on the track assignment and detail routing in your design. To generate a congestion map based on track assignment, choose Route > Track Assign Congestion Map in the GUI. To generate a congestion map based on detail routing, choose Route > Detail Route Congestion Map in the GUI. When you generate these congestion maps, the tool does not run track assignment or detail routing; it uses the existing information in the design. If the track assignment or detail route information does not already exist in the design database, ICC issues an error message and does not generate a congestion map.









4 comments:

  1. can you explain the color code i.e. does the red color only needs optimization or the other colors (blue, green) need optimization too. if yes, how am i supposed to understand which color layer needs more optimization

    ReplyDelete
  2. Red needs more optimization, red color means more congested area

    ReplyDelete