Routing InDepth Guide
Routing InDepth Guide
From fundamentals to industry terminology — every concept explained from first principles
Table of Contents
1. Where Routing Fits in Chip Design
2. Introduction to Routing
3. Goals of Routing
4. Checks Before Routing
5. Inputs for Routing
6. Routing Methodologies
7. Routing Constraints
8. Intermediate Steps of Routing
9. Types of Routing
10. Filler Cells
11. Outputs of Routing
12. Checks After Routing
13. Timing Violations: Setup and Hold
14. Glossary of Key Terms
15. Closing Summary
How to Read This Guide
This guide explains the Routing stage of VLSI physical design (backend chip design) from the ground up. If
you are new to chip design, read Chapters 1 and 2 first — they build the mental model everything else
depends on. If you already understand placement and clock tree synthesis (CTS), you can jump straight to
Chapter 3.
Every technical term is introduced with a plain-language explanation before it is used formally. A full
Glossary is provided at the end for quick reference.
In simpler terms: the netlist (produced back in synthesis) is a logical wiring list — it says "output pin A of cell
1 must connect to input pin B of cell 2," but it says nothing about how that connection should physically
look. Placement already told us where cell 1 and cell 2 physically sit on the chip. Routing's job is to draw the
actual wire between them.
• Metal layers: Modern chips have anywhere from 5 to 15+ metal layers, numbered M1 (closest to the
transistors) upward. Lower layers are thin and narrow, used for tight local connections; higher layers
are thicker and wider, used for longer-distance or power connections.
• Vias: A via is a small vertical connector — like an elevator shaft — that connects a wire on one metal
layer to a wire on the layer directly above or below it. Whenever a signal needs to change floors
(layers), it must pass through a via.
So, physically, a "wire" connecting two cells is rarely a single straight line. It is usually a sequence of
horizontal and vertical metal segments on different layers, stitched together by vias, forming a path from
the source pin to the destination pin(s).
• Minimize total interconnect/wire length: Shorter wires use less metal (cheaper, less congestion), have
lower resistance and capacitance, and therefore switch faster and use less power. Every unnecessary
inch of wire is a small tax on speed, power, and area.
• Minimize the critical path delay: The critical path is the single slowest chain of logic and wiring in the
whole chip — it determines the maximum speed (clock frequency) the chip can run at. Even if every
other path is fast, the chip is only as fast as its slowest path, so routing pays special attention to the
wires on this path.
• Make connections with minimum detours: A detour is when a wire has to zig-zag around an obstacle
instead of taking a direct path. Detours add length, delay, and congestion — so the router tries to
route as directly as possible.
• Route with minimum antenna violations: During manufacturing, a long isolated metal wire connected
to a transistor's gate (but not yet to its final protective diode) can act like a tiny antenna. It collects
stray electrical charge from plasma-based manufacturing processes, and if that charge has nowhere to
go, it can build up and physically damage the delicate transistor gate oxide before the chip is even
finished. Antenna-aware routing avoids creating such exposed long wires (or adds protection diodes /
uses jumpers to break up long single-layer runs).
• Route with power awareness: Routing decisions affect how much current a wire carries and how
much voltage drop occurs along it (IR drop), as well as electromigration (EM) risk — the gradual
physical wearing away of a wire from carrying too much current for too long, similar to water erosion
in a pipe. Power-aware routing avoids overloading thin wires.
• Meet the Timing DRCs and obtain a good Timing QoR: DRC stands for Design Rule Check — the set of
manufacturing-driven geometric rules a layout must obey (minimum spacing, minimum width, etc.).
"Timing DRCs" here refers to electrical/timing-related rules such as maximum transition time and
maximum capacitance a wire/pin is allowed to have. QoR (Quality of Results) is a general term for how
good the final numbers look — timing slack, power, area. Good routing directly improves timing QoR.
• Minimize congestion hotspots: Congestion is what happens when too many wires need to pass
through too small a physical area — like a traffic jam. A congestion hotspot can force the router into
long detours, or worse, leave some connections unroutable. Good routing spreads wiring demand
evenly.
• SI driven — reduction in cross-talk noise: SI stands for Signal Integrity. When two wires run close and
parallel to each other for a long distance, the switching signal on one wire can electrically "leak" onto
its neighbor through coupling capacitance — this is called crosstalk. Crosstalk can cause a quiet wire to
glitch, or can slow down/speed up a switching wire unpredictably. SI-driven routing actively avoids
long parallel-wire situations.
4. Checks Before Routing
Routing is one of the most sensitive stages in the flow — if the design isn't in a healthy state before routing
starts, the router can produce a poor-quality or even broken layout. So, before routing begins, engineers run
a checklist to confirm the design is ready.
• Netlist (.v): A Verilog file listing every standard cell instance in the design and the logical connections
(nets) between their pins. This is the "wiring instruction list" routing must obey exactly.
• Timing library (.lib): A Liberty-format file describing the electrical behavior of every standard cell —
how much delay it introduces, how much it slows down or speeds up under different loads, and how
much power it consumes. Routing/optimization tools use this to predict timing on the wires it draws.
• Physical library (.lef): Library Exchange Format — an abstract physical description of each standard
cell: its exact size, and the precise location of each pin on its boundary, plus any areas that are
"blocked" (cannot be routed over). This tells the router exactly where it may legally land a wire on a
cell.
• Technology library (.techlef): The technology LEF describes the manufacturing technology itself —
how many metal layers exist, their thickness, minimum width/spacing rules, and via definitions.
Combined with the standard .lef files, this gives the router the complete "map" of what is physically
possible.
• Timing constraint (.sdc): Synopsys Design Constraints — specifies the clock frequency (period),
input/output delays, and other timing requirements the design must meet. This tells the router which
paths are timing-critical and therefore deserve extra care.
• CTS DEF: A Design Exchange Format file capturing the design's state right after Clock Tree Synthesis —
every cell's exact placement, plus the newly built clock tree structure. This is the physical starting point
routing builds on top of.
• Parasitics information (tlu+/qrctech): Technology-specific files (TLU+ or QRC tech files) that tell
extraction tools how to estimate the resistance and capacitance ("parasitics") of a wire based on its
width, length, layer, and spacing to neighbors. Since resistance and capacitance directly determine
wire delay, the router relies on these files (indirectly, via the optimization engine) to make timing-
aware decisions.
6. Routing Methodologies
A router can be told to prioritize different things while it works. Two of the most important "modes" it can
run in are Timing Driven routing and SI Driven routing. These are not mutually exclusive — modern flows
typically run both together.
• Analyzes timing slack for each path: Rather than treating every net equally, the router calculates how
much slack each path has and prioritizes accordingly.
• Routes the most critical sink first on multi-pin nets: A single net can fan out to multiple destination
pins (sinks). If some of those destinations are on timing-critical paths and others aren't, the router
(using an engine often called "NanoRoute" in some tools) connects the most critical sink with the most
direct, low-delay path first, before worrying about the less critical ones.
• Performs wire optimization: It continually adjusts detouring and reduces resistance and coupling
capacitance along critical wires — for example, by choosing a wider wire or a better layer for a critical
net, since resistance and capacitance are the two physical properties that directly create wire delay
(this is the RC delay concept: more resistance-capacitance product means a slower signal).
• Generates a timing information file (.[Link]): The router automatically writes this file into the
working directory during the process, and reuses it to keep making consistent timing-aware decisions
as timing-driven routing proceeds.
• Uses a signal integrity engine to minimize crosstalk: It actively works to prevent or reduce situations
where wires run long and parallel to each other, since that geometry is exactly what maximizes
coupling capacitance between them.
• Works together with timing-driven routing: Crosstalk isn't just a "noise" problem — it also affects
timing (a victim net can appear to switch earlier or later than expected because of an aggressor). So SI-
driven and timing-driven routing are usually run in conjunction.
• Techniques used to reduce crosstalk: Once timing-driven routing identifies victim nets, SI-driven
routing applies fixes such as wire spacing (increasing the physical gap between aggressor and victim),
layer hopping (moving one of the wires to a different metal layer so they are no longer directly
adjacent), net ordering (deciding which nets get priority access to less-congested tracks), and simply
minimizing the use of long parallel wire segments in the first place.
7. Routing Constraints
Beyond simply asking the router to "connect everything well," engineers can give it explicit rules to follow —
routing constraints. These act like traffic laws that shape how the router is allowed to behave.
• Constraints on the number of layers used: An engineer can restrict routing to only use a certain range
of metal layers for a given net or region — useful for reserving certain layers for power routing or for
keeping some layers free for later ECOs (engineering change orders — late-stage fixes, explained in
Chapter 10).
• Preferred routing direction per layer: Metal layers typically alternate between a preferred horizontal
direction and a preferred vertical direction (for example, M2 horizontal, M3 vertical, M4 horizontal...).
This isn't arbitrary — routing each layer predominantly in one direction dramatically reduces the
number of layer-to-layer vias needed and makes the routing grid predictable and efficient, similar to
how a city grid with clearly separated avenues (one direction) and streets (perpendicular direction) is
easier to navigate than random diagonal roads.
• Blocking routing in specific regions: Certain areas can be marked off-limits to the router — for
example, above sensitive analog circuitry, or in regions reserved for future changes.
• Setting precedence to routing signals: Some nets can be given priority — for example, clock nets or
highly critical timing paths might be allowed to claim the best (most direct, least congested) routing
resources first, before ordinary signals compete for what's left.
• Constraining the routing density: A maximum allowed wire density can be set for a region, forcing the
router to spread wiring out rather than overloading one area — this helps prevent congestion hotspots
(see Chapter 3) and leaves room for future ECO changes.
8. Intermediate Steps of Routing
Routing an entire chip in one single pass would be far too complex a problem to solve efficiently or
accurately. Instead, the router breaks the problem down into four progressively more detailed stages, each
refining the work of the one before it:
• Gcells: The router first partitions the entire routing region into a grid of tiles, called global routing cells
or gcells. By default, a gcell's width equals the height of a standard cell row, and the gcell grid is
aligned with the standard cell rows themselves — so each gcell behaves like one "city block" in our
analogy.
• Tile-to-tile paths: For every net, global routing decides which sequence of gcells the wire should pass
through, attempting to optimize overall goals like total wire length and timing QoR — but it does not
decide the exact x,y coordinates or which specific track within a gcell to use. No actual metal is drawn
yet; this is purely a plan.
• Time Driven Global Routing: Net delays are estimated and factored into the global routing decisions,
so timing-critical nets get better (shorter/more direct) global paths.
• Cross Talk Driven Global Routing: Actively avoids creating long tile-to-tile paths that would run parallel
to each other on adjacent tracks — since (as we learned in Chapters 3 and 6) long parallel runs are
exactly what causes crosstalk.
• Incremental Global Routing: Rather than starting from scratch, this reuses the existing global route
information and only updates the parts of the design that changed — much faster when only a small
part of the design has been modified (for example, after an ECO).
• Assigning tracks in horizontal and vertical partitions: Each gcell-to-gcell path from global routing is
converted into a specific track assignment, in both the horizontal and vertical directions needed to
complete the path.
• Rerouting overlapped wires: If two different nets end up assigned to the same track at the same
location, one of them is rerouted to a different track to resolve the conflict.
• Replacing global routes with actual metal layers: The abstract gcell-to-gcell plan is now converted into
wires on specific, real metal layers — a much more concrete version of the routing than what global
routing produced, though still not perfectly final.
Important nuance: even though every net now technically has a route after track assignment, there will
typically still be many DRC, SI, and timing-related violations at this stage — remember, tracks were assigned
somewhat greedily to resolve conflicts, without full attention to every design rule. These violations are fixed
in the next stages.
• Fixing violations through iterations: The violations left behind by track assignment are resolved here,
over multiple iterations, as the detailed router carefully nudges and re-shapes wires to satisfy every
design rule while preserving connectivity.
• Search: The tool scans the routed design to locate remaining shorts (two different nets accidentally
touching) and DRC violations (spacing, width, or other manufacturing rule breaks).
• Repair: The tool then attempts to fix each violation it found by rerouting the affected nets — nudging
wires apart, changing layers, or adjusting geometry — and this search-then-repair cycle can run for
multiple iterations until the design is (ideally) completely clean.
9. Types of Routing
Beyond the staged process above, there are two fundamentally different philosophies a router can follow
for how wires are allowed to be positioned: grid-based and grid-less.
setFillerMode configures which filler cells (from a preferred list, here fill6, fill4, fill1 — different widths)
should be used and in what order preference, and addFiller then executes the actual insertion across the
design.
Programmable fillers make this possible. Because a programmable filler cell already has the identical FEOL
footprint as several possible real logic gates, a metal-only ECO can simply swap the metal-layer connections
at that location — turning what was an inert filler into a working AND gate, for instance — without touching
the base silicon layers at all.
• How the tool decides: For example, if an AND gate needs to be added, the tool looks at which of the
available gate-array-style filler cells at that location can be swapped in for the AND gate without
requiring any base layer change.
The command used to perform this swap is:
ecoPlace -useGAFillerCells
This instructs the tool to search the design for compatible programmable (gate-array-style) filler cells and
swap them with the required functional cells during the ECO.
11. Outputs of Routing
Once routing (and all its intermediate stages) is complete, the tool produces a set of output files that carry
the fully-wired design forward to the next stages of the flow (signoff, and ultimately manufacturing):
• Netlist (.v): An updated Verilog netlist, reflecting any changes made by optimization or ECOs during
and after routing.
• Routing DEF: A Design Exchange Format file that now includes the full, exact physical routing geometry
— every wire segment and via, on every layer, for every net — in addition to the cell placement and
clock tree information it already carried.
• Timing constraints (.sdc): The (possibly updated) timing constraints, carried forward so downstream
tools continue to check the design against the same requirements.
• Parasitic information (.spef): Standard Parasitic Exchange Format — this is the crucial output that
captures the actual resistance and capacitance of every real, physically-routed wire (as opposed to the
earlier estimates used during optimization). This file is what allows Static Timing Analysis (STA) after
routing to be highly accurate, since it reflects real wire geometry rather than a prediction.
• Layout information (.gds / .oas): GDSII or OASIS — the final geometric layout file format that describes
every physical shape on every layer of the chip. This is the file that is ultimately sent to the
semiconductor foundry to manufacture ("tape out") the physical chip.
12. Checks After Routing
Just as there was a checklist before routing began, there is a checklist to confirm the routed design is healthy
before moving on:
• Check for legalization: Legalization confirms every cell sits on a legal, non-overlapping, grid-aligned
position — routing itself shouldn't have caused any cell to become illegally placed, but this is verified
regardless.
• There should not be any high timing violations: Large (severe) setup or hold violations after routing
are a red flag that the design isn't ready to proceed — these are discussed in depth in Chapter 13.
• Minimal logical DRCs: Logical design rule issues — such as unconnected pins or floating logic — should
be minimal to none.
• Minimal physical DRCs: Physical (geometric) design rule violations — spacing, width, via rules —
should likewise be minimal to none, ideally fully resolved by search-and-repair.
• There should not be any opens: An "open" is a connection from the netlist that failed to be physically
completed — effectively a missing wire. This is a critical, must-fix defect, since it means the chip will
not function as designed.
• Check whether any don't-use cells were used: Confirms the router/optimizer respected the don't-use
list established before routing (see Chapter 4).
• All don't-touch nets and cells should be preserved: Confirms nothing marked as protected was
accidentally modified during routing.
• Check for logical equivalence: Logical Equivalence Checking (LEC) formally proves that the final gate-
level netlist is functionally identical to the original, intended design — ensuring that none of the
automated optimizations, ECOs, or fixes applied throughout the flow accidentally changed what the
chip actually does.
13. Timing Violations: Setup and Hold
• Setup violation: Every flip-flop needs its input data to become stable a minimum amount of time (the
setup time) before the clock edge arrives, or it may capture the wrong value. A setup violation means
the data arrived too late — the logic path between the two flops was too slow to finish before the next
clock edge. This is a "the path is too slow" problem, and it gets worse at higher clock frequencies.
• Hold violation: Every flip-flop also needs its input data to remain stable for a minimum amount of time
(the hold time) after the clock edge. A hold violation means new data arrived too quickly — so fast that
it overwrote the data before the flip-flop finished safely capturing the previous value. This is a "the
path is too fast" problem, and unlike setup, it has nothing to do with clock frequency — a hold
violation exists (or doesn't) regardless of how slow you run the clock.
Term Meaning
Netlist A logical list of standard cell instances and the connections (nets) between their pins,
produced by synthesis.
Standard cell A pre-designed, pre-characterized basic logic gate (AND, OR, flip-flop, etc.) used as a
building block for the chip.
Macro A large, pre-designed physical block, such as a memory (SRAM) or a pre-built IP core.
Net One logical connection point, which may fan out to one or more destination pins.
Metal layer / Via A metal layer is a horizontal sheet of conductive wiring; a via is a vertical connector linking
two adjacent metal layers.
DRC (Design Rule A manufacturing-driven geometric rule (minimum width, spacing, etc.) that a layout must
Check) satisfy.
QoR (Quality of A general measure of how good the design's key metrics (timing, power, area) are.
Results)
CTS (Clock Tree The stage that builds a balanced tree of wires/buffers to distribute the clock signal to
Synthesis) every flip-flop.
PG nets Power and Ground nets — the nets that deliver electrical power to every cell.
SI (Signal Integrity) The study/management of unwanted electrical interactions between signals, primarily
crosstalk.
Crosstalk Unwanted electrical coupling between two nearby parallel wires (an aggressor disturbing
a victim).
Antenna violation Manufacturing-process damage risk from a long, isolated metal wire accumulating charge
before being fully connected.
Gcell Global routing cell — a tile used to coarsely partition the chip during global routing.
Sbox (switch box) A finer-grained group of gcells used to organize detailed routing.
LEF / techLEF Library Exchange Format files describing, respectively, standard cell physical shapes/pins
and the manufacturing technology's layers and rules.
DEF Design Exchange Format — a file capturing a design's physical state (placement, routing,
etc.) at a point in the flow.
SDC Synopsys Design Constraints — the file specifying timing (and related) requirements for
the design.
GDSII / OASIS The final layout file formats sent to a foundry to manufacture the chip.
Term Meaning
STA (Static Timing Timing analysis that checks every path in the design against setup/hold requirements
Analysis) without needing simulation vectors.
Setup / Hold violation Setup: data arrived too late before a clock edge. Hold: data arrived too early after a clock
edge.
Slack The difference between the time allowed and the time actually taken by a path; negative
slack is a violation.
Skew / Insertion delay Skew: difference in clock arrival time between two flops. Insertion delay: time for the
clock to travel from its source to a flop.
ECO (Engineering A late-stage design fix, ideally limited to metal-only changes to avoid costly base-layer
Change Order) (transistor) rework.
Filler cell A physical-only, non-functional cell inserted to fill gaps in a standard cell row for
manufacturing continuity.
De-cap (decoupling A small local capacitor connected to power/ground that stabilizes the power supply
capacitor) against sudden current demand.
Legalization The process of confirming/adjusting every cell to sit on a legal, non-overlapping, grid-
aligned position.
LEC (Logical A formal check proving the final netlist is functionally identical to the original design
Equivalence Check) intent.
15. Closing Summary
Routing sits at a pivotal point in physical design: everything before it (synthesis, floorplanning, placement,
CTS) exists to set the stage, and everything after it (signoff, timing closure, tape-out) depends on routing
having done its job correctly. The core idea, however, is simple: take a logical wiring list (the netlist) and
every cell's fixed position, and turn that into legal, manufacturable metal geometry that connects everything
correctly — while balancing wire length, timing, power, congestion, and signal integrity along the way.
The staged approach — global routing, track assignment, detailed routing, and search-and-repair — exists
purely to make this enormous optimization problem tractable, moving from a coarse plan to exact, DRC-
clean geometry step by step. And the checks before and after routing exist to make sure the process starts
from a healthy design and ends with one that is truly ready to be manufactured.