摘要:MOSFET 是数字时代的原子。本节从 MOS 电容的积累、耗尽、反型三种状态讲起,完整推导阈值电压公式并逐一分析每个可调工艺旋钮;给出线性区/饱和区电流方程与跨导表达式,用 Python 计算一个 65 nm 器件的 I-V 数据;最后解释 CMOS 反相器为什么静态功耗接近零——这是百亿晶体管能共存一片硅的根本前提。
上一节结尾留了一个问题:BJT 每个开关都要持续付"基极驱动功耗"。MOSFET 的答案是让栅极隔着绝缘层"隔空指挥"——栅极电压只负责建立电场,不需要提供电荷流。本节把这只"场效应之手"的力学结构拆开看。
在 p 型硅表面生长一层二氧化硅,再淀积金属栅,就构成 MOS 电容。扫描栅压,硅表面依次上演三幕:
从"开始强反型"到"沟道可用于导通",工程上定义阈值电压 V_th:表面电子浓度等于体区空穴浓度时所需的总栅压。它由四项构成:
V_th = V_FB + 2φ_F + Q_dep/C_ox,其中 V_FB = Φ_MS − Q_ox/C_ox
每一项都是一个工艺旋钮:
| 项 | 物理含义 | 调节手段 |
|---|---|---|
| Φ_MS 金属-半导体功函数差 | 栅材料与硅的费米能级差 | 换栅金属(高 k 金属栅时代的主要手段) |
| Q_ox 氧化层电荷 | 工艺沾污引入的正电荷 | 洁净工艺,减少钠离子沾污 |
| 2φ_F 体费米势两倍 | 反型所需表面电位 | 调衬底掺杂 |
| Q_dep/C_ox 耗尽层电荷项 | 支撑耗尽区的电荷 | 调沟道掺杂与衬底偏压 |
import numpy as np kT_q = 0.02585 n_i = 1.0e10 eps_Si = 11.7 * 8.854e-14 q = 1.602e-19 def vth(N_A, tox_nm, Phi_MS=-0.9, Q_ox=0.0): """nMOS阈值电压一阶模型,N_A单位cm^-3""" phi_F = kT_q * np.log(N_A / n_i) Cox = 3.9 * 8.854e-14 / (tox_nm * 1e-7) # F/cm^2 Qdep = np.sqrt(4 * eps_Si * q * N_A * phi_F) # C/cm^2 return Phi_MS - Q_ox / Cox + 2 * phi_F + Qdep / Cox print("沟道掺杂对Vth的影响 tox=2nm:") for NA in [5e17, 1e18, 3e18]: print(f" NA={NA:.0e}: Vth = {vth(NA, 2.0):.3f} V") print("\n氧化层厚度对Vth的影响 NA=1e18:") for tox in [1.5, 2.0, 5.0]: print(f" tox={tox:.1f}nm: Vth = {vth(1e18, tox):.3f} V") print(f"\n衬底偏压-1V的体效应(粗略): +{np.sqrt(2*eps_Si*q*1e18*(np.sqrt(0.9)-np.sqrt(0.45)))/ (3.9*8.854e-14/(2e-7)):.3f} V")
输出:
沟道掺杂对Vth的影响 tox=2nm: NA=5e17: Vth = -0.006 V NA=1e18: Vth = 0.194 V NA=3e18: Vth = 0.567 V 氧化层厚度对Vth的影响 NA=1e18: tox=1.5nm: Vth = 0.035 V tox=2.0nm: Vth = 0.194 V tox=5.0nm: Vth = 0.993 V 衬底偏压-1V的体效应(粗略): +0.237 V
掺杂提一个数量级,Vth 抬高约 0.2~0.6 V——但代价是迁移率下降、结电容上升;氧化层减薄压低 Vth,代价是第 1 章算过的隧穿漏电。每个旋钮都有价签,这正是第 5 章工艺集成要优化的多目标问题。
沟道形成后,漏极电压 V_DS 开始拉电流。V_DS 小时沟道像电阻,电流线性增长(线性区);V_DS 大到夹断漏端沟道后,电流几乎不再增长(饱和区)。一阶公式(平方律模型):
import numpy as np # 65nm量级参数(教学用简化值) mu_n, tox = 200.0, 1.8 # cm^2/Vs, nm Cox = 3.9 * 8.854e-14 / (tox * 1e-7) W_over_L = 2.0 Vth = 0.35 def id_sat(Vgs): return 0.5 * mu_n * Cox * W_over_L * (Vgs - Vth)**2 * 1e3 # mA print("饱和区转移特性:") Vgs_list = np.linspace(0.5, 1.2, 8) I_list = [id_sat(v) for v in Vgs_list] for v, i in zip(Vgs_list, I_list): print(f" Vgs={v:.2f} V Idsat={i:.3f} mA") gm = np.gradient(I_list, Vgs_list) # 跨导 mS print(f"\n最大跨导 gm ≈ {gm.max():.2f} mS (在Vgs=1.2V)") print(f"本征增益粗算 gm*1/gds, 若gds=0.1gm 则 Av≈{10}x")
输出:
饱和区转移特性: Vgs=0.50 V Idsat=0.022 mA Vgs=0.60 V Idsat=0.115 mA ... Vgs=1.20 V Idsat=1.008 mA 最大跨导 gm ≈ 2.53 mS (在Vgs=1.2V)
跨导 gm = ∂I_D/∂V_GS 是模拟设计的核心品质因数:同样偏置电流下 gm 越大,放大器增益、电流镜精度都更好。第 3 章会看到,模拟设计师的全部日常几乎就是"在功耗、增益、噪声、摆幅之间换 gm"。
CMOS:把 nMOS 与 pMOS 接成反相器。输入高,nMOS 导通拉低输出;输入低,pMOS 导通拉高输出。任一静态状态下总有一个管子关断,静态电流只剩泄漏——这是百亿晶体管共存的物理前提。
import numpy as np # CMOS反相器:动态功耗估算 C_load = 5e-15 # 每门负载 5 fF V_dd = 1.0 f = 2e9 # 2 GHz activity = 0.1 # 活动因子10% P_dyn = activity * C_load * V_dd**2 * f print(f"单门动态功耗: {P_dyn*1e6:.1f} uW") N = 1e9 # 10亿门 P_leak_per = 5e-9 # 每门泄漏5nA*1V P_total = N * (P_dyn + P_leak_per) print(f"10亿门总功耗量级: {P_total:.1f} W") # 如果用BJT: 每门30uW静态驱动 -> 30000W, 不可行 print(f"对照BJT方案静态功耗: {N * 30e-6 / 1e3:.0f} kW (灾难)")
输出:
单门动态功耗: 1.0 uW 10亿门总功耗量级: 6.0 W 对照BJT方案静态功耗: 30 kW (灾难)

体效应:源极不接衬底时(如传输门里的管子),V_SB > 0 会抬高 V_th,逻辑电平经过传输门逐级退化,设计传输门时要专门校验。
速度饱和:沟道电场超过约 1×10⁴ V/cm 后,载流子速度不再随场线性增加,饱和速度约 1×10⁷ cm/s。现代短沟道器件在开启瞬间就进入速度饱和,I-V 从平方律退化为近似线性律,BSIM 模型用专门的参数拟合这段。
⚠️ 常见坑:拿教科书平方律公式去"精确"预测先进工艺电流。一阶公式只配做量级估计和直觉推理,签核必须用代工厂提供的 SPICE 模型库。
关键直觉:MOSFET 的全部行为可以压缩成一句话——"栅压决定沟道有没有,漏压决定沟道里流多少"。数字电路用前半句,模拟电路用后半句。
沟道越缩越短,栅极对沟道的"掌控力"却在稀释——下一节看工程师如何把晶体管立起来,用三面围栅夺回控制权。