多位数加法器

1.串行进位加法器
若有多位数相加,则可采用并行相加串行进位的方式来完成。例如,有两个4位二进制数a3a2a1a0和b3b2b1b0相加,可以采用两片内含两个全加器或1片内含4个全加器的集成电路组成,其原理图如图1所示。由图可以看出,每1位的进位信号送给下1位作为输入信号,因此,任1位的加法运算必须在低1位的运算完成之后进行,这种进位方式称为串行进位。这种加法器的逻辑电路比较简单,但它的运算速度不高。为克服这一缺点,可以采用超前进位等方式。
图1 4位串行进位全加器
2.超前进位集成4位加法器74ls283
由于串行进位加法器的速度受到进位信号的限制,人们又设计了一种多位数超前进位加法逻辑电路,使每位的进位只由加数和被加数决定,而与低位的进位无关。现在介绍超前进位的概念。 由表1得si和ci的逻辑表达式
定义两个中间变量gi和pi:
gi=aibi
  pi=ai⊕bi
当ai=bi=1时,gi=1,由ci的逻辑表达式得ci=1,即产生进位,所以gi称为产生变量。若pi=1,则aibi=0,由ci的逻辑表达式得ci=ci-1,即pi=1时,低位的进位能传送到高位的进位输出端,故pi称为传输变量。这两个变量都与进位信号无关。将gi和pi 代入以上两式得:
由上式得各位进位信号的逻辑表达式如下:
由此可知,因为进位信号只与变量gi、pi和c-1有关,而c-1是向最低位的进位信号,其值为0,所以各位的进位信号都只与两个加 数有关,它们是可以并行产生的。 根据超前进位概念构成的集成4位加法器74ls283的逻辑图和引脚图分别如图5.6.5(a)和图5.6.5(b)所示。 根据以上表达式可以写出s0~s3的表达式。例如
经变换和化简得:
同理可推导出s0、s2、s3和co(c3)的表达式。
图2 集成4位加法器74ls283
(a)逻辑图
(b)引脚图
3.超前进位产生器74182
多位数的超前进位加法器的进位是并行产生的,大大提高了运算速度。但是,随着位数的增加,超前进位逻辑电路越来越复杂。为了解决这一矛盾,设计出了专用的超前进位产生器,用多个超前进位产生器连接,既可扩充位数而又不使逻辑电路太复杂。集成超前进位产生器74182的逻辑图和引脚图分别如图3(a)和3(b)所示。
由图3可以对74182的引出端信号说明如下:
74182的输入、输出信号有进位输入端cn,进位输出端cn+x、cn+y、cn+z,进位产生输出端fg(低电平有效),进位传输输出端fp(低电平有效),进位产生输入端g0~g3(低电平有效),进位传输输入端p0~p3(低电平有效)。
74182的逻辑功能如表3(a)~(e)所示
表1(a) 74182fg输出功能表
输 入
输 出
g3
g2
g1
g0
p3
p2
p1
fg
l
×
×
×
×
×
×
l
×
l
×
×
l
×
×
l
×
×
l
×
l
l
×
l
×
×
×
l
l
l
l
l
所有其他组合
h
表1(b) 74182fp输出功能表
输 入
输 出
p3
p2
p1
p0
fp
l
l
l
l
l
所有其他组合
h
表1(c) 74182cn+x输出功能表
输 入
输 出
g0
p0
cn
cn+x
l
×
×
h
×
l
h
h
所有其他组合
l
表1(d) 74182cn+y输出功能表
输 入
输 出
g1
g0
p1
p0
cn
cn+y
l
×
×
×
×
h
×
l
l
×
×
h
×
×
l
l
h
h
所有其他组合
l
表1(e) 74182cn+z输出功能表
输 入
输 出
g2
g1
g0
p2
p1
p0
cn
cn+z
l
×
×
×
×
×
×
h
×
l
×
l
×
×
×
h
×
×
l
l
l
×
×
h
×
×
×
l
l
l
h
h
所有其他组合
l
图3 集成超前进位产生器74182(a)逻辑图(b)引脚图
由图3(a)可得
上式与功能表一致,cn+x、cn+y、cn+z为各位的进位信号,pi、gi为低电平有效,cn是向最低位的进位信号。fp和fg可以用来实现多个超前进位产生器连接,这样既可以扩充位数,而又不使逻辑电路太复杂。具体连接方法见4。
图4 16位全超前进位算术/逻辑运算电路