Synopsys IC Compiler II (ICC2) · stage 10 of 16

10. Global and early routing

Sanity checks and ICC2 commands for layer constraints, routability, global route runs, congestion review, and wire length statistics.

5 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

This stage covers the checks around global and early routing: layer constraints, clock NDR and shield readiness, route readiness and pin access, the global_route run itself, congestion review and relief, and wire length and layer use.

Sanity check cheat sheet

One row per command card. Read left to right: the check, the command that answers it, then what a healthy result, a result to review and a hard stop look like.

CardCheck and whenCommandHealthyReviewHard stop
G-01 Layer constraints record
Before route_global
report_ignored_layers
report_routing_guides
Ignored layers and guides match the technology and routing plan, and are recorded with each run. Layer limits set for one run and not recorded, so congestion numbers cannot be compared. A layer range that differs from the plan, so capacity is wrong before any net is routed.
G-02 Clock NDR and shield readiness
Before route_global
check_routability -check_shield true
check_routability -via_ladder true
Shield and via ladder findings are empty, or each finding is understood. Findings on nets that are frozen or intended to stay unshielded. Clock nets with shield or ladder requirements the check reports as unmet.
G-03 Route readiness and pin access
Before route_global
check_routability
check_legality
No blocked ports, no out-of-boundary pins, no grid violations, and placement is legal. Blocked ports on cells you can still move, or optional checks not enabled. Unplaced or illegal cells, blocked pins on many instances, or incorrect via definitions.
G-04 Global route run
After G-03
route_global Net count matches the design, the layer range is the planned one, and the log has no errors. Warnings about ignored or frozen nets that you have not explained. Any error, or a run that routed only part of the nets by mistake.
G-05 Overflow and congestion
After G-04
report_congestion Overflow in both directions is within the project budget on every layer. Overflow in one direction only, or a few layers dominating the total. Overflow beyond a macro channel or pin cluster budget.
G-06 Congestion in a region
After G-05
report_congestion -rerun_global_router -boundary {<box>} -layers {<layers>} The region shows overflow within budget, on layers you expected. Blocked bins with zero routing resources, which point at blockages rather than demand. A hot region over a macro channel or pin cluster where no routing change can help.
G-07 Congestion map without routing
Any time after placement
route_global -congestion_map_only true
report_congestion
A map is stored, and report_congestion reads it on the next call. Soft congestion data is absent because it was not enabled before the run. A map made with layer limits that differ from the record.
G-08 Relief and rerun
After G-05
create_routing_guide -boundary {{<llx> <lly>} {<urx> <ury>}} -horizontal_track_utilization <pct> -vertical_track_utilization <pct>
create_routing_blockage -boundary {{<llx> <lly>} {<urx> <ury>}} -net_types signal -layers <layer>
Overflow falls after the change and no new hotspot appears. The hotspot moves to a neighbouring area instead of disappearing. Overflow stays beyond budget, or a guide or blockage is left with no record of why.
G-09 Wire length and layer use
After G-04
report_wirelength
report_design -routing
Wire and vias sit on the planned layers, and totals match earlier runs within expectation. One layer carrying most of the wire while layers above it are lightly used. Wire on layers outside the planned range.

Command cheat sheet

ICC2 commands. Angle brackets are placeholders, and values shown are examples, not project limits. A dagger (†) marks a command the notes behind this book do not fully cover; it is shown without options, so confirm it with man or help in your release.

Routing resources and layers
report_ignored_layersThe ignored layer settings in force.
set_ignored_layers -min_routing_layer <layer> -max_routing_layer <layer>Sets the layer range for RC estimation and routing. Changes the session; record it.
remove_ignored_layers -allClears the ignored layer settings. Changes the session; record it.
set_routing_rule <nets> -min_routing_layer <layer> -max_routing_layer <layer>Layer limits for chosen nets. Changes the session; record it.
Clock and net rules
create_routing_rule <rule> -widths {<layer> <width>}Defines a non-default rule with chosen widths. Changes the session; record it.
set_routing_rule -rule <rule> <nets>Assigns the rule to signal nets. Changes the session; record it.
set_clock_routing_rules -rules <rule>Assigns the rule to clock nets. Changes the session; record it.
set_routing_rule -clear <nets>Clears rules on those nets, including assigned NDRs. Changes the session; record it.
Route readiness
check_routabilityDefault pin access, boundary, grid and via definition checks. Writes check_routability.err.
check_routability -check_shield trueAdds the shield checks to the default set.
check_legalityPlacement legality check, run before routing.
check_routing_corridors <corridor>Checks that a corridor is contiguous and covers its pins.
Run and report global route
route_globalGlobal routing. Changes the design.
route_global -congestion_map_only trueCongestion map only, with no routes created.
report_congestionOverflow per layer, in both the horizontal and vertical directions.
report_wirelengthWire length per layer, and by direction.
report_design -routingWiring and via statistics.
Guides, blockages and corridors
create_routing_guide -boundary {{<llx> <lly>} {<urx> <ury>}} -preferred_direction_onlyA guide forcing preferred-direction routing. Changes the design.
create_routing_blockage -boundary {{<llx> <lly>} {<urx> <ury>}} -net_types signal -layers <layer>A hard routing blockage. Changes the design.
report_routing_guidesThe guides defined.
remove_routing_guides -allRemoves every guide. Changes the design.
report_routing_corridorsThe corridors defined.