通用多操作数加法器的制作方法

文档序号:6378140阅读:543来源:国知局
专利名称:通用多操作数加法器的制作方法
技术领域
本发明属于电子技术领域和计算机体系结构领域,是实现多个操作数所有位并行相加、并同步产生各权值位进位和最终和的加法电路,可被广泛应用于各类微处理器、数字信号处理器和一些特定用途的算术运算器中。
背景技术
加法器既可以实现加法运算也可以实现减法运算,作为基本的算术运算单元而成为乘法器和除法器的基本构件,直接影响和决定了乘法器和除法器等运算电路的成本、运算速度及运算精度等,进而决定了各类微处理器和数字信号处理器等大型专用系统的性能和成本。
在过去的几十年中,加法器获得学者、科研人员足够重视和深入研究,也获得了广泛应用。在加法器家族中,2操作数二进制加法器尤其显得重要,已经出现了大量相关的研究成果。这些成果按照设计结构主要可归纳为链式进位加法器(Ripple-Carry Adder)、进位跳跃加法器(Carry-Skip Adder )、超前进位加法器(Carry-Look-Ahead Adder )、条件和加法器(Conditional-Sum Adder)、进位选择加法器(Carry-Select Adder)和进位存储加法器(Carry- Save Adder),以及经过对上面各种加法器的改进而提出的各种加法器变体等。再者,还有采用Manchester进位链的加法器,采用自同步电路的加法器,采用差动级联开关电压逻辑的加法器,以及采用选择电路的加法器等等。如在中国发明专利第200610127132. 6号(公开号CN101140511A)中披露了一种“串行进位二进制加法器”。该发明是基于RiPPle结构的加法电路,修改了进位传输电路中的进位产生电路,并按照奇数与偶数把数据划分成不同单元,以便使用不同的进位产生电路来减少门电路级数过多增加的用时。在中国发明专利第02140712. 6号(公开号CN101432907)中披露了一种“异或进位产生器及使用其的条件选择加法器及方法”。该发明是一种条件选择二进制加法器,通过分段和选择器实现进位选择和加和选择。但是在进位选择方面因存在使用低位进位作为选择条件而致使用时增加。在中国发明专利第200310101005. 5号(公开号CN1497428)中披露了一种“二进制加法器电路及生产其中使用的进位逻辑电路的方法”。该发明同步生成不同数据段的分别以I和0为低位进位的加和,并通过进位生成部分产生各数据段的进位值,选择最终加和结果。该发明减少了进位产生的关键路径,缩短了延时,但是电路仍然很复杂。在中国发明专利第200410064426. X号(公开号CN1614553A)中披露了一种“进位存储加法器及其系统”。该发明包括耦合到高阶全加器的逻辑单元,通过在当前级而不是前一级中生成进位,减少了输入到高阶全加器的输入位的延迟,因而减少高阶全加器输出总和以及进位的延迟。该发明同样存在硬件开销大,延迟时间多。按照数值表述形式也可以把当前的加法器研究成果划分为数值加法器和符号数加法器。前面介绍的结构型加法器主要属于数值加法器,而对于符号数加法器,主要有冗余符号数加法电器和混合数字加法器等。它们仍然延迟过大,硬件开销较高。在人们无法从理论分析、计算算法和设计结构上找到突破时,一些研究人员也试图从设计工艺出发,希望找到新的发现。于是相继出现了采用ECL工艺,静态CMOS工艺,动态CMOS工艺以及BiCMOS工艺等制作的加法器等,然而效果并不明显。时至今日,以论文形式发表的和以专利形式申请的加法器都没能很好解决过多的硬件开销与进位延时等问题,致使超过64位的加法器在硬件开销和延时方面已经失去实用价值。本发明也提出一种2操作数二进制加法器。该加法器硬件开销小,与相加数位数成正比;该加法器计算时间少,仅需要3个门电路的用时,与相加数位数无关,容易扩展到128位、256位、甚至更高。因而说,本发明解决了当前2操作数二进制加法器遇到的过多的硬件开销与进位延时等问题。 针对多个操作数相加,当前普遍使用的方案主要还是传统的多个数两两依次相力口。尽管该硬件开销小,运算时间短,但是,一旦相加数数量较多,其总计用时将会很大。例如即使使用本发明所提出的2数并行同步加法器对256个操作数累加,其总计用时也需要(256-1) X3=765个门电路用时。可见,多个数两两依次相加方案对于较多的操作数相加并不是理想的选择。在已有的多个操作数相加文献中,还有采用先压缩、后使用2数并行同步相加的方案。这种方案不仅因为每一位采用多级压缩器而造成用时和硬件开销较大,而且在最终和计算上也因使用2数并行同步相加而存在不足。另外,在乘法电路实现过程中需要对部分积进行累加,这也成为了解当前多个操作数相加进展状况的一种途径。在乘法电路中,部分积累加方案主要是重复阵列(Iterative Array,简称IA), Wallace树结构和BoothEncoding结构,以及它们的变种等。IA结构虽然结构规整,易于版图设计,但是速度最慢。Wallace树结构主要是采用进位保留加法器(CSA)计算方法和Wallace树构造结构,与IA结构相比减少了压缩层数。该类方案因随着操作数位数增加会指数增加硬件开销或运算用时而不适于较高位数乘法实现。Booth Encoding结构主要是采用编码的方式同步计算部分和,但是也不能做到所有操作数同步并行相加,还是需要多次循环运算,过多增加了运算时间。由上面分析可见,当前的多操作数加法器还需要进一步深入研究,需要形成简单实用的设计方案。本发明不仅提出多个一位数加法电路和2操作数并行同步加法器,还提出了通用多操作数加法器。这些发明不仅解决了并行同步运算问题,降低硬件开销,减少计算用时,还使得电路结构规整,易于实现等。

发明内容
本发明公开了一种通用多操作数加法器,是解决多个多位二进制数同步并行累加的方案,主要包含多操作数相同权值位数值相加电路、进位综合电路和2操作数的同步并行相加电路。其中,多操作数相同权值位数值相加电路是实现多个一位数相加的加法器。它首先采用开关矩阵统计多个一位数中高电平(如“I”)或者低电平(如“0”)的个数,然后再次使用开关电路获得加和结果。整个过程仅需要2个基本门电路的时间。2操作数的同步并行相加电路是一种2操作数加法器,能够并行相加2个操作数中各位数值,同步获得各位与其所有低位整体可能产生的进位值,并同时得到最终加和的电路。它首先通过开关电路获得各位的2个相加数的和,并通过开关电路和进位传输通道同步获得向高位的可能进位数值,最后通过开关电路对各位的2数相加本位和及来自低位的可能进位值进行相加,同时获得每一位的最终加和。整个相加过程仅需要3个基本门电路的时间。进位综合电路主要由多操作数相同权值位数值相加电路和2操作数同步并行相加电路组成,用于完成超过操作数位数的所有进位的产生、传输和相加,并不会引入额外的运算时间。多操作数相同权值位数值相加电路由统计电路和编码电路组成。统计电路对多个一位输入数据中“0”和“ I ”的个数进行统计,而编码电路则可以对形如连续“0”和连续“ I ”组成的统计结果进行编码,获得本位和与高位进位。2操作数同步并行相加电路由统计编码模块、进位生成传输模块与加和选择模块组成。统计编码模块对相加的两个数中高低电平进行统计和编码,获取本位和与准进位,并给出相加两数不全为“0”的信号线;进位生成传输模块处理准进位和低位进位,实现准进位为“I”时产生进位,为“0”时根据信号线确定是否传递来自低位的进位;加和选择模块通过本位和与低位进位选择确定最终和。
进位综合电路实现了超过操作数位数的进位值计算,完善了多操作数加法器的独立运算功能,在不引入额外时间开销情况下可以灵活采用不同的多操作数相同权值位数值相加电路、2操作数同步并行相加电路,以及加和选择模块等电路。当对于n个m位操作数的并行同步相加时,其中n和m为不小于I的自然数,本发明的加法器首先对n个m位操作数的各个位权所对应的值通过n操作数相同权值位数值的相加电路实行并行相加,获得每个权位的n个数值的相加和及
J位进位值,然后对m位的所有计算结果按照位权对应关系重组每一位的相加数。此时相加数有+1个。接着,这种通用加法器使用+1操作数相同权值位数值的
相加电路对这^明〗」+1个加数再次进行并行累加,并对累加结果再次按照位权对应关系
重组每一位的相加数,如此直到重组后每个位权只有2个操作数相加。同时,对于超过m位的进位,在重组后根据相同位权相加数的数量采用对应的多个一位数加法电路来减少相加数。最后,本发明通过2操作数的同步并行相加电路完成最后的2个操作数相加,获得n个m位操作数最终累加和。在对n个m位操作数进行并行同步相加运算中,多次使用多个一位数加法器,并对运算结果按照位权重新组合,以便逐步减少相加数数量。另外,多操作数相同权值位数值相加电路并不是一个固定操作数的加法器,而是一类由统计电路和编码电路组成的不小于2个操作数的一位加法器的统称。这种通用多操作数加法器不仅仅用于多个操作数相加,还可以应用于补码加法、减法以及乘法等很多种运算电路中。基于上述发明内容说明和随后附图给出的具体实施例,与现有技术相比,本发明由于采用规则电路,利用开关元件,通过同步并行运算方案,因而解决了多个多位操作数难以同步并行累加的问题,不仅减少了硬件开销和用时开销,还增加了电路的可扩展性,比如64个64位数累加,既可以实现在仅增加硬件开销而不增加用时的情况下扩展到65至127个64位数累加,也可以在仅增加硬件开销而不增加用时情况下实现超过64位的64个数的累加。通过阅读本发明内容、结合下面附图的说明以及所附权利要求中所指出的创新等,所属领域的技术人员可以对本发明的上述的和其它相关的内容及目标有更清楚的了解和认识,可能存在一些本发明的优点和新的应用没有在此给出,但是仍然希望包含在随附权利要求书的限定范围内。为了全面理解在本发明的技术内容,下面结合附图作进一步详细说明。


图I是本发明的原理方框 图2是本发明的多个操作数相同权值位数值相加电路示意 图3是本发明中选择开关的示意 图4是本发明中串联开关的示意图; 图5是本发明的两个I位二进制数加法电路的示意 图6是本发明的两个多位二进制数同步并行加法电路的示意 图7是多个多位操作数同步并行加法器示意图。
具体实施例方式在下文中,将参考附图对本发明的优选实施例进行详细的描述。请注意,下文所描述的是本发明的代表性实施例,且在理解本发明时不应局限于下文的描述。图I是本发明的原理方框图。它主要由多个一位二进制数的加法器模块110、2个一位二进制数的加法器模块120及进位综合模块130组成。该发明首先对每一位权所对应的所有操作数数值采用模块HO进行同步并行计算,然后对所有位的计算结果按照位权对应关系重组各位相加数,并再次使用模块110,如此直到重组后每个位权只有2个相加数。同时,通过模块130实现高于操作数位数的进位处理和传输,并结合模块120处理最后的2操作数相加,同步并行获得最终加和。模块110采用开关电路从结构方面解决多个一位二进制数的同时相加问题,代替了传统的由门电路构成的运算方案,其用时仅需要2个门电路的用时,与相加数个数无关;其硬件开销也只与相加数个数平方成正比,避免了较高指数关系。图2是本发明的多个操作数相同权值位数值相加电路具体实施例,即模块110针对于8个一位数累加的具体实施例。在理解模块110时要注意模块110是关于多个一位数同时累加,不仅仅代表8个一位数累加,也代表2个以上一位数累加。图2只是把8个一位数累加作为具体实施例来说明模块110的工作原理,并不能说模块110就是8个一位数的累加器,或者8个一位数的累加器就是模块110。从图2可以看出,这8个一位数累加电路有8个输入端ai_0 ai_7,4个输出端yi_0 yi_3,被分成模块111和112。模块111是统计电路,用于统计相加数据中“0”和“I”的个数。在模块111中,当ai_0输入低电平,所有选择开关si_00 si_07选择左边端口,此时si_07选择直接接低电平,si_07输出低电平,表明ai_0 ai_7中有一个低电平输入。当ai_0输入高电平,所有选择开关si_00 si_07选择右边端口,此时si_00选择直接接高电平,si_00输出高电平,表明ai_0 ai_7中有一个高电平输入。如一组输入数据{01010101}同时加到端口 ai_0 ai_7,则选择开关si_00 si_07选择左边端口,保证si_07接到低电平,选择开关si_10 si_16选择右边端口,保证si_00通过si_10接到高电平。依次类推,最后si_03 si_07输出低电平,si_00 si_03输出高电平,共有4个连续端口输出高电平,与输入数据对应。同样,如一组输入数据{11010111}同时加到端口ai_0 ai_7,则si_06和si_07输出低电平,si_00 si_05输出高电平,共有6个连续端口输出高电平。显然,输入数据中有多少个“1”,从si_00到si_07就有多少个连续开关同时为高电平。si_00为低电平则说明输入数据全为低电平,si_07为高电平则说明输入数据全为高电平。模块112中是编码电路,能够根据si_00 si_07的输出电平使用开关电路进行编码。如要保证最低位yi_0为“ 1”,必须满足si_00和si_01、或si_02和si_03、或si_04和si_05、或si_06和si_07为“I”和“0”,即si_00 si_07中有奇数个“I”。本发明提出的串联开关电路可以实现这种功能。图中“K-”表示低电平有效的开关,“K+”表示高电平有效的开关。当 si_00 和 si_01、或 si_02 和 si_03、或 si_04 和 si_05、或 si_06 和 si_07 为“ I”和“0”时,开关导通,yi_0直接接到电源正极,保证为“ I”,而当它们中没有一对为“ I”和“0”时,开关截至,yi_0被下拉电阻限定为低电平“O”。yi_l和yi_2也像yi_0—样根据逻辑关系采用开关电路实现,只有yi_3直接采用si_07输出。这是因为仅当相加数是8个“I”时,对应的输出编码是“1000”,si_07输出是高电平;对于其它情况,si_07输出是低 电平,yi_3也是低电平。在图2中,采用了开关电路,组成开关矩阵的选择电路和模块112中的串联开关可以用不同材料制成,只要满足开关设计要求和应用环境即可,比如原子开关、量子开关、光子开关、晶体管开关和电器开关等。图3和图4分别是选择电路和串联开关的一个具体实施例,它们采用了 MOS管设计,但是这并不代表本发明仅使用这种类型开关。只要能实施本发明思想,不论使用何种材料开关都属于本发明范畴。本发明使用的开关应该具有如下特点一旦开关导通,信号能够以极快的速度传输,比如MOS管开关,导通电阻无限小,导通通路如同金属导体;一旦开关断开,传输信号难以通过,比如MOS管开关,断开电阻无限大,电流非常小。在图3中,Q1和Q2为对称的2个MOS管。当控制端ai为低电平时,Q2导通,端口3和I连接;当控制端ai为高电平时,Q1导通,端口 2和I连接。在图4中,QJPQ4为对称的2个MOS管。当控制端I为低电平时,Q4导通;当控制端2为高电平时,Q3导通。这里补充说明,当前半导体工艺已经可以制作出漏源极之间导通电阻远小于IQ的MOS管,漏源极之间如同良导体。当MOS管栅极电平发生变化时,栅极需要一定的建立时间才能达到稳定的电平,而后漏源极之间导通,相当于导体通路。图5中,是两个I位二进制数带进位的加法电路的实施例,由统计编码模块121、进位生成传输模块122和加和选择模块123组成。统计编码模块121首先通过选择开关对加数ai和bi中的电平进行统计。如果Si_00的输出是高电平而Si_01的输出是低电平则说明加数中只有一个高电平;如果Si_0i和Si_00的输出都是高电平则表明加数和被加数都是高电平。这样,Si_00的输出,即mi,是低电平,则说明相加两数都是低电平;Si_01的输出,即zi_l,是高电平则表明相加两数都是高电平。然后,模块121通过开关K-和K+进行编码,获得两数相加的本位和zi_0,即中间和。两数相加的进位,被定义为准进位,可以直接使用选择开关Si_01的输出,即zi_l。可以看出,模块121需要2个门电路的时间即可以完成编码。模块122用于进位生成和传输,其设计原理如下①当两个相加数都为高电平时,向高位权进位的Cout是高电平,与来自低位进位Cin无关,因此可以采用准进位zi_l控制接到电源正极的开关,以便保证向高位进位;②当两个相加数中只有一个为高电平时,使用zi_l的低电平和mi的高电平分别控制两个串联的开关,以便确保进位值Cout由低位进位Cin确定。如果Cin是高电平,则Cout是高电平,表示进位,否则表示无进位。这里要注意,一旦开关导通,Cout和Cin两个端点之间相当于导体,可以认为无延迟时间。③当两个相加数都为低电平时,无论Cin是何值,都无进位,也即Cout必须是低电平。本发明中与Cout相连的两个输入开关支路都是断开,Cout不再受到VCC和Cin影响,并采用下拉电阻确保Cout为低电平。模块122与模块121中的编码部分同时工作,都仅需要I个门电路的时间,因此进位的产生和传输是不占用额外时间的。I旲块123用于最终和生成,通过开关电路选择最终和结果。当zi_0和Cin为0和 1,或者I和0时,上下2个串联开关组中总有一组导通,最终和Si通过开关接到电源正极,表示输出高电平,其他情况下,上下2个串联开关组都不导通,Si由下拉电阻限制为低电平。该模块需要I个门电路用时。加之模块121的2个门电路用时,这个带有进位的两个一位数加法器共需要3个门电路用时。基于模块120的2个多位二进制数加法器具体实施例见图6,这是针对于2个64位二进制数的相加电路。在第I个门电路用时中,所有位的2个相加数加到电路的输入端,并在对应模块121中选择矩阵的输出端输出统计结果;在第2个门电路用时中,一方面是各个位对应的模块122产生可能进位并向高位传输,另一方面是模块121中编码电路产生编码结果,即相加2数的中间和;在第3个门电路用时中,中间和与低位进位共同通过选择电路获取最终加和结果。例如两个相加数分别是64个连续的“I”和“0”,进位值Cin是“1”,在第I个门电路用时后zi_l为“0”,mi为“1”,这里i G
;在第2个门电路用时后,zi_0为“ 1”,同时由于zi_l为“0”,mi为“1”,致使从Cin到Cout通路上所有开关同时导通,Cin端的“I”沿着通路向最高位快速传输,并使每位的进位都为“I” ;在第3个门电路用时后,由于zi_0和低位进位值都为“1”,因而输出Si被下拉电阻限制为“0”,同时最高位进位值为“I”。这样,计算结果就是I个“ I”和64个连续的“O”。图6仅仅是一个实施例,对于其它不同位数的两数相加,只需要增减模块120即可,其运算用时也仅需要3个门电路用时,与相加两数的位数无关。图7是本发明的n个m位操作数同步并行加法器的具体实施例。这个实施例选择8个16位二进制数同步并行相加,既给出了扩展方式,又给出了独立相加计算方案。该实施例包含四个工作层,第一层由16个模块110构成。该模块主要完成每一位8个相加数的编码,获得对应本位和Yi_0和向高位进位的3个进位值Yi_3、Yi_2和Yi_l。第二层由18个模块构成,它们分别是最高位的模块121、次高位模块110和余下16个相同模块110。低16位模块110与第一层模块110不仅在结构上有所区别,在功能上也有所不同,主要完成每一位4个相加数的编码,获得对应的本位和Xi_0和向高位进位的2个进位值Xi_2和Xi_l。第17位模块110与低16位模块110也有所不同,主要完成第17位3个相加数的编码,获得对应的本位和X16_0和进位值X16_l。最高位的模块121主要完成第18位2个相加数的编码,获得对应本位和X17_0和进位值X17_l。第二层的输入数,也就是每位的相加数不仅由第一层的输出结果按照相同权位排列获得的数组成,还有由低位按照扩展功能引入的进位数Y-3_3、Y-2_3、Y-2_2、Y_l_3、Y_l_2和Y_l_l组成。另外,为了完成扩展功能,第一层的 6 个输出 Y13_3、Y14_3、Y14_2、Y15_3、Y15_2 和 Y15_l 被引出。第三层由19个模块构成,它们分别是最高位的模块121和18个相同低位模块110。低18位模块110主要是完成每位3个相加数的编码,获得对应的本位和Ri_0和进位值Ri_l。最高位的模块121主要完成第19位2个相加数的编码,获得对应的本位和R18_0和进位值R18_l。第三层的输入数,也就是每位的相加数不仅由第二层的输出结果按照相同权位排列获得的数组成,还有由低位按照扩展功能引入的进位数X-2_2、X-l_2和X-l_l组成。另外,为了完成扩展功能,第二层的3个输出X14_2、X15_2和X15_l被引出。第四层由20个模块构成,它们分别是最高位的模块123和19个 相同低位模块120。19个低位模块120主要是完成每位2个相加数和进位值的相加,以便获得最终和。最高位的模块123用于完成次高位进位值与第三层最高位进位值的相加。这里之所以采用模块123,而不是模块120或者模块110等,原因是8个16位数相加的最终结果不会超过20位,也就是说,第20位的一个加数与低位的进位值相加不会产生进位。第四层的输入数,也就是每位的相加数不仅由第三层的输出结果按照相同权位排列获得的数组成,还有由低位按照扩展功能引入的进位数R_l_l组成。另外,为了完成扩展功能,第三层的I个输出R15_l被引出。对于第四层,为了完成扩展功能,在最低位增加了进位输入端Cin,在第16位增加了进位输出端Cout。本发明考虑到独立相加计算需求,即该8个16位二进制数的加法器属于最高位相加模块,其每一层所产生的高于第16位的进位不需要直接送出,而是在该模块内部直接处理并输出,这个处理电路就是进位综合模块130。模块130由多个模块110、120、121和123等组成,在不增加额外用时情况下完成第16位以上的各层进位数据相加计算。图7表明,从第一层到第三层的每个工作层都需要2个门电路用时,仅第四层需要3个门电路用时,可见,仅仅9个门电路用时即可完成8个16位数相加。从本发明可以推出,有限范围内的相加数据位数并不影响加法电路的用时。本发明的电路用时仅与相加操作数个数有关,如4 7个操作数需要7个门电路用时,8 255个操作数需要9个门电路用时,256个以上操作数也仅需要11个以上门电路用时。本发明的硬件开销在不考虑进位综合模块130时,既与操作数位数成正比,也与操作数个数平方成正比。虽然图7给出的是8个16位二进制数同步并行相加电路,但是,它仅仅是本发明的多个多位操作数同步并行加法器的一个具体实施例。本发明并不仅限于8个16位二进制数同步并行相加,对于任意n个m位二进制数同步并行相加,都可以采用本发明的实质内容。本发明虽然是描述多个多位操作数同步并行相加实现方案,但是它也适用于补码加法、减法以及乘法等很多种运算电路中,只要把本发明所提模块进行合理组合和修改就可以实现很多本发明未曾提及的功能。尽管通过描述本发明的特定实施例介绍了本发明,但应该理解到,精通本领域的人仍可以对本发明进行形式上的和细节上的各种修改,而并不脱离本发明的精神和范围。
权利要求
1.一种通用多操作数加法器,其特征在于,所述加法器主要包括多操作数相同权值位数值相加电路、进位综合电路和2操作数同步并行相加电路,多操作数相同权值位数值相加电路是实现多个一位数相加的加法器,它首先采用开关矩阵统计多个相加一位数中高电平“I”或者低电平“0”的个数,然后再次使用开关电路获得加和结果,整个过程仅需要2个基本门电路的时间,2操作数同步并行相加电路是一种2操作数加法器,能够并行相加2个操作数中各位数值,同步获得各位及其所有低位整体可能产生的进位值,并同时得到最终加和的电路,它首先通过开关电路获得各位的2个相加数的和,并通过开关电路和进位传输通道同步获得向高位的可能进位数值,最后通过开关电路对各位的2数相加本位和及来自低位的可能进位值进行相加,同时获得每一位的最终加和,整个相加过程仅需要3个基本门电路的时间,进位综合电路主要由多操作数相同权值位数值相加电路和2操作数同步并行相加电路组成,用于完成超过操作数位数的所有进位的产生、传输和相加,并不会引入额外的运算时间。
2.根据权利要求I所述的通用多操作数加法器,其特征在于所述的多操作数相同权值位数值相加电路由统计电路和编码电路组成,统计电路对多个一位输入数据中“0”和“I”的个数进行统计,而编码电路则可以对形如连续“0”和连续“I”组成的统计结果进行编码,获得本位和与高位进位。
3.根据权利要求I所述的通用多操作数加法器,其特征在于所述的2操作数同步并行相加电路由统计编码模块、进位生成传输模块与加和选择模块组成,统计编码模块对相加的两个数中高低电平进行统计和编码,获取本位和与准进位,并给出相加两数不全为“0”的信号线;进位生成传输模块处理准进位和低位进位,实现准进位为“I”时产生进位,为“0”时根据信号线确定是否传递来自低位的进位;加和选择模块通过本位和与低位进位选择确定最终和。
4.根据权利要求I所述的通用多操作数加法器,其特征在于所述的进位综合电路实现了超过操作数位数的进位值计算,完善了多操作数加法器的独立运算功能,在不引入额外时间开销情况下可以灵活采用不同的多操作数相同权值位数值相加电路、2操作数同步并行相加电路,以及加和选择模块等电路。
5.根据权利要求I所述的通用多操作数加法器,其特征在于采用了开关电路,只要满足开关设计要求和应用环境就可以选用不同材料制作的开关。
6.一种通用多操作数加法器,其特征在于,当对n个m位操作数进行并行同步相加时,其中n和m为不小于I的自然数,通用多操作数加法器首先对n个m位操作数的各个位权所对应的值通过n操作数相同权值位数值相加电路实行并行相加,获得每个位权的n个数值的相加和及1_1明U位进位值,然后对m位的所有计算结果按照位权对应关系重组每一位的相加数,此时相加数有+1个,接着,这种通用加法器使用+1操作数相同权值位数值相加电路对这+1个加数再次进行并行累加,并对累加结果再次按照位权对应关系重组每一位的相加数,如此直到重组后每个位权只有2个操作数相加,同时,对于超过m位的进位,在重组后根据相同位权相加数的数量采用对应的多个一位数加法器来减少相加数,最后,这种通用加法器通过2操作数的同步并行相加电路完成最后的2个操作数相加,获得n个m位操作数最终累加和。
7.根据权利要求6所述的通用多操作数加法器,其特征在于多次使用多个一位数加法器,并对运算结果按照位权重新组合,以便逐步减少相加数数量。
8.根据权利要求6所述的通用多操作数加法器,其特征在于多操作数相同权值位数值相加电路并不是一个固定操作数的加法器,而是一类由统计电路和编码电路组成的不小于2个操作数的一位加法器的统称。
9.一种通用多操作数加法器,其特征在于,这种通用多操作数加法器不仅仅用于多个操作数相加,还可以应用于补码加法、减法以及乘法等很多种运算电路中。
全文摘要
本发明公开一种通用多操作数加法器,可用于数字算术计算领域多个多位二进制数同步并行相加实现,它由模块110、120和130组成,模块110采用开关电路从结构方面解决多个一位二进制数并行相加;模块120也通过开关电路解决2个一位数和一位进位数的相加;模块130是由模块110和120等组成,完成超过操作数位数的进位计算和传输,本发明首先对所有位权所对应的操作数值采用模块110进行同步并行计算,然后对计算结果按照位权对应关系重组各位相加数,并再次使用模块110,如此直到重组后每个位权只有2个相加数,同时通过模块130实现进位产生和传输,并结合120获取最终加和,本发明电路结构简单,设计规整,能够减少大量时间开销和硬件开销。
文档编号G06F7/505GK102866875SQ201210373908
公开日2013年1月9日 申请日期2012年10月5日 优先权日2012年10月5日
发明者刘杰, 田志坚, 张新, 丁智勇, 黄银生, 王先萍, 周小波, 王宪菊, 董秀英, 吴韬 申请人:刘杰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1