Place and route (P&R)
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 length, so: Shorter wires less less delay and less dynamic power. So minimizing wirelength is a proxy for optimizing everything.
HOW we estimate wirelength: Half-Perimeter Wirelength (HPWL)

Placement is done in phases
- Global placement — coarse positions minimizing HPWL (allows slight overlap; solved via analytic/quadratic optimization).
- Legalization — snap cells onto rows/sites, remove overlaps with minimal movement.
- 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
- Global routing — divides chip into a grid of GCells; decides which coarse regions each net passes through, balancing congestion (demand vs. track capacity).
- 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: 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?
What is the P&R input and output?
Define HPWL.
Why is HPWL "half" perimeter, not full?
Why minimize wirelength during placement?
What are the three placement phases?
What are the two routing phases?
Define routing congestion.
Why alternate layer directions in routing?
What algorithm gives a guaranteed shortest maze route?
Why does placement determine routability?
What timing inequality must a path satisfy?
Connections
- Logic Synthesis — produces the netlist that P&R consumes.
- Floorplanning — defines chip outline/macros before placement.
- Static Timing Analysis (STA) — checks if placed+routed paths meet .
- Clock Tree Synthesis (CTS) — inserted between placement and routing.
- Design Rule Checking (DRC) — validates the routed geometry.
- Interconnect delay / RC model — why wirelength maps to delay.
- Standard Cell Library — physical + timing data driving P&R.
Concept Map
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 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 , aur 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 aur height nikalo, aur . 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 se zyada nets crossing chahte hain to — 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 satisfy na ho jaaye.