全加器:构建高效多位二进制加法器
加两个以上二进制数字时,单个半加器不再足够。传统方法——为每个新位宽建真值表——虽准确但缓慢。全加器通过处理第三个输入(进位输入),使设计能快速可靠地扩展。
考虑两位加法:
11 + 11 ------- 110中间列需要三个输入:
a、b 和进位输入 Cin。用两输入加法器作构建块,可构造三输入加法器,产生和位与进位输出。
数学上,若 Σ = a + b + Cin 且 Σ1 = a + b,则 Σ = Σ1 + Cin。下图展示此配置的逻辑图。


考察三输入和的真值表:
Cin + a + b = ? 0 + 0 + 0 = 0 0 + 0 + 1 = 1 0 + 1 + 0 = 1 0 + 1 + 1 = 10 1 + 0 + 0 = 1 1 + 0 + 1 = 10 1 + 1 + 0 = 10 1 + 1 + 1 = 11低位正确由三输入异或产生。高位进位出现在
a+b 产生进位 (C1) 或 a+b 产生和位且进位输入为 1 时。因此进位输出逻辑为 Cout = C1 OR (Σ1 AND Cin)。


某些应用中,用异或门替换最终或门可减少一门且不改功能,降低传播延迟。
级联两个全加器可高效加两位数。下图显示两全加器连接成 2 位加法器:


此处 A0 和 A1 为操作数 A 的低、高位;B 同理。输出 Σ0 和 Σ1 形成 2 位和,Cout 传递至下一级。
虽然 2 位加法器可直接用逻辑门构建,但两位位置均用全加器可简化大型设计并便于级联。此法自然扩展:4 位加法器由两 2 位加法器经进位链接;8 位加法器由两 4 位加法器组成,以此类推。
下面是用全加器构建的 8 位加法器示例:

每个 “2+” 块代表 2 位加法器,每个 “4+” 块代表 4 位加法器,组合成的 8 位加法器达成与整体 8 位设计相同结果。权衡在于:层次化设计通过进位链引入额外传播延迟,而单级乘积项和实现可能提供更快时序但设计复杂度更高。
对于大型组合电路,设计者通常在模块化构建(设计简单但潜在较慢)与整体设计(传播更快但综合更复杂)间抉择。全加器方法体现模块化,支持增量验证与复用。
相关工作表:
- 二进制数学电路工作表
工业技术