Poles, zeros and the Miller effect

Read a pole off a Bode plot and off a schematic, watch a 20 fF capacitor across a gain act like 172 fF, and use the dominant pole to predict where the gain reaches 1.

Lesson
E6.1
Time
30 min
Runs on
ngspice
Check
6 questions

A common-source stage with a gain of 7.3 drives 50 fF, and its output node (22.9 kΩ into 50 fF) promises 139 MHz. In the chip a 100 kΩ source drove it, and a 20 fF wire capacitance ran from its gate to its drain. Its bandwidth was 8.5 MHz.

AC analysisOne stage, one 20 fF capacitor, three placesGain of the E3.2 stage (W/L = 2/0.15 µm, RD = 36 kΩ) from a 100 kΩ source into 50 fF. The capacitor is absent, from gate to ground, or from gate to drain.
  • no C_F
  • 20 fF gate to ground
  • 20 fF gate to drain
-70 dB-60 dB-50 dB-40 dB-30 dB-20 dB-10 dB010 dB20 dB30 dBGain10 kHz100 kHz1 MHz10 MHz100 MHz1 GHz10 GHzFrequency8.51 MHz51.2 MHz98.9 MHz-80 dB-60 dB-40 dB-20 dB020 dB40 dBGain10 kHz1 MHz100 MHz10 GHzFrequency8.51 MHz51.2 MHz98.9 MHz
  1. Frequency 1 MHzno C_F = 17.28 dB · 20 fF gate to ground = 17.28 dB · 20 fF gate to drain = 17.23 dB

    At 1 MHz all three give 17.3 dB, a gain of 7.32.

  2. Frequency 8.505 MHzno C_F = 17.25 dB · 20 fF gate to ground = 17.17 dB · 20 fF gate to drain = 14.27 dB

    From gate to drain, 20 fF puts the −3 dB point at 8.51 MHz.

  3. Frequency 51.19 MHzno C_F = 16.26 dB · 20 fF gate to ground = 14.27 dB · 20 fF gate to drain = 1.568 dB

    From gate to ground, the same 20 fF gives 51.2 MHz.

  4. Frequency 98.86 MHzno C_F = 14.27 dB · 20 fF gate to ground = 9.901 dB · 20 fF gate to drain = -4.082 dB

    Without it: 98.9 MHz. The transistor's own capacitances take it below 139 MHz.

Read the plot as a table
Frequencyno C_F20 fF gate to ground20 fF gate to drain
10 kHz17.28 dB17.28 dB17.28 dB
100 kHz17.28 dB17.28 dB17.28 dB
1 MHz17.28 dB17.28 dB17.23 dB
8.505 MHz17.25 dB17.17 dB14.27 dB
10 MHz17.24 dB17.13 dB13.51 dB
51.19 MHz16.26 dB14.27 dB1.568 dB
98.86 MHz14.27 dB9.901 dB-4.082 dB
100 MHz14.22 dB9.802 dB-4.181 dB
1 GHz-6.207 dB-23.12 dB-25.98 dB
10 GHz-43.45 dB-62.85 dB-50.62 dB

Measured on ngspice 42, 50 points per decade. Each mark is the −3 dB frequency of one curve.

Across the gain, 20 fF cut the bandwidth by a factor of 11.6, because the gain multiplies it.

Reading a pole on the Bode plot

Every node has some resistance and some capacitance to ground. As the frequency rises, the capacitor's impedance 1/(2πfC) falls, and at fp = 1/(2πRC) it equals the resistance. Above that point the capacitor shunts the signal away.

That frequency is a pole. Above it the gain falls by 20 dB per decade, and the phase lags by up to 90°. An isolated pole, far from any other, shows itself in two readings at once: the gain is 3 dB down, and the phase has moved by 45°.

Step through the Bode plot of the lab stage, which has the 20 fF from gate to drain.

AC analysisThe lab stage: gain and phaseGain of v(out) and of the gate node v(g) for 1 V at the source, and the phase of v(out). The stage inverts, so its phase starts at 180°.
  • |v(out)|
  • |v(g)|
  • phase of v(out)
-60 dB-40 dB-20 dB020 dB40 dBGain-90°090°180°270°Phase10 kHz100 kHz1 MHz10 MHz100 MHz1 GHz10 GHzFrequency0 dB: gain 1f3 = 8.51 MHzfu = 61.6 MHz-60 dB-40 dB-20 dB020 dB40 dBGain-90°090°180°270°Phase10 kHz1 MHz100 MHz10 GHzFrequency0 dB: gain 1f3 = 8.51 MHzfu = 61.6 MHz
  1. Frequency 100 kHz|v(out)| = 17.28 dB · |v(g)| = -0.0005959 dB · phase of v(out) = 179.3°

    Flat at 17.3 dB (7.32), phase 180°: the stage inverts. The gate follows the source at 0 dB.

  2. Frequency 8.505 MHz|v(out)| = 14.27 dB · |v(g)| = -2.979 dB · phase of v(out) = 134.4°

    8.51 MHz: the output is 3 dB down and the phase is 134.4°, 45.6° below its start. The gate is 3 dB down at 8.57 MHz, so this pole belongs to the gate node.

  3. Frequency 61.59 MHz|v(out)| = -0.004474 dB · |v(g)| = -15.84 dB · phase of v(out) = 93.26°

    Gain 1 at 61.6 MHz, phase 93.3°. The first pole accounts for 82.1° of the 86.7° lag.

Read the plot as a table
Frequency|v(out)||v(g)|phase of v(out)
10 kHz17.28 dB-0.000005958 dB179.9°
100 kHz17.28 dB-0.0005959 dB179.3°
1 MHz17.23 dB-0.05919 dB173.2°
8.505 MHz14.27 dB-2.979 dB134.4°
10 MHz13.51 dB-3.726 dB129.6°
61.59 MHz-0.004474 dB-15.84 dB93.26°
100 MHz-4.181 dB-18.37 dB87.4°
1 GHz-25.98 dB-23.72 dB26.31°
10 GHz-50.62 dB-40.28 dB-69.94°

Measured on ngspice 42: the AC run of the lab netlist, 50 points per decade.

You can also find poles by inspection. Each high-resistance node gives one, at 1/(2πRnodeCnode), with Rnode the resistance seen from the node. Here the gate sees 100 kΩ and the output RD ‖ ro = 22.9 kΩ.

A zero is the mirror image: above it the gain slope rises by 20 dB per decade. In the usual case, a left-half-plane zero, the phase also leads by up to 90°. A right-half-plane zero raises the gain the same way but makes the phase lag like a pole, the worst of both; the two-stage op-amp has one (E6.4).

Why a capacitor across a gain looks larger

The lab stage with C_F from gate to drainRsig = 100 kΩ feeds the gate. CF = 20 fF bridges the gate and the drain, which swings −7.32 times the gate.
The lab stage with C_F from gate to drain+VIN0.7815 V + acRsig​100 kΩCF​20 fFVDD1.8 VRD​36 kΩM1W/L = 2/0.15CL​50 fFoutg0.7815 Vout0.900 V
  1. The input side

    A signal vg at the gate comes through Rsig = 100 kΩ. Whatever current the gate node draws must flow through that resistor.

    iin

  2. The drain swings the other way

    M1 turns vg into a drain current, and RD turns it into vout = −7.32·vg. When the gate rises by 1 mV, the drain falls by 7.32 mV.

  3. C_F sees both

    One plate of CF moves +1 mV, the other −7.32 mV, so 8.32 mV appears across it. It draws 8.32 times the current that the same capacitor to ground would. From the gate it looks like CF·(1 + A) = 166 fF to ground.

    (1 + A)·i

Read the circuit as text
  • VIN voltage source (0.7815 V + ac): + → n1, − → 0
  • R_sig resistor (100 kΩ): pin 1 → n1, pin 2 → g
  • C_F capacitor (20 fF): pin 1 → out, pin 2 → g
  • R_D resistor (36 kΩ): pin 1 → VDD, pin 2 → out
  • M1 NMOS transistor (W/L = 2/0.15): gate → g, drain → out, source → 0
  • C_L capacitor (50 fF): pin 1 → out, pin 2 → 0
  • out port: terminal → out
  • g = 0.7815 V
  • out = 0.900 V

Body tied to the source at ground. The node voltages are the operating point of the lab run.

Name it now. A capacitor CF across an inverting gain −A carries the voltage (1 + A)·vg. Seen from the input it is a capacitor CF(1 + A) to ground: the Miller capacitance, and the Miller effect is this multiplication. On the output side it looks like about CF, since the output barely notices its own small fraction.

Test it on six copies of the lab stage, each with a resistor RL from the output to a 0.9 V source. The output sits at 0.9 V, so RL carries no bias current; it only lowers the AC gain.

AC analysisThe gate node at four gainsGain from the source to the gate, |v(g)/v(in)|, for four copies of the stage. A larger stage gain loads the gate more.
  • A = 0.59
  • A = 1.31
  • A = 4.14
  • A = 7.32
-50 dB-40 dB-30 dB-20 dB-10 dB0Gate gain10 kHz100 kHz1 MHz10 MHz100 MHz1 GHz10 GHzFrequency−3 dB-50 dB-40 dB-30 dB-20 dB-10 dB0Gate gain10 kHz1 MHz100 MHz10 GHzFrequency−3 dB
  1. Frequency 8.57 MHzA = 0.59 = -0.1524 dB · A = 1.31 = -0.3171 dB · A = 4.14 = -1.404 dB · A = 7.32 = -3.012 dB

    Gain 7.32: the gate pole is at 8.57 MHz.

  2. Frequency 13.91 MHzA = 0.59 = -0.3901 dB · A = 1.31 = -0.7891 dB · A = 4.14 = -3.011 dB · A = 7.32 = -5.565 dB

    Gain 4.14: the pole moves up to 13.9 MHz.

  3. Frequency 31.2 MHzA = 0.59 = -1.682 dB · A = 1.31 = -3.012 dB · A = 4.14 = -7.716 dB · A = 7.32 = -11.18 dB

    Gain 1.31: the pole is at 31.2 MHz.

  4. Frequency 45.4 MHzA = 0.59 = -3.011 dB · A = 1.31 = -4.929 dB · A = 4.14 = -10.43 dB · A = 7.32 = -13.86 dB

    Gain 0.59: 45.4 MHz. Rsig and CF never changed; only the gain did.

Read the plot as a table
FrequencyA = 0.59A = 1.31A = 4.14A = 7.32
10 kHz-0.000000214 dB-0.000000445 dB-0.000002256 dB-0.000005958 dB
100 kHz-0.0000211 dB-0.00004476 dB-0.0002261 dB-0.0005959 dB
1 MHz-0.00211 dB-0.004474 dB-0.02255 dB-0.05919 dB
8.57 MHz-0.1524 dB-0.3171 dB-1.404 dB-3.012 dB
10 MHz-0.206 dB-0.4259 dB-1.815 dB-3.726 dB
13.91 MHz-0.3901 dB-0.7891 dB-3.011 dB-5.565 dB
31.2 MHz-1.682 dB-3.012 dB-7.716 dB-11.18 dB
45.4 MHz-3.011 dB-4.929 dB-10.43 dB-13.86 dB
100 MHz-7.659 dB-10.42 dB-16.05 dB-18.37 dB
1 GHz-25.24 dB-25.05 dB-24.05 dB-23.72 dB
10 GHz-40.45 dB-40.34 dB-40.29 dB-40.28 dB

Measured on ngspice 42, 50 points per decade; the table below is the same run.

RLGain A1 + ACin measured at 100 kHzCF(1 + A)Gate pole measured1/(2πRsigCin)
2 kΩ0.5861.58634.40 fF31.72 fF45.40 MHz46.26 MHz
5 kΩ1.3072.30749.19 fF46.15 fF31.20 MHz32.35 MHz
12 kΩ2.5103.51073.83 fF70.19 fF20.44 MHz21.56 MHz
30 kΩ4.1435.143107.3 fF102.9 fF13.91 MHz14.83 MHz
100 kΩ5.9496.949144.3 fF139.0 fF10.27 MHz11.03 MHz
none7.3158.315172.3 fF166.3 fF8.570 MHz9.237 MHz

Cin is the gate current through Rsig divided by 2πf·vg, at 100 kHz. Gate pole: where |v(g)| is 3 dB down.

Cin rises in a straight line with 1 + A. Its slope is 20.49 fF, which is CF plus M1's own gate-drain capacitance Cgd of 0.49 fF, multiplied the same way. Extend the line to 1 + A = 0 and it meets 1.91 fF: M1's gate-source capacitance Cgs. Both match what E3.1 measured. So Cin = Cgs + (CF + Cgd)(1 + A).

The measured pole sits 2-7 % below 1/(2πRsigCin), because the output's own time constant adds to the gate's. At full gain: 100 kΩ × 172.3 fF = 17.2 ns at the gate, 22.9 kΩ × (20 + 50 fF) = 1.6 ns at the output. Their sum, 18.8 ns, gives 8.45 MHz against 8.51 MHz measured.

The dominant pole sets the unity-gain frequency

In the lab stage the gate pole, 8.51 MHz, sits far below every other pole. It is the dominant pole. Above it the gain falls as 1/f, so gain times frequency stays the same until the next pole arrives. The gain falls to 1 at the unity-gain frequency fu ≈ A0·fp1, where A0 is the gain at low frequency.

On the run, 7.315 × 8.505 MHz = 62.2 MHz against fu = 61.6 MHz measured. That product is the gain-bandwidth product, and it holds while the second pole stays well above fu. Each further pole adds phase lag at fu, which a feedback loop cannot afford. The usual rule keeps the second pole above 2-3 fu; E6.3 shows why.

CF also makes a zero. At high frequency it carries the gate signal straight to the drain, opposite in sign to M1's own current gmvg. The two cancel at f = gm/(2πCF) = 322.8 µS/(2π × 20 fF) = 2.57 GHz. Because the signs oppose it is a right-half-plane zero, but here it sits 40 times above fu and does no harm.

20 fF from gate to ground

RSC in gc 100k
RDC vdd oc 36k
XMC oc gc 0 0 sky130_fd_pr__nfet_01v8 W=2 L=0.15
CFC gc 0 20f
CLC oc 0 50f

f3_ground = 5.119281e+07: the gate sees 20 fF, about half the bandwidth is lost.

20 fF from gate to drain

RSB in gb 100k
RDB vdd ob 36k
XMB ob gb 0 0 sky130_fd_pr__nfet_01v8 W=2 L=0.15
CFB gb ob 20f
CLB ob 0 50f

f3_miller = 8.505044e+06: the gate sees 166 fF of Miller capacitance.

Both copies of the hook netlist, biased at v(out) = 0.9 V. Measured on ngspice 42.

So the node with the largest R·C, after Miller multiplication, gives the dominant pole. A capacitor across a gain stage is the first place to look.

Asked in interviews
  1. What is the Miller effect?

    A capacitor C across an inverting gain −A carries (1 + A) times the input voltage, so the input sees C(1 + A) to ground. Here 20 fF across a gain of 7.3 acted like 166 fF.

  2. How do you find poles by inspection?

    One per high-resistance node, at 1/(2πRC), with C Miller-multiplied where it bridges a gain. The sum of all the R·C products estimates the dominant pole.

  3. What is a dominant pole, and what does a right-half-plane zero do?

    A pole far below the others, so A0·fp1 ≈ fu. A right-half-plane zero lifts the gain slope like a zero but lags the phase like a pole.

Try it

Run the netlist and read the meas lines, then open Plots for the same Bode plot as the figure. f3 and fin are almost equal: the output's pole is the gate's pole, seen through the stage.

Now change CF g out 20f to 40f and predict f3 before you run. Cin grows by about 20 fF × 8.3, so expect about 4.5 MHz. Then set CF to 0 and compare with the hook's 98.9 MHz. Last, keep 20 fF and change RD to 20k: the dc sweep re-biases the stage, the gain falls, and the pole moves up.

SPICEngspice 42 · simulator service
Edit the netlist, then run it
Expected measurements: vb = 7.815163e-01 gm_b = 3.228319e-04 ro_b = 6.264115e+04 a0 = 7.315339e+00 f3 = 8.505054e+06 ph_f3 = 1.343690e+02 fin = 8.569800e+06 fu = 6.158520e+07 ph_fu = 9.326434e+01

Check yourself

Predict the outputA 10 fF capacitor sits across an ideal inverting amplifier of gain 9, and an ideal source drives the input. The run prints the capacitance the source sees, from the current it delivers. Type the line meas prints (format: cin_1meg = 6.319360e-01).
* 10 fF across an ideal inverting gain of 9, driven by an ideal source
VG g 0 dc 0 ac 1
E1 o 0 g 0 -9
CF g o 10f
.control
ac lin 3 1Meg 3Meg
let cin = -imag(i(VG))/(2*pi*frequency)
meas ac cin_1meg FIND cin AT=1Meg
.endc
.end
ConceptRead the lab's Bode plot (the gain and phase figure). Where does the first pole show itself?
ConceptWhy does 20 fF from gate to drain cost far more bandwidth than the same 20 fF from gate to ground?
ConceptThe stage's gain is raised from 7.3 to 14.6 with the same CF, Rsig and transistor. About where does the gate pole go?
ConceptAn amplifier has a gain of 1000 (60 dB) at low frequency and a dominant pole at 20 kHz; every other pole is above 100 MHz. Where does its gain reach 1?
ConceptAbove 60 MHz an amplifier's gain stops falling and goes flat, yet its phase keeps falling by up to another 90°. What did it meet there?

Remember

  • A pole is where a node's R and C meet, fp = 1/(2πRC); an isolated one shows as −3 dB and 45° of phase lag.
  • A capacitor across an inverting gain −A acts at the input like C(1 + A): here Cin = Cgs + (CF + Cgd)(1 + A), and 20 fF cut the bandwidth from 98.9 to 8.5 MHz.
  • Adding the R·C of every node estimates the dominant pole: 18.8 ns gave 8.45 MHz against 8.51 MHz measured.
  • With one dominant pole, A0·fp1 ≈ fu: 7.315 × 8.505 MHz = 62.2 MHz against 61.6 MHz measured.
  • A right-half-plane zero raises the gain slope but lags the phase; a capacitor feeding forward to an inverting output makes one at gm/(2πC).