CN1290002C - 高速加法器 - Google Patents
高速加法器 Download PDFInfo
- Publication number
- CN1290002C CN1290002C CNB2003101196779A CN200310119677A CN1290002C CN 1290002 C CN1290002 C CN 1290002C CN B2003101196779 A CNB2003101196779 A CN B2003101196779A CN 200310119677 A CN200310119677 A CN 200310119677A CN 1290002 C CN1290002 C CN 1290002C
- Authority
- CN
- China
- Prior art keywords
- signal
- bit
- carry
- output
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/507—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Logic Circuits (AREA)
- Electronic Switches (AREA)
Abstract
提供了一种在2N比特的情况下由(N+1)个电路级组成的加法器。在N=4(即,16比特)的情况中,表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的临时进位由第一电路级中的条件单元生成。在第二至第四电路级中,与除最高有效比特之外的较高的7比特相应的临时进位被临时进位在其中传送的电路级中的转换器转换成临时和。此外,在临时进位在其中传送的电路级中,从与除最低有效比特之外的较低的7比特相应的临时进位中选出实际进位信号。在第五电路级中,每个比特的比特和被生成并输出。
Description
技术领域
本发明涉及一种加法器,更具体地说,涉及一种高速运行的加法器。
背景技术
在最近几年内,计算机的运行速度变得越来越快。因此,需要有更高速的运算电路,并且用来提高作为计算机主要部件的加法器的运行速度的技术变得很重要。现已出现了很多可实现高速加法器的技术。在这些技术中,条件求和加法器是最高速的加法器中的一种。
图1是示出第一传统示例中的4比特条件求和加法器的电路图,特别是在Kuo-Hsing Cheng et al.,”The improvement of conditional sumadder for low power applications”,1998.IEEE ASIC ConferenceProceedings,pp.131-134中图6所描述的加法器。如图1所示,在第一传统示例中,当二进制数(A_3、A_2、A_1、A_0)加到二进制数(B_3、B_2、B_1、B_0)中时,第一电路级21中的每个条件单元111均生成并输出临时比特和信号与临时进位信号。在此,临时和包括与低阶比特产生进位的情况相应的比特和信号(例如S0_1)和与没有产生进位的情况相应的比特和信号(例如S1_1)。此外,临时进位包括与低阶位产生进位的情况相应的进位信号(例如C0_1)和与没有产生进位的情况相应的进位信号(例如C1_1)。在第二电路级22中,复用器(MUX)120根据来自低阶比特的进位信号选择两个临时和中的一个以及两个临时进位中的一个并传送至下一级。在第三电路级23中,实际比特和S_0至S_3和输出进位信号Cout由实际进位信号生成并被输出到加法器外部。根据第一传统示例,因为2N位加法器可由(N+1)电路级实现,高速的运行成为可能。但是,在第一传统示例中,因为加法器含有很多复用器且布线的数量很大,所以功率耗散很大。
至于经改进以降低功率耗散的加法器,本说明书示出了第二传统示例的条件进位加法器,特别是在Kuo-Hsing Cheng et al.,“Theimprovement of conditional sum adder for low power applications”,1998.IEEE ASIC Conference Proceedings,pp.131-134中图7所描述的加法器。图2是16比特条件进位加法器的电路图。如图2所示,在第二传统示例中,每个条件单元101(图4B是电路图)不同于第一传统示例中的条件单元111。换句话说,第一电路级31中的每个条件单元101生成并输出两个输入比特的异或信号(例如S0_1)和临时进位。在此,临时进位由与低阶比特产生进位的情况相应的进位信号和与没有产生进位的情况相应的进位信号这一对信号组成。在第二电路级32至第五电路级35中,每个待发送至下一个电路级的进位信号由复用器(MUX)120和进位选择器110根据来自低阶比特的进位信号来选择并被依序地传送。在包括异或电路130的第六电路级36中,生成实际比特和S_1至S_15并把它们输出到加法器外部。根据第二传统示例,因为只需生成并输出临时进位而无需临时和,所以可以减少复用器(一个进位选择器算作两个复用器)的数量。因此,可以降低运行时的功率耗散。
但是,当在第二传统示例中实现2N比特加法器时,必须使用(N+2)个电路级。对使用16比特加法器的情况进行比较,尽管第一传统示例中的电路级数量为5,而第二传统示例中的电路级的数量为6。因此,由于关键路径中的逻辑级的数量增加了1级,这对于提高电路运行速度很不利。
发明内容
考虑到上述存在的问题,提出了本发明。因此,本发明的目标是提供一种加法器,它通过相对于第一传统示例减少诸如复用器这样的单元电路和布线的数量而同时保持与第一传统示例相同的高速运行(即,比第二传统示例更高的速度)的方式,使其可以低功率地运行。
根据本发明,提供了一种高速加法器,在这种加法器中,事先生成由表示低阶比特产生进位的情况和低阶位没有产生进位的情况的一对信号组成的临时进位,并根据来自低阶比特的选择信息从临时进位中选择实际进位,以提高进位传送速度,该加法器包括:进位传送路径;以及多个转换器,每个转换器均把临时进位转换成由表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的一对信号组成的临时和,这些转换器位于进位传送路径上预先设定的部位。
根据第一传统示例的加法器,临时进位和临时和在第一电路级中产生并传送。此外,根据第二传统示例的加法器,传送临时进位以生成实际进位信号且所有的实际比特和都集中在最后的电路级上生成。与此相反,根据本发明的加法器,在传送进位的电路级中,临时进位被转换成临时和并进行传送。根据本发明的加法器的结构,复用器的数量以及这些复用器的输入和输出的布线的数量相对于第一传统示例的加法器来说减少了。此外,实现该加法器时可以使用比第二传统示例少的电路级数量。
通过阅读下面结合附图的说明以及所附权利要求中所指出的创新可以对本发明的上述和其它相关目标以及特性有清楚的了解。
附图说明
为了全面地理解在本发明的详细说明中所使用的附图,将对每张图进行简单的说明,在附图中:
图1是示出第一传统示例的条件求和加法器应用到4比特加法器上的电路图;
图2是示出第二传统示例的条件进位加法器应用到16比特加法器上的电路图;
图3是示出根据本发明的加法器的实施例的16比特加法器的电路图;
图4A示出16比特加法器中的第一电路级的内部结构,而图4B是示出条件单元的门级别的电路图;
图5示出16比特加法器中的第二电路级的内部结构;
图6A示出复用器而图6B示出进位选择器;
图7示出16比特加法器中的第三电路级的内部结构;
图8示出16比特加法器中的第四电路级的内部结构;以及
图9示出16比特加法器中的第五电路级的内部结构。
具体实施方式
在下文中,将参考附图对本发明的优选实施例进行详细的描述。请注意,下文所描述的是本发明的代表性实施例,且理解本发明时不应限于下文的描述。
图3是示出根据本发明的加法器的实施例的16比特加法器的电路图。在图3所示的加法器中,与图2所示的第二传统示例一样,16比特输入数据(A_15至A_0)和(B_15至B_0)以及输入进位信号Cin被输入到该加法器中,表示和的16比特和输出信号(S_15至S_0)以及输出进位信号Cout从中输出。但是,图3所示的加法器与第二传统示例有以下几点的不同。即,在图2所示的电路级36中输出实际比特和S_1至S_8的异或电路包含在最终级中,且输出实际比特和S_9至S_15的异或电路被每个转换器140替换,在这些转换器中,由一对进位信号组成的临时进位被输入并转换成由一对比特和信号组成的临时和,且输出该临时和。
接下来将详细描述各个电路级的结构。
在应用了本发明的2N比特加法器中,第一电路级包含(2N-1)个条件单元101和一个全加法器100。对应于最高有效比特至比最低有效比特高一比特的有效比特来提供每个条件单元101,条件单元101在被输入其中的两个输入数据的相应比特上执行异或运算,生成由表示低阶比特产生进位的情况和没有产生进位的情况的一对信号组成的临时进位,以及输出该临时进位。全加法器100根据被输入其中的两个输入数据的最低有效比特和输入进位信号来生成异或信号和进位信号。每个条件单元101的功能和全加法器100的功能和第二传统示例中的一样。
图4A示出图3所示的16比特加法器中的第一电路级11的内部结构。两个输入数据被输入到15(=24-1)个条件单元101和全加法器中。从最高有效比特开始沿低阶方向对同一位数的每个比特提供各个条件单元101。对应于最低有效比特提供该全加法器。每个条件单元101生成输入的两个比特的异或信号(例如S0_1)。此外,每个条件单元101生成在假定来自低阶比特的输入进位信号是0(即,没有产生进位)的情况下的进位信号(例如C0_1)和在假定来自低阶比特的输入进位信号是1(即,产生进位)的情况下的进位信号(例如C1_1),且把这些进位信号作为由一对信号组成的临时进位而输出。因此,异或信号S0_1至S0_15、在假定低阶比特没有产生进位的情况下的进位信号(C0_1至C0_15)和在假定低阶比特产生进位的情况下的进位信号(C1_1至C1_15)从第一电路级中输出。全加法器100用于最低有效比特。比特A_0和B_0以及输入进位信号Cin被同时输入到全加法器100中,且从中输出实际比特和S_0和实际进位信号Cout_0。
图4B是示出条件单元101的内部结构的示例的电路图。条件单元101包括在两个输入比特(A_i,B_i)上执行“与”运算的第一门102、在两个输入比特上执行“或”运算的第二门103、对第一门102的输出进行翻转的第三门104以及在第二门103的输出和第三门104的输出上执行“与”运算的第四门105。第一门102的输出作为第一进位信号(C0_i)而给出,它是假定低阶比特没有产生进位的情况下的进位信号。第二门的输出作为第二进位信号(C1_i)而给出,它是假定低阶比特产生进位的情况下的进位信号。第四门的输出作为异或信号(S0_i)而输出,它与假定低阶比特没有产生进位的情况下的两个输入比特的比特和相应。
在本发明的2N比特加法器中的第二至第n电路级中,由满足1≤M<N的整数M指定的第(N-M+1)电路级通过以下方式来构造。
图5示出如图3所示的本实施例的16比特加法器中的第二电路级12的内部结构。第二电路级12是(N-M+1)=2的电路级。因此,因为在16比特加法器中N=4,所以得出M=3。在第二电路级12中,因为(N-M)=1,所以对应于输入数据的每2(N-M)=2比特,以虚拟的形式把电路分成2M(=8)个子电路P21至P28。
在这种划分情况中,在作为第一子运算电路的子电路P21中,对应于较高的2(N-M-1)(=1)比特提供一个复用器(MUX)120,包括从最低有效比特A_0和B_0沿高阶方向的第2(N-M)(=第2)比特的输入。作为在第一电路级11(在先电路级)中提供给相应比特的条件单元101的输出且表示临时进位的信号对C0_1和C1_1被输入到该复用器中。关于该复用器,从在第一电路级11中提供给与子电路P21中高阶的第(2(N-M-1)+1)(=第2)比特相应的比特的全加法器100中输出的进位信号Cout_0被输入其中作为选择信号。该复用器输出信号300,它是和进位信号Cout_0相应的实际进位信号。
同样,在与第二子运算电路相应的子电路P28和第三子运算电路的相应的子电路(包括与第二子电路P27和从子电路P28算起的第二(=第(2M-1))(=第七)子电路P22的相应的子电路)中,对应于较高的2(N-M-1)(=1)比特来提供(2(N-1)-2(N-M-1))(=7)个进位选择器110,其中信号对C0_15和C1_15被作为与最高有效比特A_15和B_15相应的进位信号输入到子电路P28中。作为在第一电路级11(前述的电路级)中提供给相应比特的条件单元的输出的信号对被输入到每个进位选择器中。此外,作为在第一电路级11中提供给与该子电路中较高比特的第(2(N-M-1)+1)(=第2)比特相应的比特的条件单元101的输出的选择信号对被输入到每个进位选择器中。第二子运算电路(P28)和第三子运算电路(P22-P27)中的每个进位选择器根据选择信号来选择表示下面电路级中的临时进位或临时和的一对信号并输出选中的信号。
换句话说,与较高阶比特相应的信号对C0_15和C1_15被输入到包含在子电路P28中的进位选择器110中。然后,该进位选择器110根据与子电路P28中从较高比特算起的第(2(N-M-1)+1)(=第2)比特相应的信号对C0_14和C1_14来输出选中的信号对315和316。类似地,与高阶比特相应的信号对C0_13和C1_13被输入到包含在子电路P27中的进位选择器110中。然后,该进位选择器110根据与子电路P27中从较高阶算起的第2比特相应的信号对C0_12和C1_12来输出选中的信号对311和312。此外,与较高阶比特相应的信号对C0_11和C1_11被输入到包含在子电路P26中的进位选择器110中。然后,该进位选择器110根据与子电路P26中从高阶算起的第2比特相应的信号对C0_10和C1_10来输出选中的信号对309和310。此外,与较高阶比特相应的信号对C0_9和C1_9被输入到包含在子电路P25中的进位选择器110中。然后,该进位选择器110根据与子电路P25中从较高阶算起的第2比特相应的信号对C0_8和C1_8来输出选中的信号对307和308。此外,与较高阶比特相应的信号对C0_7和C1_7被输入到包含在子电路P24中的进位选择器110中。然后,该进位选择器110根据与子电路P24中从较高阶算起的第2比特相应的信号对C0_6和C1_6来输出选中的信号对305和306。此外,与较高阶比特相应的信号对C0_5和C1_5被输入到包含在子电路P23中的进位选择器110中。然后,该进位选择器110根据与子电路P23中从高阶算起的第2比特相应的信号对C0_4和C1_4来输出选中的信号对303和304。此外,与高阶比特相应的信号对C0_3和C1_3被输入到包含在子电路P22中的进位选择器110中。然后,该进位选择器110根据与子电路P22中从较高阶算起的第2比特相应的信号对C0_2和C1_2来输出选中的信号对301和302。
同样,在作为第二子运算电路的子电路P28中,根据较低的2(N-M-1)(=1)比特来提供转换器140。信号对C0_14和C1_14以及异或信号S0_15被输入到该转换器中。信号对C0_14和C1_14是在第一电路级11(前述的电路级)中提供给相应比特的条件单元101的输出且用于表示临时进位。异或信号S0_15从在第一电路级11中对应于高出一比特的比特的条件单元中输出。然后,该转换器把输入的信号转换成表示临时和的信号对313和314并输出经转换的信号。
如图6A所示,关于复用器120,输入信号对Cin0和Cin1被输入其中。根据选择信号Cin1s来选择输入信号对Cin0和Cin1中的一个并把它作为输出信号Cout1而输出。当选择信号Cin1s是1时,Cin1作为输出信号Cout1而输出。另一方面,当Cin1s是0时,Cin0作为Cout1而输出。
进位选择器110与图2所示的第二传统示例中的进位选择器具有相同的功能。如图6B所示,进位选择器110包括两个复用器350和351。当输入信号对Cin0和Cin1被输入时,第一复用器351根据选择信号Cin0s(选择信号对Cin0s和Cin1s中的一个)来选择输入信号Cin0和Cin1中的一个并把选中的信号作为输出信号Cout0(进位选择器110的输出信号对中的一个)而输出。当输入信号对Cin0和Cin1被输入时,第二复用器350根据选择信号Cin1s(选择信号对中的另一个)来选择输入信号Cin0和Cin1中的一个并把选中的信号作为输出信号Cout1(进位选择器110的输出信号对中的另一个)而输出。在复用器350中,当Cin1s是1时,选择Cin1。当Cin1s是0时,选择Cin0。在复用器351中,当Cin0s是1时,选择Cin1。当Cin0s是0时,选择Cin0。以包含在如图5所示的子电路P28中的进位选择器作为例子,C0_15被作为图6B中的Cin0而输入,C1_15作为Cin1而输入,C0_14作为Cin0s而输入,C1_14作为Cin1s而输入,信号315作为Cout0而输出,而信号316作为Cout1而输出。
下文将使用包含在图5所示的子电路P28中的转换器作为示例来对转换器140进行描述。转换器140由第一异或电路和第二异或电路组成。当输入信号C0_14(表示临时进位的信号对C0_14和C1_14中的一个)和从在第一电路级11中根据高出一比特的比特而提供的条件单元中输出的异或信号S0_15时,第一异或电路输出信号313(表示临时和的信号对313和314中的一个)。当输入信号C1_14(信号对C0_14和C1_14中的另一个)和异或信号S0_15时,第二异或电路输出信号314(表示临时和的信号对313和314中的另一个)。
接下来将描述图3所示的16比特加法器中的第三电路级13的结构。图7示出第三电路级13的内部结构。第三电路级13是(N-M+1)=3的电路级。因此,假设N=4,得出M=2。在第三电路级13中,假设(N-M)=2,对应于输入数据的每2(N-M)比特以虚拟的形式把电路分成2M(=4)个子电路P31至P34。
在这种划分情况中,在作为第一子运算电路的子电路P31中,对应于高阶2(N-M-1)(=2)比特来提供两个复用器120,包括从最低有效比特A_0和B_0沿高阶方向的第2(N-M)(=第4)比特的输入。作为在第二电路级12(前述的电路级)中提供给相应比特的进位选择器110的输出且表示临时进位的信号对301和302被输入到对应于高阶比特而提供的复用器中。此外,作为在第一电路级11(前述的电路级)中提供给相应比特的条件单元101的输出且表示临时进位的信号对C0_2和C1_2被输入到对应于低阶比特而提供的复用器中。关于这些复用器,从在电路级12中提供给与子电路P31中从高阶算起的第(2(N-M-1)+1)(=第3)比特相应的比特的复用器120中输出的信号300被输入其中作为选择信号。对应于高阶比特而提供的复用器输出信号401,它是和信号300相应的实际进位信号。此外,对应于低阶比特而提供的复用器输出信号400,它是和信号300相应的实际进位信号。
同样,在与第二子运算电路相应的子电路P34和第三子运算电路的相应的子电路(包括与第二子电路P33和从子电路P34算起沿低阶方向的第三(第(=2M-1))子电路P32相应的子电路)中,根据每个高阶2(N-M-1)(=2)比特来提供(2(N-1)-2(N-M-1))(=6)个进位选择器110,其中信号315和316被作为与最高有效比特A_15和B_15相应的临时进位信号而输入到子电路P34中。来自在前述电路级中提供给相应比特的条件单元101、进位选择器110和转换器140中的任何一个的信号对被输入到每个进位选择器中。此外,作为在第二电路级12中提供给与该子电路中从高阶算起的第(2(N-M-1)+1)(=第3)比特相应的比特的进位选择器110的输出的选择信号对被输入到每个进位选择器中。第二子运算电路(P34)和第三子运算电路((P32至P33)中的每个进位选择器根据选择信号来选择表示下面电路级中的临时进位或临时和的一对信号并输出选中的信号。
换句话说,作为第二电路级12中的进位选择器的输出的信号对315和316被输入到包含在子电路P34中的两个进位选择器110中根据高阶比特而提供的进位选择器中。然后,该进位选择器根据作为在第二电路级12中提供给与子电路P34中从高阶算起的第(2(N-M-1)+1)(=第3)比特相应的比特的进位选择器的输出的信号对311和312来进行选择并输出信号对416和417。作为第二电路级12中的进位选择器的输出的信号对313和314被输入到子电路P34中根据低阶比特而提供的进位选择器中。然后,该进位选择器根据选择信号对311和312来进行选择并输出信号对414和415。类似地,作为第二电路级12中的进位选择器的输出的信号对309和310被输入到包含在子电路P33中的两个进位选择器110中根据高阶比特而提供的进位选择器中。然后,该进位选择器根据作为在第二电路级12中提供给与子电路P33中从高阶算起的第(2(N-M-1)+1)(=第3)比特相应的比特的进位选择器的输出的选择信号对307和308来进行选择并输出信号对408和409。作为第一电路级11中的条件单元的输出的信号对C0_10和C1_10被输入到子电路P33中根据低阶比特而提供的进位选择器中。然后,该进位选择器根据选择信号对307和308来进行选择并输出信号对406和407。此外,作为第二电路级12中的进位选择器的输出的信号对305和306被输入到包含在子电路P32中的两个进位选择器110中根据高阶比特而提供的进位选择器中。然后,该进位选择器根据作为在第二电路级12中提供给与子电路P32中从高阶算起的第(2(N-M-1)+1)(=第3)比特相应的比特的进位选择器的输出的选择信号对303和304来进行选择并输出信号对404和405。作为第一电路级11中的条件单元的输出的信号对C0_6和C1_6被输入到子电路P32中根据低阶比特而提供的进位选择器中。然后,该进位选择器根据选择信号对303和304来进行选择并输出信号对402和403。
同样,在作为第二子运算电路的子电路P34中,对应于较低的2(N-M-1)(=2)比特提供两个转换器140。信号对311和312以及异或信号S0_14被输入到两个转换器140中从顶部算起的第一转换器中。信号对311和312是在第二电路级12(前述的电路级)中提供给相应比特的进位选择器110的输出且用于表示临时进位。异或信号S0_14从在第一电路级11中对应于高出一比特的比特的条件单元输出。然后,转换器中从顶部算起的第一转换器把输入的信号转换成表示临时和的信号对412和413并输出经转换的信号。信号对C0_12和C1_12以及异或信号S0_13被输入到两个转换器140中从顶部算起的第二转换器中。信号对C0_12和C1_12是在第一电路级11(前述的电路级)中提供给相应比特的进位选择器110的输出且表示临时进位。异或信号S0_13从在第一电路级11中对应于高出一比特的比特的条件单元中输出。然后,转换器中从顶部算起的第二转换器把输入的信号转换成表示临时和的信号对410和411并输出经转换的信号。
接下来将描述图3所示的16比特加法器中的第四电路级14的结构。图8示出第四电路级14的内部结构。第四电路级14是(N-M+1)=4的电路级。因此,假设N=4,得出M=1。在第四电路级14中,假设(N-M)=3,对应于输入数据的每2(N-M)(=8)比特,以虚拟形式把电路分成2M(=2)个子电路P41和P42。
在这种划分情况中,在作为第一子运算电路的子电路P41中,根据高阶2(N-M-1)(=4)比特来提供四个复用器120,包括从最低有效比特A_0和B_0沿高阶方向的第2(N-M)(=第8)比特的输入。作为在第三电路级13(前述的电路级)中提供给相应比特的进位选择器110的输出且表示临时进位的信号对404和405被输入到从顶部算起的第一复用器中。从在第三电路级13中提供给与子电路P41中从高阶算起的第(2(N-M-1)+1)(=第5)比特相应的比特的复用器120中输出的信号401被用作选择信号。然后,从顶部算起的第一复用器根据该选择信号来选择实际的进位信号并输出信号503。作为在第三电路级13(前述的电路级)中提供给相应比特的进位选择器110的输出且表示临时进位的信号对402和403被输入到从顶部算起的第二复用器中。信号401被用作选择信号。然后,从顶部算起的第二复用器根据该选择信号来选择实际的进位信号并输出信号502。作为在第二电路级12(前述的电路级)中提供给相应比特的进位选择器110的输出且表示临时进位的信号对303和304被输入到从顶部算起的第三复用器中。信号401被用作选择信号。然后,从顶部算起的第三复用器根据该选择信号来选择实际的进位信号并输出信号501。作为在第一电路级11(前述的电路级)中提供给相应比特的条件单元101的输出且表示临时进位的信号对C0_4和C1_4被输入到从顶部算起的第四复用器中。信号401被用作选择信号。然后,从顶部算起的第四复用器根据该选择信号来选择实际的进位信号并输出信号500。
同样,在与第二子运算电路相应的子电路P42中,根据高阶2(N-M-1)(=4)比特来提供(2(N-1)-2(N-M-1))(=4)个进位选择器110,其中信号416和417被作为与最高有效比特A_15和B_15相应的进位信号而输入到子电路P42中。来自在前述电路级中提供给相应比特的条件单元101、进位选择器110和转换器140中的任何一个的信号对被输入到每个进位选择器中。此外,从在第三电路级13中提供给与子电路P42中从高阶算起的第(2(N-M-1)+1)(=第5)比特相应的比特的进位选择器110输出的选择信号对被输入到每个进位选择器中。每个进位选择器根据选择信号来选择表示下面电路级中的临时进位或临时和的一对信号并输出选中的信号。
换句话说,作为第三电路级13中的进位选择器的输出的信号对416和417被输入到包含在子电路P42中的四个进位选择器110中从顶部算起的第一进位选择器中。然后,从顶部算起的第一进位选择器根据作为在第三电路级13中提供给与子电路P42中从高阶算起的第(2(N-M-1)+1)(=第5)比特相应的比特的进位选择器的输出的信号对408和409来进行选择并输出信号对518和519。类似地,作为第三电路级13中的进位选择器的输出的信号对414和415被输入到从顶部算起的第二进位选择器中。然后,从顶部算起的第二进位选择器根据选择信号对408和409来进行选择并输出信号对516和517。此外,作为第三电路级13中的进位选择器的输出的信号对412和413被输入到从顶部算起的第三进位选择器中。然后,从顶部算起的第三进位选择器根据选择信号对408和409来进行选择并输出信号对514和515。此外,作为第三电路级13中的进位选择器的输出的信号对410和411被输入到最低阶的进位选择器(即从顶部算起的第四进位选择器)中。然后,从顶部算起的第四进位选择器根据选择信号对408和409来进行选择并输出信号对512和513。
同样,在作为第二子运算电路的子电路P42中,根据低阶的2(N-M-1)(=4)比特来提供四个转换器140。信号对408和409以及异或信号S0_12被输入到四个转换器140中从顶部算起的第一转换器中。信号对408和409是在第三电路级13(前述的电路级)中提供给相应比特的进位选择器110的输出且用于表示临时进位。异或信号S0_12从在第一电路级11中根据高出一比特的比特而提供的条件单元中输出。然后,转换器中从顶部算起的第一转换器把输入的信号转换成表示临时和的信号对510和511并输出经转换的信号。类似地,信号对406和407以及异或信号S0_11被输入到从顶部算起的第二转换器中。信号对406和407是在第三电路级13(前述的电路级)中提供给相应比特的进位选择器110的输出且用于表示临时进位。异或信号S0_11从在第一电路级11中根据高出一比特的比特而提供的条件单元中输出。然后,转换器中从顶部算起的第二转换器把输入的信号转换成表示临时和的信号对508和509并输出经转换的信号。此外,信号对307和308以及异或信号S0_10被输入到从顶部算起的第三转换器中。信号对307和308是在第二电路级12(前述的电路级)中提供给相应比特的进位选择器110的输出且用于表示临时进位。异或信号S0_10从在第一电路级11中根据高出一比特的比特而提供的条件单元中输出。然后,转换器中从顶部算起的第三转换器把输入的信号转换成表示临时和的信号对506和507并输出经转换的信号。此外,信号对C0_8和C1_8以及异或信号S0_9被最低阶的转换器(即从顶部算起的第四转换器)中。信号对C0_8和C1_8是在第一电路级11(前述的电路级)中提供给相应比特的条件单元101的输出且用于表示临时进位。异或信号S0_09从在第一电路级11中根据高出一比特的比特而提供的条件单元中输出。然后,转换器中从顶部算起的第四转换器把输入的信号转换成表示临时和的信号对504和505并输出经转换的信号。
图9是示出应用本发明的16比特加法器中的第(N+1)(=第5)电路级15的电路图。第五电路级15包含2N-1(=8)个复用器120和2(N-1)(=8)个异或电路130。
从在第四电路级14中从顶部算起的第一进位选择器110中输出的信号对518和519被输入到在与输入数据的最高有效比特A_15和B_15相应的比特位置中提供的复用器。然后,该复用器根据从第四电路级14中与从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)(=第9)比特相应的复用器输出的选择信号503来选择输出进位信号Cout并把该输出进位信号Cout输出到加法器外部。
从在第四电路级14中提供给相应比特的进位选择器或转换器中输出的信号对被输入到每个提供给与从输入数据的最高有效比特沿低阶方向算起的第2至第(2(N-1)-1)(=第8)比特相应的比特的复用器中。然后,每个复用器根据从第四电路级14中与从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)(=第9)比特相应的复用器输出的选择信号503来进行选择,并输出表示与高出一比特的比特相关的实际比特和的信号。即,表示临时和的信号对516和517从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第二复用器中。然后,从顶部算起的第二复用器根据作为实际进位的选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_15输出到加法器外部。表示临时和的信号对514和515从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第三复用器中。然后,从顶部算起的第三复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_14输出到外部。表示临时和的信号对512和513从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第四复用器中。然后,从顶部算起的第四复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_13输出到外部。表示临时和的信号对510和511从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第五复用器中。然后,从顶部算起的第五复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_12输出到外部。表示临时和的信号对508和509从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第六复用器中。然后,从顶部算起的第六复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_11输出到外部。表示临时和的信号对506和507从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第七复用器中。然后,从顶部算起的第七复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_10输出到外部。表示临时和的信号对504和505从在第四电路级中提供给相应比特的进位选择器输入到从顶部算起的第八复用器中。然后,从顶部算起的第八复用器根据选择信号503来进行选择并把表示与高出一比特的比特相关的实际比特和的信号S_9输出到外部。
从在前述电路级中提供给相应比特的全加法器或复用器中输出的信号以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号被输入到为与从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)至第2N(即,第9至第16)比特相应的比特而提供的2(N-1)(=8)个异或电路器130中。然后,每个异或电路把表示与高出一比特的比特相关的实际比特和的信号输出到加法器外部。即,当从在第四电路级14中提供给相应比特的复用器中输出的信号503以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_8被输入到与从最高有效比特算起的第9比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_8输出到外部。类似地,当从在第四电路级14中提供给相应比特的复用器中输出的信号502以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_7被输入到与从最高有效比特算起的第10比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_7输出到外部。当从在第四电路级14中提供给相应比特的复用器中输出的信号501以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_6被输入到与从最高有效比特算起的第11比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_6输出到外部。当从在第四电路级14中提供给相应比特的复用器中输出的信号500以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_5被输入到与从最高有效比特算起的第12比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_5输出到外部。当从在第三电路级13中提供给相应比特的复用器中输出的信号401以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_4被输入到与从最高有效比特算起的第13比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_4输出到外部。当从在第三电路级13中提供给相应比特的复用器中输出的信号400以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_3被输入到与从最高有效比特算起的第14比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_3输出到外部。当从在第二电路级12中提供给相应比特的复用器中输出的信号300以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_2被输入到与从最高有效比特算起的第15比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_2输出到外部。当从在第一电路级11中提供给相应比特的全加法器100中输出的信号Cout_0以及从在第一电路级11中与高出一比特的比特相应的条件单元中输出的异或信号S0_1被输入到与从最高有效比特算起的第16比特相应的异或电路中时,该异或电路把表示与高出一比特的比特相关的实际比特和的信号S_1输出到外部。
接下来将参考附图描述本发明的加法器的工作原理。
在示出图3中所示的第一电路级11的图4A中,两个输入数据被输入到提供给每个相同比特的条件单元101中。如图4B所示,在每个条件单元中,从中输出两个输入比特Ai和Bi的“与”信号,作为低阶比特没有产生进位的情况下的进位信号C0_i,从中输出两个输入比特的“或”信号,作为低阶比特产生进位的情况下的进位信号C1_i,以及从中输出两个输入比特的异或信号,作为与低阶比特没有产生进位的情况下的比特和相应的异或信号S0_i。这些输出分别和在假定低阶比特没有产生进位的情况下生成的临时进位信号C0_1-C0_15、在假定低阶比特产生进位的情况下生成的临时进位信号C1_1-C1_15以及异或信号S0_1-S0_15对应。由于A_0、B_0以及输入进位信号Cin从加法器的外面输入至与最低有效比特相应的全加法器100中,全加法器100输出实际比特和信号S_0并输出实际进位信号Cout_0到最高比特。
接下来,在第二电路级12中,每个比特上生成的临时进位信号根据子电路P21-P28被分成每两个比特。每个子电路P21-P28根据来自低一比特的临时进位生成并输出新的临时进位。对临时进位的选择由如图6B所示的进位选择器110执行。在假定更低一比特的比特产生进位的情况和没有产生进位的情况时生成低一比特的临时进位,该临时进位作为临时信号输入到第二电路级12中的每个进位选择器中。因此,在假定低两比特的比特产生进位的情况时生成从第二电路级12中的每个进位选择器的Cout1端子输出的临时进位信号。此外,在假定低两比特的比特没有产生进位的情况时生成从每个进位选择器的Cout0端子输出的临时进位信号。即,因为最低有效比特的进位信号Cout_0是实际进位信号,与从最低有效比特算起的第二比特相应的复用器(即,子电路P21中的复用器120)从表示临时进位的信号对C0_1和C1_1中选择并输出实际的进位信号300。
同样,当信号对C1_14和C0_14以及信号S0_15被输入到子电路P28中的转换器140中时,转换器140生成并输出信号对314和313。信号对314和313与假定低阶产生进位的情况和假定低阶没有产生进位的情况时生成的临时和相对应。
接下来,在示出图3中所示的第三电路级13的图7中,临时进位以及被输入其中的临时和根据子电路P31-P34被分成每四个比特。在第k(k为2、3或4)子电路P3k中,根据在子电路P3k中的从最高有效比特算起的第三比特上的临时进位来选择由在两个高阶比特上生成的信号对组成的临时进位,因此生成并输出新的临时进位。在此,当假定在低一阶的子电路P3k-1的最高有效比特上存在或不存在进位时生成作为选择信号的临时进位。因此,在子电路P3k上新生成并从中输出的临时进位以及临时和均在假定在低一阶的子电路P3k-1中的最高有效比特上存在或不存在进位时生成。在最低阶子电路P3k-1上,与从最高有效比特算起的第三比特相应的信号300是实际进位信号。因此,由包含在子电路P31中的两个复用器使用信号300作为选择信号而选中并从中输出的信号401和400是实际进位信号。
同样,当信号对312和311以及信号S0_14被输入到包含在子电路P34中的两个转换器140中的高阶转换器中时,高阶转换器生成并输出信号对413和412。当信号对C1_12和C0_12以及信号S0_13被输入到低阶转换器中时,低阶转换器生成并输出信号对411和410。在这些转换器中,信号对413和412以及信号对411和410与假定低阶比特产生进位的情况和假定低阶比特没有产生进位的情况时生成的临时和相对应。子电路P34的输出信号415至410与三个高阶比特相应的临时和相对应,且在假定低一阶的子电路P33的最高有效比特上存在或不存在进位时生成。
接下来,在示出图3中所示的第四电路级14的图8中,临时进位以及被输入其中的临时和根据子电路P41-P42被分成每八个比特。在子电路P42中,根据在子电路P42中的从最高有效比特算起的第5比特上的临时进位408和409来选择由在四个高阶比特上生成的信号对组成的临时进位,因此生成并输出新的临时进位和临时和。在此,当假定在低一阶的子电路P41的最高有效比特上存在或不存在进位时生成作为选择信号的临时进位信号408和409。因此,在子电路P42上新生成并从中输出的临时进位以及临时和均在假定在低一阶的子电路P41的最高有效比特上存在或不存在进位时生成。在低阶子电路P41上,与从最高有效比特算起的第5比特相应的信号401是实际进位信号。因此,由包含在子电路P41中的四个复用器使用信号401作为选择信号而选中并从中输出的所有信号503、502、501和500都是实际进位信号。
同样,当信号对409和408以及信号S0_12被输入到包含在子电路P42中的四个转换器140中的最高阶转换器中时,最高阶的转换器生成并输出信号对511和510。当信号对407和406以及信号S0_11被输入到从顶部算起的第二转换器中时,第二转换器生成并输出信号对509和508。当信号对308和307以及信号S0_10被输入到从顶部算起的第三转换器中时,第三转换器生成并输出信号对507和506。当信号对C1_8和C0_8以及信号S0_9被输入到从顶部算起的第四转换器中时,第四转换器生成并输出信号对505和504。在此,信号对511和510、信号对509和508、信号对507和506以及信号对505和504与表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的临时和相对应。即,子电路P42的输出信号517至504与七个高阶比特相应的临时和相对应且被生成,以表示低阶子电路P41中的最高有效比特上存在或不存在进位。
接下来,在示出图3中所示的作为最后一级的第五电路级15的图9中,临时和被输入到根据从最高有效比特算起的8个比特而提供的复用器的7个复用器(从顶部算起的第二至第八复用器)中。这7个复用器根据从最高有效比特算起的第9比特的实际进位信号503来进行选择并把作为实际比特和信号的信号S_15-S_9输出到加法器外部。与最高有效比特相应的复用器根据信号503来选择信号对519和518中的一个并把输出进位信号Cout作为由两个输入数据相加而生成的进位信号输出到加法器外部。至于从最高有效比特算起的第9至第16比特,在第四电路级14的运算后就确定了实际进位信号。因此,如图9所示,8个异或电路通过在实际进位信号和在第一电路级11中生成的比特和信号S0_8-S0_1之间进行异或运算的方式来生成实际比特和S_8-S_1,并把生成的实际比特和S_8-S_1输出到加法器外部。在第一电路级11中生成的信号S_0作为最低有效比特的实际比特和没有经过处理就输出到加法器外部。
根据图1所示的第一传统示例的加法器,进位以及和在第一电路级中生成并传送。此外,根据图2所示的第二传统示例的加法器,传送临时进位以生成实际进位信号且所有的实际比特和都集中在最终电路级上生成。与此相反,根据本发明的加法器,在传送进位的电路级中,临时进位被转换成临时和。因此,根据本发明的加法器,复用器的数量以及这些复用器的输入和输出布线的数量相对于第一传统示例(为所有的比特生成并传送进位以及和)的加法器来说减少了。因此,功率耗散降低了。此外,本发明的加法器可以由和第一传统示例中一样多的电路级数量(即,电路级的数量比第二传统示例少一个电路级)实现。因此,相对于第二传统示例的加法器,有可能高速执行加法。
比较用于构建第一传统示例的加法器所需的复用器的数量和用于构建本发明的加法器所需的复用器的数量。在构建16比特加法器的情况中,第一传统示例需要75个复用器,而本发明的加法器可以由与71个复用器相应的电路构建而成。在构建32比特加法器的情况中,第一传统示例需要186个复用器,而本发明的加法器可以由与175个复用器相应的电路构建而成。下文将对构建32比特加法器的情况进行详细说明。在本发明中,复用器的数量从第一传统示例的186个减至129个。但是,由于在一个电路级中总共添加了46个转换器以生成比特和,因而,可以减少11个复用器。进而,即使在每个条件单元的情况中,尽管在第一传统示例中需要两个比特和信号作为临时和,而在本发明中可以只生成一个异或信号。因而,根据本发明,可以减少构建条件单元所需晶体管的数量,且从这点上看可以降低功率耗散。请注意,对于与复用器相应的电路数量的计算,假定这些电路由每一个都转换为2个复用器的旁路晶体管、进位选择器和转换器以及转换为1个复用器的异或电路组成。
同样,比较用于构建第二传统示例的加法器所需的电路级的数量和用于构建本发明的加法器所需的电路级的数量。在构建16比特加法器的情况中,第二传统示例的加法器需要6个电路级,而本发明的加法器可以由5个电路级构建而成。在构建32比特加法器的情况中,第二传统示例的加法器需要7个电路级,而本发明的加法器可以由6个电路级构建而成。因而,在本发明的加法器的关键路径中的逻辑级的数量相对于第二传统示例的加法器减少了1个,且本发明的加法器可以以和第一传统示例的加法器中相同的逻辑级数量来构建。在此,逻辑级的数量表示条件单元、复用器、进位选择器、转换器以及异或电路的数量的总和,它们位于进位或和被从第一电路级传送到最终电路级的路径上。
请注意,虽然参考16比特加法器对本发明的实施例进行描述,本发明并不限于16比特加法器。根据本发明,对于2N比特加法器,虽然在N≤2的情况中功率减少和速度提高的效果并不明显,但在N≥3的情况中会产生功率减少和速度提高的效果。
如上所述,本发明的加法器拥有与第一传统示例相同数量的电路级。因而,存在明显的效果,使得该加法器可以通过相对于第一传统示例减少诸如复用器这样的单元电路和布线的数量而低功率的运行,同时保持与第一传统示例相同的运行速度(即,比第二传统示例更高的速度)。
Claims (13)
1.一种高速加法器,其在初始级包括多个条件单元并且在随后级包括多个进位选择器,每个所述条件单元生成由表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的一对信号组成的临时进位,每个所述进位选择器根据来自低阶比特的选择信息从临时进位中选择实际进位,所述加法器包括:
多个转换器,每个转换器均设置在相应的一个随后级并且把临时进位转换成由表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的一对信号组成的临时和。
2.如权利要求1所述的加法器,其中,当该加法器是2N比特加法器时,进位传送路径包括(N+1)个电路级,其中N是大于等于3的整数,
其中,第一电路级从外部接收每个相应比特的两个输入数据和一输入进位信号,生成最低有效比特的比特和,输出该比特和至外部,生成与每个非最低有效比特的比特相应的临时进位,以及输出生成的临时进位至下一电路级,
其中,第二至第N电路级在传送过程中通过至少一个转换器把与除最高有效比特之外的较高的(2(N-1)-1)比特相应的临时进位转换成临时和,以及从与除最低有效比特之外的较低的(2(N-1)-1)比特相应的临时进位中生成实际进位,以及
其中,第(N+1)电路级把两个输入数据的和数据中除最低有效比特的比特和之外的数据以及输出进位信号输出到外部。
3.如权利要求2所述的加法器,其中,当以从最高有效比特至最低有效比特的顺序排列输入数据时,在由满足1≤M<N的整数M指定的第(N-M+1)电路级中,转换器中的至少一个位于对应于输入数据的从最高有效比特算起的第(2(N-M-1)+1)比特至第2(N-M)比特。
4.如权利要求2所述的加法器,其中第一电路级包括:
(2N-1)个条件单元,每个条件单元接收两个输入数据的相应比特以执行异或运算,生成由表示低阶比特产生进位的情况和低阶比特没有产生进位的情况的信号对组成的临时进位,以及输出生成的临时进位,条件单元对应于2N比特的最高有效比特至比其最低有效比特高一比特的比特而提供;以及
全加法器,接收两个输入数据的最低有效比特以及输出进位信号并生成异或信号和进位信号。
5.如权利要求4所述的加法器,其中每个条件单元包括:
第一门,接收两个输入比特并在两个输入比特上执行与运算,以输出第一信号;
第二门,接收两个输入比特并在两个输入比特上执行或运算,以输出第二信号;
第三门,接收从第一门输出的第一信号并翻转收到的第一信号,以输出第三信号;以及
第四门,接收从第二门输出的第二信号和从第三门输出的第三信号并在第二信号和第三信号上执行与运算,以输出第四信号,
其中,从第一门输出的第一信号作为第一进位信号而给出,它是低阶比特没有产生进位的情况下的进位信号,
其中,从第二门输出的第二信号作为第二进位信号而给出,它是低阶比特产生进位的情况下的进位信号,以及
其中,从第四门输出的第四信号是在两个输入比特上执行异或运算的结果。
6.如权利要求4所述的加法器,其中,在电路级中,当由满足1≤M<N的整数M指定的第(N-M+1)电路级被对应于输入数据的每2(N-M)比特以虚拟形式分成2M个子电路时,
第(N-M+1)电路级包括:
2(N-M-1)个复用器,每个复用器接收一信号对,该信号对是在前一电路级中提供给相应比特的条件单元和进位选择器之一的输出;接收从在前一级的电路级中提供给与第一子算术电路中从顶部算起的第(2(N-M-1)+1)比特相应的比特的全加法器和复用器之一输出的信号;根据收到的信号来选择实际进位信号;以及输出该实际进位信号,复用器对应于第一子算术电路的较高的2(N-M-1)比特而提供,这些比特包含来自与从最低有效比特沿高阶方向算起的第2(N-M)比特相对应的比特的输入;
(2(N-1)-2(N-M-1))个进位选择器,每个进位选择器接收一信号对,该信号对是在前一电路级中提供给相应比特的条件单元、进位选择器和转换器中之一的输出;接收一选择信号对,该选择信号对是在前一级的电路级中提供给与子电路中从顶部算起的第(2(N-M-1)+1)比特相应的比特的条件单元和进位选择器之一的输出;根据选择信号来选择表示随后的电路级中的临时进位或临时和的信号对;以及输出选中的信号对,进位选择器对应于子电路的较高的2(N-M-1)比特而提供,该子电路包含在由接收与最高有效比特相应的进位信号的子电路组成的第二子算术电路中或由从第二子算术电路沿低阶方向算起的第2至第(2M-1)子电路组成的第三子算术电路中;以及
2(N-M-1)个转换器,每个转换器接收一信号对和一异或信号,该信号对是在前一电路级中提供给相应比特的条件单元和进位选择器之一的输出并表示临时进位,该异或信号从在第一电路级中与高出一比特的比特相应的条件单元中输出;把收到的信号对转换成表示临时和的信号对;以及输出表示临时和的信号对,转换器相应于第二子算术电路中的较低的2(N-M-1)比特而提供。
7.如权利要求6所述的加法器,其中每个条件单元包括:
第一门,接收两个输入比特并对两个输入比特执行与运算,以输出第一信号;
第二门,接收两个输入比特并对两个输入比特执行或运算,以输出第二信号;
第三门,接收从第一门输出的第一信号并翻转收到的第一信号,以输出第三信号;以及
第四门,接收从第二门输出的第二信号和接收从第三门输出的第三信号并对第二信号和第三信号执行与运算,以输出第四信号,
其中,从第一门输出的第一信号作为第一进位信号而给出,它是低阶比特没有产生进位的情况下的进位信号,
其中,从第二门输出的第二信号作为第二进位信号而给出,它是低阶比特产生进位的情况下的进位信号,以及
其中,从第四门输出的第四信号是对两个输入比特执行异或运算的结果。
8.如权利要求6所述的加法器,其中每个转换器包括:
第一异或电路,接收表示临时进位的信号对中的一个以及从在第一电路级中与高出一比特的比特相应的条件单元中输出的异或信号,并输出表示临时和的信号对中的一个;以及
第二异或电路,接收表示临时进位的信号对中的另一个以及异或信号,并输出表示临时和的信号对中的另一个。
9.如权利要求6所述的加法器,其中每个进位选择器包括:
第一复用器,接收表示临时进位的输入信号对,根据选择信号对中的一个来选择输入信号对中的一个,以及把选中的信号作为输出信号对中的一个而输出;以及
第二复用器,接收输入信号对,根据选择信号对中的另一个来选择输入信号对中的一个,以及把选中的信号作为输出信号对中的另一个而输出。
10.如权利要求6所述的加法器,其中,第(N+1)电路级包括:
一个复用器,接收从在第N电路级中相应于输入数据的最高有效比特而提供的最高阶进位选择器中输出的信号对,根据从在第N电路级中与从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)比特相应的复用器中输出的选择信号来选择输出进位信号,以及输出该输出进位信号;
(2(N-1)-1)个复用器,每个复用器接收从在第N电路级中提供给相应比特的进位选择器和转换器之一输出的信号对,根据从在第N电路级中与从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)比特相应的复用器中输出的选择信号来选择与高出一比特的实际比特和相应的信号,以及输出该与高出一比特的实际比特和相应的信号,复用器相应于从输入数据的最高有效比特沿低阶方向算起的第二比特至第2(N-1)比特而提供;以及
2(N-1)个异或电路,每个异或电路接收从在前一电路级中提供给相应比特的全加法器和复用器之一输出的实际进位信号,以及从在第一电路级中与高出一比特的比特相应的条件单元中输出的异或信号,以及输出该与高出一比特的实际比特和相应的信号,异或电路相应于从输入数据的最高有效比特沿低阶方向算起的第(2(N-1)+1)比特至第2N比特而提供。
11.如权利要求10所述的加法器,其中每个条件单元包括:
第一门,接收两个输入比特并对两个输入比特执行与运算,以输出第一信号;
第二门,接收两个输入比特并对两个输入比特执行或运算,以输出第二信号;
第三门,接收从第一门输出的第一信号并翻转收到的第一信号,以输出第三信号;以及
第四门,接收从第二门输出的第二信号和从第三门输出的第三信号并对第二信号和第三信号执行与运算,以输出第四信号,
其中,从第一门输出的第一信号作为第一进位信号而给出,它是低阶比特没有产生进位的情况下的进位信号,
其中,从第二门输出的第二信号作为第二进位信号而给出,它是低阶比特产生进位的情况下的进位信号,以及
其中,从第四门输出的第四信号是对两个输入比特执行异或运算的结果。
12.如权利要求10所述的加法器,其中每个转换器包括:
第一异或电路,接收表示临时进位的信号对中的一个以及从在第一电路级中与高出一比特的比特相应的条件单元中输出的异或信号,并输出表示临时和的信号对中的一个;以及
第二异或电路,接收表示临时进位的信号对中的另一个以及异或信号,并输出表示临时和的信号对中的另一个。
13.如权利要求10所述的加法器,其中每个进位选择器包括:
第一复用器,接收表示临时进位的输入信号对,根据选择信号对中的一个来选择输入信号对中的一个,以及把选中的信号作为输出信号对中的一个而输出;以及
第二复用器,接收输入信号对,根据选择信号对中的另一个来选择输入信号对中的一个,以及把选中的信号作为输出信号对中的另一个而输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP339707/2002 | 2002-11-22 | ||
JP2002339707A JP3727301B2 (ja) | 2002-11-22 | 2002-11-22 | 加算回路および加算回路を備えた半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1503119A CN1503119A (zh) | 2004-06-09 |
CN1290002C true CN1290002C (zh) | 2006-12-13 |
Family
ID=32702600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101196779A Expired - Fee Related CN1290002C (zh) | 2002-11-22 | 2003-11-21 | 高速加法器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7277909B2 (zh) |
JP (1) | JP3727301B2 (zh) |
KR (1) | KR100663679B1 (zh) |
CN (1) | CN1290002C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509368B2 (en) * | 2005-05-09 | 2009-03-24 | Intel Corporation | Sparse tree adder circuit |
US7908308B2 (en) * | 2006-06-08 | 2011-03-15 | International Business Machines Corporation | Carry-select adder structure and method to generate orthogonal signal levels |
CN101140511B (zh) * | 2006-09-05 | 2010-10-13 | 硅谷数模半导体(北京)有限公司 | 串行进位二进制加法器 |
US9262123B2 (en) * | 2013-07-31 | 2016-02-16 | Arm Limited | Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5285406A (en) * | 1990-04-02 | 1994-02-08 | Advanced Micro Devices, Inc. | High speed mixed radix adder |
US5257218A (en) * | 1992-01-06 | 1993-10-26 | Intel Corporation | Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders |
JPH08161151A (ja) * | 1994-12-01 | 1996-06-21 | Mitsubishi Electric Corp | 加算器 |
US6134576A (en) * | 1998-04-30 | 2000-10-17 | Mentor Graphics Corporation | Parallel adder with independent odd and even sum bit generation cells |
-
2002
- 2002-11-22 JP JP2002339707A patent/JP3727301B2/ja not_active Expired - Fee Related
-
2003
- 2003-10-24 KR KR1020030074560A patent/KR100663679B1/ko not_active IP Right Cessation
- 2003-10-28 US US10/695,489 patent/US7277909B2/en not_active Expired - Fee Related
- 2003-11-21 CN CNB2003101196779A patent/CN1290002C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3727301B2 (ja) | 2005-12-14 |
US20040243658A1 (en) | 2004-12-02 |
KR100663679B1 (ko) | 2007-01-02 |
KR20040045292A (ko) | 2004-06-01 |
CN1503119A (zh) | 2004-06-09 |
US7277909B2 (en) | 2007-10-02 |
JP2004171491A (ja) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1503938A (zh) | 乘法逻辑电路 | |
TWI783295B (zh) | 乘法器及乘法運算方法 | |
CN1101017C (zh) | 用于高速二进制乘法器的改进的华莱士(w)-树加法器的结构和方法 | |
CN87100346A (zh) | 最佳分区再生先行进位加法器 | |
CN112434801B (zh) | 一种按照比特精度进行权重拆分的卷积运算加速方法 | |
EP1983434B1 (en) | Parity generating circuit, arrangement circuit for parity generating circuit, information processing apparatus, and encoder | |
CN101140511A (zh) | 串行进位二进制加法器 | |
CN1056939A (zh) | 使用跳跃阵列和变形华莱士树的并行乘法器 | |
CN1290002C (zh) | 高速加法器 | |
CN1801079A (zh) | 优化的标准带符号数字的系数乘法器 | |
Yan et al. | A novel scheme for real-time max/min-set-selection sorters on FPGA | |
CN115102553B (zh) | 二进制码转温度计码的装置和电子设备 | |
CN110688094A (zh) | 一种基于并行循环压缩的余数运算电路及方法 | |
CN113157247B (zh) | 一种可重构整型-浮点型乘法器 | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
Mahesha et al. | A Comparative Study on Low Power Adders for Wearable Devices | |
RU2638724C1 (ru) | Устройство для коррекции порядка при нормализации чисел | |
CN102270110A (zh) | 一种改进的基16Booth编码器 | |
CN110705196A (zh) | 一种基于随机计算的无误差加法器 | |
Alia et al. | On the lower bound to the VLSI complexity of number conversion from weighted to residue representation | |
CN1360348A (zh) | 对数跳跃加法器结构及电路 | |
CN1122024A (zh) | 一种任意字长、任意精度的乘法运算方法及乘法器 | |
CN217034731U (zh) | 选择控制器及运算电路及芯片 | |
CN117155395B (zh) | 一种基于fpga的抽头延迟链型tdc编码方法及系统 | |
CN1145267C (zh) | 一种高效卷积编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |