布尔逻辑与逻辑门
逻辑门的稳定输入输出关系可用真值表表示。一输入有两行,二输入有四行。AND 仅在两个输入都为 1 时输出 1;OR 在至少一个为 1 时输出 1;NOT 反转输入。将同一对输入接到 XOR 和 AND,就能让 1+1 得到二进制 10。
连线决定复合电路的真值表。送入一组输入可检查一行,枚举全部输入便能验证这组小电路的加法功能。
逻辑门的真值表
两个输入只有 (0,0)、(0,1)、(1,0)、(1,1) 四种组合。AND 对应 0,0,0,1;把这些输出全部反转就是 NAND 的 1,1,1,0。若只把 AND 的最后一个 1 改成 0,则得到恒零函数。
四行各能填 0 或 1,所以二输入布尔函数共有 2⁴=16 种。真值表完整规定稳定态逻辑,不包括传播过程的时序。这里的无反馈组合门也没有记忆,输出只由当前输入决定;计数或记忆还需要反馈与状态结构。
逐步演示
默认是半加器:同一对 a = 1, b = 1 同时接入 XOR 和 AND。
- 起初电路形状已画出,但门和连线淡化,尚未展示输入信号。
- a、b 变为 1,每根输入线分送两个门。模型不收取扇出成本,真实电路驱动多个负载有代价。
- XOR 高亮,四行真值表标出
(1,1),该行输出 0。 - 0 到达 sum 输出。脉冲表示传播,线上已显示最终值,暂停时仍能读出当前计算结果。
- AND 使用相同输入,真值表的
(1,1)输出 1。 - carry 输出变为 1。
- 读取
sum=0, carry=1,按 carry 在高位、sum 在低位组成10,即十进制 2。carry 的权重为 2。 - 其余三种输入各演示一次,所有连线重新求值,结果与
a+b参考列并排。 - 四行全部匹配,证明这个半加器对全部二输入组合成立。连线没有改变,改变的只有输入。
第 3、4 步把一次门求值拆成“查看表行”和“输出到达”两个可见时刻,不表示做了两次独立运算。
连线决定功能
半加器没有进位输入,不能直接串成多位加法器。Full adder: 1+1+1 用五个门补足它:两个 XOR、两个 AND、一个 OR,后者合并两种产生进位的路径。三输入表有八行,1+1+1 输出 sum=1, carry=1,即二进制 11=3。
把八个全加器串联,每个 carry out 接到下一位 carry in,就得到八位串行进位加法器,也是补码课逐列加法的电路基础。有符号、无符号低位加法使用相同逻辑,溢出解释另行处理。
XOR from AND/OR/NOT 用 (a OR b) AND NOT(a AND b) 构成 XOR:至少一个为 1,但不能同时为 1。XOR 可以作为电路库中的基本单元,也能由 AND、OR、NOT 组合,并非实现全部布尔函数所必需的额外原语。
AND from NAND 展示更小的起点。把一根线同时接 NAND 的两个输入,只能到达 (0,0)、(1,1),于是它成为 NOT。用 NAND 可依次构成 NOT、AND、OR,再实现任意布尔函数。常见静态 CMOS 二输入 NAND 用四个晶体管,AND 在其后加反相器通常用六个,说明器件成本会影响门级实现。
边界情况
- NOT 只有两行:
0→1、1→0。串联两个 NOT 在逻辑上恢复原信号,时序上仍有门延迟。 - 同一根线接门的两个引脚,会把二输入函数限制成一输入函数。可用来构造反相器,误接时也会改变功能。
Broken: OR instead of XOR只换一个门。OR 与 XOR 只在(1,1)不同,所以其余三行仍符合加法。仅测试0+1、1+0会漏掉错误。- n 个输入需要
2ⁿ行。两输入四行,三输入八行,32 位加法器的全部输入组合已经无法靠手工枚举。约四个输入以内可用表逐行检查,更大电路通常结合布尔代数、选定向量仿真和形式等价验证;后者可证明所有输入等价,而非逐行枚举。 - 门数不是唯一成本。串行进位加法器门数少,但最坏需要从第 0 位向第 31 位传播进位;超前进位结构用更多逻辑缩短路径。稳定态功能可相同,面积与时序却不同。
常见错误
- 以为 XOR 符号意味着必须增加新的功能基础。AND、OR、NOT 已能组合全部布尔表,XOR 是常用功能的封装。
- 把逐门演示当成软件执行顺序。真实门持续并发响应,信号沿路径延迟传播;画面顺序是讲解顺序。
- 混淆按位与逻辑运算。在 C 类语言中,
&对各位做 AND,&&将操作数视为真假并短路。if (flags & MASK && x)按if ((flags & MASK) && x)分组,括号能说明意图。 - 把 OR 理解为只能二选一。布尔 OR 包含两者,
1 OR 1=1;排除两者同时成立的是 XOR。 - 以为相同真值表意味着相同硬件行为。路径延迟不同,切换途中可能出现毛刺;表描述稳定输出,不描述到达过程。
模型范围
模型中的门立即求值、连线理想、扇出不受限。真实门有传播延迟,驱动负载过多会变慢或失效;信号到达时间不同会产生瞬态毛刺,同步设计依靠时钟边界采样稳定结果。功耗、面积、时序分析超出本课。这里的组合逻辑与半加器连接规则准确,但不能由此忽略实际电路的状态结构和物理约束。