高速动态二进制加法器的制作方法

文档序号:6409281阅读:559来源:国知局
专利名称:高速动态二进制加法器的制作方法
技术领域
本发明涉及一种二进制加法器,尤其涉及一种在高速应用中使用的动态二进制加法器。
一个加法器可以被认为只有一个输入端(A输入端)和一个进位输入信号的求和器。相应地,该加法器通过该进位输入信号加1到A输入端进行相加。典型地,动态二进制加法器是使用一种超前进位结构实现的。
一个使用二进制超前进位结构的N位二进制加法器传统上需要2+Log2N步来实现。
该方案可以用4位加法器的设计来解释说明,尽管这种技术对于大型位宽的加法器最有用。一个4位二进制加法器有4个数据输入端A3、A2、A1、A0和一个进位输入端(Cin)。一个4位二进制加法器有4个数据输出端S3、S2、S1、S0和一个进位输出端(Cout)。在这个例子中,S3代表最高位,S0代表最低位。
描述该加法器功能的布尔等式如下说明Cout=GP30 & Cin组传播(GP)S3=A3 XOR C2S2=A2 XOR C1S1=A1 XOR C0
S0=A0 XOR Cin其中C2=GP20 & CinC1=GP10 & CinC0=GP0 & CinGP30=A3 & A2 & A1 & A0GP20=A2 & A1 & A0GP10=A1 & A0GP0=A0因此,如果一个4位加法器用一个二进制超前进位结构实现,它会是如下所示地构成步骤1GP32=A3&A2 GP21=A2&A1 GP10=A1&A0 C0=A0&Cin步骤2GP30=GP32&GP10 GP20=GP21&A0 C1=GP10&Cin步骤3Cout=GP30&CinC2=GP20&Cin步骤4S3=A3 XOR C2 S2=A2 XOR C1 S1=A1 XOR C0 S0=A0 XOR Cin于是,对于一个4位加法器,它的操作需要2+Log24=4步逻辑步骤。
正如从上述等式可以看到的,实现加法器所需的步数和逻辑门数将随加法器中位数的增加而增加。因而需要的加法器应是容易实现的,而且需要的步数应大大地少于已知的动态加法器。此外,加法器还应很容易地用标准逻辑装置实现。本发明在于满足这种需要。
对这一问题已有一种新颖的逻辑/线路解决方法,它用2步逻辑步骤实现N位二进制加法器,与该加法器的位宽(N)无关。
根据本发明提供的动态二进制加法器使用进位表达式的逻辑反来提供第一步。然后这些进位表达式提供给求和这一步,它依次接收这些进位表达式和输入信号来提供加得的值。
首先,一个动态二进制加法器包括一个第一步,用于提供一个进位表达式的逻辑反。这一步包含多个进位单元,每个进位单元用来接收一个输入信号和提供一个进位信号,特定进位单元的输入信号是该二进制加法器的每个输入信号补码的逻辑或(OR),从当前位开始到最低位(LSB),包括这两位;是Cin补码的逻辑或(OR),Cin是二进制加法器的输入。多个进位单元是并行地耦合的。二进制加法器包括一个第二步,这第二步包含多个求和单元(S),每个求和单元用来从对应多个输入单元之一接收进位信号和相关的输入信号以及提供一个和数的输出。
通过使用进位表达式的逻辑反,允许用动态OR逻辑元件,提供一种加法器,它可以用比同等超前进位二进制加法器少的步骤。这种加法器有显著的实用性,尤其是在二进制加法器的位宽增加时。


图1是常规的32位二进制加法器的框图。
图2是根据本发明的32位二进制加法器的框图。
图3是图2所示加法器的进位电路的线路图。
图4是图2所示加法器的求和电路的线路图。
本发明涉及一种二进制加法器的改进。提出下面的说明能使本领域普通技术人员制造和使用本发明,同时在专利申请及其要求的上下文中提供下面的说明。最佳实施方式的各种改进对于熟练的技术人员来说将是显而易见的,这里的一般原理也可能适用于其它实施方式。因此,本发明并不只局限于所述的实施方式,而是符合与所述原理和特征一致的最广泛范围。
为了较具体地说明常规的超前进位加法器的工作,现请参考图1及下面的讨论。图1是一个32位加法器的框图。该加法器包含多个单元12,它们作为单元14的第一组产生进位生成信号(CG)的第一级。单元16、18和20提供下一级CG信号。单元28提供下一级CG信号。单元22、24和26提供附加级GP信号。单元30提供求和信号。单元32将进位反相,并为本发明提供出口缓冲区。请在下面查找在图1的各种单元12-32中逻辑功能的例子。
组传播(GP)单元12有输入D、C、B、A,其中MSB是A并形成下面的输出XGPDLBA=XAD+XAC+XAB+XAAXGPLBA=XAC+XAB+XAAXGPBA=XAB+XAAXGPA=XAA进位生成(CG)单元14XC3=XA3+XA2+XA1+XA0+XCinXC2=XA2+XA2+XA0+XcinXC1=XA1+XA0+XcinXC0=XA0+XcinCG单元16
有输入XGP74,XGP64,XGP54,XGP4,XC3输出XC7=XGP74+XC3XC6=XGP64+XC3XC5=XGP54+XC3XC4=XGP4+XC3CG单元18有输入XGP118,XGP108,XGP98,XGP8,XGP74,XC3输出XC11=XGP118+XGP74+XC3XC10=XGP108+XGP74+XC3XC9=XGP98+XGP74+XC3XC8=XGP8+XGP74+XC3CG单元20有输入XGP1512,XGP1412,XGP1312,XGP12,XGP118,XGP74,XC3输出XC15=XGP1512+XGP118+XGP74+XC3XC14=XGP1412+XGP118+XGP74+XC3XC13=XGP1312+XGP118+XGP74+XC3XC12=XGP12+XGP118+XGP74+XC3GP单元22输入XGP2320,XGP2220,XGP2120,XGP20,XGP1916输出
XGP2316=XGP2320+XGP1916XGP2216=XGP2220+XGP1916XGP2116=XGP2120+XGP1916XGP2016=XGP20+XGP1916GP单元24输入XGP2724,XGP2624,XGP2524,XGP24,XGP2320,XGP1916输出XGP2716=XGP2724+XGP2320+XGP1916XGP2616=XGP2624+XGP2320+XGP1916XGP2516=XGP2524+XGP2320+XGP1916XGP2416=XGP24+XGP2320+XGP1916GP单元26输入XGP3128,XGP3028,XGP2928,XGP28,XGP2724,XGP2320,XGP1916输出XGP3116=XGP3128+XGP2724+XGP2320+XGP1916XGP3016=XGP3028+XGP2724+XGP2320+XGP1916XGP2916=XGP2928+XGP2724+XGP2320+XGP1916XGP2816=XGP28+XGP2724+XGP2320+XGP1916CG单元28输入XD,XC,XB,XA,XCi,其中XD是MSB。
输出XCD=XD+XCi
XCC=XC+XCiXCB=XB+XCiXCA=XA+XCiSUM单元30Sumi=XAiXOR XCi-1(Sumi是MSB)Sumi-1=XAi-1XOR XCi-2Sumi-2=XAi-2XOR XCi-3Sumi-3=XAi-3XOR XCi-4(Sumi-3是MSB)进位单元32C31=XC31从上例可以看出,实现一个32位动态加法器是相对复杂的,它需要若干不同级的GP和CG单元。另外,还可以看出其中的不同单元有功能上的变化。相应地,这种变化的功能所需的许多不同逻辑装置进一步增加了加法器的复杂性。
本发明的目的是动态二进制加法器,其中减少了级的数目,且每级功能的实现也大幅度地简化。为了较具体地说明根据本发明制造的动态二进制加法器,请参考下面的讨论。
为使本发明原理便于理解,其概念将在一个4位动态二进制加法器的描述中加以说明。(在本说明中X将表示一个布尔变量的逻辑反。)相应地,在根据本发明的4位动态加法器中,每位的进位表达式可以使用一个如下单一级直接实现级1Xcout=XA3+XA2+XA1+XA0+XcinXC2=XA2+XA1+XA0+Xcin
XC1=XA1+XA0+XcinXC0=XA0+Xcin因此,将由下面的级完成求和级2S3=XA3XOR XC2S2=XA2XOR XC1S1=XA1XOR XC0S0=XA0XOR Xcin这个新加法器的逻辑功能可以用下面的例子说明A3 A2 A1A0Cin0 ′1 1 1 1累加之后的和以及进位输出将是Cout S3 S2 S1 S001 1 1 1为了执行依据本发明的累加功能,A3、A2、A1、A0和Cin的逻辑反如下说明XA3XA2XA1XA0Xcin10000XA3XA2XA1XA1XcinXCout= 1 + 0 + 0 + 0 + 0=1XC2= 0 + 0 + 0 + 0=0XC1= 0 + 0 + 0=0XC0= 0 + 0+0S3=1 XOR 0=1S2=0 XOR 0=0
S1=0 XOR 0=0S0=0 XOR 0=0于是,新加法器产生与原来等式相同的结果(注和的输出是正逻辑,而进位输出是原来的进位输出的逻辑反)。
为了较具体地说明根据本发明的加法器的优点,现参看图2。图2所示的是根据本发明的一个32位动态加法器100的框图。如图所示,在第一进位级102中的每个进位的位(XCi)是直接完成的,所以,与传统的动态加法器相关联的超前结构被取消了。包括求和单元的第二级104和相关联的进位单元耦合来提供加得的和数。
现参考图3,如图所示是图2的32位加法器的进位电路102的一种实施方式。进位电路102包括与多个晶体管204耦合的动态连线的OR门202,每个晶体管用作进位信号(Xci)输入端的一位。在最佳实施方式中的OR门202是一个多米诺型的OR门。32位(XC31)进位信号的等式如下所示XC31=XA31+XA30+XA29+···+XA1+XA0+Xci现参看图3A,如图所示是一个进位电路102’,它包括与一个晶体管204耦合的动态连线的OR门202来提供一位输入信号给进位单元。从进位信号的每个附加位的最低位(LSB)开始,进位电路102’可以简单地用一个晶体管来增加。相应地,进位电路102的实现比图1所示包含一个超前结构的常规32位动态二进制加法器10的进位电路更为直接和简单。
现参考图4,如图所示是一个SUM级电路104,它可以在图2的32位动态二进制加法器100中使用。SUM级电路104包括接收输入信号和进位信号的异OR功能。相应地,SUM(Sumi)的等式是Sumi=XAiCi-1+AiXCi-1=XAiXORXCi-1相应地,由于提供动态二进制加法器,它以单级实现进位和以一级实现求和信号,动态二进制加法器的复杂性显著地降低了。此外,通过消除与常规动态二进制加法器相关联的超前进位结构,根据本发明的同样大小的动态二进制加法器明显地快些。
虽然本发明根据所示的实施方式来描述,但普通技术人员将迅速地认识到,这些实施方式会有许多变化,这些变化均在本发明的实质和范围内。相应地,普通技术人员可能做出许多修改而不脱离所附的权利要求书的实质和范围。
权利要求
1.一个动态二进制加法器,包括多个进位输入端,并包括第一级,用于提供一个进位表达式的逻辑反,该第一级包含多个进位单元,每个进位单元用来接收一个输入信号和提供一个进位信号,特定进位单元的输入信号是该二进制加法器的每个输入信号补码的逻辑或,从当前位开始到最低位LSB,包括这两位;是XCin补码的逻辑或,Cin是二进制加法器的进位输入;多个进位单元是并行地耦合的;以及第二级,该第二级包含多个求和单元,每个求和单元用来从对应的多个输入单元中的一个接收进位信号和相关的输入信号值并提供一个和数的输出。
2.权利要求1的动态二进制加法器,其特征在于进位表达式的逻辑反包括XCi=(XAi+XAi-1+XAi-2+···XCin),其中XAi是最高位MSB,XCin是进位信号的输入值。
3.权利要求1的动态二进制加法器,其特征在于第二级包括一个求和级电路,该求和级电路提供一个和输出Sumi,它有表达式Sumi=XAiXORXCi-1,其中XAi是最高位MSB,XCi-1是来自下一个最低位的进位信号。
4.权利要求1的动态二进制加法器,其特征在于第一级包括一个进位电路;该进位电路进一步包括一个动态连线或门,用于接收输入信号;以及与动态连线或门耦合的多个晶体管,多个晶体管中的每一个向进位单元提供一个输入信号。
5.权利要求4的动态二进制加法器,其特征在于动态连线或门是一个多米诺或门。
6.权利要求1的动态二进制加法器,其特征在于第二级包括一个求和电路,该求和电路进而包括异或电路,该异或电路接收一个输入信号、一个进位信号并提供由此产生的输出信号。
7.动态二进制加法器,包括多个进位输入端,并包括第一级,用于提供一个进位表达式的逻辑反,进位表达式的逻辑反包括XCi=(XAi+XAi-1+XAi-2+···XCin),其中XAi是最高位MSB,XCin是进位信号的输入值,该第一级包含多个进位单元,每个进位单元用来接收一个输入信号和提供一个进位信号,特定进位单元的输入信号是该二进制加法器的每个输入信号补码的逻辑或,从当前位开始到最低位LSB,包括这两位;是XCin补码的逻辑或,Cin是二进制加法器的进位输入,多个进位单元是并行地耦合的;以及第二级,该第二级包含一个求和级电路,该求和级电路提供一个和输出SUMi,它有表达式SUMi=XAiXORXCi-1,该第二级包括多个求和单元,每个求和单元用来从对应的多个输入单元中的一个接收进位信号和相关的输入信号值并提供一个和数的输出。
8.权利要求7的动态二进制加法器,其特征在于第一级包括一个进位电路;该进位电路进一步包括一个动态连线或门,用于接收输入信号;以及与动态连线或门耦合的多个晶体管,多个晶体管中的每一个向进位单元提供一个输入信号。
9.权利要求8的动态二进制加法器,其特征在于动态连线或门是一个多米诺或门。
10.权利要求7的动态二进制加法器,其特征在于第二级包括一个求和电路,该求和电路进而包括异或电路,该异或电路接收一个输入信号、一个进位信号并提供由此产生的输出信号。
全文摘要
高速动态二进制加法器,无论该加法器的位宽如何,只需要两级。二进制加法器使用逻辑的进位表达式的反作为第一级。求和级接收已求反的进位和输入信号来提供加得的值。动态连线或门被有效地用来提供动态二进制加法器。
文档编号G06F7/508GK1138717SQ95116550
公开日1996年12月25日 申请日期1995年9月21日 优先权日1994年10月14日
发明者斯蒂芬·克莱格·巴林 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1