4.2.4 · Hardware › VLSI Design
Intuition The big picture (WHY these exist)
Socho ek ghar banana hai. Tum khud har ek brick, hinge, aur window frame — raw clay aur metal se — mould kar sakte ho — total control, lekin isme ek lifetime lag jaati. Uski jagah tum pre-made, pre-tested standardized parts khareedte ho (fixed size ki bricks, fixed height ke doors) aur sirf unhe assemble karte ho.
Ek standard cell library chip design ke liye exactly wahi hai: ek catalogue of pre-designed, pre-characterized, pre-verified logic building blocks (INV, NAND, NOR, DFF...) jinki fixed cell height hoti hai, taaki tool unhe automatically neat rows mein snap kar sake.
WHY it matters: yeh "billions of transistors haath se design karna" ko "library cells ek menu se place karna" mein badal deta hai, jisse automated synthesis and place-and-route possible hoti hai.
Definition Standard cell library
Ek given technology node (jaise 7 nm) par aise kai cells ka collection , jisme har cell kaafi flavours mein milti hai — alag-alag drive strengths aur threshold-voltage (==V t ==) variants — saath mein woh models jo ek CAD tool ko chahiye.
Ek single cell jaise NAND2_X2 kaafi coordinated views ke saath ship hoti hai:
View
What it contains
Used by
Liberty (.lib)
timing, power, capacitance
synthesis, STA
LEF
abstract footprint: pins, blockages, size
place & route
GDSII
full mask-level layout (transistors, metal)
fabrication
Verilog
functional model (assign Y = ~(A&B))
simulation
SPICE netlist
transistor-level
characterization
Intuition WHY itne saare views?
Har tool ko abstraction ka ek alag level chahiye. Router ko transistor shapes se koi matlab nahi — use sirf pin locations chahiye (LEF). Timing engine ko mask polygons se koi matlab nahi — use delay tables chahiye (Liberty). Same cell, alag-alag "angles se kaafi photographs."
Sabhi cells ek same height share karti hain aur apni V D D /V S S rails same vertical position par rakhti hain. Toh jab tum cells ko ek row mein side-by-side push karte ho, unki power rails abut hoti hain aur ek continuous rail banaati hain — har gate par power manually wire nahi karni padti. Alternate rows flip karo aur adjacent rows ek rail share bhi kar sakti hain.
Yahi constraint fully-automated row-based placement ko possible banati hai.
Height tracks mein measure hoti hai — horizontal routing tracks ki wo number jo fit hoti hain. Ek "9-track" library "7-track" se taller (faster, zyada area) hoti hai (denser, lower power).
Definition Characterization
Har cell par kaafi operating conditions mein SPICE simulations chalana taaki timing/power tables build ho sakein jo .lib mein store hoti hain.
table , formula nahi?
Transistors nonlinear hote hain; ek single equation saare slews aur loads par curve accurately capture nahi kar sakti. Toh hum ek grid par real SPICE behaviour sample karte hain aur interpolate karte hain — dual coding: socho "lookup table with a delay surface."
Characterization P rocess (slow/typical/fast silicon), V oltage, aur T emperature ke combinations par repeat ki jaati hai. Har combination ek corner hota hai. Slow-Slow / high-T / low-V worst-case speed corner hai; Fast-Fast / low-T / high-V worst-case hold hai.
X1, X2, X4... = drive strength : wider transistors → smaller R o n → faster lekin bade aur leakier. t p d ≈ 0.69 R o n C L se, width double karo toh R o n half hoti hai, intrinsic delay half hoti hai — lekin input capacitance double hoti hai (previous gate par load).
V t flavours (LVT/RVT/HVT): low-V t = fast lekin leaky (critical paths par use hota hai), high-V t = slow lekin low-leakage (baaki jagah use hota hai). Synthesis tool timing hit karte hue power minimize karne ke liye inhe trade karta hai — yahi 80/20 lever hai.
Worked example 1. Drive strength choose karna
Ek gate jiska R o n = 10 k Ω (X1) hai, C L = 20 fF drive karta hai.
t p d = 0.69 × 1 0 4 × 20 × 1 0 − 15 = 0.138 ns = 138 ps .
Why this step? Hum 0.69 R o n C L mein plug in karte hain; units: Ω ⋅ F = s .
X4 par switch karo (R o n = 2.5 k Ω ): t p d = 0.69 × 2500 × 20 f = 34.5 ps .
Why? 4× wider → R o n /4 → same load ke liye 4× faster. Lekin X4 ki input cap ~4× badi hai, uske driver ko zyada load deti hai — trade-off hai, free lunch nahi.
Worked example 2. Liberty timing table padhna
Maano .lib ye delay values deti hai: slew=20 ps, C L =10 fF → 45 ps; C L =30 fF → 95 ps. Tumhara net C L =20 fF ka hai.
Linear interpolate karo: 45 + 30 − 10 20 − 10 ( 95 − 45 ) = 45 + 0.5 × 50 = 70 ps .
Why this step? NLDM ek grid store karta hai; STA tool nearest sampled points ke beech interpolate karta hai.
Worked example 3. Power/ground abutment
Do cells INV_X1 (width 0.5 µm) aur NAND2_X1 (width 0.75 µm) dono 1.2 µm tall hain, rails top/bottom par hain. Ek row mein place karo, total width = 1.25 µm, rails boundary par continuous hain.
Why? Fixed height + fixed rail position ⇒ automatic power distribution. Yahi reason hai ki libraries uniform height par insist karti hain.
Common mistake "Bada drive strength hamesha design faster banata hai."
Why it feels right: bade transistors ka R o n lower hota hai, aur t p d ∝ R o n , toh locally gate is faster hoti hai.
The fix: ek badi cell ek large input capacitance present karti hai = previous stage par extra load, use slow karti hai. Yeh zyada leak bhi karti hai aur area khati hai. Optimal sizing dono balance karti hai; blindly drive strength max karna total path delay aur power worst kar sakta hai.
.lib delay har cell ke liye ek fixed constant hai."
Why it feels right: hum ise "cell ki delay" kehte hain.
The fix: delay input slew aur output load ki function hai aur PVT corner ki bhi. Same cell slow corner par 2–3× slow ho sakti hai. Hamesha pucho "delay kaunsi conditions mein?"
Common mistake "GDSII aur LEF same cheez hain."
Why it feels right: dono physical/layout-ish lagte hain.
The fix: LEF routing ke liye ek abstract view hai (bounding box + pin locations + blockages); GDSII fabrication ke liye full mask layout hai. Router LEF use karta hai fast rehne ke liye.
Common mistake "Cells ki koi bhi height ho sakti hai jab tak function correct ho."
Why it feels right: logically sach hai.
The fix: row-based placement aur rail abutment ke liye uniform height zaroori hai. Non-uniform height automated P&R tod deti hai — yahi "standard" ka matlab hai.
Recall Quick self-test (answers chupaao)
Sabhi cells ek fixed height kyun share karti hain? → taaki rows tile hon aur power rails abut hon, automated P&R enable ho.
Drive strength X4 vs X1 mein do kya changes hote hain? → lower R o n (faster) lekin higher input cap aur leakage.
NLDM delay table mein kaun se do variables index karte hain? → input slew aur output load capacitance.
t p d constant derive karo. → 0.5 = 1 − e − t / R C ⇒ t = R C ln 2 ≈ 0.69 R C .
Router kaun sa view use karta hai? → LEF. Fab? → GDSII.
Recall Feynman: ek 12-saal ke bachche ko explain karo
Chip banana LEGO se banana jaisa hai. Khud har tiny piece carve karne ki jagah, LEGO tumhe standard bricks ka ek box deta hai jo sab click together hote hain kyunki woh same height ke hain. Standard cell library wahi LEGO box hai: chote logic bricks (AND, NOT, memory bits) jinki sabki same height hai, taaki ek robot unhe neat rows mein snap kar sake aur "electricity wires" automatically line up ho jayein. Kuch bricks "strong, fast" wali hoti hain (badi, zyada power leti hain) aur kuch "slow, energy-saving." Engineers har brick ke liye ek cheat sheet rakhte hain jo batata hai woh kitni fast hai aur kitna power use karti hai, taaki computer best mix choose kar sake.
"Same Height, Snap & Abut." — cells H eight share karti hain taaki rows mein S nap hon aur rails A but hon.
Flavours ke liye: "Low-Vt = Lightning (fast, leaky); High-Vt = Hibernate (slow, low-leak)."
Static Timing Analysis — .lib NLDM delay tables consume karta hai.
Logic Synthesis — RTL ko library cells par map karta hai, drive strength aur V t choose karta hai.
Place and Route — cells ko rows mein tile karne ke liye LEF footprints use karta hai.
CMOS Inverter — t p d = 0.69 R o n C L model yahin se aata hai.
Power Dissipation in CMOS — V t flavours ke peeche leakage vs speed trade-off.
Technology Nodes — ek library ek node se tied hoti hai (7 nm, 28 nm...).
What is a standard cell? Ek pre-designed, pre-characterized logic/storage element jisme fixed height, fixed-position power rails, aur known timing/power/area models hote hain.
Why do standard cells have a fixed height? Taaki woh rows mein tile hon aur unki VDD/VSS rails abut hon, automated row-based place-and-route enable ho sake.
Name four views shipped for one cell. Liberty (.lib) timing/power, LEF footprint, GDSII layout, Verilog/SPICE functional model.
Which view does the router use vs the fab? Router LEF use karta hai (abstract); fab GDSII use karta hai (full mask layout).
Derive the 0.69 factor in cell delay. Vout=VDD(1-e^{-t/RC}) se, 50% set karo: 0.5=1-e^{-t/RC} ⇒ t=RC·ln2 ≈ 0.69RC.
What two variables index an NLDM delay table? Input transition (slew) aur output load capacitance.
What does drive strength X4 vs X1 change? ~4× wider transistors ⇒ ~1/4 Ron (faster) lekin ~4× input capacitance aur higher leakage/area.
LVT vs HVT trade-off? Low-Vt = fast lekin leaky (critical paths); High-Vt = slow lekin low-leakage (baaki jagah).
What is a PVT corner? Ek Process/Voltage/Temperature combination jis par cells characterized hoti hain (jaise slow-slow, high-T, low-V worst case).
Why is a delay table used instead of one formula? Transistor behaviour nonlinear hai; SPICE ko slew×load grid par sample karke interpolate karna zyada accurate hai.
What defines a "track" library (7T vs 9T)? Routing tracks mein cell height; zyada tracks = taller = faster lekin bada area.
Characterization via SPICE