4.2.5VLSI Design

Place and route (P&R)

1,899 words9 min readdifficulty · medium3 backlinks

WHAT is P&R?

WHY it matters: In modern chips, wires — not gates — dominate delay, power, and area. A logically-correct netlist is useless until it is placed and routed legally (no overlaps, no design-rule violations) and well (meets timing/power). This is where "logic" becomes "physics."


The inputs and outputs


STEP 1 — Placement (the WHY of good placement)

Goal: minimize total wirelength while keeping cells legal (non-overlapping, on-grid, meeting timing/density).

Why wirelength is the key objective

Wire delay grows with length, and wire capacitance \propto length, so: Pdyn=αCV2f,CwirelengthP_{\text{dyn}} = \alpha\, C\, V^2 f, \qquad C \propto \text{wirelength} Shorter wires \Rightarrow less CC \Rightarrow less delay and less dynamic power. So minimizing wirelength is a proxy for optimizing everything.

HOW we estimate wirelength: Half-Perimeter Wirelength (HPWL)

Figure — Place and route (P&R)

Placement is done in phases

  1. Global placement — coarse positions minimizing \sumHPWL (allows slight overlap; solved via analytic/quadratic optimization).
  2. Legalization — snap cells onto rows/sites, remove overlaps with minimal movement.
  3. Detailed placement — small local swaps to squeeze out remaining wirelength.

STEP 2 — Routing

Goal: physically connect every net using metal layers + vias, obeying design rules (min spacing/width) with no shorts/opens.

Why layered routing (Manhattan style)

Routing phases

  1. Global routing — divides chip into a grid of GCells; decides which coarse regions each net passes through, balancing congestion (demand vs. track capacity).
  2. Detailed routing — assigns exact tracks, wires, and vias inside each region, fixing design-rule violations (DRC).

Timing closure (why P&R iterates)

Placement affects wire length → wire delay → whether the clock constraint is met: tarrival=tgate+twireTclktsetupt_{\text{arrival}} = t_{\text{gate}} + t_{\text{wire}} \le T_{\text{clk}} - t_{\text{setup}} If a path is too slow after routing, the tool re-places / re-routes / buffers that path. P&R is an iterative optimization loop, not a one-shot.


Common mistakes


Active recall

Recall Feynman: explain to a 12-year-old

You have a box of toy robots and you must wire them together with string. First you pick a spot on the table for each robot so friends who talk a lot sit close (that's placement — short strings = quick chatting). Then you actually run the strings between them without letting strings cross and tangle, using little bridges when two strings must go over each other (that's routing — bridges are vias). If you seat the robots badly, no amount of clever string-running will fix the mess — so seating them well is half the battle.

Flashcards

What are the two core steps of P&R?
Placement (assign x,y locations to cells) and Routing (draw the physical wires/vias connecting nets).
What is the P&R input and output?
Input: gate-level netlist + library + floorplan + constraints; Output: GDSII geometric layout.
Define HPWL.
Half-Perimeter Wire Length =(maxxminx)+(maxyminy)=(\max x-\min x)+(\max y-\min y), the width+height of a net's pin bounding box, used to estimate wirelength.
Why is HPWL "half" perimeter, not full?
A rectilinear tree spans each dimension once; full perimeter 2(w+h)2(w+h) double-counts, so half-perimeter w+hw+h is the right estimate. For a 2-pin net it equals Manhattan distance.
Why minimize wirelength during placement?
Wire capacitance ∝ length, so shorter wires reduce delay and dynamic power (P=αCV2fP=\alpha CV^2f), and improve routability.
What are the three placement phases?
Global placement, legalization, detailed placement.
What are the two routing phases?
Global routing (assign nets to coarse GCell regions) then detailed routing (exact tracks, wires, vias, DRC-clean).
Define routing congestion.
Congestion = demand/tracks (D/T); >1 means overflow — not all nets fit, forcing detours.
Why alternate layer directions in routing?
Prevents same-layer crossings (shorts); horizontal on one layer, vertical on next, connected by vias.
What algorithm gives a guaranteed shortest maze route?
Lee's algorithm (BFS wavefront labeling + backtrace).
Why does placement determine routability?
Placement fixes pin positions; if related cells are far/clustered, congestion rises and routing may fail regardless of the router.
What timing inequality must a path satisfy?
tgate+twireTclktsetupt_{gate}+t_{wire} \le T_{clk}-t_{setup}.

Connections

Concept Map

input

input

input

input

step 1

step 2

assigns x,y

objective

estimated by

reduces

produces

Gate-level netlist

Standard-cell library

Floorplan

Constraints SDC

Place and Route

Placement

Routing

Minimize wirelength

HPWL estimate

Delay and dynamic power

GDSII layout

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, P&R ka matlab hai physical design — jahan tumhara logical netlist (gates aur connections ki list) actual chip pe geometry ban jaata hai. Do main kaam hote hain: Placement — har standard cell ko chip pe ek (x,y)(x,y) jagah dena, aur Routing — un cells ke beech actual metal wires khichna. Soch lo LEGO board pe bricks rakhna (placement) aur phir unko strings se jodna (routing) — bina strings ko cross-tangle kiye.

Placement me humara main goal hai wirelength minimize karna, kyunki wire jitni lambi, utni zyada capacitance CC, aur P=αCV2fP=\alpha CV^2 f ke hisaab se zyada power aur zyada delay. Real routing se pehle length estimate karne ke liye HPWL use karte hain: net ke saare pins ke around ek bounding box banao, uski width ww aur height hh nikalo, aur HPWL=w+h\text{HPWL}=w+h. Yaad rakho — half perimeter, poora nahi, warna 2x over-count ho jaata hai.

Routing me chip ko GCell grid me baant ke pehle global routing (kaunsa net kaunse region se jayega) phir detailed routing (exact track, wire, via) hota hai. Ek layer horizontal, doosri vertical — taaki same layer pe crossing (short circuit) na ho; layer change ke liye via. Agar kisi region me tracks TT se zyada nets DD crossing chahte hain to D/T>1D/T>1 — congestion overflow, chip route hi nahi hoga.

Sabse important baat: placement hi routability decide karta hai. Agar related cells door-door ya ek jagah thuse hue rakh diye, to router kitna bhi smart ho, congestion aur timing fail ho jayenge. Isliye P&R ek iterative loop hai — place, route, timing check, buffer/re-place, repeat — jab tak tgate+twireTclktsetupt_{gate}+t_{wire}\le T_{clk}-t_{setup} satisfy na ho jaaye.

Test yourself — VLSI Design

Connections