加法器设计(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
加法器定义
实现多位二进制数相加的电路称为加法器, 它能解决二进制中1+1=10 的功能(当然还有 0+0、0+1、1+0).
加法器的分类
一、半加器
能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
Ai、Bi:加数, Si:本位的和。
二、全加器
1.概念:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。
2.真值表:
如在第i位二进制数相加时,被加数、加数和来自低位的进位数分别为Ai 、Bi 、Ci-1 ,输出本位和及向相邻高位的进位数为Si、Ci。因此,
输入信号:加数Ai 、被加数Bi 、来自低位的进位Ci-1
输出信号:本位和Si,向高位的进位Ci
Ai、Bi:加数, Ci-1:低位来的进位,Si:本位的和, Ci:向高位的进位。
3.卡诺图:Si和Ci的卡诺图,如图<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />6.6.2所示。
4.逻辑函数表达式:
5.逻辑图:如图6.6.3(a)所示。
6.逻辑符号:如图6.6.3(b)所示。
1.串行进位加法器
构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。
图下图所示为由4个全加器组成的4位串行进位的加法器。
低位全加器输出的进位信号依次加到相邻高位全加器的进位输入端CI。最低位的进位输入端CI接地。
显然,每一位的相加结果必须等到低一位的进位信号产生后才能建立起来。
主要缺点:进位信号是由低位向高位逐级传递的,速度不高。
优点:电路比较简单。
2、并行进位加法器(超前进位加法器)
设一个n位的加法器的第i位输入为ai、bi、ci,输出si和ci+1,其中ci是低位来的进位,ci+1(i=n-1,n-2,…,1,0)是向高位的进位,c0是整个加法器的进位输入,而cn是整个加法器的进位输出。则
和 si=ai i i+ ibi i+ i ici+aibici (1)
进位 ci+1=aibi+aici+bici (2)
令 gi=aibi (3)
pi=ai+bi (4)
则 ci+1= gi+pici (5)
只要aibi=1,就会产生向i+1位的进位,称g为进位产生函数;同样,只要ai+bi=1,就会把ci传递到i+1位,所以称p为进位传递函数。
把(5)式展开,得到
ci+1= gi+ pigi-1+pipi-1gi-2+…+ pipi-1…p1g0+ pipi-1…p0c0 (6)
随着位数的增加(6)式会加长,但总保持三个逻辑级的深度,因此形成进位的延迟是与位数无关的常数。一旦进位(c1~cn-1)算出以后,和也就可由(1)式得出。
使用上述公式来并行产生所有进位的加法器就是超前进位加法器。产生gi和pi需要一级门延迟,ci 需要两级,si需要两级,总共需要五级门延迟。与串联加法器(一般要2n级门延迟)相比,(特别是n比较大的时候)超前进位加法器的延迟时间大大缩短了。
参考资料:
1)EEwiki:加法器http://baike.chinaecnet.com/eewiki/index.php/%E5%8A%A0%E6%B3%95%E5%99%A8
文章评论(0条评论)
登录后参与讨论