VLSI Design
Chapter: 4.2 VLSI Design Difficulty: Level 5 — Mastery (cross-domain: math + physics + coding, build/prove) Time Limit: 90 minutes Total Marks: 60
Instructions: Answer all three questions. Show every derivation step. State assumptions explicitly. Code may be written in pseudocode or Python; correctness of logic is graded, not syntax.
Question 1 — Scaling Physics: Dennard, its Breakdown, and Power Walls (20 marks)
A MOSFET is scaled by an ideal constant-field factor (all linear dimensions, oxide thickness, and voltage divide by ; doping multiplies by ).
(a) Using the dynamic power expression , prove that under ideal Dennard scaling the power density remains constant. State how , , , and area each scale with , and justify the relation from the gate-delay expression with . (6)
(b) Dennard scaling broke down near the 90–65 nm nodes primarily because supply voltage stopped scaling. Assume from a node onward that dimensions still scale by but stays constant. Derive the new power-density scaling law as a function of , and comment on why this is called the "power wall." (6)
(c) Leakage. Subthreshold leakage current follows where is the subthreshold swing (mV/decade). A designer lowers by 100 mV to recover speed lost to non-scaling , with mV/decade. Compute the multiplicative increase in static leakage. Then explain, using this result, why power gating (rather than merely clock gating) became necessary post-Dennard. (8)
Question 2 — Clock Tree Synthesis, Skew, and Timing Closure (20 marks)
A synchronous datapath has a launch flop FF1 and capture flop FF2 connected through combinational logic.
- Clock period ns
- Combinational delay : min ns, max ns
- FF setup time ns, hold time ns
- Clock-to-Q ns
- Clock skew
(a) Write the general setup and hold timing inequalities including skew. Solve for the allowable range of that keeps BOTH constraints satisfied for the given numbers (ignore jitter). Show that the datapath is closable and give the setup/hold slacks at . (8)
(b) A CTS tool must balance the clock tree. Explain the physical reason a symmetric H-tree minimizes skew, and why useful skew (deliberately non-zero) can increase the maximum achievable clock frequency. Using part (a)'s numbers, find the that maximizes the minimum of (setup slack, hold slack) and give that balanced slack. (7)
(c) Coding/algorithm. You are given a clock tree as a rooted tree where each edge has a wire delay. Write an algorithm (pseudocode) that computes the maximum clock skew across all leaf (flop) sink pairs, and state its time complexity. Then explain how CTS reduces this skew via buffer insertion in terms of the tree's insertion-delay balancing. (5)
Question 3 — Parasitics, Crosstalk, IR Drop & DFT Integration (20 marks)
(a) Parasitic RC & delay. A signal net is modeled as a single lumped RC: , . Using the Elmore delay for the 50% point, compute . Then, treating the net as a distributed line of equal segments each , , prove that distributed Elmore delay converges to (i.e. ) as , and state why this factor-of-2 matters for repeater insertion. (8)
(b) Crosstalk. An aggressor net switches full-swing V and couples to a quiet victim through coupling capacitance ; the victim's total ground capacitance is . Using charge sharing, compute the peak crosstalk noise glitch on the victim (assume fast aggressor, no victim driver conduction). If the victim's noise margin is , does this violate signal integrity? Suggest two physical mitigations. (6)
(c) IR drop + DFT trade-off. A power grid segment carries A through a rail of resistance . Compute the IR drop and the resulting effective from V nominal. Explain quantitatively (using delay intuition, V, ) the percentage delay increase this local droop causes. Finally, argue why scan-shift (DFT) mode can produce worse IR drop than functional mode, and how test power reduction (e.g. low-shift-frequency or partitioned scan enable) addresses it. (6)
Answer keyMark scheme & solutions
Question 1
(a) Ideal Dennard (6 marks)
Scaling by :
- Capacitance ; both plate area and scale . (1)
- Voltage . (1)
- Current . With (ratio const), , and : . (1)
- Delay . (1)
Then per-device power: Device area . Hence (2)
(b) Constant-V breakdown (6 marks)
Now , (delay still ; with const and : , so if drive scales that way — but conventionally with fixed and short-channel , keep ; either derivation accepted if consistent). Using the standard result with : (3) Area still , so Power density rises as — each new node packs more devices per unit area at the same power each, so heat flux grows quadratically. Cooling and reliability cannot keep pace: this is the power wall, forcing frequency stagnation (~3–4 GHz) and the shift to multicore. (3)
(c) Leakage & power gating (8 marks)
Lowering by mV raises by 100 mV: (4) So static leakage increases ~12.9× per 100 mV of reduction. (1)
Implication: Clock gating stops dynamic switching power () but leaves the block powered, so leakage keeps flowing. Post-Dennard, was pushed low to preserve overdrive under non-scaling , making leakage a dominant fraction of total power (order of the same magnitude as dynamic). Only power gating — physically disconnecting supply via header/footer sleep transistors — cuts the exponential leakage term to near zero for idle blocks. Hence clock gating alone is insufficient. (3)
Question 2
(a) Timing inequalities & slacks (8 marks)
Setup: (2)
Hold: (2)
Allowable skew: ns — non-empty, so closable. (1)
At :
- Setup slack ns. (1.5)
- Hold slack ns. (1.5)
Both positive → design meets timing.
(b) H-tree & useful skew (7 marks)
H-tree: geometric self-similarity gives equal path length from root to every leaf, so wire+buffer insertion delays match ⇒ nominally zero skew; symmetry also makes it robust to systematic process gradients. (2)
Useful skew: intentionally delaying the capture clock (positive ) borrows time into the setup budget (RHS grows), letting a slow path close at higher , at the cost of hold margin. It redistributes slack across the timing graph. (2)
Balancing setup and hold slacks as functions of :
- Setup slack (increases with skew)
- Hold slack (decreases with skew)
Max–min at equality: ns. Balanced slack ns each. (3)
(c) Skew algorithm (5 marks)
computeMaxSkew(root):
# DFS: accumulate root-to-leaf insertion delay
leafDelays = []
stack = [(root, 0)]
while stack:
node, d = stack.pop()
if node.isLeaf: leafDelays.append(d)
for (child, w) in node.edges:
stack.push((child, d + w))
return max(leafDelays) - min(leafDelays) # worst skew
Time complexity: for a tree with nodes (single traversal). (3)
CTS reduces skew by inserting/sizing buffers on the shorter/faster leaf paths to raise their insertion delay up to the longest path's — i.e. it balances insertion delay so max(leafDelays)-min(leafDelays)→0, pulling all leaf delays toward a common target latency. (2)
Question 3
(a) Elmore delay (8 marks)
Lumped: ps. (3)
Distributed proof: segment (from source) sees resistance driving capacitance . Elmore delay: (3)
Significance: a distributed line is 2× faster than the lumped model, and delay scales with (both R and C grow with length). Repeaters break a long wire into segments, converting dependence into plus buffer delay, minimized at an optimal segment count. (2)
(b) Crosstalk (6 marks)
Charge sharing / capacitive divider: (3)
Noise margin V. Since , signal integrity is violated (glitch exceeds margin). (1)
Two mitigations (any two): shielding (ground/power lines between nets), increasing spacing (lowers ), reducing parallel run length, stronger victim driver, or wire ordering/repeater staggering. (2)
(c) IR drop + DFT (6 marks)
IR drop V mV. Effective V. (2)
Delay . Overdrive nominal ; drooped . ≈ 5.1% delay increase. (2)
Scan-shift IR drop: during scan shift, essentially all flops toggle every cycle (data ripples through the chain), giving far higher and more uniform switching activity than typical functional workloads — this raises average current draw and worsens IR droop/di-dt beyond functional worst case. Mitigations: lower shift clock frequency (less -driven current), partition scan-enable so only sub-chains shift at a time, or use low-power scan reordering to reduce shift-in transitions. (2)
[
{"claim":"Leakage increase factor for 100mV Vth drop, S=90mV/dec ~12.9x","code":"val=10**(100/90); result = abs(val-12.9)<0.2"},
{"claim":"Setup slack 0.15ns, hold slack 0.04ns, balance skew -0.055ns, balanced slack 0.095ns","code":"setup=1.0-(0.05+0.72+0.08); hold=(0.05+0.05)-0.06; sk=Rational(-11,200); bal=setup+float(s