图灵完备之路(数电学习三分钟)----运算基础四之全加器与加法
上1+下1,无非进一位到2,或者为1,或者为0三种情况,若为0或1,那么结果的第一为便定下来了,因为结果的第一位肯定只受两个加数的影响;一看是16路的电路的构建,是不是完全没有思路?进位有两种情况,一个是全为1时,一个三路与门即可实现;所以我们便可以发现,复杂电路不过是多个基础电路的融合罢了。这样,我们便实现了多路的加法器----全加器。该电路就可以运算两个255以下值的和了。
1.全加器
既然我们在上节得到了半加器,那么理所应当的,这节我们引出了全加器(多路一位信号相加),这里以三路一位信号为例,可以代表多种情况:1+1+1/1+2/1+0+1/2+1等,其本质还是上上节中的对三路信号进行计数,其真值表如下:

进位有两种情况,一个是全为1时,一个三路与门即可实现;一个是三路中有两路1时,可以用上上节中的使能信号量判断中的办法----卡诺图来解决,卡诺图如下:
| AB\C | 0 | 1 |
| 00 | 0 | 0 |
| 01 | 0 | 1 |
| 11 | 1 | 1 |
| 10 | 0 | 1 |
公式得ABC+AB+ABC,由该公式可以画出电路:

所以我们便可以发现,复杂电路不过是多个基础电路的融合罢了。
进位(高位)解决后,接下来看低位的问题:由真值表可知,其也是之前的电路---奇偶判断的奇电路,不过之前花的是四路的,而今天的是三路,我们可以截取之前的一半,先用一个异或门链接两路,第三路和一二路异或的结果再次异或即可,上述电路综合结果如下:

这样,我们便实现了多路的加法器----全加器。
2.加法
有了加法器,我们便可以运算加法,但三路加法可运算的值无疑还是太少了,接下来,我们先把8路加法器制作出来,以便实现两个八位值的加法:
两个8位,无非为16位,将其拆解如下:

一看是16路的电路的构建,是不是完全没有思路?但你如果仔细观察,可以注意到,除去每一路代表的值的含义后,其无非就是有8*8种组合方式而已,上1路可以和下面8路相加,上2路同样如此,这么一看,可以将其整理为一个8阶矩阵,可能出现的情况如下:
| 下\上 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 1 | 1 | |||||||
| 2 | 1 | 1 | ||||||
| 3 | 1 | 1 | 1 | |||||
| 4 | 1 | 1 | 1 | 1 | ||||
| 5 | 1 | 1 | 1 | 1 | 1 | |||
| 6 | 1 | 1 | 1 | 1 | 1 | 1 | ||
| 7 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
上1+下1,无非进一位到2,或者为1,或者为0三种情况,若为0或1,那么结果的第一为便定下来了,因为结果的第一位肯定只受两个加数的影响;若为2,则第一位也必然确定,但会影响第二位,则结果的第二位受两个因素影响----一位的进位和两个加数的结果,那么我们要确定结果的第二位,就要先考虑两个加数的第二位的结果,再将第二位的结果与第一位的进位相加,同理,这样也会影响第三位,则第三位需要考虑三种情况......,以此类推,我们便可以得到电路图如下:

注:ADD为全加器
此时,我们还需考虑最高位的进位问题,即结果大于128的情况,我们为结果添加一个进位,如果你注意力惊人,那么可以注意到这个进位的触发条件是其中一个加数的值大于128,或者第八位的进位被触发,所以可以得到电路图如下:

该电路就可以运算两个255以下值的和了
更多推荐



所有评论(0)