简述: 真值表列出每一种可能的输入组合,以及逻辑门会产生的确定性输出。本参考涵盖全部七种标准门——AND、OR、NOT、NAND、NOR、XOR、XNOR——并给出布尔表达式和表格,以及一个完整示例,说明四个 NAND 门如何复现 XOR 的行为。
真值表是逻辑门的权威规格。它枚举每一种可能的输入情形,以及该门将产生的唯一、确定性输出。读写真值表是数字设计的基础技能——同样的表示法还会出现在后续的 卡诺图、积之和推导和电路验证中。
基本门:计算的原语
基础门——AND、OR 和 NOT——如同数字逻辑设计中的三种基础元素。理论上,每一个复杂的逻辑函数都能由这三者的组合构成。
NOT 门(反相器)
NOT 门是所有门中最简单的。它有一个输入和一个输出,职责是对输入信号取反。输入为 1 时输出 0;输入为 0 时输出 1。它是对立关系在逻辑中的体现。
布尔表达式:
| 输入 (A) | 输出 (Y) |
|---|---|
| 0 | 1 |
| 1 | 0 |
AND 门
AND 门用于表示条件的合取。只有当全部输入均为 1 时,输出才为 1。例如,若进入某场地同时需要身份证和门票,可表示为 ID = 1 AND Ticket = 1;任一条件不成立,输出即为 0。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR 门
OR 门用于表示条件的析取。只要任一输入为 1,输出即为 1。若门票或邀请函中的任一凭证均可满足入场条件,则只需其中一项为真(= 1)。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
函数完备门的作用
构建任意数字电路并不要求同时使用 AND、OR 和 NOT。任意布尔函数均可只用一种门类型实现,这种性质称为函数完备性;NAND 和 NOR 均具有该性质。
这为什么重要?在制造中,一致性至关重要。制造数以百万计的晶体管来实现单一类型的门(例如 NAND),比制造多种不同类型的门效率更高、成本也更低。这正是硅芯片经济性的奥秘所在。
NAND 门(与非门)
NAND 门就是一个 AND 门后接一个 NOT 门。它产生的输出恰好与 AND 门相反。只有当所有输入均为 1 时,它才输出 0。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NOR 门(或非门)
同样地,NOR 门就是一个 OR 门后接一个 NOT 门。只有当所有输入均为 0 时,它才输出 1。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
要证明它们的通用性,可以只用 NAND 门构造三个基本门:
- NOT 门: 将一个 NAND 门的两个输入接在一起。输入
A会同时接到两个输入端,因此输出为 。 - AND 门: 将一个 NAND 门的输出送入配置为 NOT 门的 NAND 门。输出为 。
- OR 门: 对输入
A和B分别取反(使用作为 NOT 门的 NAND 门),再将它们送入第三个 NAND 门。根据德摩根定律,输出为 。
异或类门:差异检测器
这些门处理一种特殊逻辑:输入是否相同,还是不同。
XOR 门(异或门)
XOR 门是“二者取一,但不能同时取二”的门。只有当输入不同时,它才输出 1。这种行为在算术和错误检查中极为有用。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XNOR 门(同或门)
XNOR 门是 XOR 的逻辑反。它是相等检测器,只有当输入相同时才输出 1。
布尔表达式:
| 输入 (A) | 输入 (B) | 输出 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
在 DigiSim.io 中进行仿真
搭建电路能让真值表变得具体可见。为演示 NAND 门的通用性,可用四个 NAND 门构建一个 XOR 门。
- 打开工作区: 进入 DigiSim.io 仿真器,此时画布为空。
- 放置元件:
- 将两个 输入开关拖到画布上,分别标记为 ‘A’ 和 ‘B’。
- 将四个 双输入 NAND 门拖到画布上。
- 将一个 输出 LED 拖到画布上,并标记为 ‘Y’。
- 连接电路:
- 将输入
A连接到 NAND 门 #1 的第一个输入端和 NAND 门 #2 的第一个输入端。 - 将输入
B连接到 NAND 门 #1 的第二个输入端和 NAND 门 #3 的第一个输入端。 - 将 NAND 门 #1 的输出连接到 NAND 门 #2 和 NAND 门 #3 的第二个输入端。
- 将 NAND 门 #2 的输出连接到 NAND 门 #4 的第一个输入端。
- 将 NAND 门 #3 的输出连接到 NAND 门 #4 的第二个输入端。
- 最后,将 NAND 门 #4 的输出连接到输出 LED ‘Y’。
- 测试真值表: 依次切换 A 和 B 的输入开关,并观察 LED。
A=0, B=0:LED 熄灭(0)。A=0, B=1:LED 点亮(1)。A=1, B=0:LED 点亮(1)。A=1, B=1:LED 熄灭(0)。
该实验仅使用 NAND 门便验证了 XOR 门的真值表,从而以可交互方式证明了 NAND 的函数完备性。
现实应用
这些抽象逻辑门是现代数字设备的基础元件。
- RAM 奇偶校验中的 XOR: 计算机内存(DRAM)中的位偶尔会因辐射或电噪声而翻转。为检测这种情况,许多系统使用奇偶校验位。每 8 位数据会额外存储第 9 位。该位通过对 8 个数据位执行 XOR 得出。如果 1 的数量为奇数,XOR 结果(奇偶校验位)为 1;若 1 的数量为偶数,则为 0。读取数据时会再次执行这一计算。若新结果与存储的奇偶校验位不匹配,系统便知道发生了错误。
- CPU 算术逻辑单元(ALU)中的 AND: ALU 是 CPU 执行算术与逻辑运算的核心单元。在编程语言中执行按位
AND运算时,CPU 会将这些位直接送至 ALU 内的一组 AND 门。这也是“掩码”技术的基础;掩码用于隔离一个字节内的特定位。例如,要检查字节D的第 4 位是否置位,程序员可能会计算D AND 00001000。若结果不为零,该位便已置位。这个每秒执行数十亿次的简单测试,直接建立在 AND 门的真值表之上。
真值表不只是需要记忆的参考资料,也是设计、调试和精确定义数字逻辑元件的基本工具。



