本页目录
逻辑门与布尔代数
布尔代数基础
三种基本运算
与 (AND): Y = A · B "都1才1"
或 (OR): Y = A + B "有1就1"
非 (NOT): Y = Ā "取反"
真值表
AND OR NOT
A B | Y A B | Y A | Y
0 0 | 0 0 0 | 0 0 | 1
0 1 | 0 0 1 | 1 1 | 0
1 0 | 0 1 0 | 1
1 1 | 1 1 1 | 1
基本定理
结合律: (A·B)·C = A·(B·C)
(A+B)+C = A+(B+C)
交换律: A·B = B·A
A+B = B+A
分配律: A·(B+C) = A·B + A·C
德摩根定理 (极其重要!):
───
A·B = Ā + B̄ "与的非 = 非的或"
───
A+B = Ā · B̄ "或的非 = 非的与"
归约:
A + Ā = 1
A · Ā = 0
A + 1 = 1
A · 0 = 0
A + A = A
A · A = A
= (双重否定)
A = A
基本逻辑门
符号与表达式
AND: A ──┬──
│ )── Y Y = A·B
B ──┴──
OR: A ──┬──
│ )── Y Y = A+B
B ──┴──
NOT: A ──▷── Y Y = Ā
NAND: A ──┬──
│ )─○ Y Y = A·B̄ (AND + NOT)
B ──┴──
NOR: A ──┬──
│ )─○ Y Y = A+B̄ (OR + NOT)
B ──┴──
XOR: A ──┬──
│ )── Y Y = A⊕B = ĀB + AB̄
B ──┴── ("不同为1")
XNOR: A ──┬──
│ )─○ Y Y = A⊕B̄ ("相同为1")
B ──┴──
NAND / NOR 的通用性
NAND 可以实现任何逻辑函数!
NOT: A NAND A = Ā
AND: (A NAND B) NAND (A NAND B) = A·B
OR: (A NAND A) NAND (B NAND B) = A+B
NOR 同理可以构建一切
这就是为什么 NAND Flash 和 NOR Flash 得名于此
组合逻辑化简
卡诺图 (Karnaugh Map)
2变量:
B
A 0 1
0 0 1
1 1 0 ← 填入输出值
3变量: AB/C 排列
圈相邻的1 (2ⁿ 个一组) → 写出最小项 → 得到最简表达式
目的: 用最少门实现给定真值表
竞争与冒险
多个信号路径延迟不同 → 输出出现短暂错误脉冲 (glitch)
例: A 和 Ā 应该同时到达 AND 门,但 Ā 经过反相器有延迟
→ 短暂瞬间 A=1, Ā=1 (还没变0) → AND 输出错误 1
解决: 加冗余项 或 在输出加电容滤波
逻辑电平
TTL vs CMOS
TTL (5V) CMOS (5V) CMOS (3.3V)
VIH: > 2.0V > 3.5V > 2.0V
VIL: < 0.8V < 1.5V < 0.8V
VOH: > 2.4V > 4.4V > 2.9V
VOL: < 0.4V < 0.1V < 0.4V
噪声容限 = min(VOH-VIH, VIL-VOL)
CMOS 噪声容限明显优于 TTL
输入类型
浮空输入 — 千万不要! CMOS 输入浮空 = 不确定状态 + 大功耗
未用的输入引脚: 接 Vcc 或 GND (通过电阻)
实际门电路
CMOS 反相器
Vdd
│
┌───┤ PMOS (上管)
│ │
A ──┤ ├── Y
│ │
└───┤ NMOS (下管)
│
GND
A=1 → NMOS ON, PMOS OFF → Y=0
A=0 → NMOS OFF, PMOS ON → Y=1
CMOS 最大优势: 静态功耗几乎为零!
(只在切换瞬间耗电)
74 系列速查
74HC00: 四路 2输入 NAND
74HC02: 四路 2输入 NOR
74HC04: 六路 NOT (反相器)
74HC08: 四路 2输入 AND
74HC32: 四路 2输入 OR
74HC86: 四路 2输入 XOR
74HC14: 六路 施密特触发 NOT
74HC595: 8位移位寄存器 (超常用!)
74HC165: 8位并行→串行
关键词: 布尔代数, AND, OR, NOT, NAND, NOR, XOR, 德摩根, 卡诺图, CMOS, TTL