HomeRTL→SiToolsInterview
Chapter 6 of 10
← Ch.5 CTS Ch.7 STA →
🔀 Interactive Routing Grid Demo inside

Routing

After placement locks every cell's location, routing must connect every pin with metal wires — navigating congestion, DRC rules, antenna effects, and signal integrity constraints to achieve zero-violation sign-off.

📖 ~35 min read 🎯 Global · Detailed · DRC · Antenna · Crosstalk 🏭 Next: Static Timing Analysis →
In this chapter
  1. Global vs Detailed Routing
  2. Metal Layer Stack
  3. Design Rule Check (DRC)
  4. Antenna Violations
  5. Signal Integrity & Crosstalk
  6. ECO Routing
  7. Interactive: Routing Grid Demo
  8. Key Takeaways

1. Global vs Detailed Routing

Global routing divides the die into a grid of GCells (global cells) and assigns each net to a sequence of GCells without specifying exact tracks. Its goal is congestion avoidance: routing demand in any GCell must not exceed the available routing supply (track count per layer). When demand exceeds supply, that GCell has overflow — a congestion hotspot that the detailed router cannot resolve.

Detailed routing takes the global routing guides and assigns each net to specific metal tracks and vias within each GCell. It must honor all DRC constraints (spacing, width, via enclosure) while completing every connection. The two most widely used detailed routing algorithms are:

StageResolutionObjectiveOutput
Global routingGCell (5–15 µm)Minimize congestion overflowGCell routing guides per net
Track assignmentMetal track (0.04–0.1 µm)Minimize via count, balance layersAssigned tracks, via locations
Detailed routingSingle track / viaDRC-clean connectionsFull routed layout (GDS shapes)
Search-and-repairPer-net rip-upResolve remaining DRC violationsZero-DRC routed design
GCell overflow threshold: Global routing overflow must be < 1% before starting detailed routing. Designs with > 5% overflow will have routing shorts and opens after detailed routing, requiring floorplan or placement changes.

2. Metal Layer Stack

Modern ASIC processes stack 8–15 metal layers, each with a preferred routing direction that alternates to minimize coupling between adjacent layers. The stack is divided into three categories based on pitch and purpose:

Layer groupLayersDirectionUsePitch (7nm)
Local interconnectM1, M2H / V alternatingCell-to-cell connections, short nets28–36 nm
Semi-globalM3, M4V / HModule-to-module, medium nets48–64 nm
GlobalM5–M10H / VPower/clock distribution, long wires80–160 nm
Ultra-thickM9–M15 (AP)MixedPower delivery, VDD/VSS planes400 nm–2 µm

Via resistance and capacitance

Every layer transition requires a via — a metal plug connecting two adjacent layers. Vias add both resistance (~5–20 Ω per via) and capacitance. For timing-critical nets, the router minimizes via count. For power nets, multiple vias in parallel ("via arrays") reduce resistance. Each via also consumes routing area, creating congestion in dense designs.

Via resistance dominates at advanced nodes: At 5 nm, via resistance can be 30–50 Ω, comparable to several microns of metal wire. Tools use via pillar optimization — stacking multiple single-cut vias into a column — to reduce resistance on critical timing paths.

3. Design Rule Check (DRC)

DRC verifies that the routed layout conforms to the foundry's physical design rules — the minimum geometric constraints required for reliable fabrication. A modern PDK may contain hundreds of DRC rules per metal layer.

Rule typeDescriptionEffect of violation
Min spacingMinimum gap between two wires on the same layerShorts during lithography/etch
Min widthMinimum metal wire widthHigh resistance, electromigration risk
Min enclosureVia must be surrounded by metal on all sides by minimum amountVia exposure, connection failure
End-of-line (EOL)Extra spacing required at wire endpoints (jogs)Shorts at line ends under lithography
Min areaMetal shape must have minimum total areaMetal island lost during etch
Parallel run lengthTwo parallel wires need wider spacing if they run alongside each other beyond a length thresholdCoupling, shorts

The router runs iterative DRC-aware search-and-repair loops. Each iteration detects remaining violations and re-routes the smallest set of conflicting nets needed to resolve them. For a complex design, 5–10 repair passes are typical before achieving zero DRC violations.

# Run full routing (global + track assign + detailed)
route_auto \
  -max_routing_layer M8 \
  -global_detail_route_effort high \
  -track_assign_effort high

# Check DRC after routing
check_drc -output_directory ./drc_reports

# Report routing congestion per layer
report_routing_congestion \
  -layer_range {M1 M8} \
  -overflow_threshold 0.01

# Fix remaining DRC violations with ECO router
route_eco -fix_drc -max_iterations 10

4. Antenna Violations

During semiconductor fabrication, plasma etching and deposition processes generate electric charge that accumulates on exposed metal. If a long wire is connected to a gate oxide (transistor gate) before it is connected to any other diffusion (drain/source), the accumulated charge has nowhere to go — it discharges through the thin gate oxide, permanently damaging or destroying the transistor.

Antenna ratio

The antenna ratio (also called the PAR — process antenna ratio) measures the risk:

Antenna Ratio = Metal Area (accumulated charge) / Gate Oxide Area

Each PDK specifies a maximum allowed antenna ratio per layer (typically 50–400). Violations must be fixed before tapeout. Two standard fixes exist:

Antenna diodes vs wire jumpers: Antenna diodes add area and a small parasitic capacitance at the gate. Wire jumpers consume routing resources on upper layers. Most tools prefer wire jumpers on non-critical nets and antenna diodes when no via path is available or when the net is timing-critical (additional via resistance is undesirable).

5. Signal Integrity — Crosstalk

Two adjacent parallel wires on the same metal layer form a parasitic capacitor. When the aggressor net switches (changes voltage), the capacitive coupling injects a noise spike onto the quiet victim net. This is crosstalk noise (or coupling noise).

Crosstalk effects

EffectDescriptionConsequence
Crosstalk noise (glitch)Coupling spike on a static victim netLogic error if spike exceeds noise margin
Crosstalk delay (slow)Aggressor switches in opposite direction to victimVictim transition slowed — setup violation risk
Crosstalk delay (fast)Aggressor switches same direction as victimVictim transition faster — hold violation risk

Signal integrity fixes

# Define NDR for clock nets (double width + spacing)
create_routing_rule ndr_clock \
  -default_reference_rule \
  -widths {M3:0.072 M4:0.072 M5:0.100} \
  -spacings {M3:0.072 M4:0.072 M5:0.100}

# Apply NDR to clock net
set_net_routing_rule -rule ndr_clock [get_nets clk*]

# Shield clock nets with VDD/GND
add_shield -net clk -shield_net VSS -layers {M3 M4}

6. ECO Routing

Engineering Change Order (ECO) routing handles small netlist changes made after the design is fully routed — often after functional verification catches a bug or a timing ECO adds/moves cells. The goal is to fix the changed connections with the minimum perturbation to the existing routes (no full re-route).

ECO routing works in three steps: (1) identify changed nets from the ECO netlist delta, (2) rip up only those nets plus any conflicting neighbors, (3) re-route using the existing routing database, respecting all DRC rules. A good ECO affects fewer than 1% of nets. Large ECOs (> 5% of nets changed) may require a full re-route.

Freeze silicon risk: ECO changes at late design stages (post sign-off) carry risk. Every ECO must be followed by a full DRC, LVS, and timing sign-off run before the design is considered clean.
🔀 Interactive: Routing Grid Demo
10×10 routing grid. Click two cells to set source and destination, then route the net. Add obstacles, auto-route all pre-defined nets, or clear the board.
Mode: Click two cells to place a net. Click "Auto-Route All" to route 3 pre-loaded nets.
0
Nets Routed
5
Obstacles
0
DRC Violations
0
Total Wire Segments
Empty Obstacle Net endpoint Red flash = DRC spacing violation

✅ Chapter 6 Key Takeaways

Next → Chapter 7
Static Timing Analysis (STA)
Setup and hold analysis, OCV derating, MCMM corners, timing ECO, and achieving timing sign-off across all PVT corners.