3.2.8 · D2CMOS Circuit Design

Visual walkthrough — Fan-in and fan-out limits

2,913 words13 min readBack to topic

Step 1 — A transistor is a switch that leaks like a resistor

WHAT. A CMOS gate output is either being pulled up to the supply voltage or pulled down to ground by a transistor. When that transistor is "on," it is not a perfect wire — it lets current through but resists it, like a narrow pipe.

WHY this picture. Before we can talk about time, we need to know what slows the electricity down. The answer is that the "on" transistor behaves like a resistor of value . That single fact turns a messy semiconductor into something a 12-year-old can reason about: a pipe with a fixed narrowness.

WHAT IT LOOKS LIKE. Look at the figure. On the left is the real transistor symbol; on the right is the model we will use for the rest of the page — a plain resistor . The width of the pipe is : a wider transistor is a fatter pipe (smaller ), a narrower one is a thin pipe (bigger ).

Figure — Fan-in and fan-out limits

Step 2 — The loads a gate drives are a bucket of capacitance

WHAT. Every gate-input that our output wire touches is basically a tiny capacitor — a bucket that must be filled with charge to read "high" and emptied to read "low." Call one such input-bucket .

WHY this picture. A transistor's job is not to move a light instantly; it is to charge a capacitor. If we know the total capacitance on the wire, and we know the pipe , we can compute the fill time. So we must count buckets.

WHAT IT LOOKS LIKE. In the figure the driver's output wire fans out to downstream gate-inputs. Each is a bucket , drawn in cyan. Buckets sitting on the same wire fill in parallel — their capacitances simply add. There is also the driver's own leftover "self" capacitance (amber), which is always there even with zero loads.

Figure — Fan-in and fan-out limits

Step 3 — Filling the bucket takes time: where "0.69 RC" is born

WHAT. Connect the pipe to the bucket . The voltage on the bucket does not jump — it rises smoothly toward the supply along a curve. We want the moment the voltage crosses the halfway mark , because that is when logic officially "flips."

WHY the exponential, and why halfway? The rate of filling is proportional to how empty the bucket still is (a nearly-full bucket fills slowly). "Rate proportional to the gap" is exactly the equation whose solution is the exponential — that is why the exponential appears and not some other curve. We pick the 50% point because gates measure delay input-to-output at the switching threshold, which sits near mid-supply.

WHAT IT LOOKS LIKE. The figure shows the rising curve. The dashed amber line is the halfway level. Reading off where the curve meets it:

Set and solve — the cancels:

Term by term: = the delay we measure, = pipe narrowness (Step 1), = bucket size (Step 2), and is not magic — it is where a rising exponential crosses its own halfway line.

Figure — Fan-in and fan-out limits

Step 4 — Strip the units: turn into

WHAT. The raw carries ugly units (ohms × farads = seconds). We want a dimensionless delay so that inverters, NANDs and NORs can be compared on one axis. We do this by measuring delay in multiples of one fixed reference delay .

WHY normalize. A designer does not care that a gate takes "17 picoseconds" — that changes with every fabrication process. They care "how many inverter-delays is that?" Dividing out gives a number that survives across chips. This is the whole point of Logical Effort.

Define the reference first. Take one reference inverter: on-resistance and input capacitance . The natural unit of delay is what it takes such an inverter to drive one identical copy of itself:

Here = the pipe-width of the unit reference inverter, and = the capacitance seen looking into one of its inputs. Every delay from now on is written as — a pure number, "how many reference-inverter delays."

Now name the two capacitances we compare. For any gate:

  • = the capacitance looking into this gate's own input (the bucket the previous stage must fill).
  • = the total capacitance this gate drives on its output from Step 2 .

WHAT IT LOOKS LIKE. The figure splits the RC product into two independent knobs. Divide by and insert (multiply and divide by it):

That last split defines the two efforts, and adding the load-independent parasitic term gives:

  • (logical effort) — the product of how much worse this gate's pipe is () and how much bigger its input bucket is (), for the same drive strength. A reference inverter has , , so .
  • (electrical effort = normalized fan-out) . This is how from Step 2 enters: . For an inverter driving identical copies, and is folded into , so — the raw load count.
  • (parasitic delay) — the term from Step 2 divided by ; the delay you pay even with zero load. For a reference inverter this is (typically ≈ 1).
Figure — Fan-in and fan-out limits

Step 5 — Fan-out is the slide along the line (why loads hurt linearly)

WHAT. Keep the gate fixed, so and don't change. Now add more loads. Only grows. On the delay line, we simply slide right.

WHY linear. Buckets add in parallel (Step 2), so grows in equal steps with each load ; since grows in step with , and is a straight line, equal steps in give equal steps in . That is why the parent note says "double the loads ⇒ roughly double the effort delay."

WHAT IT LOOKS LIKE. The figure plots vs for an inverter (). At : . At : . Two dots on one straight line — nearly double the delay for double the fan-out.

Figure — Fan-in and fan-out limits

Step 6 — Fan-in tilts and lifts the line (why inputs hurt worse)

WHAT. Now change the gate itself: stack transistors in series to make a NAND-. This does two things at once — it raises the slope and the intercept .

WHY grows — derive it. Recall . For a NAND- we insist the pull-down path drive as strongly as the reference inverter's single NMOS. But now NMOS sit in series, so their resistances add: to match one unit NMOS we must widen each of the series NMOS by a factor (a fatter pipe cancels the series resistance). The PMOS pull-ups are in parallel (only one needs to conduct), so each stays at the inverter's PMOS width, which for matched CMOS is units (PMOS ~2× wider to fix mobility). One input therefore touches one NMOS of width and one PMOS of width :

With drive matched ( by the widening), is just the input-capacitance ratio:

For a NOR- it is the PMOS that stack in series (NOR pulls up through series PMOS). Each series PMOS, already units for mobility, must be widened by → width ; the parallel NMOS stay at :

WHY grows. Between the stacked transistors sit internal source/drain junctions, each a small parasitic bucket. Summing them, the parasitic delay scales as , where (defined in Step 4) is the parasitic delay of one reference inverter.

WHAT IT LOOKS LIKE. The figure overlays three lines for the same load axis: inverter, NAND-2, NAND-4. As rises the line gets steeper (bigger ) and starts higher (bigger ). Delay grows super-linearly in because two things worsen together.

Figure — Fan-in and fan-out limits

Step 7 — The degenerate cases: read the line at its ends

WHAT. A derivation is only trustworthy if it survives the extremes. Check the two edges of the delay line.

WHY. If the formula misbehaves at or as , we'd have missed physics. It doesn't — and each end teaches a design rule.

WHAT IT LOOKS LIKE. The figure marks both ends of the line.

  • Zero fan-out, (output drives nothing external): . Delay does not hit zero — you still pay the parasitic from the driver's own . This is the line's intercept, the floor.
  • Huge fan-out, : — the line rockets up with slope . No cliff, just unbounded slowness. This is why a "fan-out limit" is a chosen speed budget, not a physical wall.
  • The current-based (DC) limit — a different fan-out limit. Besides speed, an output must hold its logic "high" voltage above a guaranteed level while feeding every load. Two symbols capture this: = the current the driver can source out of its output while still counting as "high"; = the small current each downstream input draws (leaks) from that node. If the loads collectively pull more than the driver can supply, the high voltage sags below spec, so the DC fan-out limit is . In older TTL logic, each input sinks a real , so this current limit bites first. In pure CMOS an input is an insulated gate: , so — the DC limit is effectively infinite and the binding constraint is the capacitance/speed limit from this very line.
Figure — Fan-in and fan-out limits
Recall Check: what is the delay of a gate driving nothing?

Not zero. ::: (the parasitic intercept), because the driver's own still must be charged.

Recall Check: in pure CMOS, which fan-out limit binds — current or speed?

Speed (capacitance). ::: Because , the current limit is essentially infinite; only the speed cost matters.


The one-picture summary

WHAT everything reduces to. One straight line . Fan-out slides you along it (linear cost). Fan-in tilts the slope and lifts the intercept (super-linear cost). The line is born from filling one bucket through one pipe: , normalized by .

Figure — Fan-in and fan-out limits
Recall Feynman retelling of the whole walkthrough

A gate is a kid with a hose (the transistor = a pipe of width ). His job is to fill cups (each downstream input = a bucket ). Delay is the time to fill the cups halfway — and because a nearly-full cup fills slowly, that time follows a smooth curve whose halfway point is exactly . To compare kids fairly we measure everyone in units of : the time one reference kid needs to fill one standard cup. Line up more cups on the same wire — that's fan-out — and the fill time grows in a straight line: twice the cups, roughly twice the wait. Now instead make the kid pass water down a line of kids before it reaches the cup — that's fan-in, transistors in series: the line is times more resistive (so we fatten each kid, which grows the cup the previous stage must fill → bigger ), and puddles collect between each kid (parasitic junction caps → bigger ). Two hits, worse than fan-out. One more subtlety: filling (rise, through PMOS) and draining (fall, through NMOS) use different-strength kids, so we pre-widen the weaker PMOS to keep both directions equal. That is the entire chapter in one line: ; slide it with fan-out, tilt-and-lift it with fan-in.

Connections

  • RC Delay Model — Step 3, the origin of .
  • Logical Effort — Step 4, the normalization.
  • CMOS Static Logic Gates — Step 6, why NAND stacks NMOS and NOR stacks PMOS.
  • Transistor Sizing — Step 6, widening to fight .
  • Buffer Sizing and Inverter Chains — Step 5, fixing large fan-out.
  • Propagation Delay and Timing — where this line sets the clock.