Part 6 of 10
Routing
Connecting all the signals with metal wires
By Praveen Kumar Vagala
What is Routing?
Routing creates metal connections between cell pins according to the netlist.
Before Routing: After Routing:
βββββ βββββ βββββββββββββββββββ
β A β β β B β β A β β B β
βββ¬ββ βββββ βββ¬ββ β βββ¬ββ
β β β β
β βββββ β βββββββ β
ββββ β C β β β
βββββ βββββββββββββββ
β via β
βββ΄ββ βββ΄ββ
β C β β C β
βββββ βββββ
Logical connections Physical metal wires
Routing Stages
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. GLOBAL ROUTING (Track Assignment) β
β β’ Divide chip into regions (GCells) β
β β’ Plan rough paths through regions β
β β’ No actual wires yet β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 2. DETAIL ROUTING β
β β’ Create actual metal geometries β
β β’ Follow DRC rules (width, spacing) β
β β’ Insert vias at layer changes β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 3. SEARCH & REPAIR (DRC Fixing) β
β β’ Find and fix DRC violations β
β β’ Reroute problematic areas β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Metal Layers
Different layers for different purposes:
Usage Direction
M10-M12 βββ Power (thick) Horizontal
M7-M9 βββ Semi-global Mixed
M5-M6 βββ Signal routing Alternating
M3-M4 βββ Signal routing Alternating
M1-M2 βββ Local connections Alternating
Odd layers: Horizontal (M1, M3, M5...)
Even layers: Vertical (M2, M4, M6...)
(Convention varies by foundry)
Routing Grid and Tracks
Track 1 Track 2 Track 3 Track 4
β β β β
ββββΌβββββββββΌβββββββββΌβββββββββΌβββ M3
β β β β
β βββββͺβββββββββͺββββ β Wire on M3
β β β β
ββββΌβββββββββΌβββββββββΌβββββββββΌβββ
β β β β
β β β β M2 (vertical)
β β β β
β β Via β β
ββββΌβββββββββΌβββββ³ββββΌβββββββββΌβββ M1
β β β β
Wires follow tracks (routing grid)
Vias connect layers
Via Structure
Cross-section: Top view:
ββββββββββ M3 ββββββββββββ
βββ β ββββββββ β
ββββββββββ M2 β β Via β β M2
βββ β βArray β β
ββββββββββ M1 β ββββββββ β
ββββββββββββ
Via stack connects M1
multiple layers
Design Rule Check (DRC) in Routing
| Rule | Description |
| Minimum width | Wire can't be too thin |
| Minimum spacing | Wires must be apart |
| Via enclosure | Metal must surround via |
| End-of-line | Extra spacing at wire ends |
| Min area | Metal shapes need minimum area |
Routing Challenges
Congestion
GCell overflow:
βββββββββββββββββββββββββββββββββββββββββ
β 4 tracks β 4 tracks β
β available β available β
β β β
β 6 nets need β 2 nets need β
β to cross! β to cross β
β β β
β OVERFLOW! β OK β
βββββββββββββββββββββββββββββββββββββββββ
Solutions:
- Spread cells in placement
- Use more routing layers
- Increase GCell density
Antenna Effect
Long metal wires can damage gates during manufacturing.
During manufacturing, plasma etches metal.
Long wire collects charge β damages thin gate oxide.
βββββββββββββββββββββββββββββββββΊ Long wire
β
ββββ΄βββ
βGate β β Damaged!
βββββββ
Fix: Add antenna diodes or break wire with layer changes.
Signal Integrity
Crosstalk
Victim net: βββββββββββββββββββββββββΊ
β coupling β
Aggressor: βββββββββββββββββββββββββΊ
When aggressor switches:
- Victim signal gets noise (glitch)
- Victim timing changes (delay)
Fix: Space wires, use shielding, different layers
Routing Commands (Innovus)
# Set routing options
setRouteMode -earlyGlobalHonorMsvRouteConstraint false
setRouteMode -timing true
# Global route
route_global
# Detail route
route_detail
# Or combined:
routeDesign
# Fix DRC violations
routeDesign -wireOpt
# ECO routing (incremental)
ecoRoute
# Check routing
verifyConnectivity
verify_drc
Route Optimization
# Post-route optimization
optDesign -postRoute
# Fix timing with routing
setOptMode -postRouteAllowOverlaps false
optDesign -postRoute -hold
# Fix SI (crosstalk)
optDesign -postRoute -si
Routing Quality Checks
| Check | What to Look For |
| DRC violations | Should be 0 |
| Shorts | Should be 0 |
| Opens | Should be 0 |
| Antenna violations | Should be 0 |
| Congestion overflow | Should be 0 |
Summary
| Stage | Key Point |
| Global routing | Plan paths, no actual wires |
| Detail routing | Create actual metal geometries |
| DRC fixing | Search and repair violations |
| Antenna | Add diodes for long wires |
| Crosstalk | SI optimization needed |