Skip to content

7. Delay models and static CMOS gates

Lecture 6 described how an inverter switches: a curved trajectory across the I–V curves, a 50% delay, a slew. That picture is accurate but far too slow to use for every gate on a chip. Lecture 7 replaces it with the model designers actually use for quick estimates: every transistor is a “resistance” that shrinks with its width, every gate input is a capacitance that grows with its width, and delay is one times the other. The lecture shows how to measure the two numbers for a technology, then builds the logic gates beyond the inverter (static CMOS: NOR, NAND, AOI), and finally uses the model to compare them. The comparison gives the lecture’s last and most important idea: a NAND or NOR is slower than an inverter of the same strength by a fixed factor, its logical effort.

After this chapter you can:

  1. explain the simplified delay model and why its “resistance” is really a constant of proportionality between load and delay;
  2. use CgC_g in fF/µm and RnfetR_{nfet}, RpfetR_{pfet} in kΩ·µm to compute the delay of any transistor driving any load;
  3. describe the two fan-out-of-four simulations that measure CgC_g and RR, and say why drain capacitance must be zeroed in one of them;
  4. state what makes a gate static CMOS, build complementary NOR, NAND and AOI gates as duals, and check their truth tables;
  5. explain pin swapping, why tall stacks are avoided, and how a static gate can be non-complementary;
  6. derive FO1=3RnfetCg=τinv\mathrm{FO1} = 3R_{nfet}C_g = \tau_{inv}, size a stack for equal drive, and find the logical effort of NAND (4/3) and NOR (5/3);
  7. write a gate’s delay as its gain g⋅hg \cdot h times τinv\tau_{inv}.

Boxes and equations marked board were written in the lecture. Parts marked added are explanations or examples this guide adds.

Before you start

You need these ideas from earlier chapters. Each is restated here.

  • Gate capacitance (Chapters 4 and 5). A transistor’s gate is a capacitor of area WLWL with Cox=κoxε0/toxC_{ox} = \kappa_{ox}\varepsilon_0/t_{ox} per unit area, so Cgate=WLCoxC_{gate} = WLC_{ox}.
  • Current grows with width (Chapter 4). Every I–V model has ID∝WI_D \propto W. Twice the width carries twice the current, so it charges a load in half the time.
  • PFETs are weaker (Chapter 5). Holes are slower than electrons, so a PFET delivers about half the current of an NFET of the same width. An inverter’s PFET is made twice as wide (2W2W against WW) for equal rise and fall.
  • FO1 and FO4 (Chapter 5). The delay of an inverter driving one copy of itself (fan-out of one), or four copies (fan-out of four).
  • Delay and slew (Chapter 6). Delay is measured from the input’s 50% point to the output’s: tpHLt_{pHL} for a falling output, tpLHt_{pLH} for a rising one. A saturated ramp is a waveform that is flat, ramps linearly, and is flat again.

Notation. WnW_n and WpW_p are the NFET and PFET widths. A sizing written “16/8” means a PFET 16 µm wide and an NFET 8 µm wide, as on the lecture’s boards; “4(16/8)” means four times that, 64/32. The board writes RnfetR_{nfet} and RpfetR_{pfet}; this chapter writes them the same way. τinv\tau_{inv} is the FO1 delay (Section 7).

1. From trajectories to a simple delay model

The idea. Treat the pull-up and pull-down as a switch with a resistor, so that every delay is a “resistance” times the capacitance being driven.

Lightboard in pink and blue: 'Lecture 7', 'Delay modelling'; an inverter with input stepping 0 → 1 driving C_L and a second inverter; a switch-and-resistor network labelled 'resistor' in quotes; 'Technology characterization', '① Gate capacitance'; 'Trajectories': I_D against V_SD with the curve V_SG = V_DD, arrows rising at the right edge and running back along the curve, and a straight line from the top of the curve to the origin; V_out against t rising with a tail.
Lecture07 @ 04:21The real trajectory and its straight-line replacement (centre), the output waveform (right), and the switch-and-resistor model (left).

The trajectory, once more

The lecture starts where Lecture 6 ended (00:25). An inverter’s input switches from VDDV_{DD} to 0, and its PFET charges the load. On the PFET’s I–V curves the operating point rises quickly to the full-overdrive curve, VSG=VDDV_{SG} = V_{DD}, then rides that curve down (01:10). The output rises almost linearly at first, then slows into a tail as the PFET leaves saturation for triode (01:41). Lecture 6 called this the trajectory.

The simplified picture

Since the 1980s, designers have used a much simpler picture (02:09) board:

  • each pull-up and pull-down network is a switch in series with a resistor;
  • switching the input closes one switch, and the load charges (or discharges) through that resistor;
  • on the I–V plane, the curved trajectory becomes a straight line: an immediate jump up, then charging along a resistor’s line (02:39).

A constant of proportionality, not a resistor

The lecturer is careful about the word (03:09). The “resistor” is not a real resistor in the circuit. It is a constant of proportionality between capacitance and delay, measured for each technology:

tdelay=R×Cload.t_{delay} = R \times C_{load}.

The delay is linear in the load, and the constant has the units of resistance (03:29). Since it is measured as delay ÷ capacitance, it already contains whatever factors the real waveform has.

Units. added 1 kΩ×1 fF=103×10−15 s=1 ps1\,\mathrm{k\Omega} \times 1\,\mathrm{fF} = 10^3 \times 10^{-15}\,\mathrm{s} = 1\,\mathrm{ps}. With RR in kΩ and CC in fF, the delay comes out in picoseconds directly.

Common mistakes.

  • Multiplying by ln⁡2≈0.69\ln 2 \approx 0.69. added For a real resistor and capacitor, the 50% point comes at 0.69RC0.69RC. Here RR is defined as measured delay ÷ load, so t=RCt = RC already is the 50% delay; multiplying again by 0.69 gets the measurement wrong.
  • Thinking the model describes the waveform. It predicts one number, the delay, and nothing about the shape.

2. Characterizing a technology: gate capacitance and resistance

The idea. Two numbers per technology are enough: the gate capacitance per micron of width, and the “resistance” times micron of width for each kind of transistor.

Lightboard in pink: '① C_g = fF/µm' with 'width' pointing at µm, '(minimum channel length)', '2 fF/µm'; C_g = WLC_ox = WLκ_ox ε_0/t_ox; C_g/W ≈ L κ_ox ε_0/t_ox with 'constant' at κ_ox ε_0 and arrows at L and t_ox; '② R_nfet (kΩ·µm)', 'R_pfet (kΩ·µm)'; R_nfet/W_n circled, R_pfet/W_p; 'Technology characterization', '① Gate capacitance', '② Resistance' in quotes; the switch-and-resistor network.
Lecture07 @ 09:32The two technology numbers: Cg in fF/µm (centre) and Rnfet, Rpfet in kΩ·µm, divided by the device width (right).

Number one: gate capacitance per micron

When one inverter drives another, what capacitance does it see looking into the second one’s input (04:15)? The lecture characterizes it as femtofarads per micron of device width, CgC_g in fF/µm, for a minimum-length device, because almost every logic transistor is minimum length (05:03–05:30) board.

  • The number is about 2 fF/µm board, essentially the same for NFETs and PFETs (05:58).
  • It has stayed near 2 fF/µm for many technology generations. Recently it has drifted a little, and the problem set’s 90 nm technology gives a slightly different value (06:00).

Why it hardly changes (06:15–07:32):

Gate capacitance per micron of width (board, 06:15–07:32)

  1. The gate is a capacitor of area WLWL board: Cg=WLCoxC_g = WLC_{ox}.
  2. With the oxide capacitance written out board: Cg=WL κoxε0toxC_g = WL\,\dfrac{\kappa_{ox}\varepsilon_0}{t_{ox}}. (The lecturer starts to say “epsilon ox” and corrects himself to κox\kappa_{ox}, the oxide’s dielectric constant.)
  3. Divide by the width board: CgW=L κoxε0tox\dfrac{C_g}{W} = L\,\dfrac{\kappa_{ox}\varepsilon_0}{t_{ox}}. The factor κoxε0\kappa_{ox}\varepsilon_0 is a constant.
  4. Under Dennard scaling (Chapter 4), LL and toxt_{ox} both shrink by the same factor κ\kappa. Their ratio L/toxL/t_{ox} doesn’t change, so neither does Cg/WC_g/W (07:06).

Worked example. added Chapter 4’s device, tox=5.4 nmt_{ox} = 5.4\,\mathrm{nm} and L=0.25 μmL = 0.25\,\mu\mathrm{m}:

  1. Cox=3.9×8.854×10−14 F/cm5.4×10−7 cm=6.39×10−7 F/cm2C_{ox} = \dfrac{3.9 \times 8.854\times10^{-14}\,\mathrm{F/cm}}{5.4\times10^{-7}\,\mathrm{cm}} = 6.39\times10^{-7}\,\mathrm{F/cm^2}.
  2. Convert: 1 F/cm2=1015 fF/108 μm2=107 fF/μm21\,\mathrm{F/cm^2} = 10^{15}\,\mathrm{fF}/10^{8}\,\mu\mathrm{m^2} = 10^{7}\,\mathrm{fF/\mu m^2}, so Cox=6.39 fF/μm2C_{ox} = 6.39\,\mathrm{fF/\mu m^2}.
  3. Cg/W=L Cox=0.25 μm×6.39 fF/μm2=1.60 fF/μmC_g/W = L\,C_{ox} = 0.25\,\mu\mathrm{m} \times 6.39\,\mathrm{fF/\mu m^2} = 1.60\,\mathrm{fF/\mu m}: close to the lecture’s 2 fF/µm.
  4. Scale by κ=2\kappa = 2: L=0.125 μmL = 0.125\,\mu\mathrm{m}, tox=2.7 nmt_{ox} = 2.7\,\mathrm{nm}. CoxC_{ox} doubles and LL halves, so Cg/WC_g/W is still 1.60 fF/µm.

Loads as widths. added Since every gate input is CgC_g per micron, a load can be written as an equivalent gate width, C/CgC/C_g. At 2 fF/µm, a 50 fF load “is” 25 µm of gate. Past exams use this often.

Number two: resistance times micron

The second number is the “resistance” of each kind of transistor, in kΩ·µm, where the micron is again the channel width (08:05) board. There is one value for the NFET and one for the PFET:

  • divide by the actual width to get that device’s resistance: Rnfet/WnR_{nfet}/W_n and Rpfet/WpR_{pfet}/W_p (08:24) board;
  • multiply by the load to get the delay of discharging (NFET) or charging (PFET) it (08:49).

A PFET has half the current drive of an NFET, so a characterized technology should show Rpfet≈2RnfetR_{pfet} \approx 2R_{nfet} (09:20).

Worked example. added A technology with Rnfet=2 kΩ⋅μmR_{nfet} = 2\,\mathrm{k\Omega\cdot\mu m} and Rpfet=4 kΩ⋅μmR_{pfet} = 4\,\mathrm{k\Omega\cdot\mu m}; an inverter with an 8 µm PFET and a 4 µm NFET drives 20 fF.

  1. NFET: Rnfet/Wn=2/4=0.5 kΩR_{nfet}/W_n = 2/4 = 0.5\,\mathrm{k\Omega}, so tpHL=0.5×20=10 pst_{pHL} = 0.5 \times 20 = 10\,\mathrm{ps}.
  2. PFET: Rpfet/Wp=4/8=0.5 kΩR_{pfet}/W_p = 4/8 = 0.5\,\mathrm{k\Omega}, so tpLH=0.5×20=10 pst_{pLH} = 0.5 \times 20 = 10\,\mathrm{ps}.
  3. Equal: the 2:1 width ratio exactly cancels the 2:1 resistance ratio. That is why inverters are sized 2W/W2W/W.
Check yourself An NFET 2 µm wide, in a technology with Rnfet = 2.5 kΩ·µm and Cg = 2 fF/µm, discharges a load equal to 12 µm of gate. What is the delay?

The load is 12 μm×2 fF/μm=24 fF12\,\mu\mathrm{m} \times 2\,\mathrm{fF/\mu m} = 24\,\mathrm{fF}. The NFET’s resistance is 2.5/2=1.25 kΩ2.5/2 = 1.25\,\mathrm{k\Omega}. Delay =1.25×24=30 ps= 1.25 \times 24 = 30\,\mathrm{ps}.

3. Measuring the two numbers in simulation

The idea. Both numbers come from fan-out-of-four simulations with the technology’s SPICE models: first match a plain capacitor to a gate’s load to find CgC_g, then time an inverter driving a known gate load to find RR.

When you get a new technology’s models, you run a few circuit simulations to find CgC_g, RnfetR_{nfet} and RpfetR_{pfet} (09:20). The lecture describes the two set-ups you will build in problem set 3, for its 90 nm technology (10:01, 25:26).

Lightboard in cyan and pink: 'Capacitance'; a ramp from 0 to V_DD labelled '2FO4' feeding an inverter '16µm/8µm' marked 'FO4'; it drives two inverters '2(16/8)' with '32µm/16µm'; the upper one drives an inverter '8(16/8)', the lower one a capacitor C_L (circled); 'm = 2', 'VPWL'; W_eff = W_drawn − ΔW with ΔW → 0; C_g = C_L/(8(16+8)µm); at the right, R_nfet and R_pfet (kΩ·µm) and R_nfet/W_n from the previous board.
Lecture07 @ 18:15The capacitance bench: match CL to the 8(16/8) inverter's input, then Cg = CL/(8(16 + 8) µm).

Bench 1: gate capacitance

The circuit (10:49–14:23) board:

  1. A first inverter of 16/8. The lecturer picks “something relatively beefy” on purpose (11:03). The width a transistor really has is the drawn width minus a correction, Weff=Wdrawn−ΔWW_{eff} = W_{drawn} - \Delta W board, and for very narrow devices ΔW\Delta W matters. Wide devices make it negligible (11:30–12:32). (He says “let me just make it 10 by 8” at 12:32; the board, and his words before and after, say 16 by 8.)
  2. It drives two inverters of 2(16/8): a 32 µm PFET and a 16 µm NFET each. Together they are four times its own size, a fan-out of four (12:32). In the schematic you can type 32 and 16, or type 16 and 8 and set the multiplier m=2m = 2, two devices in parallel (13:26).
  3. The upper 2(16/8) drives an inverter of 8(16/8), four times its size: fan-out of four again (14:03).
  4. The lower 2(16/8) drives a plain capacitor CLC_L.

The input is a saturated ramp from 0 to VDDV_{DD}, entered with the VPWL source (14:32). Its slew time is set to about twice the FO4 delay, which you measure separately: that is roughly the slew of a real gate loaded at fan-out of four (15:06–15:27). The ramp is still too abrupt to be realistic, so the first inverter’s job is to clean it up into a genuine FO4 waveform (16:00).

The measurement (16:32–17:51). Vary CLC_L until the two 2(16/8) inverters have equal delays, rising or falling, it doesn’t matter. Then CLC_L is the input capacitance of the 8(16/8) inverter, whose gates total 8×(16+8) μm8 \times (16 + 8)\,\mu\mathrm{m} board:

Cg=CL8 (16+8) μm.C_g = \frac{C_L}{8\,(16 + 8)\,\mu\mathrm{m}}.

Bench 2: resistance

Lightboard in orange and pink over the capacitance bench: C_L = C_g(16)(16+8)µm; a ramp '2FO4' into inverters '16/8', '4(16/8)', '16(16/8)' with C_g at the end; 'Delay ⇒ t_pLH ⇐ pFET, t_pHL ⇐ nFET'; R_nfet = t_pHL/C_L × 4(8µm) = kΩ·µm; R_pfet = t_pLH/C_L × 4(16µm) = kΩ·µm; '2×' between them; a box with AS = 0, AD = 0, PS = 0, PD = 0; C_d = 0.
Lecture07 @ 24:54The resistance bench: Rnfet = tpHL/CL × 4(8 µm), Rpfet = tpLH/CL × 4(16 µm), with drain capacitance zeroed (AS = AD = PS = PD = 0).

The circuit (18:36) board: three inverters in a row, 16/8, 4(16/8) and 16(16/8), each at fan-out of four, driven by the same kind of ramp. The first cleans up the waveform; the last provides a realistic load; the one being measured is the middle one (19:09).

Measure its two delays (19:38–20:06) board: tpLHt_{pLH} characterizes the PFET (pull-up), tpHLt_{pHL} the NFET (pull-down).

R from the middle inverter (board, 20:06–22:23)

  1. The load is the last inverter’s input board: CL=Cg×16×(16+8) μmC_L = C_g \times 16 \times (16 + 8)\,\mu\mathrm{m}, using the CgC_g from bench 1.
  2. Delay ÷ load gives the NFET’s resistance in kΩ; multiply by its width, 4×8 μm4 \times 8\,\mu\mathrm{m} board: Rnfet=tpHLCL×4(8 μm)R_{nfet} = \dfrac{t_{pHL}}{C_L} \times 4(8\,\mu\mathrm{m}), in kΩ·µm.
  3. The same for the PFET, width 4×16 μm4 \times 16\,\mu\mathrm{m} board: Rpfet=tpLHCL×4(16 μm)R_{pfet} = \dfrac{t_{pLH}}{C_L} \times 4(16\,\mu\mathrm{m}).
  4. The inverter is sized 2:1 for equal pull-up and pull-down, so the two delays should be about equal, and then RpfetR_{pfet} comes out twice RnfetR_{nfet} board (21:40–22:23).

Zero the drain capacitance

This model’s only load is gate capacitance (22:30). Lecture 5 showed how important drain capacitance is, but the quick sizing methods that follow ignore it, and full circuit simulation corrects for it later (22:56). So the characterization must ignore it too.

  • In Virtuoso’s instance properties, each transistor has four parameters describing its diffusions: AS and AD, the source and drain areas, and PS and PD, their perimeters (23:14). Setting all four to zero removes the junction capacitance, the main part of the drain capacitance board.
  • It matters in bench 2: the middle inverter’s own drain capacitance would add to its load and make RR come out too large (24:56).
  • It doesn’t matter in bench 1: both 2(16/8) inverters have the same drain capacitance, so it affects both delays equally and the match happens at the same CLC_L (24:30).

Try both benches. Slide the capacitor until the two delays match, read off CgC_g, and watch the resistances underneath. Then switch the drain capacitance back on.

120 fF
bench 1: delay into the 8(16/8) inverter
24.00 ps
bench 1: delay into CL
15.00 ps
Cg = CL/(8 × 24 µm)
0.625 fF/µm
bench 2: CL = Cg × 16 × 24 µm
240.0 fF
bench 2: tpHL, tpLH measured
24.00, 24.00 ps
Rnfet = tpHL/CL × 32 µm
3.20 kΩ·µm
Rpfet = tpLH/CL × 64 µm
6.40 kΩ·µm
Rpfet/Rnfet
2.00
τinv = 3RnfetCg from these
6.00 ps

Not matched yet: the capacitor-loaded delay is shorter by 9.00 ps, so raise CL. Until it matches, the Cg and both R values above are off.

1002003000204060CL in bench 1 (fF)falling delay (ps)into the gateinto CL

Each technology hides its own Cg, Rnfet and Rpfet. Bench 1's two inverters have the same drain capacitance, so it cancels in the comparison: toggle it and the crossing doesn't move. In bench 2 nothing cancels it, which is why the lecture zeroes AS, AD, PS and PD there. Bench 2's delay is itself an FO4 delay, 4τinv, in this model. The delays here come from the simplified model, (R/W) × C, not from a circuit simulation, so the waveform-shaping first inverter and the input ramp of twice FO4 have no effect on them.

What to notice.

  • Away from the match, the CgC_g you read is wrong, and both resistances inherit the error: bench 2 divides by a load computed from your CgC_g.
  • Turn the drain caps on: the crossing in bench 1 doesn’t move, but bench 2’s delays grow and both resistances come out 12.5% too large in Technology 1.
  • Bench 2’s delay is an FO4 delay, and in this model it equals 4τinv4\tau_{inv} exactly (Section 7). added

Worked example. added Illustrative numbers, the widget’s Technology 1.

  1. Bench 1 matches at CL=192 fFC_L = 192\,\mathrm{fF}: Cg=192/(8×24)=192/192=1.00 fF/μmC_g = 192/(8 \times 24) = 192/192 = 1.00\,\mathrm{fF/\mu m}.
  2. Bench 2’s load: CL=1.00×16×24=384 fFC_L = 1.00 \times 16 \times 24 = 384\,\mathrm{fF}.
  3. Bench 2 measures tpHL=tpLH=24 pst_{pHL} = t_{pLH} = 24\,\mathrm{ps}.
  4. Rnfet=(24/384)×32=2.0 kΩ⋅μmR_{nfet} = (24/384) \times 32 = 2.0\,\mathrm{k\Omega\cdot\mu m}.
  5. Rpfet=(24/384)×64=4.0 kΩ⋅μmR_{pfet} = (24/384) \times 64 = 4.0\,\mathrm{k\Omega\cdot\mu m}: twice RnfetR_{nfet}, as expected.
  6. Had the drain caps been left in, with Cd=0.5 fF/μmC_d = 0.5\,\mathrm{fF/\mu m} (Chapter 5’s η=Cg/Cd=2\eta = C_g/C_d = 2): the middle inverter adds 96 μm×0.5=48 fF96\,\mu\mathrm{m} \times 0.5 = 48\,\mathrm{fF}, the delay becomes (2/32)×(384+48)=27 ps(2/32) \times (384 + 48) = 27\,\mathrm{ps}, and the extraction gives Rnfet=(27/384)×32=2.25 kΩ⋅μmR_{nfet} = (27/384) \times 32 = 2.25\,\mathrm{k\Omega\cdot\mu m}, 12.5% too high.

Common mistakes.

  • Dividing by the wrong width. Bench 1 divides by the receiving inverter’s total gate width, 8×(16+8)8 \times (16 + 8). Bench 2 multiplies by the measured inverter’s NFET (or PFET) width, 4×84 \times 8 (or 4×164 \times 16).
  • Using tpLHt_{pLH} for the NFET. A falling output is the NFET’s job: tpHLt_{pHL} goes with RnfetR_{nfet}.
  • Forgetting to zero AS, AD, PS, PD in bench 2.
Check yourself In bench 1 the two delays match at CL = 150 fF. What is Cg? Bench 2 then gives tpHL = 30 ps. What is Rnfet?

Cg=150/(8×24)=150/192=0.781 fF/μmC_g = 150/(8 \times 24) = 150/192 = 0.781\,\mathrm{fF/\mu m}. Bench 2’s load is 0.781×16×24=300 fF0.781 \times 16 \times 24 = 300\,\mathrm{fF}, so Rnfet=(30/300)×32=3.2 kΩ⋅μmR_{nfet} = (30/300) \times 32 = 3.2\,\mathrm{k\Omega\cdot\mu m}. (HW3-1 asks exactly this, with simulated numbers.)

Check yourself Why does bench 1 still give the right Cg if you forget to zero the drain capacitance, while bench 2 doesn't give the right R?

In bench 1 two identical inverters are compared, and each carries the same drain capacitance, so it adds the same delay to both and cancels in the comparison. In bench 2 the measured delay is divided by the gate load alone, so any drain capacitance is wrongly charged to the transistor’s resistance.

4. Static CMOS gates

The idea. A static CMOS gate has a pull-up network of PFETs and a pull-down network of NFETs, and for any settled inputs exactly one of them is on. Making the two networks duals of each other guarantees it.

Lightboard in white: 'Combinational logic', 'Static CMOS', '(push-pull logic)'; a pull-up box 'PUN (pFETs)' above a pull-down box 'PDN (nFETs)', inputs to both, a load capacitor at the output; 'Complementary static CMOS', 'PUN ↔ PDN duals of each other', 'series ↔ parallel'; a gate with two series PFETs A, B and two parallel NFETs A, B, output Y; a truth table A B | Y: 00 | 1, 01 | 0, 10 | 0, 11 | 0; 'NOR ⇒ Y = overline(A + B)'.
Lecture07 @ 31:52Static CMOS: a pull-up network of PFETs and a pull-down network of NFETs; complementary networks are duals (series ↔ parallel); the NOR and its truth table.

Why we need more than the inverter

So far the only gate is the inverter, and “obviously we can’t make a computer with an inverter”: it is not logically complete (25:54). We need general combinational gates; sequential elements (latches, flip-flops) come later (26:22).

What “static” means

The structure (27:13) board:

  • a pull-up network (PUN) of PFETs between VDDV_{DD} and the output;
  • a pull-down network (PDN) of NFETs between the output and ground;
  • the load capacitance on the output.

The gate is static CMOS if, for every static set of inputs, exactly one network is on (27:44–28:15): either the pull-up connects the output to VDDV_{DD} or the pull-down connects it to ground. Never both, never neither. The other cases are other logic families, both taken up later (28:15):

  • both on: ratioed logic;
  • both off: dynamic logic.

Static CMOS is also called push-pull logic board: one network pushes the output up, the other pulls it down (28:44).

Complementary static CMOS: duals

The simplest way to guarantee the static condition is complementary static CMOS (28:56) board: the two networks are duals of each other. In terms of switches, wherever one network has a series connection, the other has a parallel one (29:41–30:01) board. Complementary always means static; static does not always mean complementary (29:16; Section 6 shows one).

The NOR (board, 30:01–31:56)

  1. Pull-down: two NFETs, A and B, in parallel. The dual pull-up: two PFETs in series.
  2. A = 0, B = 0: both NFETs off, so the pull-down is off; both PFETs on, so the pull-up is on. Y = 1.
  3. A = 0, B = 1 (or A = 1, B = 0): one NFET is on, so the pull-down is on; one PFET is off, so the series pull-up is off. Y = 0.
  4. A = 1, B = 1: Y = 0.
  5. Y is 1 only when neither input is 1 board: Y=A+B‾Y = \overline{A + B}, a NOR.

Swap the roles (32:08): NFETs in series, PFETs in parallel. The pull-down conducts only when both inputs are 1, so Y=AB‾Y = \overline{AB}, a NAND board. The lecturer leaves the truth table to you (32:39); the widget has it.

pull-up network (PFETs)
on
pull-down network (NFETs)
off
output Y
1

Only the pull-up conducts: Y is connected to VDD.

VDDABABY = 1
ABupdownY
00on–1
01on–1
10on–1
11–on0

Boxes are transistors, labelled with the input on their gate; a circle marks a PFET. Green boxes conduct. Series devices conduct only if all are on, parallel devices if any one is. The gates are drawn as switch networks, not as layouts, and sizes are left out (Section 8 sizes them). "Set all four inputs freely" is added: it breaks the constraint Ā = NOT A, B̄ = NOT B, to show why the link can only be removed when the constraint holds.

What to notice.

  • For every input combination of NOR, NAND and AOI, exactly one network is green: the readout never says “contention” or “floating”. That is what “static” means.
  • Series devices conduct only if all are on; parallel devices if any one is. The pull-up of a NOR is a series stack, so it conducts only for A = B = 0.
Check yourself Write the truth table of the two-input NAND and say which network is on in each row.

A = 0, B = 0: both parallel PFETs on, series NFETs off, Y = 1. A = 0, B = 1 and A = 1, B = 0: one PFET on (enough, they are in parallel), the series NFETs off, Y = 1. A = 1, B = 1: both PFETs off, both NFETs on, Y = 0. Exactly one network conducts in every row, so the gate is static.

Check yourself A gate's pull-up and pull-down are both on for one input combination. Is it static CMOS? What happens to the output?

No. Static CMOS needs exactly one network on. With both on, the output is a contest between the two networks, the situation the lecture calls ratioed logic (28:15); the output settles somewhere between the rails, set by their relative strengths.

5. Pin swapping, AOI gates and the stack limit

The idea. Gates with series stacks can be built in more complex forms, but each stacked device makes the gate slower. The device nearest the output is the fastest, and stacks taller than about three are avoided.

Lightboard in white: 'Combinational logic'; a NAND with parallel PFETs A, B and series NFETs, Y = overline(AB); a NOR with series PFETs and parallel NFETs A, B, output Y, its PFET stack circled with a second copy beside it with the order of A and B exchanged; 'pin swapping'.
Lecture07 @ 34:56NAND (left) and NOR (right), with the stack order swapped: pin swapping.

Pin swapping

In a series stack, the order of the devices doesn’t change the logic (33:18–34:15). A NAND is still a NAND with A and B exchanged in its NFET stack; a NOR is still a NOR with its PFETs exchanged. Exchanging them is called pin swapping board.

The delay does change (34:15): for a single input switching, the transistor closer to the output switches with less delay than the one further away. So a late-arriving signal should go to the input nearest the output (34:45–35:23). The lecture states the rule and promises the reason later; Chapter 8 (Lecture 8) gives it.

AND-OR-invert

Lightboard in white and cyan: the NAND and NOR with 'pin swapping' at the left; on the right a gate whose pull-down has A and B in series, in parallel with C and D in series, and whose pull-up has PFETs A and B in parallel, in series with C and D in parallel, output Y; 'overline(AB + CD)', 'AOI'; '3 high stacks' crossed through with a large X.
Lecture07 @ 38:24The AOI gate, Y = overline(AB + CD), and the stack limit: '3 high stacks' crossed out.

A more complex pull-down (35:49–37:25) board: A and B in series, in parallel with C and D in series. The dual pull-up has A and B in parallel, in series with C and D in parallel. The pull-down conducts when AB+CDAB + CD is true, so

Y=AB+CD‾,Y = \overline{AB + CD},

an AND-OR-invert (AOI) gate board. Pin swapping applies here too: the AB and CD branches could change places (36:52). Choose AOI in the widget above to try it.

What limits a gate’s complexity

Why not put a whole block of logic into one huge gate (37:25)? Stacks. In a tall stack, the devices far from the output switch very slowly (37:53) board:

  • two high: no problem;
  • three high: questionable, but sometimes acceptable;
  • more than three high: practically never (38:20).

That is what limits how much logic goes into a single stage of static CMOS.

Check yourself A four-input NAND (all NFETs in one series stack) has one input that arrives much later than the other three. Which stack position should it get, and why?

The position nearest the output. A single input switching near the output gives a shorter delay than one switching at the bottom of the stack (34:15), so the late signal should use the fastest input. (MT17-3d asks how the bottom input compares: it is slower. The reason is in Chapter 8.)

6. A static gate that is not complementary

The idea. If the inputs are guaranteed to come with their complements, some of a dual network’s connections become unnecessary. The gate is still static, though no longer a strict dual.

Lightboard in white and cyan: a gate whose pull-down has B over Ā in series, in parallel with B̄ over A in series; its pull-up has B̄ over Ā on the left and A over B on the right, the link between the two columns erased; output Y; the AOI gate and '3 high stacks' crossed out at the right.
Lecture07 @ 41:21The constrained gate after the link between the pull-up columns was erased (it is still drawn at 40:31, see the gallery).

The lecture’s example (38:52–41:15) board:

  • the inputs come in complementary pairs: A with Ā, B with B̄, and whatever drives them guarantees that each pair is always opposite (39:31);
  • the pull-down: B in series with Ā, in parallel with B̄ in series with A;
  • its dual pull-up: B̄ and A in parallel, in series with Ā and B in parallel. Drawn as two columns, B̄ over Ā and A over B, with a link between the middles of the columns (40:08).

The claim (40:20): removing the link changes neither the logic function nor the static behaviour, because the input constraints hold. The result is a static CMOS gate whose networks are not duals (40:44). The lecturer leaves the proof as an exercise.

The proof (added)

  1. Pull-down: it conducts when BAˉ+BˉAB\bar A + \bar B A, that is, when A and B differ.
  2. Pull-up with the link: the PFET pairs conduct when (B+Aˉ)(B + \bar A) and (A+Bˉ)(A + \bar B) are both true. Multiplying out with Aˉ=NOT A\bar A = \text{NOT } A: AB+AˉBˉAB + \bar A\bar B, that is, when A and B are equal.
  3. Pull-up without the link: the left column (B̄ over Ā) conducts when B=1B = 1 and A=1A = 1; the right column (A over B) when A=0A = 0 and B=0B = 0. Together: AB+AˉBˉAB + \bar A\bar B, the same.
  4. In every one of the four allowed input combinations, exactly one network conducts. The gate is static, and Y=AB+AˉBˉY = AB + \bar A\bar B: an XNOR (the lecture doesn’t name it).

Choose the two “constrained gate” settings in the widget of Section 4 and compare the truth tables. Then press “Set all four inputs freely” added: with A = 0, Ā = 0, B = 1, B̄ = 1 the gate without the link has neither network on and its output floats, while the full dual still drives it. The link is only unnecessary because of the constraint.

Check yourself In the constrained gate without the link, take A = 1, B = 0 (so Ā = 0, B̄ = 1). Which devices conduct, and what is Y?

Pull-down: the B̄–A branch has both NFETs on (B̄ = 1, A = 1), so it conducts. Pull-up: the left column needs B̄ = 0 (it is 1), the right column needs A = 0 (it is 1); neither conducts. Only the pull-down is on: Y = 0, as an XNOR gives for unequal inputs.

7. The fan-out-of-one delay

The idea. With the delay model, the FO1 delay of an inverter is just 3RnfetCg3R_{nfet}C_g, independent of its size. It becomes the unit in which all gate delays are measured: τinv\tau_{inv}.

Lightboard in cyan: an inverter with PFET 2W and NFET W driving an equal inverter; R_pfet = 2R_nfet; FO1 = C_g(3W)·R_nfet/W; FO1 = 3R_nfet C_g = τ_inv; a NAND driving a NAND (right); two NFETs of 2W in series with R_nfet/2W + R_nfet/2W = R_nfet/W, and a single NFET of W.
Lecture07 @ 46:41FO1 = Cg(3W)·Rnfet/W = 3Rnfet Cg = τ_inv (left), and two 2W devices in series acting as one of width W (bottom right).

Back to our friend the fan-out of one (41:46): an inverter with a WW NFET and a 2W2W PFET drives one identical inverter, with Rpfet=2RnfetR_{pfet} = 2R_{nfet} so that rise and fall are equal (42:02).

FO1 from the model (board, 42:19–43:26)

  1. The load is the next inverter’s input, W+2W=3WW + 2W = 3W of gate board: Cload=Cg(3W)C_{load} = C_g(3W).
  2. Use the pull-down (the pull-up gives the same): resistance Rnfet/WR_{nfet}/W.
  3. Multiply board: FO1=Cg(3W)⋅RnfetW\mathrm{FO1} = C_g(3W) \cdot \dfrac{R_{nfet}}{W}.
  4. The widths cancel board: FO1=3RnfetCg\mathrm{FO1} = 3R_{nfet}C_g.

“Once I know my technology parameters, the CgC_g and RnfetR_{nfet}, I also can calculate my fan-out of one delay. Isn’t that nice?” (43:11). This delay is called τinv\tau_{inv}, the basic unit of delay (43:26) board.

Compared with Chapter 5. added Lecture 5 found FO1=3τtr(1+1/η)\mathrm{FO1} = 3\tau_{tr}(1 + 1/\eta) and showed that FO4 is less than four times FO1, because the driver’s own drain capacitance is paid only once. This model has no drain capacitance, so here FO4=4 FO1=12RnfetCg\mathrm{FO4} = 4\,\mathrm{FO1} = 12R_{nfet}C_g. That is why bench 2’s delay in Section 3 equals 4τinv4\tau_{inv}.

Worked example. added With the numbers of Section 3, Rnfet=2.0 kΩ⋅μmR_{nfet} = 2.0\,\mathrm{k\Omega\cdot\mu m} and Cg=1.00 fF/μmC_g = 1.00\,\mathrm{fF/\mu m}: τinv=3×2.0×1.00=6 ps\tau_{inv} = 3 \times 2.0 \times 1.00 = 6\,\mathrm{ps}, and FO4=24 ps\mathrm{FO4} = 24\,\mathrm{ps}, the delay bench 2 measured. With the lecture’s 2 fF/µm and Rnfet=2.5 kΩ⋅μmR_{nfet} = 2.5\,\mathrm{k\Omega\cdot\mu m}: τinv=3×2.5×2=15 ps\tau_{inv} = 3 \times 2.5 \times 2 = 15\,\mathrm{ps}.

Any load in units of τ_inv. added An inverter with NFET WnW_n (PFET 2Wn2W_n) driving CloadC_{load} has delay RnfetWnCload=Cload3WnCg τinv\dfrac{R_{nfet}}{W_n}C_{load} = \dfrac{C_{load}}{3W_nC_g}\,\tau_{inv}: the load divided by the inverter’s own input capacitance, in units of τinv\tau_{inv}. An extra fixed load (a wire, a side branch) just adds to CloadC_{load}.

Common mistakes.

  • Counting only the NFET of the receiving inverter. Its input is the gate of both devices, 3W3W.
  • Expecting a bigger inverter to have a smaller FO1. It drives a bigger copy; the widths cancel. Size helps only against a fixed load.
  • Assuming every exam uses Rpfet=2RnfetR_{pfet} = 2R_{nfet}. Some problems state that the NFET and PFET have equal strength; then the balanced inverter is W/WW/W and τinv=2RnfetCg\tau_{inv} = 2R_{nfet}C_g. added
Check yourself Cg = 1 fF/µm, Rnfet = 1 kΩ·µm, Rpfet = 2 kΩ·µm. A 2W/W inverter with W = 2 µm drives an identical inverter plus a 4 fF side load. What are τinv and the delay?

τinv=3×1×1=3 ps\tau_{inv} = 3 \times 1 \times 1 = 3\,\mathrm{ps}. The load is 3WCg+4=6+4=10 fF3W C_g + 4 = 6 + 4 = 10\,\mathrm{fF}, the resistance Rnfet/W=0.5 kΩR_{nfet}/W = 0.5\,\mathrm{k\Omega}, so the delay is 0.5×10=5 ps0.5 \times 10 = 5\,\mathrm{ps}. In units of τinv\tau_{inv}: (6+4)/6=5/3(6 + 4)/6 = 5/3, and 5/3×3=5 ps5/3 \times 3 = 5\,\mathrm{ps}. (MT23-1d uses this stage delay.)

Check yourself A chain of four identical 2W/W inverters, each output also carrying a wire of Cx. τinv = 20 ps, Cg = 2 fF/µm. What is the delay through the chain for Cx = 0, and for Cx = 6 fF with W = 2 µm and with W = 10 µm? Which W minimizes the delay?

Cx=0C_x = 0: every stage is an FO1, so 4τinv=80 ps4\tau_{inv} = 80\,\mathrm{ps}, whatever WW. With the wire, each stage is τinv(3WCg+Cx)/(3WCg)\tau_{inv}(3WC_g + C_x)/(3WC_g). W=2 μmW = 2\,\mu\mathrm{m}: 3WCg=12 fF3WC_g = 12\,\mathrm{fF}, a stage is 20×18/12=30 ps20 \times 18/12 = 30\,\mathrm{ps}, the chain 120 ps120\,\mathrm{ps}. W=10 μmW = 10\,\mu\mathrm{m}: 3WCg=60 fF3WC_g = 60\,\mathrm{fF}, a stage is 20×66/60=22 ps20 \times 66/60 = 22\,\mathrm{ps}, the chain 88 ps88\,\mathrm{ps}. The delay keeps falling as WW grows: the wire becomes negligible next to the gates. (MT17-4a–b, MT21-4a, FN10-4a, MT24-2e.)

Check yourself With Rpfet = 2Rnfet and Cg = 2 fF/µm, an inverter with a 2 µm PFET and a 1 µm NFET drives 50 fF. Find both delays in units of τinv. Repeat with an 8 µm PFET.

50 fF is 25 µm of gate. Falling: (Rnfet/1 μm)×25 μm Cg=25RnfetCg=25/3=8.33 τinv(R_{nfet}/1\,\mu\mathrm{m}) \times 25\,\mu\mathrm{m}\,C_g = 25R_{nfet}C_g = 25/3 = 8.33\,\tau_{inv}. Rising with 2 µm: (2Rnfet/2)×25Cg(2R_{nfet}/2) \times 25C_g, also 8.33 τinv8.33\,\tau_{inv}. Rising with 8 µm: (2Rnfet/8)×25Cg=6.25RnfetCg=2.08 τinv(2R_{nfet}/8) \times 25C_g = 6.25R_{nfet}C_g = 2.08\,\tau_{inv}; the falling delay is unchanged. (MT17-3a–b is this problem with equal-strength devices, where τinv=2RnfetCg\tau_{inv} = 2R_{nfet}C_g.)

Check yourself An inverter sized Wp/Wn = n µm/1 µm drives an identical inverter (Rpfet = 2Rnfet). Write its falling and rising delays in units of RnfetCg. Which gives the smaller sum of the two, n = 2 or n = 1.5?

The load is (n+1)(n + 1) µm of gate. Falling: (Rnfet/1)(n+1)Cg=(n+1)RnfetCg(R_{nfet}/1)(n + 1)C_g = (n + 1)R_{nfet}C_g. Rising: (2Rnfet/n)(n+1)Cg(2R_{nfet}/n)(n + 1)C_g. For n=2n = 2: 3+3=63 + 3 = 6. For n=1.5n = 1.5: 2.5+3.33=5.832.5 + 3.33 = 5.83, smaller: a narrower PFET loads the previous stage less, and that wins more on the falling edge than it loses on the rising one. (MT21-4c finds the best nn, 2\sqrt{2}, by calculus; the exam kit does it.)

Check yourself From HW3 you have Cg = 1 fF/µm, Rnfet = 3 kΩ·µm and Rpfet = 6 kΩ·µm. An inverter with an 8 µm PFET and a 4 µm NFET drives an identical inverter. Estimate tpLH and tpHL.

The load is (8+4)×1=12 fF(8 + 4) \times 1 = 12\,\mathrm{fF}. tpLH=(6/8)×12=9 pst_{pLH} = (6/8) \times 12 = 9\,\mathrm{ps} and tpHL=(3/4)×12=9 pst_{pHL} = (3/4) \times 12 = 9\,\mathrm{ps}. (HW4-1b does this with its own characterized values.)

8. Sizing stacks and logical effort

The idea. To give a NAND or NOR the same drive as an inverter, the stacked devices must be made wider. Wider devices mean more input capacitance for the same drive, so the gate is slower than an inverter by a fixed factor: its logical effort.

Two devices in series

Treat stacked transistors like resistors in series (45:29) board:

The stack rule (board, 45:29–46:28)

  1. Two NFETs in series, each of width 2W2W. Each has resistance Rnfet/2WR_{nfet}/2W.
  2. In series the resistances add board: Rnfet2W+Rnfet2W=RnfetW\dfrac{R_{nfet}}{2W} + \dfrac{R_{nfet}}{2W} = \dfrac{R_{nfet}}{W}.
  3. That is the resistance of a single NFET of width WW board.
  4. So a stack of two needs each device twice as wide to keep the strength of one device. (“Zero order”, the lecturer adds (46:00).)

added The same counting for a stack of three: each device 3W3W, since 3×R/3W=R/W3 \times R/3W = R/W.

NAND driving NAND

Lightboard in cyan: the FO1 equations at the left; a reference inverter 2µm/1µm at the top right; a NAND driving a NAND with every device marked 2µm; 'logic effort' with an arrow to a circled 4/3 τ_inv; Delay = C_g(4µm) R_nfet/1µm = 4C_g R_nfet = 4/3 τ_inv.
Lecture07 @ 50:42NAND driving NAND, every device 2 µm, against the 2/1 µm inverter: delay = Cg(4 µm) Rnfet/1 µm = 4/3 τ_inv, the logical effort.

Size a NAND to match a 2/1 µm inverter (46:28–47:12) board:

  • its two NFETs are in series, so each is 2 µm: together they act like the inverter’s 1 µm NFET;
  • its two PFETs are in parallel, each 2 µm, like the inverter’s 2 µm PFET. added Why not 1 µm each, since two in parallel make 2 µm? Because when only one input falls, only one PFET turns on, and it alone must match the inverter’s pull-up. Sizing is for the worst case.

Now let the NAND drive an identical NAND (47:25):

NAND logical effort (board, 47:47–50:31)

  1. One input of the receiving NAND is the gate of one 2 µm NFET and one 2 µm PFET: 4 μm4\,\mu\mathrm{m} of gate board.
  2. The driving NAND pulls down with the strength of a 1 µm NFET, Rnfet/1 μmR_{nfet}/1\,\mu\mathrm{m}.
  3. Delay board: Cg(4 μm)⋅Rnfet1 μm=4CgRnfetC_g(4\,\mu\mathrm{m}) \cdot \dfrac{R_{nfet}}{1\,\mu\mathrm{m}} = 4C_gR_{nfet}.
  4. Since CgRnfet=τinv/3C_gR_{nfet} = \tau_{inv}/3 board: delay =43 τinv= \tfrac43\,\tau_{inv}.

Why 4/3 (49:16). The NAND has the same drive strength as the 2/1 inverter, but it presents 4 µm of input capacitance instead of 3 µm. Building the more complex function needed a stack, the stack needed larger devices, and larger devices are more capacitance to drive. (At 49:03 the lecturer says “four thirds the drive strength”; he means four thirds the delay, as he said a sentence earlier and as the board writes.)

This number, 4/34/3, is the logical effort of the NAND (49:47) board. It is a property of the gate’s structure: with every device WW instead of 2 µm, the same calculation gives 4/3 τinv4/3\,\tau_{inv} again (50:03).

NOR driving NOR

Lightboard in purple and cyan: a NOR driving a NOR, PFETs marked 4W (two in series in each gate), NFETs W; Delay = C_g 5W R_nfet/W = 5R_nfet C_g = 5/3 τ_inv; the NAND calculation with 4/3 τ_inv at the right.
Lecture07 @ 53:53NOR driving NOR: PFETs 4W, NFETs W; delay = Cg 5W Rnfet/W = 5/3 τ_inv.

Will the NOR’s logical effort be better or worse (50:35)? Worse: the NOR stacks the PFETs, which are already twice as large, and stacking doubles them again (51:06).

NOR logical effort (board, 52:43–53:52)

  1. NFETs in parallel, each WW: one alone has the strength of the inverter’s WW NFET.
  2. A single PFET would need 2W2W; two in series need twice that: 4W4W each board.
  3. One input: W+4W=5WW + 4W = 5W of gate.
  4. Delay board: Cg(5W)⋅RnfetW=5RnfetCg=53 τinvC_g(5W) \cdot \dfrac{R_{nfet}}{W} = 5R_{nfet}C_g = \tfrac53\,\tau_{inv}.

The logical effort is 5/3, worse than the NAND’s 4/3, “just as we suspected” (53:52).

Compare the gates, and see what the fan-out and an extra load do:

1
0 fF
1.0 µm
2.0 kΩ·µm
1.0 fF/µm
NFETs
2 in series, 2 µm each
PFETs
2 µm each, 2 in parallel
one input's gate width
4 µm = 4.00 fF
logical effort g = Cin/(3W Cg)
1.333
electrical effort h = Cout/Cin
1.000
gain g·h
1.333
τinv = 3RnfetCg
6.00 ps
delay (Rnfet/W) × Cout
8.00 ps = 1.333 τinv
123456051015fan-out (copies driven)delay (τinv)inverterNAND2NOR2NAND3NOR3

Each line's slope is its logical effort: every extra copy driven adds one more Cin, and the gate's drive is the same as the reference inverter's. With Cx = 0 the widths cancel: change W, Rnfet or Cg and the delay in τinv stays put. A fixed extra load breaks that: larger W makes it relatively smaller. Drain capacitance is ignored, as in the lecture's model. The lecture works the inverter, NAND2 and NOR2; the 3-input gates use the same stack rule.

What to notice.

  • With fan-out 1 the delays are 11, 4/34/3 and 5/3 τinv5/3\,\tau_{inv}, whatever WW, RnfetR_{nfet} or CgC_g: logical effort is a pure number.
  • Each line’s slope is its logical effort. NOR2 and NAND3 lie on top of each other: both have g=5/3g = 5/3.
  • Add an extra load CxC_x and the delay depends on WW again; a larger WW helps (Section 7’s chain).

Worked example. added With τinv=6 ps\tau_{inv} = 6\,\mathrm{ps} (Section 3’s technology): a NAND driving a NAND takes 43×6=8 ps\tfrac43 \times 6 = 8\,\mathrm{ps}, a NOR driving a NOR 53×6=10 ps\tfrac53 \times 6 = 10\,\mathrm{ps}. The NAND is the faster of the two.

Common mistakes.

  • Counting all four transistors of the receiving gate. One input connects to one NFET and one PFET; only those are its load.
  • Sizing the parallel devices as if they all turn on together. A single one may be the only one on.
  • Forgetting that the PFET doubling and the stack doubling multiply in the NOR: 2×2W=4W2 \times 2W = 4W.
Check yourself Size the AOI gate of Section 5 for the drive of a 2W/W inverter, and find its logical effort for input A.

Pull-down: each branch is a stack of two NFETs, so each is 2W2W. Pull-up: two parallel pairs in series, a stack of two PFETs in the worst case, so each PFET is 2×2W=4W2 \times 2W = 4W. Input A drives one 2W2W NFET and one 4W4W PFET: 6W6W of gate. g=6W/3W=2g = 6W/3W = 2.

Check yourself A four-input NAND has all four NFETs and all four PFETs 4 µm wide; it drives 50 fF, with Cg = 2 fF/µm and Rpfet = 2Rnfet. Find the falling and rising delays in units of τinv.

50 fF is 25 µm of gate. Falling: four 4 µm NFETs in series act as one 1 µm NFET, so (Rnfet/1)×25Cg=25RnfetCg=8.33 τinv(R_{nfet}/1) \times 25C_g = 25R_{nfet}C_g = 8.33\,\tau_{inv}. Rising: one 4 µm PFET, (2Rnfet/4)×25Cg=12.5RnfetCg=4.17 τinv(2R_{nfet}/4) \times 25C_g = 12.5R_{nfet}C_g = 4.17\,\tau_{inv}. (MT17-3d, with equal-strength devices in the original.)

9. Electrical effort and gain

The idea. A gate’s delay is the product of two factors: its logical effort gg (how much harder its structure is to drive than an inverter’s) and its electrical effort hh (how much load it drives compared with its own input). The product g⋅hg \cdot h is the gate’s gain, and the delay is gain × τinv\tau_{inv}.

Lightboard in purple and cyan: the NOR calculation with 5/3 circled; 'gain-based tuning'; a NAND (circled) driving two NANDs, every device 2µm; Delay = C_g(4µm)(2)R_nfet/1µm; (2)(4/3) τ_inv with 'h' over the 2 and 'g' over the 4/3, 'electrical effort' and 'logical effort' with arrows, '“gain”' boxed with an arrow to the product.
Lecture07 @ 57:19A NAND driving two NANDs: (2)(4/3) τ_inv. h = 2 is the electrical effort, g = 4/3 the logical effort, their product the gain.

Let the NAND drive two NANDs of its own size (54:35):

Gain (board, 54:57–56:20)

  1. The load doubles: two inputs of 4 µm each board: Cg(4 μm)(2)C_g(4\,\mu\mathrm{m})(2).
  2. Delay board: Cg(4 μm)(2) Rnfet1 μm=2×43 τinv=83 τinvC_g(4\,\mu\mathrm{m})(2)\,\dfrac{R_{nfet}}{1\,\mu\mathrm{m}} = 2 \times \tfrac43\,\tau_{inv} = \tfrac83\,\tau_{inv}.
  3. The 43\tfrac43 is the logical effort, gg board.
  4. The extra factor 2, from fanning out to two gates of the same size, is the electrical effort, hh board. In the Sutherland and Sproull book they are called gg and hh (55:53).
  5. Their product is the gain of the gate board: g⋅h=83g \cdot h = \tfrac83.

The gain is “the factor that I multiply by τinv\tau_{inv}, the unit inverter delay, to get the delay of that gate given its loading” (56:20).

What comes next (56:31). The next lecture uses gains to estimate the delay of any path through logic “very quickly and easily”, and then to choose the transistor widths along a critical path that minimize its delay: gain-based tuning, also called the method of logical effort, after the Sutherland and Sproull book on the course reserves (57:04). added Since each gate’s delay is its own gain times τinv\tau_{inv}, a path’s delay is the sum of the gains along it, times τinv\tau_{inv}.

Worked example. added With τinv=6 ps\tau_{inv} = 6\,\mathrm{ps}: the NAND driving two NANDs takes 83×6=16 ps\tfrac83 \times 6 = 16\,\mathrm{ps}. Set the widget of Section 8 to NAND2 with fan-out 2 to see it.

Check yourself An inverter (2 µm PFET, 1 µm NFET) drives one input of a NAND sized like the lecture's (every device 2 µm). The NAND drives 60 fF. With Cg = 2 fF/µm and Rpfet = 2Rnfet, what is each stage's gain, and the total delay in τinv?

Inverter: g=1g = 1, h=4 μm/3 μm=4/3h = 4\,\mu\mathrm{m}/3\,\mu\mathrm{m} = 4/3, gain 1.331.33. NAND: g=4/3g = 4/3; 60 fF is 30 µm of gate, so h=30/4=7.5h = 30/4 = 7.5 and the gain is 1010. Total: 1.33+10=11.33 τinv1.33 + 10 = 11.33\,\tau_{inv}. Check the NAND directly: (Rnfet/1 μm)×60 fF=30RnfetCg=10 τinv(R_{nfet}/1\,\mu\mathrm{m}) \times 60\,\mathrm{fF} = 30R_{nfet}C_g = 10\,\tau_{inv}. (MT17-5a and MT23-5a add gains this way along four stages.)

Check yourself A NOR (logical effort 5/3) drives three NORs of its own size. What is its gain? With τinv = 15 ps, what is its delay?

h=3h = 3, so the gain is 53×3=5\tfrac53 \times 3 = 5, and the delay 5×15=75 ps5 \times 15 = 75\,\mathrm{ps}.

Formulas to remember

FormulaMeaning
t=RW Cloadt = \dfrac{R}{W}\,C_{load}; 1 kΩ×1 fF=1 ps1\,\mathrm{k\Omega} \times 1\,\mathrm{fF} = 1\,\mathrm{ps}the simplified delay model; RR is a fitted constant (no ln 2)
Cg/W=Lκoxε0/tox≈2 fF/μmC_g/W = L\kappa_{ox}\varepsilon_0/t_{ox} \approx 2\,\mathrm{fF/\mu m}gate capacitance per micron; constant under scaling
RnfetR_{nfet}, RpfetR_{pfet} in kΩ·µm, Rpfet≈2RnfetR_{pfet} \approx 2R_{nfet}resistance times width; divide by WW
Cg=CL/(8(16+8) μm)C_g = C_L/(8(16 + 8)\,\mu\mathrm{m})bench 1: match CLC_L to an 8(16/8) input
Rnfet=tpHLCL4(8 μm)R_{nfet} = \dfrac{t_{pHL}}{C_L}4(8\,\mu\mathrm{m}), Rpfet=tpLHCL4(16 μm)R_{pfet} = \dfrac{t_{pLH}}{C_L}4(16\,\mu\mathrm{m})bench 2, CL=Cg⋅16(16+8) μmC_L = C_g \cdot 16(16 + 8)\,\mu\mathrm{m}; AS = AD = PS = PD = 0
exactly one of PUN, PDN onstatic CMOS (both on: ratioed; both off: dynamic)
PUN and PDN duals: series ↔ parallelcomplementary static CMOS
A+B‾\overline{A + B}, AB‾\overline{AB}, AB+CD‾\overline{AB + CD}NOR, NAND, AOI
late signal on the device nearest the output; stacks ≤ 2, maybe 3pin swapping; the stack limit
τinv=FO1=3RnfetCg\tau_{inv} = \mathrm{FO1} = 3R_{nfet}C_gthe unit of delay; FO4 = 4τinv4\tau_{inv} in this model
stack of nn: each device n×n\times widerequal drive
gNAND2=4/3g_{NAND2} = 4/3, gNOR2=5/3g_{NOR2} = 5/3logical effort, Cin,gate/Cin,invC_{in,gate}/C_{in,inv}
delay =g⋅h⋅τinv= g \cdot h \cdot \tau_{inv}, h=Cout/Cinh = C_{out}/C_{in}gain

The lecture’s boards