什么是加法器

发布时间:2012-03-9 阅读量:3890 来源: 我爱方案网 作者:

什么是加法器

什么是加法器?所谓加法器,顾名思义就是为了实现加法的。其实加法器产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。  

对于1位的二进制加法,相关的有五个的量:1,被加数A,2,被加数B,3,前一位的进位CIN,4,此位二数相加的和S,5,此位二数相加产生的进位COUT。前三个量为输入量,后两个量为输出量,五个量均为1位。   

对于32位的二进制加法,相关的也有五个量:1,被加数A(32位),2,被加数B(32位),3,前一位的进位CIN(1位),4,此位二数相加的和S(32位),5,此位二数相加产生的进位COUT(1位)。   

要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。而最后的第32位必须在前31位全部计算出结果后,才能开始计算。这样的方法,使得实现32位的二进制加法所需的时间是实现1位的二进制加法的时间的32倍。

加法器原理
  
设一个n位的加法器的第i位输入为ai、bi、ci,输出si和ci+1,其中ci是低位来的进位,ci+1(i=n-1,n-2,…,1,0)是向高位的进位,c0是整个加法器的进位输入,而cn是整个加法器的进位输出。则和 si=aiii+ibii+iici+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比较大的时候)超前进位加法器的延迟时间大大缩短了。

加法器类型
  
以单位元的加法器来说,有两种基本的类型:半加器和全加器  加法器

半加器有两个输入和两个输出,输入可以标识为 A、B 或 X、Y,输出通常标识为合 S 和进制 C。A 和 B 经 XOR 运算后即为 S,经 AND 运算后即为 C。   全加器引入了进制值的输入,以计算较大的数。为区分全加器的两个进制线,在输入端的记作 Ci 或 Cin,在输出端的则记作 Co 或 Cout。半加器简写为 H.A.,全加器简写为 F.A.。   

半加器:半加器的电路图半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进制(Carry)。半加器虽能产生进制值,但半加器本身并不能处理进制值。   

全加器:全加器三个二进制的输入,其中一个是进制值的输入,所以全加器可以处理进制值。全加器可以用两个半加器组合而成。   

注意,进制输出端的最末个 OR闸,也可用 XOR闸来代替,且无需更改其余的部分。因为 OR 闸和 XOR 闸只有当输入皆为 1 时才有差别,而这个可能性已不存在。

加法器结构设计
  
直接使用式(6)形成的电路是不规则的,并且需要长线驱动,需要大驱动信号和大扇入门。当位数较多时,这种实现方式不太现实。   

可以改进超前进位电路,使其具有规则性。对于一个n位(n>4)的加法器,按4位一组的形式对其分组,组内实行超前进位,组间也实行超前进位。相应地超前进位逻辑需要分级,级的数目L=Log4(n)。如图1所示,第m(0~n-1)位的g,p可以表示为:g4k+j=a4k+jb4k+j,p4k+j=a4k+j+b4k+j;k为(m/4)的商,代表组的位置;j为余数,代表该位在该组中的位置。各个4位CLA的组进位产生函数G4k+3, 4k = g4k+3 + p4k+3 g4k+2 + p4k+3p4k+2g4k+1 +p4k+3p4k+2p4k+1g4k ;组进位传递函数P4k+3, 4k = p4k+3 p4k+2 p4k+1 p4k ;组进位C4k+4 = G4k+3, 4k + P4k+3, 4k c4k。   

每个4位的CLA模块分别计算各组内每一位的p、 g和组间的P、G,第二级LACG(look ahead carry generator)根据各组(包含第一级LACG逻辑)的P、G和c0计算出各组间的进位C4k+4 ,同样,第三级LACG则根据第二级的P、G和c0计算出向高4组的进位C16k+16,依此类推。计算出的所有组进位都要送回各个4位的CLA模块,并行算出每一位的和。   

改造后,CLA的延时包括:用式(3)和式(4)产生pi和gi的1级门延时;用超前进位电路产生所有进位的2(2L-1)级门延时;用 (1) 式计算si的2级门延时。于是总的延时为[2] :Delay(CLA adder)=1+4Log4(n) (7) 与简单的串联加法器相比,超前进位加法器需要较多的逻辑电路来产生进位位。但它的延迟时间的数量级为log4(n)。当n较大时,速度的改进是很明显的。
 

 



图1 加法器的结构设计

加法器优化设计
  
逻辑改造后,电路也应该相应地进行优化设计,因为如果用普通的门电路来实现式(12)~(15)的逻辑,晶体管数目(面积)会增加。另外,在电路级也可以采用减少节点翻转和寄生电容的方法来降低功耗。   

式(12)~(15)中多处要用到同或门,设计中,我们用基于旁路的静态逻辑[4]实现产生gs的同或门,如图2。旁路逻辑通过由附加管形成的旁路,可以把“串并交错”的电路结构简化为单一的串或者并的形式。它的电路和版图都有很好的规整性,并且可以减小寄生电容。 

是两种同或门N块版图不同部分的比较,(b)是基于旁路逻辑实现的,与(a)相比,少了一条金属连线和两个金属接触,使版图变得十分规整,扩散区不会被隔断。在拓扑上,两条分支用公共的漏区,达到最少的接触孔和金属互连,比“串并”和“并串”的晶体管配置方式规整,且寄生电容小。   加法器电路上的延迟值   旁路逻辑不能实现传输门,因而不能用传输门实现同或和异或,但是容易证明,三态门在速度和功耗方面都比传输门优越。参照传输门的结合方式,我们用两个三态反相器和一个反相器实现了同或门。   

实现了式(13)括号内的两个同或逻辑,平均只需要1级门延时,而用普通门实现的“与非或与非”形式的同或门需要2级或3级门延时。由上面的同或门设计得到启发,根据形如式(13)的逻辑,设计了一个10管单元utiandor2。   

该单元电路实现s=c0CK+0CKN,只要把式(12)~(15)中的括号部分从CK和CKN输入,输出就相应得到了s0~ s3 。仅当CKN=时,电路(a)两边均是三态反相器,构成图5(b)的同或门,两个反相器交替导通,s=c0⊙CK ;当CKN=CK(发生几率比较大),左边P管和右边N管,或者左边N管和右边P管交替导通,输出s=CK,从而屏蔽了c0的变化。考察第一组4位CLA中的进位产生逻辑最复杂的s3,参考式(15),当g2,g1,g0均为0,p2,p1,p0均为1时,s3= gs3⊙c0,显然这是一种特殊情况,即低位各位都不产生进位,但可以传递进位时,直接把c0传至高位与gs同或即可产生和。c0在各位和生成逻辑的最后一级才加入,可以消除过早加入带来的不必要的翻转。左右两块交替导通,只存在下拉或上拉延时,有类似动态电路延迟小的优点。仅用了10个晶体管,比常规门实现的积之和节省8个。

图2 加法器优化设计

相关资讯
无源晶振YSX321SL应用于高精度HUD平视显示系统YXC3225

在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。

拥有卓越性能的高精度超薄低功耗心电贴—YSX211SL

随着医疗技术的进步,心电监护设备在日常生活和医疗领域中起到了至关重要的作用。而无源晶振 YSX211SL 作为一种先进的心电贴产品,以其独特的优势在市场上备受瞩目。

可编程晶振选型应该注意事项

对于可编程晶振选型的话,需要根据企业的需求选择。在选择可编程晶振的时候注重晶振外观、晶振的频率、晶振的输出模式、晶振的型号等等,这些都是要注意的,尤其是晶振的频率和晶振输出模式以及晶振的型号都是需要注意的。

性能高的服务器—宽电压有源晶振YSO110TR 25MHZ,多种精度选择支持±10PPM—±30PPM

在现代科技发展中,服务器扮演着越来越重要的角色,为各种应用提供强大的计算和数据存储能力。而高品质的服务器组件是确保服务器稳定运行的关键。YSO110TR宽电压有源晶振,作为服务器的重要组成部分,具备多项优势,成为业界必备的可靠之选。

差分晶振怎么测量

其实对于差分晶振怎么测量方式有很多种,主要还是要看自己选择什么样的方式了,因为选择不同的测量方式步骤和操作方式是不同的。关于差分晶振怎么测量的方式,小扬给大家详细的分享一些吧!