Engineering
MOSFET Drain Current (Cutoff, Triode & Saturation) & gm formulas
Model square-law NMOS transistor drain current across Cutoff (V_GS <= V_th), Triode/Linear (V_DS < V_OV), and Saturation (V_DS >= V_OV) with IFS plus transconductance g_m.
An ideal long-channel NMOS square-law model
Use kn in mA/V² and voltages in volts, giving drain current in mA and transconductance in mA/V (mS). Here kn = mobility × oxide capacitance per area × W/L; some sources include the factor one-half in a differently named parameter, so do not mix conventions.
This educational model assumes a positive-threshold enhancement NMOS with VDS at least zero. It ignores subthreshold leakage, body effect, channel-length modulation, temperature dependence and short-channel effects. It is not a general discrete power-MOSFET design or device-rating model.
Below threshold the ideal current and gm are zero. Above threshold the current uses the triode expression for VDS below VGS−Vth, and the square-law saturation expression otherwise. At fixed VDS, gm in triode is kn×VDS; in saturation it is kn×(VGS−Vth). Both expressions agree at the region boundary.
| MOSFET Operating Region | Voltage Condition (V_th = 0.7 V) | Drain Current Formula | k_n = 2 mA/V^2, V_GS = 2.5 V |
|---|---|---|---|
| Cutoff (OFF) | V_GS <= 0.7 V | 0 mA | 0.00 mA (at V_GS = 0.5 V) |
| Triode / Linear Switch | V_DS = 1.0 V < V_OV (1.8 V) | k_n * (V_OV*V_DS - 0.5*V_DS^2) | 2.60 mA |
| Saturation Amplifier | V_DS = 3.0 V >= V_OV (1.8 V) | 0.5 * k_n * (V_GS - V_th)^2 | 3.24 mA (g_m = 3.60 mA/V) |
Unified 3-Region Shichman-Hodges NMOS Drain Current I_D (mA)
Automatically selects Cutoff, Triode, or Saturation based on V_GS (B3), V_th (B4), and V_DS (B5).
=IF(COUNT(B2:B5)<>4,"Invalid inputs",IF(OR(B2<=0,B4<=0,B5<0),"Invalid inputs",IFS(B3 <= B4, 0, B5 < (B3 - B4), ROUND(B2 * (((B3 - B4) * B5) - 0.5 * (B5 ^ 2)), 4), TRUE, ROUND(0.5 * B2 * ((B3 - B4) ^ 2), 4))))Small-signal transconductance across all three regions
This derivative is evaluated at fixed drain-source voltage. The triode value differs from the saturation-only expression when VDS is below overdrive.
=IF(COUNT(B2:B5)<>4,"Invalid inputs",IF(OR(B2<=0,B4<=0,B5<0),"Invalid inputs",IF(B3<=B4,0,ROUND(B2*MIN(B5,B3-B4),4))))Display the selected operating region
Equality VDS = VGS−Vth is assigned to saturation; the current and gm are continuous at this boundary.
=IF(COUNT(B2:B5)<>4,"Invalid inputs",IF(OR(B2<=0,B4<=0,B5<0),"Invalid inputs",IF(B3<=B4,"Cutoff",IF(B5<B3-B4,"Triode","Saturation"))))Try the example
Use the original values or change them to test your understanding.