1. 引言
Logisim 是一款开源的数字电路仿真与设计工具,非常适合用于学习计算机组成原理、数字逻辑等课程。本教程将教你使用 Logisim 设计三种加法器组件:半加器、全加器和 8 位加法器。每种组件的教程都将包含三个核心部分:真值表、逻辑化简和Logisim 原理图实现。通过本教程,你将掌握从逻辑分析到电路实现的全过程。
在原理图部分,将使用Logisim Evolution 3.9.0和Logisim 2.7.1两个版本演示。
2. 半加器(HalfAdder)
2.1 真值表
半加器用于计算两个一位二进制数的和,并产生一个进位。它有两个输入(A 和 B)和两个输出(Sum 和 Carry)。
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
2.2 逻辑化简
根据真值表,我们可以写出 Sum 和 Carry 的逻辑表达式:
- Sum = A ⊕ B(异或)
- Carry = A · B(与)
2.3 Logisim 原理图实现
在 Logisim 中实现半加器的步骤如下:


- 将 A 和 B 连接到异或门的两个输入端,异或门的输出端连接到 Sum 引脚。
- 将 A 和 B 连接到与门的两个输入端,与门的输出端连接到 Carry 引脚。
Logisim Evolution:

Logisim:

3. 全加器(FullAdder)
3.1 真值表
全加器在计算两个一位二进制数的和时,还会考虑来自低位的进位(Cin)。它有三个输入(A、B、Cin)和两个输出(Sum、Cout)。
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
3.2 逻辑化简
根据真值表,我们可以写出 Sum 和 Cout 的逻辑表达式:
- Sum = A ⊕ B ⊕ Cin
- Cout = C1 + C2 = A ⋅ B + ( A ⊕ B ) ⋅ Cin
3.3 Logisim 原理图实现
在 Logisim 中实现全加器的步骤如下:
- 第一个半加器计算 A 和 B 的和(S1)与进位(C1)。
- 第二个半加器计算 S1 和 Cin 的和(即最终的 Sum)与进位(C2)。
- 最终的进位 Cout = C1 + C2(使用一个或门)。
法2:你也可以直接拖拽使用之前创建的 “HalfAdder” 子电路来简化布线。
Logisim Evolution:

Logisim:

4. 8 位加法器(BitAdder_8)
4.1 真值表
8 位加法器由 8 个全加器级联构成,每一位处理一个二进制位。由于规模较大,我们通常不为其绘制完整的真值表(2^9=512 行),而是基于全加器的逻辑进行构建。
其核心逻辑是:将 8 个全加器串联,低位全加器的 Cout 连接到相邻高位全加器的 Cin。第一个全加器的 Cin 通常接地(为0)或作为整个加法器的进位输入。
4.2 逻辑化简
-
Sum[i] = A[i] ⊕ B[i] ⊕ C[i]
-
C[i+1] = A[i] ⋅ B[i] + ( A[i] ⊕ B[i] ) ⋅ C[i]
其中 C[0]=Cin=0,C[7]=Cout,循环代入即可得到所有输出。
4.2 Logisim 原理图实现
在 Logisim 中构建 8 位加法器的步骤如下:
法2:从 “运算器(Arithmetic)” 库中直接找到 “加法器(Adder)” 组件,把 1 个加法器拖入画布,将其位宽设置为 8(内置加法器通常已默认为 8 位,不用额外调整)。这是 Logisim 内置的加法器,内部已实现全加器级联逻辑。
Logisim Evolution:

Logisim:

*注:如果出现连线正确却不知道什么原因报错,保存后重新打开即可。
5. 总结
本教程详细介绍了使用 Logisim 设计半加器、全加器和 8 位加法器的完整流程,涵盖了从真值表分析、逻辑化简到原理图实现的每一步。掌握这些基础组件的设计,是理解更复杂算术逻辑单元(ALU)和 CPU 数据通路的关键。建议读者在 Logisim 中亲手搭建并测试每个电路,以巩固学习成果。



