Corners and PVT sign-off

Run an op-amp across process corners, supply and temperature, find the worst case of each spec and where it sits, and tell a corner run from a Monte Carlo run.

Lesson
E7.6
Time
30 min
Runs on
ngspice
Check
6 questions

OPA-B, the two-stage op-amp of E5.5, was signed off at the typical corner, 1.8 V and 27 °C, with 80.8 dB of open-loop gain and 60.1° of phase margin. Parts from a wafer with fast NMOS and slow PMOS, run cold on a supply 10 % low, had 60.1 dB: as a buffer, the gain error grew from 0.009 % to 0.098 %.

AC analysisLoop gain of OPA-B in the sf corner, nominal and cold at low supplyThe same op-amp, the same corner. Only the supply (1.8 → 1.62 V) and the temperature (27 → −40 °C) change.
  • sf, 1.8 V, 27 °C
  • sf, 1.62 V, −40 °C
-60 dB-40 dB-20 dB020 dB40 dB60 dB80 dB100 dBLoop gain1 Hz100 Hz10 kHz1 MHz100 MHzFrequencyA0 = 79.8 dBA0 = 60.1 dB-100 dB-50 dB050 dB100 dBLoop gain1 Hz1 kHz1 MHz1 GHzFrequencyA0 = 79.8 dBA0 = 60.1 dB
Read the plot as a table
Frequencysf, 1.8 V, 27 °Csf, 1.62 V, −40 °C
1 Hz79.77 dB60.13 dB
10 Hz79.77 dB60.13 dB
100 Hz79.76 dB60.13 dB
1 kHz79.17 dB60.12 dB
10 kHz67.83 dB59.42 dB
100 kHz48.11 dB47.38 dB
1 MHz28.11 dB27.61 dB
10 MHz7.725 dB7.411 dB
100 MHz-18.93 dB-17 dB
1 GHz-49.24 dB-45.32 dB

The sf corner run on ngspice 42; loop opened by 1 TH and 1 F, 2 pF load.

A typical-corner run shows one chip out of the whole spread.

What a process corner moves

Every wafer comes out a little different, and all its NMOS run faster or slower together. A process corner is a model set that moves all transistors of one type to an edge of the foundry's spread at once. SKY130 has five: tt (typical), ff (fast NMOS, fast PMOS), ss (slow, slow), and the skewed sf and fs.

A corner is global: every transistor of a type moves the same way. Mismatch (E7.4, E7.5) is local: each transistor moves alone. A corner run has no mismatch, and a Monte Carlo run sits at one corner.

Each corner run also measures one NMOS and one PMOS (W/L = 2/0.15, |VGS| = 0.9 V, |VDS| = 1.8 V), which shows the way each type moved.

CornerNMOS currentPMOS currentReads as
tt113.7 µA39.8 µAtypical
ff156.5 µA67.0 µAfast NMOS, fast PMOS
ss80.5 µA21.2 µAslow NMOS, slow PMOS
sf154.7 µA24.8 µAfast NMOS, slow PMOS
fs77.4 µA56.8 µAslow NMOS, fast PMOS

Measured at 27 °C in each corner run. A current above the tt value means a fast device.

Read the skewed names with care. In this library sf measures as the fast NMOS (154.7 µA against 113.7 µA at tt) with the slow PMOS (24.8 µA against 39.8 µA). That is the reverse of the usual reading, first letter NMOS, and of the comment at the top of the library file. Check any corner the same way: one device of each type, one run.

Forty-five runs of one op-amp

A PVT sign-off crosses process with supply voltage and temperature. This lesson uses 1.62, 1.8 and 1.98 V (±10 % around 1.8 V) and −40, 27 and 125 °C. Five corners times three supplies times three temperatures is 45 settings. Each corner is one run, and inside it the supplies and the temperature step through nine settings.

Every setting measures OPA-B's loop: the open-loop gain A0 at 1 Hz, the unity-gain frequency fu and the phase margin, on the 1 TH / 1 F bench of E6.3, into 2 pF. Here is the typical corner at 1.8 V and three temperatures.

AC analysisLoop gain of OPA-B at tt, 1.8 V, three temperaturesCold, the transistors carry the same currents with more transconductance, and fu moves up.
  • tt, 1.8 V, −40 °C
  • tt, 1.8 V, 27 °C
  • tt, 1.8 V, 125 °C
-60 dB-40 dB-20 dB020 dB40 dB60 dB80 dB100 dBLoop gain1 Hz100 Hz10 kHz1 MHz100 MHzFrequency-100 dB-50 dB050 dB100 dBLoop gain1 Hz1 kHz1 MHz1 GHzFrequency
  1. Frequency 1 Hztt, 1.8 V, −40 °C = 81.14 dB · tt, 1.8 V, 27 °C = 80.84 dB · tt, 1.8 V, 125 °C = 79.91 dB

    At 1 Hz the three temperatures agree within 1.3 dB: 81.1 dB, 80.8 dB and 79.9 dB.

  2. Frequency 21.52 MHztt, 1.8 V, −40 °C = 1.682 dB · tt, 1.8 V, 27 °C = -0.06367 dB · tt, 1.8 V, 125 °C = -2.37 dB

    At 27 °C the loop gain crosses 0 dB at 21.5 MHz. At −40 °C it crosses at 25.4 MHz, at 125 °C at 17.7 MHz; the phase margin goes from 64.2° cold to 56.1° hot.

Read the plot as a table
Frequencytt, 1.8 V, −40 °Ctt, 1.8 V, 27 °Ctt, 1.8 V, 125 °C
1 Hz81.14 dB80.84 dB79.91 dB
10 Hz81.14 dB80.84 dB79.91 dB
100 Hz81.14 dB80.83 dB79.9 dB
1 kHz80.51 dB80.09 dB79.06 dB
10 kHz68.93 dB67.84 dB66.37 dB
100 kHz49.19 dB48.06 dB46.56 dB
1 MHz29.19 dB28.06 dB26.56 dB
10 MHz8.981 dB7.681 dB5.938 dB
21.52 MHz1.682 dB-0.06367 dB-2.37 dB
100 MHz-15.63 dB-18.89 dB-22.89 dB
1 GHz-47.24 dB-48.96 dB-50.69 dB

The tt corner run on ngspice 42; loop opened by 1 TH and 1 F, 2 pF load.

Each spec at the sign-off point, and its worst and best over all 45 settings:

Spectt, 1.8 V, 27 °CWorst of 45Best of 45
A080.8 dB60.1 dB (sf, 1.62 V, −40 °C)83.6 dB (fs, 1.98 V, −40 °C)
fu21.5 MHz17.3 MHz (ss, 1.62 V, 125 °C)25.8 MHz (ff, 1.98 V, −40 °C)
Phase margin60.1°55.7° (sf, 1.98 V, 125 °C)66.8° (sf, 1.62 V, −40 °C)
Supply current79.5 µA79.9 µA (ss, 1.98 V, 125 °C)79.2 µA (ff, 1.62 V, −40 °C)
Iref (resistor reference)20.0 µA15.9 µA (fs, 1.62 V, −40 °C)24.2 µA (sf, 1.98 V, 125 °C)
Slew rate (on Iref)16.4 V/µs7.6 V/µs (sf, 1.62 V, −40 °C)20.3 V/µs (sf, 1.98 V, −40 °C)

All 45 settings, five corner runs on ngspice 42. Worst means lowest, except for the supply current. The last two rows come from the buffer biased by the resistor reference of the last section.

Three patterns stand out. The gain falls furthest at sf, 1.62 V, most when cold (60.1 dB). The phase margin and fu follow temperature in every corner and barely notice the process, except at that setting. And the supply current hardly moves at all.

Open all 45 settings
CornerSupplyTemperatureA0fuPhase marginSupply currentIrefSlew rate
tt1.62 V−40 °C72.6 dB24.7 MHz64.5°79.2 µA16.4 µA12.4 V/µs
tt1.62 V27 °C74.8 dB21.1 MHz60.3°79.5 µA17.0 µA13.1 V/µs
tt1.62 V125 °C75.9 dB17.5 MHz56.3°79.8 µA17.6 µA13.1 V/µs
tt1.8 V−40 °C81.1 dB25.4 MHz64.2°79.3 µA19.5 µA16.8 V/µs
tt1.8 V27 °C80.8 dB21.5 MHz60.1°79.5 µA20.0 µA16.4 V/µs
tt1.8 V125 °C79.9 dB17.7 MHz56.1°79.8 µA20.7 µA15.5 V/µs
tt1.98 V−40 °C83.3 dB25.6 MHz64.2°79.3 µA22.7 µA19.7 V/µs
tt1.98 V27 °C82.8 dB21.6 MHz60.1°79.5 µA23.2 µA18.9 V/µs
tt1.98 V125 °C81.7 dB17.7 MHz56.1°79.8 µA23.7 µA17.6 V/µs
ff1.62 V−40 °C72.6 dB24.9 MHz64.6°79.2 µA16.7 µA12.7 V/µs
ff1.62 V27 °C74.8 dB21.3 MHz60.3°79.4 µA17.2 µA13.3 V/µs
ff1.62 V125 °C75.9 dB17.6 MHz56.3°79.7 µA17.9 µA13.3 V/µs
ff1.8 V−40 °C81.1 dB25.7 MHz64.3°79.2 µA19.8 µA17.1 V/µs
ff1.8 V27 °C80.8 dB21.7 MHz60.1°79.4 µA20.3 µA16.7 V/µs
ff1.8 V125 °C79.8 dB17.8 MHz56.1°79.7 µA21.0 µA15.7 V/µs
ff1.98 V−40 °C83.2 dB25.8 MHz64.3°79.2 µA23.0 µA20.1 V/µs
ff1.98 V27 °C82.7 dB21.8 MHz60.1°79.4 µA23.4 µA19.3 V/µs
ff1.98 V125 °C81.6 dB17.9 MHz56.1°79.7 µA24.0 µA17.9 V/µs
ss1.62 V−40 °C72.6 dB24.4 MHz64.5°79.3 µA16.1 µA12.2 V/µs
ss1.62 V27 °C74.8 dB20.9 MHz60.3°79.6 µA16.7 µA12.8 V/µs
ss1.62 V125 °C75.9 dB17.3 MHz56.3°79.9 µA17.3 µA12.8 V/µs
ss1.8 V−40 °C81.2 dB25.1 MHz64.2°79.3 µA19.2 µA16.4 V/µs
ss1.8 V27 °C80.9 dB21.3 MHz60.1°79.6 µA19.8 µA16.0 V/µs
ss1.8 V125 °C80.0 dB17.5 MHz56.2°79.9 µA20.4 µA15.2 V/µs
ss1.98 V−40 °C83.3 dB25.3 MHz64.2°79.4 µA22.4 µA19.3 V/µs
ss1.98 V27 °C82.9 dB21.4 MHz60.1°79.6 µA22.9 µA18.6 V/µs
ss1.98 V125 °C81.7 dB17.6 MHz56.1°79.9 µA23.5 µA17.3 V/µs
sf1.62 V−40 °C60.1 dB21.9 MHz66.8°79.2 µA16.9 µA7.6 V/µs
sf1.62 V27 °C67.7 dB20.4 MHz60.8°79.5 µA17.4 µA10.7 V/µs
sf1.62 V125 °C72.8 dB17.4 MHz56.2°79.8 µA18.1 µA12.5 V/µs
sf1.8 V−40 °C79.8 dB25.5 MHz63.8°79.3 µA20.0 µA17.2 V/µs
sf1.8 V27 °C79.8 dB21.6 MHz59.7°79.5 µA20.5 µA16.7 V/µs
sf1.8 V125 °C79.2 dB17.7 MHz55.8°79.8 µA21.2 µA15.8 V/µs
sf1.98 V−40 °C82.8 dB25.7 MHz63.8°79.3 µA23.2 µA20.3 V/µs
sf1.98 V27 °C82.4 dB21.7 MHz59.7°79.6 µA23.6 µA19.4 V/µs
sf1.98 V125 °C81.4 dB17.8 MHz55.7°79.8 µA24.2 µA18.0 V/µs
fs1.62 V−40 °C77.4 dB24.9 MHz64.8°79.2 µA15.9 µA13.3 V/µs
fs1.62 V27 °C77.8 dB21.2 MHz60.6°79.5 µA16.5 µA13.3 V/µs
fs1.62 V125 °C77.5 dB17.4 MHz56.6°79.7 µA17.1 µA12.9 V/µs
fs1.8 V−40 °C82.0 dB25.2 MHz64.7°79.2 µA19.0 µA16.2 V/µs
fs1.8 V27 °C81.5 dB21.4 MHz60.5°79.5 µA19.6 µA15.9 V/µs
fs1.8 V125 °C80.4 dB17.6 MHz56.5°79.7 µA20.2 µA15.1 V/µs
fs1.98 V−40 °C83.6 dB25.4 MHz64.8°79.2 µA22.2 µA19.1 V/µs
fs1.98 V27 °C83.1 dB21.5 MHz60.5°79.5 µA22.7 µA18.4 V/µs
fs1.98 V125 °C81.9 dB17.6 MHz56.6°79.8 µA23.3 µA17.2 V/µs

Every value from the five corner runs; the figures pin each one.

AC analysisLoop gain of OPA-B in the ff corner
  • ff, 1.8 V, −40 °C
  • ff, 1.8 V, 27 °C
  • ff, 1.8 V, 125 °C
  • ff, 1.62 V, −40 °C
-60 dB-40 dB-20 dB020 dB40 dB60 dB80 dB100 dBLoop gain1 Hz100 Hz10 kHz1 MHz100 MHzFrequency-100 dB-50 dB050 dB100 dBLoop gain1 Hz1 kHz1 MHz1 GHzFrequency
Read the plot as a table
Frequencyff, 1.8 V, −40 °Cff, 1.8 V, 27 °Cff, 1.8 V, 125 °Cff, 1.62 V, −40 °C
1 Hz81.09 dB80.78 dB79.84 dB72.64 dB
10 Hz81.09 dB80.78 dB79.84 dB72.64 dB
100 Hz81.08 dB80.77 dB79.83 dB72.64 dB
1 kHz80.48 dB80.05 dB79.01 dB72.54 dB
10 kHz69 dB67.91 dB66.43 dB67.41 dB
100 kHz49.27 dB48.14 dB46.63 dB48.94 dB
1 MHz29.28 dB28.14 dB26.63 dB28.96 dB
10 MHz9.065 dB7.761 dB6.016 dB8.746 dB
100 MHz-15.5 dB-18.76 dB-22.77 dB-15.81 dB
1 GHz-47.38 dB-49.08 dB-50.81 dB-46.64 dB

The ff corner run on ngspice 42; loop opened by 1 TH and 1 F, 2 pF load.

AC analysisLoop gain of OPA-B in the ss corner
  • ss, 1.8 V, −40 °C
  • ss, 1.8 V, 27 °C
  • ss, 1.8 V, 125 °C
  • ss, 1.62 V, −40 °C
-60 dB-40 dB-20 dB020 dB40 dB60 dB80 dB100 dBLoop gain1 Hz100 Hz10 kHz1 MHz100 MHzFrequency-100 dB-50 dB050 dB100 dBLoop gain1 Hz1 kHz1 MHz1 GHzFrequency
Read the plot as a table
Frequencyss, 1.8 V, −40 °Css, 1.8 V, 27 °Css, 1.8 V, 125 °Css, 1.62 V, −40 °C
1 Hz81.19 dB80.9 dB79.99 dB72.58 dB
10 Hz81.19 dB80.9 dB79.99 dB72.58 dB
100 Hz81.19 dB80.9 dB79.98 dB72.58 dB
1 kHz80.54 dB80.13 dB79.11 dB72.48 dB
10 kHz68.84 dB67.76 dB66.29 dB67.27 dB
100 kHz49.1 dB47.98 dB46.48 dB48.76 dB
1 MHz29.1 dB27.98 dB26.47 dB28.78 dB
10 MHz8.886 dB7.592 dB5.852 dB8.562 dB
100 MHz-15.77 dB-19.02 dB-23.02 dB-16.09 dB
1 GHz-47.05 dB-48.79 dB-50.54 dB-46.35 dB

The ss corner run on ngspice 42; loop opened by 1 TH and 1 F, 2 pF load.

AC analysisLoop gain of OPA-B in the fs corner
  • fs, 1.8 V, −40 °C
  • fs, 1.8 V, 27 °C
  • fs, 1.8 V, 125 °C
  • fs, 1.62 V, −40 °C
-60 dB-40 dB-20 dB020 dB40 dB60 dB80 dB100 dBLoop gain1 Hz100 Hz10 kHz1 MHz100 MHzFrequency-100 dB-50 dB050 dB100 dBLoop gain1 Hz1 kHz1 MHz1 GHzFrequency
Read the plot as a table
Frequencyfs, 1.8 V, −40 °Cfs, 1.8 V, 27 °Cfs, 1.8 V, 125 °Cfs, 1.62 V, −40 °C
1 Hz81.97 dB81.53 dB80.4 dB77.43 dB
10 Hz81.97 dB81.53 dB80.4 dB77.43 dB
100 Hz81.96 dB81.52 dB80.39 dB77.43 dB
1 kHz81.2 dB80.64 dB79.44 dB77.14 dB
10 kHz68.88 dB67.79 dB66.3 dB68.39 dB
100 kHz49.09 dB47.97 dB46.47 dB48.96 dB
1 MHz29.09 dB27.97 dB26.46 dB28.96 dB
10 MHz8.886 dB7.599 dB5.856 dB8.758 dB
100 MHz-15.62 dB-18.88 dB-22.88 dB-15.77 dB
1 GHz-46.8 dB-48.56 dB-50.33 dB-46.57 dB

The fs corner run on ngspice 42; loop opened by 1 TH and 1 F, 2 pF load.

Why the gain fell, and what the ideal bias hid

The gain fell because the first stage ran out of room. M1 and M2 sit between node x and the tail. Node x is VDD − VSG3, one PMOS gate voltage below the supply. The tail is VCM − VGS1, one NMOS gate voltage below the input. M1 stays in saturation only while VDS1 = x − tail stays above its VDsat.

  1. Slow PMOS

    A slow PMOS needs a larger VSG3 for the same current, which pulls x down.

  2. Fast NMOS

    A fast NMOS needs a smaller VGS1, which lifts the tail up.

  3. Cold and low supply

    Cold raises both thresholds, and a 1.62 V supply takes 180 mV off the top.

  4. Measured

    VDS1 − VDsat is 319 mV at tt, 1.8 V, 27 °C; 103 mV at tt, 1.62 V, −40 °C; and 36 mV at sf, 1.62 V, −40 °C. M1 and M2 are almost out of saturation, so their output resistance drops and the gain with it. At fs the same setting leaves 171 mV.

So sf is the corner that squeezes this circuit from both sides. Another circuit has another worst corner: that is why sign-off runs all of them.

The supply current hardly moved, 79.2 µA to 79.9 µA, because OPA-B takes its bias from an ideal 20 µA source that no corner can change. A chip makes that current from a reference. The simplest one is a resistor from the supply into the diode MB: Iref = (VDD − VGS,MB)/RB. With RB = 54.2 kΩ it gives 20.0 µA at tt, 1.8 V, 27 °C.

Across the 45 settings it gives 15.9 µA at fs, 1.62 V, −40 °C and 24.2 µA at sf, 1.98 V, 125 °C. Low supply leaves less voltage across RB, and a slow NMOS or cold needs a larger VGS. Every current in the op-amp copies Iref, and the slew rate of the buffer on it spans 7.6 V/µs to 20.3 V/µs. Its lowest value sits at the same squeezed setting as the gain, sf, 1.62 V, −40 °C, not at the lowest current.

Corners, Monte Carlo and the sign-off plan

Corners and Monte Carlo answer different questions, and sign-off needs both.

Corner runMonte Carlo run
What movesEvery transistor of a type, the same wayEach transistor alone, at random
ModelsWafer-to-wafer and lot-to-lot spreadMismatch between neighbours
FindsGain, bandwidth, margin and bias at the edgesOffset and matching errors, as a mean and σ
CostFive runs per supply and temperatureHundreds of copies per corner

A full sign-off runs Monte Carlo at the corners where a matching spec is tightest.

A sign-off plan lists every spec, every corner, the supply range and the temperature range, and reports each spec's worst value and where it sits. Leaving out one axis hides exactly the kind of failure of the hook: at 1.8 V, or at 27 °C alone, the sf gain looked fine.

Asked in interviews
  1. What are process corners, and what is PVT?

    Model sets that move all NMOS and all PMOS to the edges of the process spread: tt, ff, ss, sf, fs. PVT crosses them with supply (often ±10 %) and temperature (say −40 to 125 °C); sign-off reports each spec's worst case.

  2. How do corners differ from Monte Carlo?

    A corner moves every device of a type together and has no mismatch; Monte Carlo draws each device alone at one corner. Corners find gain, speed and headroom limits; Monte Carlo finds offset as a mean and σ. Sign-off runs Monte Carlo at the critical corners.

  3. Which corner do you expect to be worst for phase margin or gain?

    It depends on the circuit, so run them all. In OPA-B the phase margin follows temperature (worst hot, 55.7°). The gain collapses with a slow PMOS, a fast NMOS, low supply and cold, where the first stage loses its headroom.

Try it

Run it: a0 (dB), fu (Hz) and pm (degrees) of the loop, sr in V/µs from the buffer on the resistor reference, isup and iref in amperes, the headroom of M1 (vds1, vdsat1), and the two corner-check currents id_n and id_p.

Now change the three lines at the top to .lib sky130 sf, .temp -40 and .param vdd=1.62, and predict which numbers move before you run. Then try fs at the same supply and temperature, and compare id_n, id_p and vds1 with the corner table.

SPICEngspice 42 · simulator service
Edit the netlist, then run it
Expected measurements: a0 = 8.084282e+01 id_n = 1.136616e-04

Check yourself

Predict the outputThis netlist loads the sf corner and prints 1 if the NMOS (W = 2, L = 0.15 µm, VGS = 0.9 V, VDS = 1.8 V) carries more than its tt current of 113.7 µA, and 0 if it carries less. Type the line meas prints (format: nmos_faster = 0.000000e+00).
* sf corner: does the NMOS carry more than its tt current of 113.66 uA? 1 = yes, 0 = no
.lib sky130 sf
VDN dn 0 1.8
VGN gn 0 0.9
XDN dn gn 0 0 sky130_fd_pr__nfet_01v8 W=2 L=0.15
.control
dc VGN 0.9 1 0.1
let faster = (-i(VDN) gt 113.66u)
meas dc nmos_faster FIND faster AT=0.9
.endc
.end
ConceptWhich setting gives the lowest current from the resistor reference (RB from the supply into a diode-connected NMOS)?
ConceptFrom the sign-off table: where is OPA-B's phase margin worst?
ConceptThe spec is A0 ≥ 70 dB. Which sign-off plan finds a failure?
ConceptWhat does a corner run model that a mismatch Monte Carlo run of the same circuit, like E7.5's, does not?
ConceptWith its ideal 20 µA bias, OPA-B's supply current stays between 79.2 µA and 79.9 µA over all 45 settings. Why?

Remember

  • A process corner moves every transistor of a type together; mismatch moves each one alone. Sign-off needs both.
  • In SKY130 sf measures as fast NMOS, slow PMOS: check a corner with one device of each type before trusting its name.
  • PVT sign-off crosses corners with the supply and temperature ranges and reports each spec's worst value and where it sits; leaving out an axis hides failures that need two edges at once.
  • An ideal bias source hides the biggest process effect: run the corners with the real reference, whose current moves with process, supply and temperature.