问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

四位加法器原理与构建方法详解

创作时间:
作者:
@小白创作中心

四位加法器原理与构建方法详解

引用
1
来源
1.
https://spcp.xiaogd.net/multi-bit-adder/four-bit-binary-adder.html

四位加法器

一个四位加法器的原型如下:

相对于两位的加法器,两个输入和输出都扩展为了 4 位:

  • 两个四位的输入:A3, A2, A1, A0 和 B3, B2, B1, B0;
  • 一个进位输入 Cin (Carry in);
  • 一个四位的输出:S3, S2, S1, S0;
  • 一个进位的输出,C (Carry out)。

注:这里直接用的就是系统自带的4位加法器的原型。

直接由全加器去构建

四位加法器的构建有几种方式。一种还是直接从四个全加器开始构建:

四位加法器, 四个全加器 在线可互动操作示例

在线互动操作示例

具体创建子电路的过程此处从略,读者可以自行实验。此处使用的二极管是为了规避模拟器实现上的缺陷。下同。

通过两位加法器去构建

除了直接使用多个全加器的方式,考虑到先前已经有了两位加法器,也可以以它为基础去构建,其效果如下:

左边的模块处理高两位,右边的模块处理低两位。可以说,相对而言更加简单了些。归根结底,都是用了全加器。

最后,仍旧是利用前面说到的创建子电路的方式标识出各个节点名称:

四位加法器, 输入与输出标识 在线可互动操作示例

在线互动操作示例

然后创建子电路,最后添加子电路实例:

也即是最开头处看到的原型。配合上显示等模块,可以说,现在的电路也不再是只能做 1 + 1 = 2 之类的了。

下图演示了 4 + 5 的情形:

四位加法器, 计算演示 4 + 5 在线可互动操作示例

在线互动操作示例

事实上,扩展到了多位加数后,又不得不面对新的显示问题。比如,假如执行 5 + 5,那么结果是 10,输出展示处首先就需要两个 LED 了。此外,还面临着如何把二进制的输出切割成两段十进制输出的问题等。

注:目前的 LED 译码显示支持 16 进制,对于 5 + 5,它会显示一个类似 A 字母的图案,因为 在 16 进制中,A 代表 10。

而且,如果我们愿意的话,还可以继续拓展为 8 位,乃至 16 位,如此一来,能加的数就很大了。

输入的问题

不过,尽管能加比较大的数了,但当位数拓展之后的面临的另一个问题是输入的便利性。现在依然是使用逻辑输入开关以二进制的方式给出要加的两个数。如果我们把这个多位加法器提供给用户,说它能帮助你做加法,但你首先得把要加的两个十进制数转换为二进制数。那么用户可能就不乐意使用了,而且他们不一定知道怎么转换这个进制。必须给用户一个便利的方式指定要加的数,在下一章节,再来具体讨论这个问题及其解决方案。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号