Common source with a resistor load

Bias a common-source amplifier by a DC sweep, predict its gain from gm, RD and ro, measure its bandwidth into a load, and see why a bigger drain resistor does not buy a bigger gain.

Lesson
E3.2
Time
30 min
Runs on
ngspice
Check
5 questions

A common-source stage gave a gain of 7.32 and the design needed about 15, so its drain resistor was doubled from 36 kΩ to 72 kΩ. The gain rose only to 8.33. Doubled again, to 144 kΩ, it fell to 4.68, below where it started.

DC sweepOne input, three drain resistorsThree copies of the stage (W/L = 2/0.15 µm) on the same input. The mark is the input that centres the 36 kΩ stage at 0.9 V.
  • R_D = 36 kΩ
  • R_D = 72 kΩ
  • R_D = 144 kΩ
00.5 V1.0 V1.5 V2.0 VOutput v(out)0.3 V0.4 V0.5 V0.6 V0.7 V0.8 V0.9 V1.0 V1.1 V1.2 VInput VINVIN = 0.7815 V36 kΩ: 0.90 V, gain 7.3272 kΩ: 0.48 V, gain 8.33144 kΩ: 0.12 V, gain 4.6800.5 V1.0 V1.5 V2.0 VOutput v(out)0.4 V0.6 V0.8 V1.0 V1.2 VInput VINVIN = 0.7815 V36 kΩ: 0.90 V, gain 7.3272 kΩ: 0.48 V, gain 8.33144 kΩ: 0.12 V, gain 4.68
Read the plot as a table
Input VINR_D = 36 kΩR_D = 72 kΩR_D = 144 kΩ
300 mV1.8 V1.8 V1.8 V
400 mV1.799 V1.799 V1.797 V
500 mV1.793 V1.785 V1.771 V
600 mV1.733 V1.67 V1.556 V
700 mV1.425 V1.158 V804.9 mV
800 mV763.3 mV330.6 mV70.03 mV
900 mV138.2 mV51.8 mV23.88 mV
1 V64 mV30.02 mV14.6 mV
1.1 V45.04 mV21.86 mV10.78 mV
1.2 V35.82 mV17.6 mV8.727 mV

Measured on ngspice 42; gain is the slope −dv(out)/dVIN at the mark.

Each larger resistor dropped more of the 1.8 V supply, so the output sank toward ground and the transistor's current and gm fell with it.

The stage and its transfer curve

The common-source stage of the labThe input drives the gate, the source sits at ground, and RD feeds the drain from the 1.8 V supply. The output is the drain.
The common-source stage of the lab+VDD1.8 VRD​36 kΩM1W/L = 2/0.15VIN0.7815 V + acCL​1 pFoutout0.900 Vin0.7815 V
  1. Bias current

    At VIN = 0.7815 V, M1 carries 25.00 µA. The same current crosses RD and drops 0.9 V, so the output sits at 0.9 V.

    ID = 25 µA

  2. The input rises

    A rise of the gate voltage raises the current. More current drops more voltage across RD, so the output falls: the stage inverts.

    ID + id

  3. The load

    CL = 1 pF stands for whatever the output drives. It sets the bandwidth below.

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

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

Sweep the input from 0.3 V to 1.2 V and the output traces the transfer curve, and the gain is the slope of that curve. The lab finds the input where v(out) = 0.9 V with meas dc vb WHEN v(out)=0.9, then alter VIN dc=$&vb moves the source there for the AC run.

DC sweepTransfer curve and its slopeAbove: v(out) against the input. Below: the gain −dv(out)/dVIN, the slope as a positive number.
  • v(out)
  • gain
00.5 V1.0 V1.5 V2.0 VOutput02468Gain (slope)0.3 V0.4 V0.5 V0.6 V0.7 V0.8 V0.9 V1.0 V1.1 V1.2 VInput VINbiastriode edgev(out) = 0.900 V00.5 V1.0 V1.5 V2.0 VOutput02468Gain (slope)0.4 V0.6 V0.8 V1.0 V1.2 VInput VINbiastriode edgev(out) = 0.900 V
  1. Input VIN 600 mVv(out) = 1.733 V · gain = 1.359

    At 0.6 V M1 carries only 1.9 µA. The output is still near the supply, at 1.73 V, and the slope is only 1.4; below this it falls toward zero.

  2. Input VIN 781.5 mVv(out) = 900 mV · gain = 7.315

    The bias: 0.7815 V in, 0.9 V out. The slope here is the small-signal gain, 7.32. A wiggle of 1 mV at the input moves the output 7.3 mV the other way.

  3. Input VIN 900.5 mVv(out) = 137.2 mV · gain = 2.11

    Here the output has fallen to M1's own saturation voltage VDsat (0.137 V). Above this input M1 is in triode, and the gain collapses toward zero.

    More context

    The swing below the bias is therefore about 0.9 − 0.14 = 0.76 V; above it the output can rise to the 1.8 V supply.

Read the plot as a table
Input VINv(out)gain
300 mV1.8 V0.001433
400 mV1.799 V0.01652
500 mV1.793 V0.1726
600 mV1.733 V1.359
700 mV1.425 V5.125
781.5 mV900 mV7.315
800 mV763.3 mV7.451
900 mV138.2 mV2.15
900.5 mV137.2 mV2.11
1 V64 mV0.2922
1.1 V45.04 mV0.1237
1.2 V35.82 mV0.06885

Measured on ngspice 42 (451 of the sweep's 1801 points). The triode edge is where v(out) equals the vdsat ngspice reports.

Read the curve as three regions. With M1 off there is no current and no gain, while in the steep middle M1 is in saturation and the stage amplifies. Past the triode edge M1 behaves like a resistor: the output barely moves and the gain is gone. A useful amplifier keeps its output between the edge and the supply.

The gain from the small-signal model

In the small-signal model (E3.1 The small-signal model) M1 is a current gmvin in parallel with ro. VDD is ground for the signal, so RD and ro sit in parallel from the drain to ground. The gain is Av = −gm·(RD ‖ ro), inverting.

EstimateFormulaValue
Ignore rogmRD322.8 µS × 36 kΩ = 11.62
With ro = 62.64 kΩgm(RD ‖ ro)322.8 µS × 22.86 kΩ = 7.38
AC analysisgain_lf7.315

From the lab's printed gm_b and ro_b. The last 0.9 % is the contact resistance inside the SKY130 subcircuit (E3.1).

ro costs this stage 37 % of its gain. A 0.15 µm device has a low ro, here not even twice RD. Now look at gmRD another way. Write it as (gm/ID)·(IDRD). The first factor is the device's efficiency (E2.5 Transconductance and gm/ID): 12.91 per volt here. The second is the voltage across RD, 0.9 V. The product is 11.62.

So at a fixed drop across RD, the gain does not depend on the current. Double ID, halve RD, and gmRD stays the same (a little lower, since gm/ID falls as current density rises). Gain from a resistor load is bought with voltage, and the supply has only 1.8 V. That is the hook: a bigger RD at the same input asks for a drop the supply cannot give.

L = 0.15 µm

RD vdd out 36k
XM1 out in 0 0 sky130_fd_pr__nfet_01v8 W=2 L=0.15

Gain 7.32 and f3 6.92 MHz, with gm 322.8 µS and ro 62.6 kΩ.

L = 0.5 µm, widened for the same gm

RD vdd out 36k
XM1 out in 0 0 sky130_fd_pr__nfet_01v8 W=5.25 L=0.5

Gain 10.59 and f3 4.83 MHz, with gm 323.3 µS and ro 383 kΩ.

Both on the lab netlist, each re-biased to v(out) = 0.9 V at 25.00 µA. Measured on ngspice 42.

At L = 0.5 µm and the same gm, ro is six times larger and the loss shrinks from 37 % to 9 %. The price is a device 2.6 times wider and 3.3 times longer, with more capacitance. The bandwidth falls in step with the gain rise, as the next section explains.

Bandwidth into a load

The output drives CL = 1 pF through the resistance RD ‖ ro. That forms one pole: the gain is flat at low frequency and falls to 1/√2 of that value (−3 dB) at f3 ≈ 1/(2π·(RD ‖ ro)·CL). Above it the gain falls as 1/f, and it reaches 1 at the unity-gain frequency fu.

AC analysisGain of the lab stage into 1 pFThe magnitude of v(out)/v(in) in dB against frequency, from the lab's AC run at the bias.
-50 dB-40 dB-30 dB-20 dB-10 dB010 dB20 dBGain1 kHz10 kHz100 kHz1 MHz10 MHz100 MHz1 GHz10 GHzFrequency0 dB: gain 1f3 = 6.92 MHzfu = 50.2 MHz-60 dB-40 dB-20 dB020 dBGain1 kHz100 kHz10 MHz1 GHzFrequency0 dB: gain 1f3 = 6.92 MHzfu = 50.2 MHz
  1. Frequency 100 kHz|v(out)/v(in)| = 17.28 dB

    At low frequency the gain is 17.3 dB, which is 7.315 as a ratio.

  2. Frequency 6.925 MHz|v(out)/v(in)| = 14.27 dB

    At 6.92 MHz the gain is 3 dB down. The hand formula with 22.86 kΩ and 1 pF gives 6.96 MHz; the device adds a little capacitance of its own.

  3. Frequency 50.16 MHz|v(out)/v(in)| = -0.0007654 dB

    The gain reaches 1 at 50.2 MHz. Gain × f3 = 7.315 × 6.92 MHz = 50.7 MHz: the same number, as one pole predicts.

Read the plot as a table
Frequency|v(out)/v(in)|
1 kHz17.28 dB
10 kHz17.28 dB
100 kHz17.28 dB
1 MHz17.19 dB
6.925 MHz14.27 dB
10 MHz12.39 dB
50.16 MHz-0.0007654 dB
100 MHz-5.932 dB
1 GHz-25.91 dB
10 GHz-45.77 dB

Measured on ngspice 42: 141 points, 20 per decade.

Multiply the gain by the bandwidth: gm(RD ‖ ro) × 1/(2π(RD ‖ ro)CL) = gm/(2πCL). The resistance cancels. The gain-bandwidth product depends only on gm and the load: 322.8 µS into 1 pF gives 51.4 MHz, against 50.2 MHz measured. That is why the L = 0.5 µm stage, with the same gm, traded its higher gain for a lower f3.

Asked in interviews
  1. What is the gain of a common-source amplifier?

    −gm(RD ‖ ro), inverting. Written as (gm/ID)·VRD with ro ignored, it depends on the device's efficiency and the voltage across RD, not on the current.

  2. Why can a larger drain resistor lower the gain?

    At a fixed input the larger RD drops more voltage. The output sinks toward VDsat, the current and gm fall, ro falls, and past the triode edge the gain collapses. Re-bias, or buy gain with ro (a longer device) or a current-source load.

  3. What is the output swing?

    From about VDsat (where M1 enters triode) up to VDD. With the output centred at 0.9 V the lower limit here is 0.137 V, so about 0.76 V of downward swing.

Try it

Run the netlist, then predict gain_lf from gm_b and ro_b before you read it. Open Plots to see the transfer curve and the Bode plot of the same run.

Now change RD to 72k and replace alter VIN dc=$&vb with alter VIN dc=0.7815163: the output falls to 0.48 V and the gain is 8.33, not 14.6. Restore the alter line so the sweep re-biases the 72 kΩ stage at 12.5 µA: the gain is only 8.38. Read gm_b and ro_b: gmRD is now 13.9, but ro has grown only to 111 kΩ and takes 40 % of it. Finally set RD back to 36k and W=5.25 L=0.5, and compare with the table above.

SPICEngspice 42 · simulator service
Edit the netlist, then run it
Expected measurements: vb = 7.815163e-01 id_b = 2.500000e-05 gm_b = 3.228319e-04 ro_b = 6.264115e+04 vdsat_b = 8.365463e-02 vin_edge = 9.004586e-01 vout_edge = 1.371843e-01 gain_lf = 7.315344e+00 f3 = 6.924588e+06 fu = 5.016066e+07

Check yourself

Predict the outputA stage is reduced to its model: gm = 250 µS (gm/ID = 10 at 25 µA) and RD = 36 kΩ (0.9 V at 25 µA), with ro left out. The run prints the real part of v(out) for 1 V of AC input. Type the line meas prints (format: a = 6.319360e-01).
* g_m = 250 uS (g_m/I_D = 10 at 25 uA) into R_D = 36 kohm (0.9 V at 25 uA); r_o left out
V1 in 0 dc 0 ac 1
G1 out 0 in 0 250u
RD out 0 36k
.control
ac lin 3 1k 3k
meas ac a FIND vr(out) AT=1k
.endc
.end
ConceptRead the transfer-curve figure. At about which input is the slope, the gain, largest?
ConceptThe output must stay at 0.9 V. Which change raises the gain of this resistor-loaded stage?
ConceptWhy does the gain-bandwidth product of this stage not depend on RD?
ConceptThe stage is biased with v(out) = 0.9 V. What limits how far the output can swing downward before the gain collapses?

Remember

  • Bias a high-gain stage by a DC sweep: meas dc vb WHEN v(out)=0.9, alter VIN dc=$&vb, then op and ac.
  • Av = −gm(RD ‖ ro); a 0.15 µm device's ro cost this stage 37 % of gmRD.
  • At a fixed voltage across RD, gmRD = (gm/ID)·VRD: gain is bought with voltage, not current.
  • A bigger RD at the same input pushes the output toward VDsat; the current, gm and gain fall.
  • With a load CL, f3 ≈ 1/(2π(RD ‖ ro)CL) and the gain-bandwidth product ≈ gm/(2πCL), independent of RD.