电工电子大作业2
可扩展的十进制加法器
一、加法运算的思路
- 逢二进一
- 最低位由两个数的最低位叠加,不需要考虑金威
- 其余位由三个数叠加,分别来自加数、被加数和一个进位器
- 任何位的计算结果都有两个,本位值和进位值
二、半加法器
首先不考虑进位,分析加法运算
加数A 被加数B S本位值 Co进位值
A | B | Co | S |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
根据真值表可以看出,Co的结果是一个 与门,S的结果是一个 异或门
因此将一个与门和一个异或门并联,就得到了一个半加法器,可以用来计算最低位的结果
下图是一个半加法器
三、全加法器
实际上,加法运算要考虑三个要素:加数、被加数和从低位的进位 Ci
Ci | A | B | Co | S |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
从真值表可以看出,引入Ci后对C、S值得影响
S本位值的结果是如果A、B、Ci的其中一个为1,则为1;都为0或两个为1,则为0;三个均为1,则结果为0,实际上S是原来的S与C0的 异或门
Co进位值受原本的S影响,原本的S和Ci都为1的时候,进位值会变成1,实际上Ci是 原本的S与Ci的 和 再与原本的C取 或
在原有的基础上构成全加法器
这里,我们已经搭建好了一个一位的全加法器,只要把四个全加法器串联,就可以得到一个四位的串行二进制全加法器,可以计算16+16=32以内的结果
四、BCD码加法器
现在使用用4位二进制加法器来构造一个一位十进制加法器
对于输出结果,在0~9之间无需调整,但是当结果大于9时,显示将不正确,所以要将“逢16进1”改为“逢10进1”
6 + 7 = 13
0110 + 0111 = 1101 //非法码
//加6修正
1101 + 0110 = 10011
在对需要“加6修正”的情况做分析:
- 结果在10~15之间
- 结果大于16 (C0有值)
添加了调整电路后,我们就得到了一个完整的 一位十进制加法器
五、加法器的扩展
串行进位加法器的特点是结构简单,加数、被加数并行输入,和数并行输出,但是各个加法器的进位需要串行传递,速度较慢
并行进位,各级进位同时产生,与字长无关,可以大幅度的提高计算速度,但是他的缺点是随着位数增加,并行进位器的输入也会越来越多,导致电路变复杂,且不易扩展
采用串行联结多个十进制加法器,就可以得到多位的十进制加法器
六、后续
- 关于电路搭建
- 七段数码管显示器
- 运算输入
- 电路布局
- 调整电路的复用
- 关于加法器的应用