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

11. Detailed route

Sanity checks and ICC2 commands for route_auto, DRC and antenna checks, LVS connectivity, repairing violations, redundant vias, and signoff DRC.

5 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

This stage covers detailed routing: confirming route readiness, running route_auto, checking DRC, antenna and connectivity, repairing remaining violations, adding redundant vias, reviewing routing statistics and shape clean-up, and signoff DRC.

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
D-01 Route readiness
Before route_auto
check_routability
check_legality
Both checks are clean, and the global route congestion is within budget. Optional checks not run, or findings on cells that cannot move. Illegal placement, blocked pins on many instances, or unrouted power nets.
D-02 Route run and log
After D-01
route_auto The run ends with no errors, and DRC violation counts fall over the iterations. A few violations remain, or warnings about nets skipped or frozen. Any error message, or a violation count that stops falling.
D-03 DRC, open and antenna check
After D-02
check_routes
check_routes -antenna true
No spacing, area, width, open net or antenna violations remain. A few violations on frozen nets or layers beyond the default report cap. Open nets, shorts, or violations beyond what your signoff will accept.
D-04 Connectivity and shorts
After D-02
check_lvs
check_lvs -checks open
No shorts, opens or floating shapes on signal, clock and power nets. Power terminals treated as unconnected sources, which inflates open counts. Any short, or an open on a net that must connect.
D-05 Repair remaining violations
After D-03
route_detail -incremental true -initial_drc_from_input true
route_eco -nets {<nets>} -reroute modified_nets_only
The count falls to zero and check_routes is rerun clean. Count falls but moves to new nets or layers, which suggests a congestion cause. A count that rises after repair, or open nets left (incremental routing does not fix opens).
D-06 Redundant vias
After D-03
add_redundant_vias
add_redundant_vias -list_only true
The conversion rate meets the project target and DRC is still clean afterwards. Rate below target on a few layers where the mapping table has no entry. New DRC violations from insertion, or timing lost on nets that were to be preserved.
D-07 Routing statistics
After D-02
report_design -routing
report_wirelength
Wire length and via counts per layer match the plan and earlier runs. Wire length or via count well above the global route estimate on some layers. Wire on layers outside the planned range.
D-08 Shape clean-up
After D-03
remove_redundant_shapes
optimize_routes
Dangling and floating shapes are removed, and check_routes is rerun clean. Nets skipped because they are open or have violations. Clean-up run while open nets or violations remain unexplained.
D-09 Signoff DRC
After D-03
signoff_check_drc
signoff_fix_drc
Signoff DRC reports no violations, or only waived ones, in the final run. Rules above the per-rule fix limit, or fixing limited to top-level violations. Violations remaining after the repair loops, or new ones introduced by fixing.

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.

Route
route_autoAutomatic full routing. Changes the design.
route_detailDetail routing step. Changes the design.
route_detail -incremental true -initial_drc_from_input trueIncremental detail route that starts from stored check_routes results. Changes the design.
route_eco -nets {<nets>} -reroute modified_nets_onlyECO routing for chosen nets. Changes the design.
route_trackTrack assignment step. Changes the design.
Verify routing
check_routesDRC, open net, antenna and voltage-area checks on routed signal nets. Writes zroute.err.
check_routes -antenna trueIncludes the antenna check.
check_routes -nets {<nets>}Restricts the check to chosen nets.
check_lvsShorted nets, open nets and floating shapes.
check_lvs -checks openOnly the open net check.
Error data
write_drc_error_data -error_data <name> -file_name <file>Exports DRC error data to a file. Writes a file.
open_drc_error_data -file_name <file>Opens saved error data for review.
get_drc_errors -error_data <name>The errors in an error data set.
get_drc_error_types -error_data <name>The violation types in an error data set.
Vias and clean-up
add_redundant_viasPostroute redundant via insertion. Changes the design.
add_redundant_vias -list_only trueShows the via mapping table without inserting.
report_via_mappingThe via mapping table.
remove_redundant_shapesRemoves dangling and floating shapes. Changes the design.
optimize_routesWire length and via count optimisation after routing. Changes the design.
Signoff DRC and statistics
signoff_check_drcRuns signoff DRC and writes signoff_check_drc.err.
signoff_fix_drcFixes signoff DRC violations and writes a summary report. Changes the design.
report_design -routingWiring and via statistics.
report_wirelengthWire length per layer and direction.