电工电子大作业2

可扩展的十进制加法器

一、加法运算的思路

  1. 逢二进一
  2. 最低位由两个数的最低位叠加,不需要考虑金威
  3. 其余位由三个数叠加,分别来自加数、被加数和一个进位器
  4. 任何位的计算结果都有两个,本位值和进位值

二、半加法器

首先不考虑进位,分析加法运算

加数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修正”的情况做分析:

添加了调整电路后,我们就得到了一个完整的 一位十进制加法器

五、加法器的扩展

串行进位加法器的特点是结构简单,加数、被加数并行输入,和数并行输出,但是各个加法器的进位需要串行传递,速度较慢

并行进位,各级进位同时产生,与字长无关,可以大幅度的提高计算速度,但是他的缺点是随着位数增加,并行进位器的输入也会越来越多,导致电路变复杂,且不易扩展

采用串行联结多个十进制加法器,就可以得到多位的十进制加法器

六、后续

  1. 关于电路搭建
    • 七段数码管显示器
    • 运算输入
    • 电路布局
    • 调整电路的复用
  2. 关于加法器的应用