Appearance
CMOS 反相器
概念
CMOS 反相器( inverter)由一个 PMOS 和一个 NMOS 互补构成,实现逻辑非:输入高则输出低,输入低则输出高。
它看起来只是"一个非门",但它是整个数字世界的第一块砖——因为它是唯一一种在稳态下几乎不耗电的开关结构。上百亿个晶体管能塞进一块芯片而不烧掉,全靠这一点。
上一章的单个 NMOS 当开关有缺陷:它能把输出拉到低电平(强 "0"),但拉高电平时会因为阈值损失而到不了
(弱 "1")。CMOS 的解法很朴素——让 PMOS 专门负责拉高,NMOS 专门负责拉低,各干各擅长的事。
原理
结构
V_DD (电源, 例 1.2 V)
│
┌──────┴──────┐
│ │
┌──┴──┐ ┌──┴──┐
──┤ G ├─╮ │ │ PMOS:源接电源,栅接输入
│ PMOS│ │ │ │ 导通条件 V_GS < V_th(<0)
└──┬──┘ │ │ │ 即输入为低 → 导通 → 上拉
│ ╰────┤ G ├─ A (输入)
├─────────┤ │ NMOS:源接地,栅接输入
│ │NMOS │ 导通条件 V_GS > V_th(>0)
┌──┴──┐ └─┬───┘ 即输入为高 → 导通 → 下拉
│ Y ├────────╯
└─────┘ Y (输出)
│
┌──────┴──────┐
│ │
GND C_L (负载电容)两个管子的栅极接在一起(输入 A),漏极接在一起(输出 Y):
| 管 | 位置 | 源极接 | 什么时候导通 | 职责 |
|---|---|---|---|---|
| PMOS | 上拉网络 PUN | 输入为 低( | 把输出拉高 | |
| NMOS | 下拉网络 PDN | GND | 输入为 高( | 把输出拉低 |
两种稳态
输入 A = 0 (低电平)
PMOS 导通 ▓▓▓ 上拉 V_DD ●━━━┳━━━● Y = 1
NMOS 截止 ─── 断开 │
C_L 充电到 V_DD
(无直流通路,无电流)
输入 A = 1 (高电平)
PMOS 截止 ─── 断开 GND ●━━━┳━━━● Y = 0
NMOS 导通 ▓▓▓ 下拉 │
C_L 放电到 0
(无直流通路,无电流)这就是 CMOS 的全部精髓:任何稳态下,上拉与下拉网络总有一个是断开的,从
真值表与逻辑符号
| A | PMOS | NMOS | Y |
|---|---|---|---|
| 0 | 导通 | 截止 | 1 |
| 1 | 截止 | 导通 | 0 |
电压传输特性 VTC
输入从 0 连续扫到
V_out
V_DD │██████████╮
│ ╲ ██ = PMOS 导通区(输出高)
│ ╲ ▓▓ = NMOS 导通区(输出低)
│ ╲
V_M │─────────────●────────── V_M ≈ V_DD/2(开关阈值)
│ ╲
│ ╲▓▓▓▓▓▓▓▓
0 │ ▓▓▓▓▓▓▓▓
└─────────────────────────── V_in
0 V_IL V_M V_IH V_DD上面这条曲线定义了四个关键电平:
| 电平 | 含义 |
|---|---|
| 输出低电平的最大值(典型 0 ~ 0.1 V) | |
| 输出高电平的最小值(典型 | |
| 还能被认作"输入低"的最大值 | |
| 能被认作"输入高"的最小值 |
噪声容限(重点,考试的常客)
含义:前级输出叠加上多大的干扰,后级还能正确识别。容限越大越抗干扰。
举例(
理想情况
功耗(这是 CMOS 的第二个重点)
总功耗 = 动态功耗 + 静态功耗:
动态功耗来自每次翻转时对负载电容
- 电容充放电一次耗散的能量
是翻转活动因子(平均每个时钟周期翻转几次,0~1) 是时钟频率
是这条公式最有价值的信息:电压降一半,功耗降四分之三。这就是为什么工艺进步一定要降电压。
静态功耗来自各种漏电流(亚阈值漏电、栅极漏电、PN 结反偏漏电)。理论上为 0,实际上先进工艺里它已经占到总功耗的相当比例——这正是"芯片越做越烫"的原因之一。
直通电流:翻转的短暂瞬间,PMOS 与 NMOS 会同时导通,形成
传播延迟
输出对负载电容充放电需要时间:
(
更常用的工程近似是经验公式:
它揭示了一个两难:降电压能省功耗,但会拖慢速度(驱动电流按平方下降)。低功耗与高性能的矛盾,根子就在这个式子里。
为什么 CMOS 赢了
历史上与 TTL、NMOS 逻辑竞争过,CMOS 胜出的理由:
| 优点 | 原因 |
|---|---|
| 静态功耗近乎为零 | 稳态无直流通路 |
| 噪声容限大 | 输出摆幅满程,接近 |
| 电源电压范围宽 | 3 ~ 15 V(4000 系列)都能工作 |
| 集成度极高 | 结构简单,两个管子一个门 |
| 输入阻抗极高 | 扇出能力大(直流意义上) |
示例
例 1:噪声容限(完整计算)
某 CMOS 反相器
,数据手册给出 , , , 。求噪声容限。
第一步:高电平噪声容限。
第二步:低电平噪声容限。
结论:
用最坏值(min/max 的下标)算才是"容限"——拿典型值算出来的不是保证值。这是出题人爱挖的坑。
例 2:动态功耗(完整计算)
, , ,翻转活动因子 。求动态功耗。
第一步:算
第二步:逐个代入。
结论:
验证
例 3:传播延迟(完整计算)
等效导通电阻
,负载电容 。求传播延迟,以及该反相器能跑的最高频率量级。
第一步:算 RC 时间常数。
第二步:乘
第三步:估算频率上限。
一级延迟 138 ps → 若一级门就是关键路径,理论上限:
结论:
实际芯片的关键路径是十几到几十级门串联,再加上线延迟,所以真实主频远低于这个数字。但**"门延迟 × 关键路径级数 ≈ 时钟周期"**这个估算思路是对的。
用程序复算
#include <stdio.h>
int main(void) {
/* --- 噪声容限 --- */
double voh = 4.4, vol = 0.5, vih = 3.5, vil = 1.5;
printf("--- 噪声容限 ---\n");
printf("NM_H = %.2f V\n", voh - vih);
printf("NM_L = %.2f V\n", vil - vol);
/* --- 动态功耗 --- */
double CL = 20e-15, f = 2e9, alpha = 0.2;
printf("--- 动态功耗 (Vdd 扫描) ---\n");
double vdd_list[] = {1.8, 1.2, 0.6};
for (int i = 0; i < 3; i++) {
double vdd = vdd_list[i];
double p = alpha * CL * vdd * vdd * f;
printf("Vdd=%.1f V -> P=%.2f uW\n", vdd, p * 1e6);
}
/* --- 传播延迟 --- */
double Req = 1e4, cl2 = 20e-15;
double tp = 0.69 * Req * cl2;
printf("--- 传播延迟 ---\n");
printf("tau = %.0f ps, tp = %.0f ps, f_max ~ %.2f GHz\n",
Req * cl2 * 1e12, tp * 1e12, 1.0 / (2 * tp) / 1e9);
return 0;
}
c 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
# --- 噪声容限 ---
voh, vol, vih, vil = 4.4, 0.5, 3.5, 1.5
print("--- 噪声容限 ---")
print(f"NM_H = {voh - vih:.2f} V")
print(f"NM_L = {vil - vol:.2f} V")
# --- 动态功耗 ---
CL, f, alpha = 20e-15, 2e9, 0.2
print("--- 动态功耗 (Vdd 扫描) ---")
for vdd in (1.8, 1.2, 0.6):
p = alpha * CL * vdd ** 2 * f
print(f"Vdd={vdd:.1f} V -> P={p*1e6:.2f} uW")
# --- 传播延迟 ---
Req, cl2 = 1e4, 20e-15
tp = 0.69 * Req * cl2
print("--- 传播延迟 ---")
print(f"tau = {Req*cl2*1e12:.0f} ps, tp = {tp*1e12:.0f} ps, "
f"f_max ~ {1/(2*tp)/1e9:.2f} GHz")
python 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
输出:NM_H = 0.90 V、NM_L = 1.00 V;功耗 1.8V→25.92 μW、1.2V→11.52 μW、0.6V→2.88 μW;tau = 200 ps, tp = 138 ps, f_max ~ 3.62 GHz。
1.8 V 与 0.6 V 相差 3 倍电压、9 倍功耗(25.92 / 2.88 = 9)——平方关系得到验证。
考点
考点
1. 结构与导通条件(必须能画、能说)
- PMOS 在上、源接
,输入低电平时导通,上拉输出为高。 - NMOS 在下、源接 GND,输入高电平时导通,下拉输出为低。
- 两管栅极并联作输入、漏极并联作输出。
2. 为什么静态功耗为零
稳态下 PUN 与 PDN 必有一个截止,
3. 必背公式
- 噪声容限:
, - 动态功耗:
- 传播延迟:
4. 三个量级关系(选择题最爱)
| 关系 | 含义 |
|---|---|
| 电压减半,功耗降为 1/4 | |
| 频率翻倍,功耗翻倍 | |
| 负载电容越大越慢(扇出越大越慢) |
5. 易错点
- PMOS 导通条件是输入为低,别和 NMOS 记混。记忆法:PMOS 在上面,负责把输出上拉,所以它得在输入低时干活(互补)。
- 功耗与延迟的矛盾:降
省电但变慢(驱动电流按 掉)。 - 静态功耗不是零,只是很小。先进工艺下漏电已经不可忽略。
是"输入低的最大值", 是"输入高的最小值"——方向别搞反,中间那段是不确定区。- 用典型值算噪声容限是错的,必须用 min/max 的最坏值。
不是 1。大多数门不是每个周期都翻转,典型 0.1 ~ 0.3。
小结
- CMOS 反相器 = PMOS 上拉 + NMOS 下拉,互补导通,稳态无直流通路。
- 静态功耗近似为零 + 噪声容限接近
—— 这两条是 CMOS 统治数字电路的原因。 - 功耗主要来自动态项
,电压平方关系是最有力的调节手段。 - 速度受限于 RC 充放电
;降电压省电但变慢,这是芯片设计的永恒矛盾。 - 现在你手里有一个干净的非门了。把它按规则拼起来,就能得到与、或、非、异或的全部逻辑——下一章。
下一篇:从晶体管到逻辑门
评论(0)
当前浏览器不允许本地存储,评论无法保存。
还没有评论,来说两句。