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.
- R_D = 36 kΩ
- R_D = 72 kΩ
- R_D = 144 kΩ
Read the plot as a table
| Input VIN | R_D = 36 kΩ | R_D = 72 kΩ | R_D = 144 kΩ |
|---|---|---|---|
| 300 mV | 1.8 V | 1.8 V | 1.8 V |
| 400 mV | 1.799 V | 1.799 V | 1.797 V |
| 500 mV | 1.793 V | 1.785 V | 1.771 V |
| 600 mV | 1.733 V | 1.67 V | 1.556 V |
| 700 mV | 1.425 V | 1.158 V | 804.9 mV |
| 800 mV | 763.3 mV | 330.6 mV | 70.03 mV |
| 900 mV | 138.2 mV | 51.8 mV | 23.88 mV |
| 1 V | 64 mV | 30.02 mV | 14.6 mV |
| 1.1 V | 45.04 mV | 21.86 mV | 10.78 mV |
| 1.2 V | 35.82 mV | 17.6 mV | 8.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
- 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
- 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
- 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 Vin= 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.
- v(out)
- gain
- 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.
- 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.
- 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 VIN | v(out) | gain |
|---|---|---|
| 300 mV | 1.8 V | 0.001433 |
| 400 mV | 1.799 V | 0.01652 |
| 500 mV | 1.793 V | 0.1726 |
| 600 mV | 1.733 V | 1.359 |
| 700 mV | 1.425 V | 5.125 |
| 781.5 mV | 900 mV | 7.315 |
| 800 mV | 763.3 mV | 7.451 |
| 900 mV | 138.2 mV | 2.15 |
| 900.5 mV | 137.2 mV | 2.11 |
| 1 V | 64 mV | 0.2922 |
| 1.1 V | 45.04 mV | 0.1237 |
| 1.2 V | 35.82 mV | 0.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.
| Estimate | Formula | Value |
|---|---|---|
| Ignore ro | gmRD | 322.8 µS × 36 kΩ = 11.62 |
| With ro = 62.64 kΩ | gm(RD ‖ ro) | 322.8 µS × 22.86 kΩ = 7.38 |
| AC analysis | gain_lf | 7.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.
- 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.
- 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.
- 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 kHz | 17.28 dB |
| 10 kHz | 17.28 dB |
| 100 kHz | 17.28 dB |
| 1 MHz | 17.19 dB |
| 6.925 MHz | 14.27 dB |
| 10 MHz | 12.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
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.
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.
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.
Run the netlist to draw its plots here.
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+07Check yourself
Remember
- Bias a high-gain stage by a DC sweep:
meas dc vb WHEN v(out)=0.9,alter VIN dc=$&vb, thenopandac. - 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.