三输入加减压缩器的制作方法

文档序号:6362144阅读:270来源:国知局
专利名称:三输入加减压缩器的制作方法
技术领域
本发明属于微电子学领域的高速低功耗集成电路设计,特别是指一种三输入的加减压缩器的运算电路实现方式。
背景技术
数字信号处理主要是对各种数据进行算术和逻辑的运算操作,其中加运算与减运算的过程使用非常频繁,包括各种复杂的数字信号处理算法,FIR(有限脉冲响应)、IIR(无限脉冲响应)和FFT(快速傅立叶变换)等数字信号变换中都要大量的累加操作,因此各种加法器在专用集成电路(ASIC)、通用数字信号处理器(DSP)和先进的微处理器(CPU)中均有广泛使用。
通常,加法器在实现减法功能时,首先需要将二进制补码输入的操作数进行求反加一的操作,也就是将被减操作数变符号,再将两个数累加起来,以此实现减法的功能。相应的,减法器在处理两个数相加的运算时,同样需要改变被加数的符号,才能完成加法操作。
当遇到多个操作数累加时,利用华莱士(Wallace)树型结构可以对多个累加数首先进行压缩,将多个操作数压缩成两个加数,送入加法器中便可一次性完成多个操作数的累加运算。这样,只需要一个加法器就可以完成多个加数的一次性累加,大大加快了运算速度,降低了功耗。
但是,数字运算是复杂多变的,在需要对多个操作数执行累加的同时,又要与另一个或多个操作数进行相减运算,这种情况下,华莱士(Wallace)树型结构与一个加法器的组合系统也不能达到较高的效率。通常,数据通路所包含这些复杂运算模块又位于时序的关键路径上,如果运算速度慢,将会导致整个芯片运算速度的下降。
随着对数字信号处理速度的要求越来越高,迫切的需要针对在一定情况下大量出现的特定运算形式进行专门的优化,得到较高的运算速度。

发明内容
本发明的目的在于,提供一种三输入加减压缩器,其可实现高位数甚至超高位数的三个操作数,其中的两个相加再与第三个操作数相减的快速运算。
本发明一种三输入加减压缩器,其特征在于,其中包括一N位数三输入加减压缩器,该N位数三输入加减压缩器包含三个N位的第一输入端口、第二输入端口和第三输入端口,及N位的第一输出端口和第二输出端口;N位数三输入加减压缩器由1~n组N个一位三输入加减压缩逻辑单元构成,该1~n组N个一位三输入加减压缩逻辑单元并列相连,该1~n组N个一位三输入加减压缩逻辑单元的输入端分别与N位的第一输入端口、第二输入端口和第三输入端口连接,该1~n组N个一位三输入加减压缩逻辑单元的输出端分别与N位的第一输出端口和第二输出端口连接。
其中一位三输入加减压缩器逻辑单元包含三个一位输入端,分别为第一输入端、第二输入端和第三输入端,两个一位输出端,分别为第一输出端和第二输出端;一“非”门,输入端连接第三输入端,输出端连接到两个“与”门的输入端;一双输入“与”门,输入端口连接第一输入端和第二输入端,输出端连接三输入“或”门的一个输入端;一双输入“与”门,输入端连接第二输入端和“非”门的输出,输出端口连接三输入“或”门的一个输入端;一双输入“与”门,输入端连接第一输入端和“非”门的输出,输出端连接三输入“或”门的一个输入端;一双输入“异或”门,输入端连接第一输入端和第二输入端,输出端口连接“异或”门的一个输入端。
一双输入“异或”门,输入端口连接第三输入端和“异或”门的输出端,输出端连接第二输出端。
一三输入“或”门,输入端连接三个“与”门的输出端,输出端连接第一输出端。
其中由N个一位三输入加减压缩逻辑单元第一输出端、第二输出端,构成了两个N位压缩器的输出数,其中包括由N个一位压缩逻辑单元输出端组成的N位输出数,最高位舍弃,最低位补零,组成新的N位输出数,送到压缩器第一输出端口;即就是N位三输入加减压缩器第一输出端口的最低位连接低电平逻辑“0”,第一输出端口的次低位连接一位逻辑压缩单元的第一输出端,相应的,第一输出端口的输出端连接一位逻辑压缩单元的第一输出端,一位压缩逻辑单元n的第一输出端舍弃;由N个一位压缩逻辑单元第二输出端组成的N位输出端与压缩器第二输出端口一一对应连接,即一位压缩逻辑单元的第二输出端连接第二输出端口的输出端,一位压缩逻辑单元n的第二输出端连接第二输出端口的输出端;第一输出端口和第二输出端口作为三输入加减压缩器的输出数送出;其中,第一输出端口的权重高于第二输出端口的权重一倍。
其中三输入加减压缩器两个N位输出端口,其后连接减法器,其中第一输出端口连接减数输入端口,第二输出端口连接被减数输入端口,即实现第一输出端口与第二输出端口相减,这样,就可以完成原始输入的三个操作数,第一输入端与第二输入端相加再与第三输入端相减的运算过程。


为进一步说明本发明的技术特征,以下结合实施例及附图对本发明作一详细的描述,其中图1是N位三输入加减压缩器结构示意图。
图2是一位加减压缩逻辑单元的电路结构示意图。
具体实施例方式
请参阅图1所示,本发明一种三输入加减压缩器,其中包括一N位数三输入加减压缩器10,该N位数三输入加减压缩器10包含三个N位的第一输入端口A1、第二输入端口A2和第三输入端口S1,及N位的第一输出端口O1和第二输出端口O2;N位数三输入加减压缩器10由1~n组N个一位三输入加减压缩逻辑单元构成,该1~n组N个一位三输入加减压缩逻辑单元并列相连,该1~n组N个一位三输入加减压缩逻辑单元的输入端分别与N位的第一输入端口A1、第二输入端口A2和第三输入端口S1连接,该1~n组N个一位三输入加减压缩逻辑单元的输出端分别与N位的第一输出端口O1和第二输出端口O2连接。
请参阅图2所示,其中一位三输入加减压缩器逻辑单元包含三个一位输入端,分别为第一输入端a1、第二输入端a2和第三输入端s1,两个一位输出端,分别为第一输出端o1和第二输出端o2;一“非”门101,输入端连接第三输入端s1,输出端连接到两个“与”门202、203的输入端;一双输入“与”门204,输入端口连接第一输入端a1和第二输入端a2,输出端连接三输入“或”门302的一个输入端;一双输入“与”门203,输入端连接第二输入端a2和“非”门101的输出,输出端口连接三输入“或”门302的一个输入端;一双输入“与”门202,输入端连接第一输入端a1和“非”门101的输出,输出端连接三输入“或”门302的一个输入端;一双输入“异或”门201,输入端连接第一输入端a1和第二输入端a2,输出端口连接“异或”门301的一个输入端。
一双输入“异或”门301,输入端口连接第三输入端s1和“异或”门201的输出端,输出端连接第二输出端o2。
一三输入“或”门302,输入端连接三个“与”门202、203、204的输出端,输出端连接第一输出端o1。
3、根据权利要求1所述的N位数三输入加减压缩器,其特征在于,由N个一位三输入加减压缩逻辑单元第一输出端o1、第二输出端o2,构成了两个N位压缩器的输出数,其中包括由N个一位压缩逻辑单元输出端o1组成的N位输出数,最高位舍弃,最低位补零,组成新的N位输出数,送到压缩器第一输出端口O1;即就是N位三输入加减压缩器第一输出端口O1的最低位o2_1连接低电平逻辑“0”,第一输出端口O1的次低位o1_2连接一位逻辑压缩单元1的第一输出端o1,相应的,第一输出端口O1的输出端o1_n连接一位逻辑压缩单元n-1的第一输出端o1,一位压缩逻辑单元n的第一输出端o1舍弃;由N个一位压缩逻辑单元第二输出端o2组成的N位输出端与压缩器第二输出端口O2一一对应连接,即一位压缩逻辑单元1的第二输出端o2连接第二输出端口O2的输出端o2_1,一位压缩逻辑单元n的第二输出端o2连接第二输出端口O2的输出端o2_n;第一输出端口O1和第二输出端口O2作为三输入加减压缩器的输出数送出;其中,第一输出端口O1的权重高于第二输出端口O2的权重一倍。
其中三输入加减压缩器两个N位输出端口,其后连接减法器,其中第一输出端口O1连接减数输入端口,第二输出端口O2连接被减数输入端口,即实现第一输出端口O1与第二输出端口O2相减,这样,就可以完成原始输入的三个操作数,第一输入端a1与第二输入端a2相加再与第三输入端s1相减的运算过程。
N位数三输入加减压缩器由N个一位三输入加减压缩逻辑单元组成。三个N位的操作数A1、A2和S1按位分别送入到N个一位压缩逻辑单元1~n的输入端口,其中A1为N位,分别是a1_1~a1_n;A2为N位,分别是a2_1~a2_n,S1也为N位,分别是s1_1~s1_n。
三输入加减压缩器有两个输出数O1和O2。由N个一位压缩逻辑单元输出数o1组成的N位输出数,最高位舍弃,最低位补零,组成新的N位输出数,连接压缩器输出端O1;即就是N位三输入加减压缩器O1的最低位o1_1连接低电平逻辑“0”,O1的次低位o1_2连接一位逻辑压缩单元1的输出端o1,相应的,O1的输出端o1_n连接一位逻辑压缩单元n-1的输出端o1,一位压缩逻辑单元n的输出端o1舍弃。由N个一位压缩逻辑单元输出数o2组成的N位输出端口与压缩器输出端口O2一一对应连接,即一位压缩逻辑单元1的输出端o2连接O2的输出端o2_1,一位压缩逻辑单元n的输出端o2连接O2的输出端o2_n。O1和O2作为三输入加减压缩器的输出数送出。其中,输出数O1的权重高于输出数O2的权重一倍。
三输入加减压缩器的两个N位输出端口,其后连接减法器,其中O1连接减数输入端口,O2连接被减数输入端口,即实现O1-O2,这样,就可以完成原始输入的三个操作数,两个相加再与第三个操作数相减的运算过程。
根据图2的逻辑门连接起来,构成了一位三输入加减压缩逻辑单元,其对应的逻辑真值表为

从完整的运算过程来看,其运算公式可以表示为R=A1+A2-S1;(1)其中,N位的三个操作数可以用二进制数表示为A1=(a1na1n-1...a12a1i)2A2=(a2na2n-1...a22a21)2S1=(s1ns1n-1...s12s11)2可以看到,公式中需要一次加法运算,一次减法运算,如果用电路实现,则需要两个加法器延时,运算速度较慢。
如果将两个运算过程压缩成一个,则可大大加快运算速度。如公式(2)所示R=O1-O2=A1+A2-S1;(1)将三个操作数压缩成两个,减数O1和O2,则只需要一个运算单元便可完成运算。本发明所实现的,就是这样的一个压缩器。
按照下表所示

如果用输出数的o1和o2的组合表示三个操作数运算的结果,如“00”表示运算结果为“0”,“11”表示结果为“1”,“01”表示结果为“-1”,“10”表示结果为“2”,这样的话,可以覆盖所有的运算可能性。而N个这样的压缩逻辑单元就组成N位的三输入加减压缩器,其中N个一位压缩逻辑单元的输出o1和o2组成整个压缩器的两个输出端口O1和O2。N个o1通过左移一位,低位补零,高位舍弃,提高权重一倍,然后将O1、O2分别作为减数和被减操作数送入一个N位的减法器中,就可以完成同样的运算操作,而在这样的过程中电路只用到了一个减法运算器,相比传统方式,大大加快了运算速度。
权利要求
1.一种三输入加减压缩器,其特征在于,其中包括一N位数三输入加减压缩器,该N位数三输入加减压缩器包含三个N位的第一输入端口、第二输入端口和第三输入端口,及N位的第一输出端口和第二输出端口;N位数三输入加减压缩器由1~n组N个一位三输入加减压缩逻辑单元构成,该1~n组N个一位三输入加减压缩逻辑单元并列相连,该1~n组N个一位三输入加减压缩逻辑单元的输入端分别与N位的第一输入端口、第二输入端口和第三输入端口连接,该1~n组N个一位三输入加减压缩逻辑单元的输出端分别与N位的第一输出端口和第二输出端口连接。
2.根据权利要求1所述的三输入加减压缩逻辑单元,其特征在于、其中一位三输入加减压缩器逻辑单元包含三个一位输入端,分别为第一输入端、第二输入端和第三输入端,两个一位输出端,分别为第一输出端和第二输出端;一“非”门,输入端连接第三输入端,输出端连接到两个“与”门的输入端;一双输入“与”门,输入端口连接第一输入端和第二输入端,输出端连接三输入“或”门的一个输入端;一双输入“与”门,输入端连接第二输入端和“非”门的输出,输出端口连接三输入“或”门的一个输入端;一双输入“与”门,输入端连接第一输入端和“非”门的输出,输出端连接三输入“或”门的一个输入端;一双输入“异或”门,输入端连接第一输入端和第二输入端,输出端口连接“异或”门的一个输入端;一双输入“异或”门,输入端口连接第三输入端和“异或”门的输出端,输出端连接第二输出端。一三输入“或”门,输入端连接三个“与”门的输出端,输出端连接第一输出端。
3.根据权利要求1所述的N位数三输入加减压缩器,其特征在于,由N个一位三输入加减压缩逻辑单元第一输出端、第二输出端,构成了两个N位压缩器的输出数,其中包括由N个一位压缩逻辑单元输出端组成的N位输出数,最高位舍弃,最低位补零,组成新的N位输出数,送到压缩器第一输出端口;即就是N位三输入加减压缩器第一输出端口的最低位连接低电平逻辑“0”, 第一输出端口的次低位连接一位逻辑压缩单元的第一输出端,相应的,第一输出端口的输出端连接一位逻辑压缩单元的第一输出端,一位压缩逻辑单元n的第一输出端舍弃;由N个一位压缩逻辑单元第二输出端组成的N位输出端与压缩器第二输出端口一一对应连接,即一位压缩逻辑单元的第二输出端连接第二输出端口的输出端,一位压缩逻辑单元n的第二输出端连接第二输出端口的输出端;第一输出端口和第二输出端口作为三输入加减压缩器的输出数送出;其中,第一输出端口的权重高于第二输出端口的权重一倍。
4.根据权利要求1所述的三输入加减压缩器,其特征在于,其中三输入加减压缩器两个N位输出端口,其后连接减法器,其中第一输出端口连接减数输入端口,第二输出端口连接被减数输入端口,即实现第一输出端口与第二输出端口相减,这样,就可以完成原始输入的三个操作数,第一输入端与第二输入端相加再与第三输入端相减的运算过程。
全文摘要
本发明是三输入加减压缩器的算法说明及其电路实现方式,这种三输入加减压缩器可以将进行加减操作的二进制补码形式的三个操作数压缩成两个操作数,送到减法器中相减,以实现完整的两个操作数相加,再与一个操作数相减的加减操作功能。本发明可以省去将被减数进行求反加一变换的过程,且仅用一个减法器就完成三个操作数的加减运算,从而了加快运算速度,节省了芯片功耗和面积。本发明可广泛应用于各种高性能数字信号处理集成电路中。
文档编号G06F7/38GK1570844SQ03132809
公开日2005年1月26日 申请日期2003年7月21日 优先权日2003年7月21日
发明者李莺, 陈杰 申请人:中国科学院微电子中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1