当前位置: 首页 > news >正文

【Logisim】半加器、全加器与 8 位加法器的详细教程

1. 引言

Logisim 是一款开源的数字电路仿真与设计工具,非常适合用于学习计算机组成原理、数字逻辑等课程。本教程将教你使用 Logisim 设计三种加法器组件:半加器全加器8 位加法器。每种组件的教程都将包含三个核心部分:真值表逻辑化简Logisim 原理图实现。通过本教程,你将掌握从逻辑分析到电路实现的全过程。

原理图部分,将使用Logisim Evolution 3.9.0Logisim 2.7.1两个版本演示。

2. 半加器(HalfAdder

2.1 真值表

半加器用于计算两个一位二进制数的和,并产生一个进位。它有两个输入(A 和 B)和两个输出(Sum 和 Carry)。

ABSum(和)Carry(进位)
0000
0110
1010
1101

2.2 逻辑化简

根据真值表,我们可以写出 Sum 和 Carry 的逻辑表达式:

  • Sum = A ⊕ B(异或)
  • Carry = A · B(与)

2.3 Logisim 原理图实现

在 Logisim 中实现半加器的步骤如下:

  1. 打开 Logisim,点击左上角绿色加号,新建一个电路(Adder circuit),命名为“HalfAdder”
  2. 从左侧工具栏“逻辑门(Gates)” 库(或顶部工具栏)中拖入一个“异或门(XOR Gate)”和一个“与门(AND Gate)”
  3. 若两个门的输入引脚数量不为2,可单击该部件,在左下角属性卡片更改:
  4. “线路(Wiring)” 库(或顶部工具栏)中拖入两个“输入引脚(Pin)”,分别命名(原版在属性卡片的“标签”栏命名,Evolution版可双击该引脚命名)为“A”“B”
  5. “线路(Wiring)” 库(或顶部工具栏)中拖入两个“输出引脚”,分别命名为“Sum”“Carry”
  6. 使用“导线(Wire)”连接电路:
    • AB连接到异或门的两个输入端异或门输出端连接到Sum 引脚
    • AB连接到与门的两个输入端与门输出端连接到Carry 引脚
  7. 完成后的半加器原理图如下:

Logisim Evolution:

Logisim:

3. 全加器(FullAdder

3.1 真值表

全加器在计算两个一位二进制数的和时,还会考虑来自低位的进位(Cin)。它有三个输入(A、B、Cin)和两个输出(Sum、Cout)。

ABCin(低位进位)Sum(和)Cout(进位)
00000
00110
01010
01101
10010
10101
11001
11111

3.2 逻辑化简

根据真值表,我们可以写出 Sum 和 Cout 的逻辑表达式:

  • Sum = A ⊕ B ⊕ Cin
  • Cout = C1 ​+ C2​ = A ⋅ B + ( A ⊕ B ) ⋅ Cin​

3.3 Logisim 原理图实现

在 Logisim 中实现全加器的步骤如下:

  1. 新建一个电路,命名为“FullAdder”
  2. 使用两个半加器一个或门构建全加器是一种经典方法:
    • 第一个半加器计算 A 和 B 的和(S1)与进位(C1)。
    • 第二个半加器计算 S1 和 Cin 的和(即最终的 Sum)与进位(C2)。
    • 最终的进位Cout = C1 + C2(使用一个或门)。
  3. 具体操作:
    1. 拖入三个输入引脚,命名为“A”“B”“Cin”
    2. 拖入两个输出引脚,命名为“Sum”“Cout”
    3. 法1:从“逻辑门(Gates)” 库拖入两个“异或门(XOR Gate)”“与门(AND Gate)”和一个“或门(OR Gate)”
      法2:你也可以直接拖拽使用之前创建的 “HalfAdder” 子电路来简化布线。
    4. 按上述逻辑连接导线。
  4. 完成后的全加器原理图如下:

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 位加法器的步骤如下:

  1. 新建一个电路,命名为“BitAdder_8”
  2. 拖入16 个1 位输入引脚,分别命名为“A0”~“A7”“B0”~“B7”(或2 个8 位输入引脚,左下角属性卡片设置数据位宽为 8,分别命名为“A7_0”“B7_0”)。
  3. 拖入11 位输入引脚,命名为“Cin”,作为整个加法器的低位进位输入。
  4. 拖入8 个1 位输出引脚,分别命名为“S0~S7”(或1 个8 位输出引脚,数据位宽为 8,命名为“S7_0”),用于输出和。
  5. 拖入1 个1 位输出引脚,命名为“Cout”,用于输出最高位的进位。
  6. 法1:使用8 个之前创建的“FullAdder” 子电路组成 8 位加法器。
    法2:从“运算器(Arithmetic)” 库中直接找到“加法器(Adder)”组件,把1 个加法器拖入画布,将其位宽设置为 8(内置加法器通常已默认为 8 位,不用额外调整)。这是 Logisim 内置的加法器,内部已实现全加器级联逻辑。
  7. 按上述逻辑连接导线,完成后的 8 位加法器原理图如下:

Logisim Evolution:

Logisim:

*注:如果出现连线正确不知道什么原因报错保存重新打开即可。

5. 总结

本教程详细介绍了使用 Logisim 设计半加器、全加器和 8 位加法器的完整流程,涵盖了从真值表分析、逻辑化简到原理图实现的每一步。掌握这些基础组件的设计,是理解更复杂算术逻辑单元(ALU)和 CPU 数据通路的关键。建议读者在 Logisim 中亲手搭建并测试每个电路,以巩固学习成果。

http://www.jsqmd.com/news/1243734/

相关文章:

  • 手把手教你:如何通过tech-conferences-india贡献印度科技会议信息
  • 续训 Continual Pre-training:为模型注入领域知识
  • 如果关注瑞德克斯安全核验,有没有条理?
  • YOLO11改进模型在工程机械目标检测中的应用与优化
  • DarkflameServer完全指南:从零搭建你的LEGO® Universe私人服务器
  • 2026年上海嘉定靠谱装修公司口碑推荐榜:本土深耕多年,精工品质装企 - 资讯快报
  • 合肥汽车后市场服务GEO服务商代理加盟选型哪家靠谱?2026年合肥GEO代理服务商本地推荐排名更新 - 子柔传媒
  • 计算机毕业设计之智慧旅游分享平台
  • 宁波鄞州威固汽车贴膜,晶威威固7V官方旗舰店豪车贴膜优选 - 资讯快报
  • 暑假分享学习生活的第八天
  • DrivenByMoss核心功能揭秘:MIDI映射/OSC控制/自定义布局全攻略
  • Emby Premiere功能完整解锁指南:终极硬件加速与插件生态深度解析
  • Invoice Dragon多语言支持详解:轻松切换6种语言
  • 中彦仪表技术分享:涤纶基布幅宽、克重、断裂强力与膜片品质指标解读
  • 福州亨得利名表维修专业售后保养服务权威公示(2026年7月最新) - 亨得利官方博客
  • 2026年合肥GEO服务商代理加盟选型排名更新丨合肥酒店住宿GEO代理服务商哪家靠谱推荐? - 企业新闻快传
  • 椰林海鲜码头企业愿景是什么?倡导诚信消费氛围,打造放心海鲜就 - MXyuyu
  • 2026年7月最新万国温州王府井维修保养服务电话 - 万国中国官方服务中心
  • 终极Emby高级功能全解锁实战指南:硬件加速与插件生态完全解放方案
  • GenAI与AI智能体的技术架构与商业应用解析
  • 2026松原黄金回收白银回收铂金回收靠谱临街实体公安备案支持到店核验门店联系方式推荐
  • 快速同步Laravel翻译:translation:sync-translations命令使用技巧
  • 解决Xcode索引慢问题:Rugby缓存原理与实战案例
  • 不用手工标注训练 YOLOv8 分类模型:CLIP 自动标注与分类微调
  • 椰林海鲜码头企业愿景是什么?打造特色海鲜码头,成就可持续百年 - MXyuyu
  • 加拿大留学生选SDE、Data还是Business Analyst?真正决定方向的不是专业,而是这5点|蒸汽求职分享
  • Codex 长任务总要重新开始?买 Credits 还是升级 ChatGPT Pro
  • 2025年AI降重工具评测与技术解析
  • 工程地基信息系统包含哪些功能解决地基资料管理难题
  • 亲身探访成都亨得利官方名表服务中心|最新电话和维修地址(2026年7月更新) - 亨得利官方