VLSI · Physical Design · Stage 4 of 5

Routing in
Physical Design

Draw every wire connecting placed cells — meeting DRC rules, controlling antenna effect, managing crosstalk, and closing timing all the way to the metal.

Stage: After CTS, Before Sign-off
Tools: Innovus (route_design), ICC2 (route_auto)
Goal: Zero DRC, timing met, clean SI
Output: Complete GDSII-ready layout

1. What is Routing?

After placement and CTS, every cell has a physical location and the clock network is built. Routing draws the metal wires (and vias between layers) that implement every logical connection in the netlist. The output is a geometrically correct layout ready for sign-off verification.

Input: Post-CTS DEF (placed cells + clock tree) + netlist (connections) + technology LEF (layer rules)
Output: Routed DEF/GDSII — every net has a wire path, zero DRC violations
Routing order: Clock nets (NDR/shielded) → Special nets (power/ground) → Signal nets
VLSI Routing: Metal Layer Stack & Wire Routing Metal Layer Stack (14nm FinFET example) Poly / Local Interconnect M1 — horizontal (cell power rails) M2 — vertical (signal routing) M3 — horizontal (signal routing) M4 — vertical (semi-global) M5 — horizontal (semi-global) M6 — vertical (power straps) M7 — horizontal (power straps) M8 — vertical (power rings / clock) M9 — horizontal (top metal) Bottom Top Signal layer (H) Signal layer (V) Power/clock layer Routing: Cells → Connected by Wires + Vias FF_A AND1 OR2 FF_B BUF VDD VSS Via (layer transition) M3 (H) M3 (H) M3 (H) M2 (V) DRC Rules Applied During Routing: Min width · Min spacing · Min area · Enclosure · Via-to-via spacing Every wire must satisfy all rules → zero DRC at sign-off
Metal layer stack (bottom-up): M1 for cell rails, M2–M5 for signal routing, M6–M9 for power/clock. Wires route on preferred direction layers, vias connect between layers.

2. Global Routing vs Detailed Routing

Global Routing

Divides the chip into routing tiles (GRC — Global Routing Cells). Assigns each net to a sequence of tiles and metal layers without drawing exact geometries. Goal: ensure all nets can be routed (no overflow), establish layer assignments, and identify congestion before committing wire shapes.

Detailed Routing

Takes the global routing guide for each net and draws exact wire shapes — specifying X/Y coordinates, width, via types. Must satisfy every DRC rule in the process design kit (PDK). The output is GDSII-ready geometry. Uses track-assignment and search-and-repair algorithms.

AspectGlobal RoutingDetailed Routing
GranularityTile-level (coarse)Track-level (exact geometry)
DRC awarenessApproximate (capacity-based)Full DRC enforcement
OutputRouting guides (layer + tile)Wire shapes + via positions (GDSII)
GoalAssign layers, find feasible routesDraw legal wires, fix all DRC
CongestionDetects overflow tilesResolves overflow by rip-and-reroute
RuntimeFast (minutes)Slow (hours for large designs)

3. Design Rule Checks (DRC) in Routing

Design rules are foundry-specified geometric constraints on metal wires and vias. Violating them causes manufacturing defects. The router must satisfy all rules while routing.

Common DRC Rules in VLSI Routing Min Width wire w ≥ w_min Wire must be at least minimum width Min Spacing W1 W2 s ≥ s_min Gap between same-layer wires must be ≥ s_min Via Enclosure lower wire (M2) via upper wire (M3) enc Wire must extend beyond via by ≥ enc_min End-of-Line Spacing wire end side EOL Wire end needs extra space to neighbor on same layer Min Area too small ⚠ DRC! Wire must cover at least min_area µm² Prevents floating metal Common Post-Route DRC Violations & Fixes Short: two wires on same layer touching → reroute one to different layer Spacing violation: wires too close → rip and reroute with more space Width violation: wire too narrow → widen (may need reroute if space unavailable) Via enclosure: metal doesn't extend far enough past via → extend metal stub Open: pin not connected → search-and-repair re-routes the net Min area: floating metal → add metal fill or connect to a rail Antenna: long wire accumulates charge → insert diode or metal jumper EOL spacing: wire tip too close → reroute wire end or add end-cap
Key DRC rules: min width, min spacing, via enclosure, EOL spacing, min area — all must be satisfied with zero violations before tapeout.

4. Antenna Effect

During chip fabrication, plasma etching creates ionized particles. Long metal wires that are connected to a transistor gate (but not yet connected to the rest of the circuit in that fabrication stage) collect charge. If enough charge accumulates, it tunnels through the gate oxide — permanently damaging it.

Antenna Ratio = Wire Area / Gate Oxide Area < Foundry Limit (e.g., 400:1)
Antenna Effect: Problem & Two Fixes Antenna Violation very long metal wire charge builds up gate MOSFET Gate oxide damaged! Antenna ratio > limit Wire area >> gate area Reliability failure Fix 1: Antenna Diode same long wire DIODE Diode bleeds excess charge to VSS rail forward-biased in plasma gate MOSFET ✓ Gate protected No oxide damage Fix 2: Metal Jumper M2 wire (long) via M3 jumper via gate Long M2 wire breaks at via → jumps to M3 → returns Resets antenna accumulation ✓ Antenna ratio reset at via Each layer segment counted separately by DRC checker
Antenna effect: long wire accumulates charge → gate oxide damage. Fix 1: antenna diode bleeds charge to VSS. Fix 2: metal jumper breaks accumulation via layer change.

5. Crosstalk & Signal Integrity

As wires become thinner and more densely packed, capacitive coupling between adjacent wires becomes significant. A switching wire (aggressor) induces a voltage disturbance on a quiet wire (victim).

Two Types of Crosstalk

Crosstalk Noise (Glitch)

A static victim net receives a glitch voltage from the aggressor's switching. If the glitch exceeds 50% Vdd on a combinational net, it can propagate as a logic error. Most dangerous on high-impedance nodes (large fanout, weak driver).

Crosstalk Delay

A switching aggressor charges/discharges coupling capacitance in a way that speeds up or slows down the victim's own transition. Same-direction switching: victim speeds up (less delay). Opposite-direction switching: victim slows down (more delay → possible setup violation).

Crosstalk Fixes

FixMechanismTrade-off
Increase wire spacingReduces coupling capacitance C_c ∝ 1/distanceUses more routing resources
Add shielding wireVSS/VDD wire between aggressor and victim absorbs couplingConsumes a routing track
Swap metal layersRoute victim on a different layer (perpendicular routing reduces coupling)May increase via count
Buffer insertionStronger driver on victim → lower impedance → less susceptible to noiseAdds power, area
Net reorderingRearrange parallel wires so aggressor is between VSS shieldsMay increase wirelength
Shorter parallel runLimit length where two nets run parallel (coupling ∝ parallel length)May require longer detour
Crosstalk = C_c / (C_total) where C_c is coupling capacitance and C_total is total capacitance on the victim net. The coupling ratio determines noise amplitude: ratio >0.3 is considered dangerous for critical nets.

6. Routing Quality Metrics

MetricDefinitionTarget
DRC violationsNumber of design rule violations (short, spacing, width, etc.)0 (zero DRC at sign-off)
WNS (post-route)Worst Negative Slack after routing with actual RC parasiticsWNS ≥ 0 (no setup violations)
TNS (post-route)Total Negative Slack — sum of all setup violationsTNS = 0
Hold violationsPaths where data arrives too fast relative to the clock0 hold violations
Antenna violationsWires exceeding foundry antenna ratio limits0 (fixed before tapeout)
Routing completion% of nets fully routed (no opens)100%
Via countTotal vias in the designMinimize (vias = resistance + reliability risk)
Total wirelengthSum of all metal wire lengthsMinimize (less wire = less delay + power)

7. Routing Commands — Innovus & ICC2

ToolCommandPurpose
Innovusroute_designFull routing: global + detailed
Innovusroute_design -global_detailGlobal + detailed routing in one pass
InnovussetNanoRouteMode -routeWithTimingDriven trueEnable timing-driven routing
InnovussetNanoRouteMode -routeWithSiDriven trueEnable signal integrity-driven routing
Innovusverify_drcRun DRC check after routing
Innovusverify_connectivityCheck for opens (missing connections)
InnovusverifyAntennaRuleCheck antenna violations
Innovusreport_timing -max_paths 50 -latePost-route setup timing
Innovusreport_timing -max_paths 50 -earlyPost-route hold timing
ICC2route_autoAutomatic global + detailed routing
ICC2route_optPost-route optimization (timing + DRC)
ICC2check_routesDRC + connectivity check
OpenROADglobal_routeFastRoute global routing
OpenROADdetailed_routeTritonRoute detailed routing

Routing Best Practices

  • Route clock nets first with NDR rules, then power/ground, then signal nets
  • Enable timing-driven routing: router prioritizes critical paths for better slack
  • Run incremental DRC fix between global and detailed routing — cheaper to fix early
  • Check antenna violations immediately after routing — before post-route timing
  • Use via optimization to minimize resistance (prefer fat vias, via pillars on critical nets)
  • For 7nm and below: double patterning constraints add coloring rules — use MPL-aware router
  • Post-route ECO (Engineering Change Order) is expensive — resolve timing during routing optimization

8. Interview Questions & Answers

Physical DesignRouting Basics
What is the difference between global routing and detailed routing?
Global routing divides the chip into routing tiles (GRCs) and assigns each net to a sequence of tiles + metal layers. It doesn't draw exact wire shapes — just routing "guides." Goal: verify routability, identify congestion, establish layer assignments. Fast (minutes).

Detailed routing takes the global guides and draws exact wire geometries meeting all DRC rules: specific X/Y coordinates, widths, via sizes, and spacing. Handles all physical constraints from the PDK. Slow (hours). Output is GDSII-ready layout. Uses algorithms like maze routing (Lee algorithm), A*, or track-assignment + rip-and-reroute for DRC violations.
Physical DesignAntenna Effect
What is the antenna effect and how do you fix it?
During plasma etching in fabrication, long metal wires connected to gate inputs accumulate charge. If the wire-to-gate-area ratio (antenna ratio) exceeds the foundry limit (e.g., 400:1), the charge permanently damages the gate oxide.

Fix 1 — Antenna diode: Insert a reverse-biased diode (forward-biased in plasma) near the gate. During fabrication, the diode bleeds excess charge to VSS, protecting the gate oxide. Most common fix for small violations.

Fix 2 — Metal jumper: Break the long wire by jumping to a higher metal layer at some point, then returning. Since each metal layer's antenna accumulation is counted separately, the jump resets the count. Used when diode placement is constrained.
Physical DesignCrosstalk
What are the two types of crosstalk and how does each affect timing?
1. Crosstalk noise (glitch): A static victim net gets a voltage glitch from an adjacent switching aggressor net through coupling capacitance. If the glitch exceeds the logic threshold (~50% Vdd), it can propagate as a false logic transition. Worst on high-impedance nodes with weak drivers.

2. Crosstalk delay: A switching aggressor changes the effective capacitance seen by the victim during its own switching. Same-direction switch: victim speeds up (beneficial, but can cause hold violations). Opposite-direction switch: victim slows down (detrimental — causes setup violations). STA tools model both as "pessimistic delay" for sign-off.

Fix: Increase wire spacing, add VSS shielding, swap metal layers, insert buffers, reduce parallel run length.
Physical DesignDRC
What are the most common DRC violations in routing and how are they fixed?
Short: Two wires on the same layer overlap — fix by rerouting one wire to a different layer or different track.
Spacing violation: Two same-layer wires too close — fix by rip-and-reroute with wider spacing or rerouting one wire via a detour.
Width violation: Wire narrower than min width — fix by widening or rerouting.
Via enclosure: Metal doesn't extend far enough past the via boundary — fix by extending metal stub or using a larger via type.
Open (missing connection): A net is not fully connected — search-and-repair finds alternative route.
EOL spacing: Wire end too close to adjacent wire — fix by shortening wire or adding more space.

Post-route DRC fix runs "search-and-repair" (S&R) in a loop: find violations → rip out local route → reroute with DRC awareness. Repeated until zero violations.
Physical DesignMetal Layers
Why do signal wires route on lower layers while power and clock use top metal layers?
Top metal layers for power/clock: Top metals (M7–M9 in advanced nodes) are thicker and wider → lower sheet resistance per unit length → less IR drop on power rails → lower insertion delay on clock trunks. Also, top-layer wires span the full die with fewer vias (fewer resistance bottlenecks).

Lower layers for signals: M2–M5 carry local connections between nearby cells. Signal nets are typically short (few hundred µm) so the higher resistance of thinner lower-layer metal is acceptable. Also, signals don't need low-resistance routing — RC delay is budgeted in timing analysis.

Middle layers (M5–M6) for semi-global: Longer signal buses (data buses, global control signals) use intermediate layers for a compromise between resistance and routing density.
Physical DesignPost-Route Timing
Why does timing often degrade after routing compared to post-placement estimates?
Post-placement timing uses estimated RC from ideal wire models (e.g., Elmore delay estimate from HPWL). Post-routing uses actual extracted parasitics from real wire shapes — which are always worse than the estimate because:

(1) Wire detours: Router must avoid blockages, other wires, and DRC constraints, so actual wirelength is longer than the HPWL estimate (typically 10–30% longer).
(2) Via resistance: Each via adds resistance; multiple vias on a path compound.
(3) Coupling capacitance: Actual parallel wire runs add coupling capacitance not present in the pre-route estimate.
(4) Layer assignment: If a net is routed on a lower (thinner) layer than assumed, resistance is higher.

This is why post-placement timing targets WNS ≥ −200ps, leaving margin for the 50–300ps degradation that typically occurs after routing.
Clock Tree Synthesis ↑ Physical Design Hub Sign-off