图3.1 一位全加器的逻辑结构
(2)根据逻辑图我们可以写出各个器件的逻辑功能。
Ci = Xi Y i Ci-1+X i Y i C i-1+X i Y i C i-1+X i Y i C i-1 = (X i ○+Y i)C i-1+X i Y i Fi = XiYiC i-1 + XiYiC i-1 +XiYiC i-1 + XiYiC i-1 = Xi○+Yi○+C i-1
(3)由上面可得。Xi和Yi为两个输入的一位二进制书,Ci-1为低位二进制数相加的进位输出到本位的输入,则Fi为本位二进制数Xi、Yi和低位进位输入Ci-1的相加之和,Ci为Xi、Yi和低位进位输入Ci-1相加向高位的进位输出。因此,该电路可以完成一位二进制数全加的功能,称为全加器。此电路的真值表如表3-1所示。
表3-1 一位全加器真值表 Xi 0 0 1
Yi 0 1 0 Ci-1 0 0 0 - 6 -
Fi 0 1 1 Ci 0 0 0
1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1.2 四位全加器的原理及设计 1.2.1 四位全加器的工作原理
加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
四位全加器可对两个多位二进制数进行加法运算,同时产
生进位。当两个二进制数相加时,较高高位相加时必须加入较低位的进位项(Ci),以得到输出为和(S)和进位(C0)。
1.2.2 四位全加器的设计
- 7 -
设计四位全加器有两种方案,一种利用串行进位方式设计,另一种是利用并行进位方式进行设计。但是这两种方式设计的电路的工作效率是恨不一样的,串行进位是需要等待低位计算的所得的进位后才能进行高位的运算的,而并行进位也就是先进位方式,每个进位只需要经历一个与非门和一个与或门的延时,这样和串行进位相比,大大提高了运算速度。所以我们这里选择先进位全加器。
四位先行进位全加器的真值表如表3-2所示。表中的C0 为低位向高位的进位,P1 ~ P4 以及G1 ~ G4 为输入端,C1~C4 为输出端。
表3-2 四位先行进位全加器真值表
C0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
P1 G1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 P2 G2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 P3 G3 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 - 8 -
P4 G4 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 C1 C2 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 C3 C4 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 四位加法器可以采用四个一位全加器级连成串行进位加法器,如图3.2所示,其中 CSA为一位全加器。
图3.2 四位先行进位加法器逻辑结构
如图3.3 所示,四位先行进位全加器各个进位信号的产生只需要经历一级与非门和一级与或非门的延迟时间,所以比逐位进位全加器大大缩短了时间。
- 9 -
图3.3 四位先行进位加法器原理
1.3 十六位全加器的原理及设计 1.3.1 十六位全加器的原理
16位全加器设计的基本思想,就是仿照通常的解组合逻辑电路的方法,先把原理图画出来,然后通过原理图把各个信号量描述出来,最后再根据各个器件的逻辑功能列出真值表。当全加器工作时,先一个一个二进制数全部按位输入,从而在4位先行进位的加法器中进行运算,使相应部件执行所规定的操作。
1.3.2 十六位全加器的设计
设计16位全加器,这里使用的方法是把4个四位全加器串联起来。16位全加器主要由输入、输出、进位和4位先行进位的加法器这四部分组成,其原理如图3.4所示。
- 10 -