Corners and temperature

Run a transistor in the five SKY130 process corners and at three temperatures, read which way each one moves the current, and check what a corner's name really means.

Lesson
E2.7
Time
25 min
Runs on
ngspice
Check
5 questions

A bias block was signed off in the typical corner at room temperature. Its NMOS (W = 2 µm, L = 0.15 µm) carried 113.7 µA at VGS = 0.9 V. On a wafer from the slow end of the factory's spread the same device carried 80.5 µA, 29 % less, and the circuit it fed ran out of time.

DC sweepThe same NMOS in the slow cornerW = 2 µm, L = 0.15 µm, VDS = 1.8 V, models from .lib sky130 ss. The dashed line is the typical corner's current at VGS = 0.9 V.
00.2 mA0.4 mA0.6 mA0.8 mA1.0 mADrain current00.2 V0.4 V0.6 V0.8 V1.0 V1.2 V1.4 V1.6 V1.8 VGate voltage V_GStt at 0.9 V: 113.7 µAVGS = 0.9 V00.2 mA0.4 mA0.6 mA0.8 mA1.0 mADrain current00.5 V1.0 V1.5 VGate voltage V_GStt at 0.9 V: 113.7 µAVGS = 0.9 V
  1. Gate voltage V_GS 900 mVI_D in ss = 80.49 µA

    At VGS = 0.9 V the slow corner gives 80.49 µA. The typical corner gave 113.7 µA: a 29.2 % shortfall from the models alone.

  2. Gate voltage V_GS 1.8 VI_D in ss = 878 µA

    With the full 1.8 V on the gate the slow device carries 878.0 µA. The gap shrinks with more gate drive, but it never closes.

Read the plot as a table
Gate voltage V_GSI_D in ss
0 V2.02 pA
200 mV39.21 pA
400 mV6.532 nA
600 mV890.2 nA
800 mV30.24 µA
900 mV80.49 µA
1 V151.2 µA
1.2 V319.7 µA
1.4 V502.2 µA
1.6 V689.6 µA
1.8 V878 µA

Measured on ngspice 42 with the SKY130 ss models (181 points). The tt value is the lab's in_short.

The typical model describes the middle of the spread, and the chip on your bench can sit anywhere in it.

Five corners of one process

No two wafers come out of a factory alike. The gate oxide is a little thicker or thinner, the implants a little heavier or lighter, so thresholds and mobilities shift. A process corner is a set of model parameters for a wafer at the edge of that spread. In a fast corner a device carries more current at the same bias; in a slow one, less.

SKY130 ships five FET corners, chosen with .lib sky130 tt|ff|ss|sf|fs: typical (tt), both fast (ff), both slow (ss) and two skewed corners in which one kind is fast and the other slow. A corner moves every device on the die together. Two neighbouring devices that differ from each other show mismatch, a separate effect (E7).

CornerNMOS 2/0.15, 0.9 VPMOS 2/0.15, 0.9 VNMOS 5/1, 1.2 VPMOS 5/1, 1.2 V
tt113.7 µA39.82 µA215.3 µA7.666 µA
ff156.5 µA (+38 %)67.03 µA (+68 %)230.4 µA (+7 %)8.696 µA (+13 %)
ss80.49 µA (−29 %)21.20 µA (−47 %)200.9 µA (−7 %)6.726 µA (−12 %)
sf154.7 µA (+36 %)24.80 µA (−38 %)235.5 µA (+9 %)4.979 µA (−35 %)
fs77.44 µA (−32 %)56.85 µA (+43 %)195.9 µA (−9 %)11.06 µA (+44 %)

Drain current at |VDS| = 1.8 V and the stated |VGS|, from five runs of the lab bench (one per corner), 27 °C. W/L in µm. Percentages against tt.

Short devices swing much more than long ones, and the PMOS more than the NMOS. Now read the skewed rows. In the corner named sf the NMOS is fast at both sizes, as fast as ff at L = 0.15 µm and faster than ff at L = 1 µm. Its PMOS is slow, and at L = 1 µm slower than in ss. The corner named fs is the mirror image.

DC sweepThe corner named sf: NMOS and PMOS against the typical currentsW = 2 µm, L = 0.15 µm, |VDS| = 1.8 V, .lib sky130 sf. Both devices are swept by the same |VGS|. The dashed lines are the tt currents at 0.9 V.
  • NMOS in sf
  • PMOS in sf
00.2 mA0.4 mA0.6 mA0.8 mA1.0 mA1.2 mADrain current magnitude00.2 V0.4 V0.6 V0.8 V1.0 V1.2 V1.4 V1.6 V1.8 V|VGS| for both devicesNMOS in tt: 113.7 µAPMOS in tt: 39.8 µA|VGS| = 0.9 V00.2 mA0.4 mA0.6 mA0.8 mA1.0 mA1.2 mADrain current magnitude00.5 V1.0 V1.5 V|VGS| for both devicesNMOS in tt: 113.7 µAPMOS in tt: 39.8 µA|VGS| = 0.9 V
  1. |VGS| for both devices 900 mVNMOS in sf = 154.7 µA · PMOS in sf = 24.8 µA

    At 0.9 V the sf NMOS carries 154.7 µA, above its tt line; the sf PMOS carries 24.80 µA, below its tt line. Fast NMOS, slow PMOS.

  2. |VGS| for both devices 1.8 VNMOS in sf = 1.044 mA · PMOS in sf = 328.2 µA

    At full drive: 1044 µA for the NMOS and 328.2 µA for the PMOS.

Read the plot as a table
|VGS| for both devicesNMOS in sfPMOS in sf
0 V5.238 pA66.53 pA
200 mV476.3 pA2.843 nA
400 mV62.51 nA49.61 nA
600 mV5.179 µA912.7 nA
800 mV77.59 µA11.24 µA
900 mV154.7 µA24.8 µA
1 V244.6 µA44.27 µA
1.2 V438.2 µA98.42 µA
1.4 V639 µA167.9 µA
1.6 V841.9 µA246.4 µA
1.8 V1.044 mA328.2 µA

Measured on ngspice 42 with the SKY130 sf models (181 points per curve).

The comment at the top of the PDK's sky130.lib.spice describes sf as slow N, fast P. The parameters in parameters_fet_sf.spice do the opposite, at both sizes we measured. So read a corner name as a label, and learn what each corner does from your own devices. In this track sf means fast NMOS, slow PMOS, because that is what it simulates.

The corners as measuredLeft to right: NMOS slow to fast. Top to bottom: PMOS fast to slow. Percentages are the W = 2 µm, L = 0.15 µm currents against tt.
The corners as measuredLeft to right: NMOS slow to fast. Top to bottom: PMOS fast to slow. Percentages are the W = 2 µm, L = 0.15 µm currents against tt. component fs NMOS −32 %, PMOS+43 % component ff NMOS +38 %, PMOS+68 % component tt NMOS 113.7 µA,PMOS 39.8 µA component ss NMOS −29 %, PMOS−47 % component sf NMOS +36 %, PMOS−38 %
  1. The middle

    tt is the centre of the spread: 113.7 µA for the NMOS and 39.8 µA for the PMOS.

  2. Both together

    ff and ss move both kinds the same way. They bound the speed of a gate that needs both, such as an inverter driving a long wire.

  3. Skewed

    sf and fs move the two kinds apart. By measurement, sf is the fast-NMOS, slow-PMOS corner, so it sits bottom right. These corners decide the switching threshold of an inverter and the balance of a latch.

Read the diagram as text
  • fs: NMOS −32 %, PMOS +43 %
  • ff: NMOS +38 %, PMOS +68 %
  • tt: NMOS 113.7 µA, PMOS 39.8 µA
  • ss: NMOS −29 %, PMOS −47 %
  • sf: NMOS +36 %, PMOS −38 %
  • tt → ff
  • tt → ss
  • tt → sf
  • tt → fs

Arrows point from the typical corner to each process corner.

Temperature pulls two ways

Heat changes the same device in two opposite ways. The threshold falls: the lab extracts 0.726 V at −40 °C, 0.676 V at 27 °C and 0.612 V at 125 °C, about −0.69 mV per kelvin. Lower threshold, more current. Mobility also falls, because a hotter lattice scatters the carriers more often. Lower mobility, less current.

DC sweepOne NMOS at three temperaturesW = 2 µm, L = 0.15 µm, VDS = 1.8 V, tt. Below the crossing the hot device carries more; above it, less.
  • −40 °C
  • 27 °C
  • 125 °C
00.2 mA0.4 mA0.6 mA0.8 mA1.0 mA1.2 mADrain current00.2 V0.4 V0.6 V0.8 V1.0 V1.2 V1.4 V1.6 V1.8 VGate voltage V_GSZTC: 0.978 V, 178.1 µA00.2 mA0.4 mA0.6 mA0.8 mA1.0 mA1.2 mADrain current00.5 V1.0 V1.5 VGate voltage V_GSZTC: 0.978 V, 178.1 µA
  1. Gate voltage V_GS 900 mV−40 °C = 102.8 µA · 27 °C = 113.7 µA · 125 °C = 121.1 µA

    At 0.9 V the threshold wins: 102.8 µA at −40 °C, 113.7 µA at 27 °C, 121.1 µA at 125 °C. Hot is fast.

  2. Gate voltage V_GS 977.6 mV−40 °C = 174.8 µA · 27 °C = 178.1 µA · 125 °C = 178.1 µA

    At 0.978 V the 27 °C and 125 °C curves cross at 178.1 µA. This is the zero-temperature-coefficient (ZTC) point: the two effects cancel.

  3. Gate voltage V_GS 1.8 V−40 °C = 1.089 mA · 27 °C = 985.3 µA · 125 °C = 860 µA

    At 1.8 V mobility wins: 1089 µA at −40 °C, 985.3 µA at 27 °C, 860.0 µA at 125 °C. Hot is slow.

Read the plot as a table
Gate voltage V_GS−40 °C27 °C125 °C
0 V1.813 pA2.82 pA154.5 pA
200 mV3.441 pA141.9 pA6.219 nA
400 mV929.7 pA18.92 nA235.5 nA
600 mV433.7 nA1.929 µA6.201 µA
800 mV34.54 µA47.97 µA60.58 µA
900 mV102.8 µA113.7 µA121.1 µA
977.6 mV174.8 µA178.1 µA178.1 µA
1 V197.3 µA197.9 µA195.5 µA
1.2 V411.9 µA386.4 µA358 µA
1.4 V636.3 µA584.1 µA524.9 µA
1.6 V862.8 µA784.7 µA692.8 µA
1.8 V1.089 mA985.3 µA860 µA

Measured on ngspice 42 with the SKY130 tt models (361 points per curve).

So "hot is slow" holds only with plenty of gate drive. A gate driven from the full 1.8 V supply is slowest at 125 °C. A circuit whose devices see less than about 1 V of drive is slowest when cold. That reversal is called temperature inversion, and it is why timing sign-off checks both ends of the temperature range.

Corners and temperature combine. A design is checked at process, voltage and temperature together (PVT): for example ss at 125 °C for a fully driven gate, and ss at −40 °C for a weakly driven one. E7 builds that sign-off table for an amplifier.

Asked in interviews
  1. What are process corners? What do ff, ss, sf and fs mean?

    Model sets for wafers at the edges of the manufacturing spread: both kinds fast, both slow, or one fast and one slow. Check the naming in your PDK: in SKY130 the corner named sf measures as fast NMOS and slow PMOS, the reverse of its header comment. Corners move all devices together; mismatch is device to device.

  2. How does temperature change drain current?

    The threshold falls (here about −0.69 mV/K), which adds current, and mobility falls, which removes it. At low overdrive the threshold wins and current rises with heat; at high overdrive mobility wins. They cancel at the zero-temperature-coefficient point, 0.978 V for this device.

  3. What is temperature inversion?

    In a low-voltage or weakly driven circuit, the gates are slowest cold instead of hot, because the falling threshold matters more than the falling mobility. Sign-off must check both temperature extremes, not only the hot one.

Try it

Run the netlist: the first sweep moves every gate together, and meas reads the four currents of the table's tt row. The second part extracts the threshold at three temperatures with the constant-current method of E2.2.

Now change the first line after the title to .lib sky130 sf and run again; then try fs. Before each run, predict the sign of every change against tt. One run loads one corner: the library is read when the netlist loads, so five corners take five runs.

SPICEngspice 42 · simulator service
Edit the netlist, then run it
Expected measurements: in_short = 1.136616e-04 ip_short = 3.981684e-05 in_long = 2.153058e-04 ip_long = 7.665913e-06 vth_27 = 6.760515e-01 vth_m40 = 7.255910e-01 vth_125 = 6.119765e-01

Check yourself

Predict the outputThis netlist sweeps the lab's short NMOS at 27 °C and at 125 °C. rises is 1 where the hot current is larger and 0 where it is smaller. Type the line meas prints for VGS = 0.9 V (format: rises_at_09 = 6.319360e-01).
* does the current at VGS = 0.9 V rise or fall from 27 C to 125 C?
.lib sky130 tt
XM1 d g 0 0 sky130_fd_pr__nfet_01v8 W=2 L=0.15
VDS d 0 1.8
VGS g 0 0
.control
dc VGS 0 1.8 0.01
option temp=125
dc VGS 0 1.8 0.01
let id_27 = -dc1.vds#branch
let id_125 = -i(VDS)
* rises is 1 where the hot current is larger, 0 where it is smaller
let rises = id_125 gt id_27
meas dc rises_at_09 FIND rises AT=0.9
.endc
.end
ConceptRead the corner table. A path is limited by how fast a long PMOS (W = 5 µm, L = 1 µm) pulls its output up. In which corner is it slowest?
ConceptWhich of these is not a process corner?
ConceptAt VGS = 0.9 V the lab NMOS carries more current at 125 °C than at 27 °C. Why?
ConceptWhat does selecting .lib sky130 ff change in a simulation?

Remember

  • A process corner is a model set for a wafer at the edge of the spread; corners move every device together, while mismatch is device to device.
  • SKY130 has tt, ff, ss and two skewed corners; by measurement its sf is fast NMOS, slow PMOS (the header comment says the opposite), and fs is the reverse.
  • Short devices and PMOS devices swing most between corners: −29 % to +38 % for the short NMOS, −47 % to +68 % for the short PMOS.
  • Heat lowers both threshold and mobility: below the zero-temperature-coefficient point current rises with temperature, above it current falls.
  • Sign-off checks process, voltage and temperature together, at both temperature ends.