3.2.8CMOS Circuit Design

Fan-in and fan-out limits

1,840 words8 min readdifficulty · medium2 backlinks

WHAT are we talking about?


WHY do limits exist? (first principles)

A CMOS output switches by charging a load capacitance CLC_L through a transistor that acts like a resistor RR. The delay is set by the RC time constant.

Deriving fan-out delay from scratch

Step 1 — model the switching. When the output drives hh identical gate loads, the total load capacitance is: CL=hCg+CparC_L = h\,C_g + C_{par} Why this step? Each downstream input is essentially a capacitor CgC_g; hh of them add in parallel, plus the driver's own self/parasitic capacitance CparC_{par}.

Step 2 — write the delay as RC. The transistor charging this cap has on-resistance RR. The propagation delay is proportional to the RC product: tpd=0.69RCLt_{pd} = 0.69\,R\,C_L Why this step? Solving V(t)=VDD(1et/RC)V(t)=V_{DD}(1-e^{-t/RC}) for the 50% point gives t=RCln2=0.69RCt = RC\ln 2 = 0.69RC. That's where "0.69" comes from — it is derived, not magic.

Step 3 — normalize (logical effort form). Define the electrical effort (a.k.a. fan-out) as: f=CLCinf = \frac{C_L}{C_{in}} Then delay (in normalized units) is: d=gf+pd = g\cdot f + p where gg = logical effort (how much worse the gate is than an inverter), ff = electrical effort (fan-out), pp = parasitic delay.

Deriving why fan-in hurts

Step 1 — series resistance adds. Put NN NMOS transistors in series (a NAND-NN). Resistances in series add: Rstack=NRR_{stack} = N\,R Why this step? Ohmic series resistances sum. The pull-down path is now NN times more resistive.

Step 2 — sizing to compensate. To keep resistance constant you widen each transistor by NN → but wider transistors have N×N\times bigger input capacitance. So each input load grows, raising the previous stage's fan-out.

Step 3 — parasitic capacitance grows. The internal source/drain junctions between stacked transistors each add capacitance. Parasitic delay scales roughly: pNAND-NNpinvp_{NAND\text{-}N} \approx N\,p_{inv}

Why NOR is worse: the "2N" comes from stacking PMOS (mobility ~2× worse), so wider PMOS = more capacitance per unit drive.

Figure — Fan-in and fan-out limits

Worked Examples


Common Mistakes


Flashcards

What is fan-in of a static CMOS gate?
The number of inputs = number of transistors in series in the pull-up or pull-down network.
What is fan-out?
The number of gate-input loads a single output must drive (total load capacitance / one input cap).
Why does fan-out increase delay?
Each load adds capacitance CgC_g; delay =0.69RCL=0.69RC_L grows linearly with load, so d=gf+pd=gf+p with f=Cout/Cinf=C_{out}/C_{in}.
Where does the 0.69 in RC delay come from?
Solving the 50% point of V=VDD(1et/RC)V=V_{DD}(1-e^{-t/RC}) gives t=RCln2=0.69RCt=RC\ln 2=0.69RC.
Logical effort of a NAND-NN gate?
g=(N+2)/3g=(N+2)/3.
Logical effort of a NOR-NN gate?
g=(2N+1)/3g=(2N+1)/3.
Why is NOR worse than NAND for high fan-in?
NOR stacks weak PMOS in series; PMOS mobility ~2× lower so its logical effort grows ~2× faster.
How does parasitic delay scale with fan-in NN?
Roughly pNpinvp\approx N\,p_{inv} due to added internal junction caps.
Fix for a high-fan-in gate?
Split into a balanced tree of low-fan-in gates.
Fix for a high-fan-out net?
Insert buffers / upsize the driver (or a buffer tree), trading area/prior-stage load for speed.
Delay equation in logical-effort form?
d=gf+pd=gf+p, where gg=logical effort, ff=electrical effort (fan-out), pp=parasitic delay.
In pure CMOS, what limits fan-out — current or capacitance?
Capacitance (speed); gate leakage is ~0 so DC current limit is negligible.

Recall Feynman: explain to a 12-year-old

Imagine one kid (the gate) pouring water into cups (the loads). If he pours into 2 cups it's quick; into 10 cups it takes ages — that's fan-out. Now imagine a line of kids passing a bucket one after another before the water reaches the end — a long line is slow, that's fan-in (many transistors in a row). To go fast: don't make one kid fill 20 cups, and don't make a line of 8 kids. Use short lines and many helpers (small gates, buffers).

Connections

  • CMOS Static Logic Gates — how NAND/NOR pull-up/pull-down nets are built.
  • Logical Effort — the d=gf+pd=gf+p framework used here.
  • RC Delay Model — origin of 0.69RC0.69RC.
  • Buffer Sizing and Inverter Chains — fixing large fan-out.
  • Propagation Delay and Timing — where these limits set clock speed.
  • Transistor Sizing — widening to fight series resistance.

Concept Map

means

Rstack = N*R

widen to fix

junction caps

adds

RC charging

slows switching

adds to

tpd = 0.69 R CL

normalized

f = Cout / Cin

too slow beyond

raises prev stage fanout

Fan-in N inputs

N transistors in series

Higher stack resistance

Bigger input capacitance

Parasitic delay p ~ N*p_inv

Fan-out drives loads

Load cap CL = h*Cg + Cpar

Propagation delay

RC delay model

Logical effort d = g*f + p

Practical fan-in and fan-out limits

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, ek CMOS gate koi superhero nahi hai — uski taakat limited hoti hai. Fan-in ka matlab hai gate ke kitne inputs hain, yaani pull-down ya pull-up network mein kitne transistors series mein lage hain. Jitne zyada series transistors, utni zyada resistance (Rstack=NRR_{stack}=N R), aur beech ke junctions ki wajah se parasitic capacitance bhi badhti hai — toh gate slow ho jaata hai. Isliye ek hi 8-input NAND banane se accha hai chhote 2-input gates ka balanced tree banao.

Fan-out ka matlab hai ek output kitne dusre inputs ko drive kar raha hai. Har input ek chhota capacitor (CgC_g) jaisa hai, aur output ko yeh saari capacitance charge/discharge karni padti hai. Delay basically 0.69RCL0.69 R C_L hoti hai — yeh 0.69 aayi kahan se? V=VDD(1et/RC)V=V_{DD}(1-e^{-t/RC}) ko 50% pe solve karo toh t=RCln2=0.69RCt=RC\ln2=0.69RC nikalta hai. Normalized form mein delay d=gf+pd=gf+p, jahan ff hi fan-out hai. Zyada loads = zyada ff = zyada delay, seedha linear.

Yaad rakhne ka trick: "IN series, OUT parallel" — fan-in transistors series mein (resistance add), fan-out loads parallel mein (capacitance add). Dono delay badhaate hain. Aur ek important baat: NOR is poorer — kyunki NOR mein PMOS series mein aata hai jo weak hota hai, isliye CMOS mein hamesha NAND logic prefer karo. High fan-out theek karne ke liye buffer laga do ya driver ko bada kar do (par dhyaan rakho, driver bada karoge toh uska input cap badhega aur pichhli stage pe load aayega — effect peeche tak jaata hai).

Go deeper — visual, from zero

Test yourself — CMOS Circuit Design

Connections