贵州电子信息职业技术学院实训中心电工电子与控制 · 虚拟仿真

2 位二进制加法器

带进位传播的 2 位二进制加法。使用基础逻辑门和进位链演示多位算术。

交互式仿真

本地工程状态

原作者完整工程已本地恢复;实际验证范围见交付清单。原远程交互电路已停用。

载入 H01 2 位二进制加法器 的本机副本。载入前会确认当前工程的保存选择。

学习目标

  • 使用一级半加器和一个全加器门网络将两个 2 位操作数相加。
  • 追踪 C0 从最低有效位进入最高有效位级的路径。
  • 解读 A、B 和 3 位结果数字显示器。
  • 将每个可见的异或门、与门和或门对应到加法器方程。
  • 识别定义行波进位加法的串行进位通路。

工作原理

实际电路将两个 2 位无符号操作数 A1A0 和 B1B0 相加,并在数字显示器上呈现 3 位结果。另有两个数字显示器分别反映操作数 A 和 B。算术运算由独立的异或门、与门和或门实现,而非封装式加法器元件。

第 0 位为半加器:

  • S0 = A0 ⊕ B0
  • C0 = A0 · B0

第 1 位为全加器网络:

  • S1 = A1 ⊕ B1 ⊕ C0
  • Cout = A1B1 + C0(A1 ⊕ B1)

结果显示器的第 0 位接收 S0,第 1 位接收 S1,第 2 位接收 Cout。最大输入情况为 11 + 11 = 110,即 3 + 3 = 6。

由于 C0 送入第 1 位网络,进位通路是串行的。这是行波进位加法器的定义性特征,也是字宽增大后需要采用更快进位体系结构的原因。

真值表

从 16 种可能的输入组合中选取六个代表性行,展示无进位、局部进位、传播进位及最大和。

输入输出
A1A0B1B0CoutS1S0
000000000 + 00 = 000;无进位
010101001 + 01 = 010;第 0 位产生 C0
100101110 + 01 = 011;无最终进位
110110011 + 01 = 100;进位传播通过第 1 位
101010010 + 10 = 100;第 1 位产生 Cout
111111011 + 11 = 110;2 位无符号数的最大和

布尔表达式

S0=A0⊕B0,    C0=A0⋅B0S_0 = A_0 \oplus B_0,\;\; C_0 = A_0 \cdot B_0

第 0 位为半加器:异或产生 S0,逻辑与产生进位 C0。

S1=A1⊕B1⊕C0S_1 = A_1 \oplus B_1 \oplus C_0

第 1 位将 A1、B1 与 C0 相加;其中两个异或门产生 S1。

Cout=A1B1+C0(A1⊕B1)C_{out} = A_1 B_1 + C_0(A_1 \oplus B_1)

第 1 位的两个进位项执行逻辑或后产生 Cout,并驱动结果显示器的第 2 位。

逐步尝试

在上方嵌入式电路中设置输入,然后阅读预期结果并验证。

  1. 1
    A0 = 1A1 = 0B0 = 1B1 = 0
    预期: Cout S1 S0 = 010(十进制 2)
    观察结果: 01 + 01 得到 010。第 0 位与门产生 C0,并使 S1 置 1。
  2. 2
    A0 = 0A1 = 1B0 = 0B1 = 1
    预期: Cout S1 S0 = 100(十进制 4)
    观察结果: 10 + 10 得到 100。第 1 位的操作数直接产生 Cout。
  3. 3
    A0 = 1A1 = 1B0 = 1B1 = 0
    预期: Cout S1 S0 = 100(十进制 4)
    观察结果: 11 + 01 得到 100。源自第 0 位的进位经过第 1 位网络传播至 Cout。
  4. 4
    A0 = 1A1 = 1B0 = 1B1 = 1
    预期: Cout S1 S0 = 110(十进制 6)
    观察结果: 11 + 11 得到 110,这是两个 2 位无符号操作数相加的最大结果。

所用元件

实际应用

小型算术数据通路。 紧凑型计数器、地址生成器和控制数据通路使用相同方程实现无符号加法。

ALU(算术逻辑单元) 教学与验证。 门级视图可呈现封装式全加器单元通常隐藏的求和项与进位项。

更宽的行波进位加法器。 当面积和实现简洁性比最低延迟更重要时,可增加全加器级,将同一结构扩展至更大字宽。

FPGA(现场可编程门阵列) 与 ASIC(专用集成电路) 综合。 描述加法的硬件描述代码会被映射至目标专用进位资源或标准单元,同时保持相同的算术行为。

常见问题

为什么第 0 位使用半加器?

该电路的第 0 位以下不存在进位输入,因此其第三个输入将固定为 0。一个异或门和一个与门即可实现所需的半加器功能。第 1 位会接收 C0,因而需要完整的全加器网络。

如何将该电路扩展至 4 位?

为每个新增位添加一个全加器门网络,将各级进位输出连接至下一级进位输入,并将最终进位送至新的最高有效结果位。

该电路的关键路径是什么?

该 2 位原理图中最长的结构路径从第 0 位与门产生的进位开始,依次经过第 1 位与门和最终或门。实际时间延迟取决于所选门电路、负载、电压和制造工艺;逻辑仿真器不会指定通用的纳秒数值。

该电路能否直接执行减法?

补码减法使用 A + ¬B + 1。该原理图的第 0 位没有可控进位输入,因此若要支持减法,必须增加这一输入(通常将第 0 位半加器替换为全加器级),并对 B 进行条件取反。

该电路与超前进位加法器有何不同?

这是行波进位实现,C0 必须传播至下一级。超前进位及相关体系结构并行求取进位信息;随着字宽及定时压力增大,这些结构更具优势,但代价是增加逻辑与布线。

继续学习

进阶课程