Intuition Why this page exists
The parent note gave you the two formulas d = g f + p (fan-out delay) and g NAND = 3 N + 2 , g NOR = 3 2 N + 1 (fan-in penalty). This page runs those formulas through every situation they can face — every gate type, the smallest and largest fan-out, the degenerate "drives nothing" case, the limiting "infinite loads" case, a real-world word problem, and an exam trap. If you can do all ten below, no fan-in/fan-out question can surprise you.
Before we start, one promise: every symbol used here is defined first. Let me re-anchor the numbers we lean on hardest, in plain words.
Definition The capacitance symbols first
C in = input capacitance of a gate = how much capacitance that gate presents to whatever drives it (mostly its transistor gate capacitance). Think: "how heavy am I to push."
C o u t = load capacitance on a gate's output = the total capacitance that gate must charge/discharge (all the downstream inputs it feeds, in parallel, plus its own parasitics). Think: "how heavy is what I must push."
C g = the input capacitance of one downstream gate — one "cup" of load.
Definition The four numbers in
d = g f + p
g = logical effort . Read it as: "how many times harder is this gate to switch than a plain inverter of the same drive?" An inverter has g = 1 by definition. A NAND-2 has g = 3 4 , meaning it is 3 4 × worse.
f = electrical effort = fan-out = C in C o u t , using the two capacitances just defined. Read it as: "how much bigger is the capacitance I must drive than the capacitance I present?" If I drive 4 copies of myself, f = 4 .
p = parasitic delay . The delay a gate has even driving nothing , from its own internal source/drain junction capacitance. An inverter has p = 1 (in units of p inv ).
d = total delay in τ units (one τ = the delay of an ideal inverter driving one identical inverter with no parasitics). This d is the dimensionless, normalised form of the physical delay t p d (measured in real seconds) that we meet in Example 8: t p d = d ⋅ τ .
Everything below is arithmetic on these numbers. The framework is Logical Effort ; the 0.69 R C underneath it is RC Delay Model .
Here is the full grid of case-classes this topic can throw at you. Each of the ten examples is tagged with the cell(s) it covers.
Case class
What makes it special
Covered by
Inverter, normal fan-out
baseline g = 1
Ex 1
Fan-out = 0 (degenerate)
drives nothing, f = 0
Ex 2
Fan-out very large (limiting)
f → big, delay → linear ramp
Ex 3
NAND-N fan-in sweep
g , p both grow with N
Ex 4
NOR vs NAND (sign of "which is worse")
PMOS stack, factor of 2
Ex 5
Split big gate → tree (design fix)
fan-in trade
Ex 6
Fan-out fix by buffering
insert inverters
Ex 7
Real-world word problem
real ns / ps numbers
Ex 8
Current-limited fan-out (TTL edge case)
I O H / I in , not capacitance
Ex 9
Exam twist: minimum delay of a chain
optimal stage effort f = N F
Ex 10
The two axes that generate "every case" are: which network the fan-in stresses (NMOS pull-down for NAND, PMOS pull-up for NOR) and how large the fan-out is (zero → one → many → optimal). We hit every corner.
Worked example Example 1 — Inverter, normal fan-out (baseline cell)
An inverter (g = 1 , p = 1 ) drives 3 identical inverters. Find d in τ .
Forecast: guess the number before reading on. (Hint: it is small, single digit.)
Find f . Three loads, each equal to my own input cap, so f = C in C o u t = C in 3 C in = 3 .
Why this step? Electrical effort is defined as the ratio of load to self; equal loads make it just the count.
Plug into d = g f + p . d = 1 ⋅ 3 + 1 = 4 .
Why this step? This is the derived delay law from the parent note — nothing new, just substitution.
Answer: 4 τ .
Verify: with zero loads we'd expect just the parasitic p = 1 ; adding 3 loads adds g ⋅ f = 3 more, total 4. Units: all dimensionless τ . ✓
The figure plots d = 1 ⋅ f + 1 as a straight line. Example 1 is the pale-yellow dot at f = 3 . Notice the line is straight — that is the whole "delay grows linearly with fan-out" claim, drawn.
Worked example Example 2 — Fan-out = 0 (degenerate cell)
The same inverter drives nothing (output left floating, e.g. it is the last stage feeding a scope probe of negligible cap). What is d ?
Forecast: is the delay zero? Careful.
Set f = 0 . No load capacitance beyond the gate's own internals, so C o u t = 0 ⇒ f = 0 .
Why this step? We must check the boundary; formulas are only trustworthy if they behave sanely at the edges.
Plug in. d = 1 ⋅ 0 + 1 = 1 .
Why this step? The g f term vanishes but p does not — the gate still has to charge its own drain junctions.
Answer: 1 τ , not 0 .
Verify: this is exactly the meaning of parasitic delay p : the intrinsic delay when driving zero external load. A gate is never instantaneous. ✓ Look at the blue dot at f = 0 on the figure — the line crosses the vertical axis at d = p = 1 , never at 0.
Worked example Example 3 — Fan-out very large (limiting cell)
The inverter now drives 20 loads. Find d , and describe the behaviour as f → ∞ .
Forecast: roughly 20? more? less?
f = 20 . Twenty equal loads.
Why this step? Same load-counting rule as Ex 1; we push it to a big value to see the trend.
d = 1 ⋅ 20 + 1 = 21 .
Why this step? Direct substitution into d = g f + p .
Limiting behaviour. As f → ∞ , d ≈ g f = f : the constant p becomes negligible and delay is directly proportional to fan-out.
Why this step? This tells us a huge fan-out is linearly punishing — and warns us (Ex 7) that a single stage should never eat a giant f ; we split it with buffers so each stage sees a modest effort.
Answer: 21 τ ; asymptotically d → f .
Verify: slope of the line is g = 1 , intercept p = 1 ; at f = 20 , d = 21 sits right on the extended line in the figure. Doubling to f = 40 would give d = 41 — nearly double, confirming linear growth. ✓
Worked example Example 4 — NAND-
N fan-in sweep (fan-in cell, NMOS stack)
For a fixed fan-out f = 4 , compute delay of NAND-2, NAND-3, NAND-4. Use g = 3 N + 2 , p = N (in p inv units, as built above).
Forecast: will delay grow slowly (linear in N ) or fast?
NAND-2: g = 3 4 , p = 2 . d = 3 4 ⋅ 4 + 2 = 3 16 + 2 = 3 22 ≈ 7.33 .
Why this step? Apply the NAND logical-effort formula at N = 2 and its two-junction parasitic p = 2 , then substitute into d = g f + p .
NAND-3: g = 3 5 , p = 3 . d = 3 5 ⋅ 4 + 3 = 3 20 + 3 = 3 29 ≈ 9.67 .
Why this step? Same substitution at N = 3 ; note g rose from 3 4 to 3 5 and p rose from 2 to 3 — both terms climb together.
NAND-4: g = 2 , p = 4 . d = 2 ⋅ 4 + 4 = 12 .
Why this step? Same recipe at N = 4 ; each added input raises both g (steeper line) and p (higher intercept), so the same fan-out f = 4 costs more each time — that is the super-linear fan-in penalty.
Answers: 7.33 τ , 9.67 τ , 12 τ .
Verify: differences are 9.67 − 7.33 = 2.33 and 12 − 9.67 = 2.33 ... equal here because at fixed f = 4 each step adds Δ g ⋅ 4 + Δ p = 3 1 ⋅ 4 + 1 = 3 7 ≈ 2.33 — a constant per-input hit at this f , but note it grows with f . ✓
The bars show NAND-2/3/4 climbing. See Transistor Sizing for why you can't just widen the stack away — wider transistors raise the previous stage's fan-out.
Worked example Example 5 — NOR vs NAND, "which is worse" (sign-of-comparison cell, PMOS stack)
Compare a NOR-3 with a NAND-3 at fan-out f = 4 . Use g NOR = 3 2 N + 1 , g NAND = 3 N + 2 , p = N for both.
Forecast: how much worse is NOR? A little, or roughly 2× on the effort term?
NAND-3: g = 3 5 , p = 3 , d = 3 5 ⋅ 4 + 3 = 3 29 ≈ 9.67 .
Why this step? We need the NAND baseline to compare against; it is the same NAND-3 substitution as in Ex 4, restated here so the comparison stands on its own.
NOR-3: g = 3 2 ⋅ 3 + 1 = 3 7 , p = 3 , d = 3 7 ⋅ 4 + 3 = 3 28 + 3 = 3 37 ≈ 12.33 .
Why this step? NOR stacks PMOS in series. PMOS carries ~half the current per width (mobility ~2× lower), so to match drive you widen it more → larger g . The "2 N " in the formula is that mobility penalty made numeric.
Compare the effort terms. g NOR f = 3 28 ≈ 9.33 vs g NAND f = 3 20 ≈ 6.67 . Ratio = 20 28 = 1.4 .
Why this step? Isolating the g f term removes the shared p = 3 so we see purely how much the logical effort (the PMOS penalty) costs.
Answer: NOR-3 ≈ 12.33 τ vs NAND-3 ≈ 9.67 τ — NOR is ≈ 27% slower here.
Verify: as N → ∞ , g NAND g NOR = N + 2 2 N + 1 → 2 , confirming NOR's effort grows toward twice NAND's — the "NOR is poorer" mnemonic, proven. ✓
Worked example Example 6 — Split a big gate into a tree (design-fix cell)
You need an 8-input AND. Option A: one NAND-8 (single monolithic gate). Option B: a tree built from NAND-2 gates. Compare the worst single-gate delay (the largest g f + p of any one gate in the design), both at fan-out f = 4 .
Forecast: how much does the monster NAND-8 gate cost vs one NAND-2 gate?
NAND-8 (Option A worst gate): g = 3 8 + 2 = 3 10 , p = 8 . d = 3 10 ⋅ 4 + 8 = 3 40 + 8 = 3 64 ≈ 21.33 .
Why this step? One giant gate concentrates all the series penalty into a single stage — huge g and huge p . This one gate is the whole delay.
NAND-2 (Option B worst gate): g = 3 4 , p = 2 , d = 3 4 ⋅ 4 + 2 = 3 22 ≈ 7.33 .
Why this step? In the tree, no single gate ever has fan-in above 2, so the worst gate is only a NAND-2 — nearly 3× smaller per-gate delay.
Answer (metric = worst single-gate delay): the monolithic NAND-8 gate is 3 64 ≈ 21.33 τ ; the worst gate in the NAND-2 tree is only 3 22 ≈ 7.33 τ .
Caveat on the metric: the total path delay of a tree sums its depth (~3 NAND-2 stages, roughly 3 × 7.33 ≈ 22 τ ), so a naive tree is not automatically faster than the monolith end-to-end. The real win is that each tree gate is small, so it can be independently sized and its fan-out spread — an optimized tree (per Ex 10's equal-effort rule) beats the monolith, and the tree also removes the crippling series-R /single-node bottleneck of an 8-stack.
Verify: 22/3 64/3 = 22 64 ≈ 2.9 — the NAND-8 gate is nearly 3× a NAND-2 gate on the per-gate metric we defined. ✓
Worked example Example 7 — Fix a big fan-out with a buffer (fan-out-fix cell)
A gate must drive f = 64 (a wide bus). Instead of one stage eating f = 64 , insert a chain. What per-stage effort minimizes delay, and how many stages? (Preview of Buffer Sizing and Inverter Chains .)
Forecast: should each inverter grow by 2×? 4×? and how many?
Total effort F = 64 (assume g = 1 inverters so path effort = electrical effort).
Why this step? We must spread F across n stages so no stage is overloaded.
Optimal per-stage effort. Minimum delay occurs when each stage has equal effort f = n F . The classic near-optimum is f ≈ 4 (ideally e ≈ 2.7 , ~4 once parasitics count).
Why this step? Delay of a chain is n F 1/ n ; minimizing over n gives F 1/ n = e . This is the exam-favourite result.
Number of stages for f = 4 : n = log 4 64 = 3 .
Why this step? 4 3 = 64 . Three inverters, each 4× the previous.
Chain delay: d = n ⋅ f = 3 ⋅ 4 = 12 τ (ignoring p ).
Why this step? Compare to driving f = 64 in one stage: d = 1 ⋅ 64 = 64 τ . Buffering wins massively.
Answer: 3 stages, per-stage f = 4 , chain delay ≈ 12 τ vs 64 τ unbuffered.
Verify: 4 3 = 64 ✓; 3 × 4 = 12 < 64 ✓. Fan-out effects "ripple backward": each inserted buffer presents small input cap to the stage before it, exactly the parent's point. ✓
Worked example Example 8 — Real-world word problem (real-time units cell)
A driver has on-resistance R = 2 k Ω . Each load gate is C g = 2 fF . The driver's own parasitic cap is C p a r = 3 fF . It drives h = 5 loads , where h is simply the fan-out counted as a whole number of gates (the integer version of f ). Find the propagation delay t p d — the physical delay in real seconds, using t p d = 0.69 R C L .
Forecast: tens of ps? hundreds?
Total load. C L = h C g + C p a r = 5 ⋅ 2 + 3 = 13 fF .
Why this step? Loads add in parallel (fan-out is capacitance-in-parallel), plus the driver's self-cap. Here C L is just C o u t written with real numbers.
Why t p d and not d ? d was our dimensionless delay in τ -units; here we want an actual time in seconds, so we use the physical form t p d = 0.69 R C L (they are the same delay, different units: t p d = d ⋅ τ ).
Why this step? The exam asks for picoseconds, not τ , so we must return to the RC form where R and C carry real units.
RC delay. t p d = 0.69 ⋅ R ⋅ C L = 0.69 ⋅ ( 2000 Ω ) ⋅ ( 13 × 1 0 − 15 F ) . The 0.69 is the 50%-crossing factor from V = V D D ( 1 − e − t / R C ) — see RC Delay Model .
Compute. 2000 ⋅ 13 × 1 0 − 15 = 2.6 × 1 0 − 11 s = 26 ps ; times 0.69 gives t p d = 17.94 ps .
Answer: t p d ≈ 17.94 ps (about 18 ps ).
Verify (units): Ω ⋅ F = s , so 2 k Ω ⋅ 13 fF = 26 ps before the 0.69 factor. Sanity: dropping to h = 1 load gives C L = 5 fF , t p d = 0.69 ⋅ 2000 ⋅ 5 × 1 0 − 15 = 6.9 ps — smaller fan-out, smaller delay, as required. ✓ Links to Propagation Delay and Timing .
Worked example Example 9 — Current-limited fan-out (TTL-interface edge case)
A CMOS gate driving a legacy TTL bus can source I O H = 4 mA at the high level. Each TTL input sinks I in = 40 μ A . What is the static fan-out limit? Contrast with pure CMOS.
Forecast: is the limit huge (thousands) or modest?
Divide the currents. Max loads = ⌊ I in I O H ⌋ = ⌊ 40 × 1 0 − 6 4 × 1 0 − 3 ⌋ = ⌊ 100 ⌋ = 100 .
Why this step? The output current splits among the loads; too many and the high level sags below V I H , corrupting logic. This is a DC current limit, unlike the AC/capacitive limit everywhere else on this page.
Pure-CMOS contrast. A CMOS gate input draws I in ≈ 0 (gate leakage), so this current limit → ∞ . There the binding limit is speed (capacitance) , i.e. d = g f + p , not current.
Why this step? Cover both regimes so no exam case surprises you.
Answer: static fan-out limit = 100 for the TTL interface; effectively unlimited (speed-bound) in pure CMOS.
Verify: 100 ⋅ 40 μ A = 4 mA = I O H exactly — the 101st load would exceed the source current. ✓
Worked example Example 10 — Exam twist: minimum delay of a full path (optimal-effort cell)
A path of n = 3 gates has total logical effort G = 2 and total electrical effort H = 4 . Find the minimum path delay (parasitics ignored).
Forecast: is min delay simply G ⋅ H ? Or a root of it?
First, the two new symbols, defined before use:
G = path logical effort = the product of the individual g 's of every gate on the path, G = g 1 g 2 ⋯ g n . Here G = 2 .
H = path electrical effort = the overall C first input C final load of the whole path. Here H = 4 .
F = path effort = G ⋅ H = the total "work" the path must do. It is the multi-stage generalisation of the single-stage f .
Compute the path effort. F = G ⋅ H = 2 ⋅ 4 = 8 .
Why this step? Just as one stage's work is its f , the whole path's work is the product G ⋅ H ; this single number sets the achievable speed.
Best per-stage effort. f ^ = F 1/ n = 8 1/3 = 2 .
Why this step? Path delay is minimized when every stage carries the same stage effort f ^ = F 1/ n ; unequal efforts always cost more (a consequence of the AM–GM inequality — the sum is smallest when the terms are equal).
Minimum delay. D m i n = n ⋅ f ^ = 3 ⋅ 2 = 6 τ (parasitics ignored). The general formula is D m i n = n F 1/ n .
Why this step? Add up n equal stage efforts of f ^ each.
Answer: f ^ = 2 per stage, D m i n = 6 τ .
Verify: 2 3 = 8 = F ✓; any uneven split, e.g. stage efforts 1 , 2 , 4 (still multiplying to 8 ), gives 1 + 2 + 4 = 7 > 6 ✓ — equal effort wins, confirming the AM–GM minimum. Framework: Logical Effort . ✓
Recall Rapid re-derivation checklist
Given a gate: (1) find g from its family formula, (2) find f = C o u t / C in , (3) find p ≈ N p in v (one per stacked junction), (4) d = g f + p . For a chain , compute F = G ⋅ H and spread it so each stage sees f ^ = F 1/ n ≈ 4 . For a big fan-in , split into a tree. For a big fan-out , add buffers.
Fan-out = 0 ⇒ delay equals what? The parasitic delay p (never zero).
Where does p = N for a NAND-N come from? Roughly one internal source/drain junction cap per stacked transistor, each worth p inv , so p ≈ N p inv .
NAND-4 at f = 4 delay? 12 τ (g = 2 , p = 4 ).
NOR-3 vs NAND-3 at f = 4 ? 12.33 τ vs 9.67 τ ; NOR is worse (PMOS stack).
Difference between d and t p d ? d is dimensionless delay in τ -units; t p d is the same delay in real seconds, t p d = d ⋅ τ = 0.69 R C L .
Path effort F defined? F = G ⋅ H , product of path logical effort and path electrical effort.
Minimum path delay of n stages? D m i n = n F 1/ n , achieved with equal per-stage effort f ^ = F 1/ n .
Current-limited fan-out formula? ⌊ I O H / I in ⌋ .
Logical Effort — the d = g f + p and D = n F 1/ n engine used in every example.
RC Delay Model — the 0.69 R C behind Example 8.
Buffer Sizing and Inverter Chains — Examples 7 and 10.
Transistor Sizing — why widening the stack (Ex 4) shifts cost backward.
Propagation Delay and Timing — turning τ into ns.
CMOS Static Logic Gates — the NAND/NOR networks whose stacks set fan-in.
g equals 2N plus 1 over 3 worse
Limit equals IOH over Iin