WHY it matters: Modern chips mein, wires — gates nahi — delay, power, aur area par dominate karte hain. Ek logically-correct netlist tab tak useless hai jab tak use legally (koi overlap nahi, koi design-rule violations nahi) aur well (timing/power meet kare) place aur route na kiya jaaye. Yahan "logic" "physics" banta hai.
Wire delay length ke saath badhta hai, aur wire capacitance ∝ length, isliye:
Pdyn=αCV2f,C∝wirelength
Shorter wires ⇒ less C⇒ less delay aur less dynamic power. Isliye wirelength minimize karna sab kuch optimize karne ka ek proxy hai.
Goal: har net ko metal layers + vias use karke physically connect karo, design rules (min spacing/width) ka paalan karte hue, no shorts/opens ke saath.
Global routing — chip ko GCells ke ek grid mein divide karta hai; decide karta hai ki har net kaunse coarse regions se guzregi, congestion (demand vs. track capacity) balance karte hue.
Detailed routing — har region ke andar exact tracks, wires, aur vias assign karta hai, design-rule violations (DRC) fix karta hai.
Placement wire length affect karta hai → wire delay → clock constraint meet hogi ya nahi:
tarrival=tgate+twire≤Tclk−tsetup
Agar routing ke baad koi path bahut slow hai, to tool us path ko re-place / re-route / buffer karta hai. P&R ek iterative optimization loop hai, ek baar mein khatam nahi hota.
Tumhare paas toy robots ka ek box hai aur tumhe unhe string se wire karna hai. Pehle tum table par har robot ke liye ek jagah choose karte ho taaki jo dost zyada baat karte hain wo paas baithein (ye placement hai — chhoti strings = jaldi baat karna). Phir tum actually unke beech strings run karte ho bina strings ko cross aur tangle hone diye, chhote bridges use karte hue jab do strings ek doosre ke upar se guznaa padein (ye routing hai — bridges vias hain). Agar tum robots ko bura bithao, to koi bhi clever string-running us mess ko fix nahi kar sakti — isliye unhe achhi tarah bithana aadhi ladai hai.
Half-Perimeter Wire Length =(maxx−minx)+(maxy−miny), net ke pin bounding box ki width+height, wirelength estimate karne ke liye use hoti hai.
HPWL "half" perimeter kyun hai, full nahi?
Ek rectilinear tree har dimension ko ek baar span karta hai; full perimeter 2(w+h) double-count karta hai, isliye half-perimeter w+h sahi estimate hai. 2-pin net ke liye ye Manhattan distance ke equal hota hai.
Placement ke dauran wirelength minimize kyun karo?
Wire capacitance ∝ length, isliye chhoti wires delay aur dynamic power (P=αCV2f) kam karti hain, aur routability improve hoti hai.
Teen placement phases kya hain?
Global placement, legalization, detailed placement.
Do routing phases kya hain?
Global routing (nets ko coarse GCell regions assign karna) phir detailed routing (exact tracks, wires, vias, DRC-clean).
Routing congestion define karo.
Congestion = demand/tracks (D/T); >1 matlab overflow — saare nets fit nahi hote, detours force hote hain.
Placement pin positions fix karta hai; agar related cells door/clustered hain, to congestion badhti hai aur routing fail ho sakti hai chahe router kaisa bhi ho.
Kaunsi timing inequality ek path ko satisfy karni chahiye?