CN110506255B - 节能型可变功率加法器及其使用方法 - Google Patents
节能型可变功率加法器及其使用方法 Download PDFInfo
- Publication number
- CN110506255B CN110506255B CN201880024647.4A CN201880024647A CN110506255B CN 110506255 B CN110506255 B CN 110506255B CN 201880024647 A CN201880024647 A CN 201880024647A CN 110506255 B CN110506255 B CN 110506255B
- Authority
- CN
- China
- Prior art keywords
- output
- serial
- adder
- stage
- current
- 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.)
- Active
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/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/502—Half adders; Full adders consisting of two cascaded half adders
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/506—Indexing scheme relating to groups G06F7/506 - G06F7/508
- G06F2207/5063—2-input gates, i.e. only using 2-input logical gates, e.g. binary carry look-ahead, e.g. Kogge-Stone or Ladner-Fischer adder
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Analogue/Digital Conversion (AREA)
- Advance Control (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Prostheses (AREA)
- Power Sources (AREA)
Abstract
一种多位加法器装置包括:全加法器级,被配置为接收第一数据和第二数据的多个最低有效位(LSB)中的至少一些最低有效位;以及半加法器级,被配置为接收第一数据和第二数据的多个最高有效位(MSB)中的至少一些最高有效位;进位生成级,被耦合到全加法器级和半加法器级,其中进位生成级包括至少一个串行传播生成(PG)部件;以及后求和级,被耦合到进位生成级和半加法器级,并且被配置为生成第一数据和第二数据的部分和输出,其中多个LSB中的至少一些LSB的数目与多个MSB中的至少一些MSB的数目不同。
Description
相关申请的交叉引用
本申请要求于2017年4月14日提交的美国非临时专利申请号15/488,019的优先权,其全部内容通过引用在此并入,视为其全部内容在下文并且出于所有适用目的进行了完全阐述。
技术领域
本申请涉及用于执行算术运算的数字电路,更具体涉及具有用于提高能量效率的可变配置的加法器。
背景技术
因为加法对于许多数字信号处理运算而言是个重要功能,所以加法器广泛用于多媒体子系统,诸如相机和图形处理器。例如,数字滤波可以使用乘法-加法运算的重复步骤来实现。其他数学运算(诸如减法、符号反转、乘法、除法、比较、平方根、对数、双曲线、三角函数)也可以包括加法的各个步骤。
传统电路合成软件工具通常专注于优化面积和/或速度而非功耗,特别是对于加法器和乘法器。例如,传统电路合成软件工具可以使用纹波进位加法器(RCA)来合成加法器。该软件工具可以通过用进位跳跃加法器、超前进位加法器或进位选择加法器代替RCA来优化处理延迟,以满足时序约束。然而,进位跳跃加法器、超前进位加法器和进位选择加法器使用的逻辑通常比RCA使用的逻辑多,因此消耗的功率比RCA消耗的功率多。尽管某些电路合成软件工具可能会提供一些功耗控件,但这些控件不能有效或足以满足某些应用的功率约束。当合成电路用于主机系统或主机机器(诸如个人计算机(PC))中时,高功耗可能不是很大的问题。然而,用于多媒体应用的移动设备可能受到功率的限制。因而,可能需要用于合成加法器的改进的系统和技术,该加法器可以平衡速度、功率和/或面积。
发明内容
提供了节能多位加法器。各种实施例包括加法器,这些加法器对最高有效位(MSB)级中的一些最高有效位(MSB)级使用并行进位电路以为较低有效位级提供加速和串行或纹波进位电路,以节省功率。加速是指从接收输入的时间到计算输出的时间之间的延迟减少。具体地,各种实施例包括在并行MSB级的数目与串行较低有效位级的数目之间具有不均匀分配的加法器。
根据一个实施例,一种多位加法器装置包括:全加法器级,被配置为接收第一数据和第二数据的多个最低有效位(LSB)中的至少一些最低有效位;以及半加法器级,被配置为接收第一数据和第二数据的多个最高有效位(MSB)中的至少一些最高有效位,其中半加法器级包括至少一个半加法器;进位生成级,被耦合到全加法器级与半加法器级,其中进位生成级包括至少一个串行传播生成(PG)部件,该至少一个串行传播生成(PG)部件被耦合到至少一个半加法器的输出;以及后求和级,被耦合到进位生成级和半加法器级,并且被配置为生成第一数据和第二数据的部分和输出,其中多个LSB中的至少一些LSB的数目与多个MSB中的至少一些MSB的数目不同。
根据实施例,一种装置包括:处理部件,包括多位加法器,其中多位加法器包括:全加法器级,被配置为接收第一数据和第二数据的多个最低有效位(LSB)中的至少一些最低有效位;以及半加法器级,被配置为接收第一数据和第二数据的多个最高有效位(MSB)中的至少一些最高有效位,其中半加法器级包括至少一个半加法器;进位生成级,被耦合到全加法器级与半加法器级,其中进位生成级包括至少一个串行传播生成(PG)部件,该至少一个串行传播生成(PG)部件被耦合到至少一个半加法器的输出;以及后求和级,被耦合到进位生成级和半加法器级,并且被配置为生成第一数据和第二数据的部分和输出,其中多个LSB中的至少一些LSB的数目与多个MSB中的至少一些MSB的数目不同。
根据另一实施例,一种方法包括:经由至少一个全加法器,基于第一数据和第二数据的多个最低有效位(LSB)中的至少一些最低有效位来生成中间进位输出;以及经由至少一个半加法器,基于第一数据和第二数据的多个最高有效位(MSB)中的至少一些最高有效位来生成当前传播输出和当前生成输出,其中多个MSB中的至少一些MSB的数目与多个LSB中的至少一些LSB的数目不同;经由至少一个串行传播生成(PG)部件,至少基于当前传播输出和当前生成输出来生成串行传播输出和串行生成输出;以及至少基于串行传播输出、串行生成输出、当前传播输出和中间进位输出来生成部分和输出。
根据另一实施例,一种装置包括用于基于第一数据和第二数据的多个最低有效位(LSB)中的至少一些最低有效位来生成中间进位输出的器件;以及用于基于第一数据和第二数据的多个最高有效位(MSB)中的至少一些最高有效位来生成当前传播输出和当前生成输出的器件,其中多个MSB中的至少一些MSB的数目与多个LSB中的至少一些LSB的数目不同;用于至少基于当前传播输出和当前生成输出来生成串行传播输出和串行生成输出的器件;以及用于至少基于串行传播输出、串行生成输出、当前传播输出和中间进位输出来生成部分和输出的器件。
附图说明
图1是示出了根据一个实施例的纹波进位加法器(RCA)的图示。
图2是示出了根据一个实施例的RCA的逻辑门电平实现方式的图示。
图3示出了根据一个实施例的可变功率加法器配置方案。
图4是根据一个实施例的将加速应用于三个MSB级的示例4位加法器的图示。
图5是根据一个实施例的将加速应用于两个MSB级的示例4位加法器的图示。
图6是根据一个实施例的将加速应用于一个MSB级的示例4位加法器的图示。
图7是根据一个实施例的示例串行PG部件的图示。
图8是根据一个实施例的示例并行PG部件的图示。
图9是根据一个实施例的示例求和部件的图示。
图10是根据一个实施例的示例计算设备的图示。
图11是根据一个实施例的用于基于预定的功率延迟度量来执行多位加法的示例方法的流程图。
具体实施方式
示例电路实施例
各种实施例通过基于功率延迟乘积(PDP)度量而非单个功率度量或单个延迟度量来变化加法器的并行度,提供了节能型加法器。例如,加法器可以被配置为将并行进位电路用于MSB级中的一些MSB级,并且将串行进位电路用于保留较低有效位级。并行电路称为加速电路。通过变化使用加速电路的并行MSB级的数目,并行度在设计时间期间被调整。在一个实施例中,加法器包括全加法器(FA)级、半加法器(HA)级、进位生成级和后求和级。FA级包括串行进位电路,并且对LSB进行操作。HA级、进位生成级、以及后求和级包括并行进位电路,并且对MSB进行操作。
在以上示例实施例中,FA级被配置为接收第一数据和第二数据的LSB。FA级包括一个或多个串行FA,该一个或多个串行FA被配置为从接收到的LSB生成部分和以及中间进位输出。HA级被配置为接收第一数据和第二数据的MSB,并且执行按位PG。HA级包括一个或多个并行HA,每个并行HA被配置为针对MSB输入对生成求和输出和进位输出。每个输入对由第一数据的位和来自第二数据的位形成,其中位的数量级相同。求和输出可以类似于传播生成(PG)网络的传播输出。进位输出可以类似于PG网络的生成输出。在一些实施例中,HA级的至少一部分可以与FA级并行操作。
继续上文示例实施例,进位生成级包括串行PG级和并行PG级。串行PG级包括一个或多个串行PG部件。每个串行PG部件都耦合到HA的输出,并且被配置为:输出传播并且生成HA或传播的输出,并且基于HA的传播输出来生成下一较低位阶或下一最低有效HA的输出。在一些实施例中,串行PG级的至少一部分可以与FA级并行操作。并行PG级包括一个或多个并行PG部件。每个并行PG部件耦合到串行PG部件和FA级的输出,并且被配置为基于串行PG部件的传播输出来输出串行PG部件的生成输出或FA级的中间进位输出。最高有效并行PG部件的输出可以与用于对第一数据和第二数据求和的最终进位输出相对应。
继续上文示例实施例,后求和级包括一个或多个并行求和部件。每个求和部件都耦合到并行PG部件的输出,并且被配置为将并行PG部件的生成输出添加到相同位阶或相同有效性(significance)的HA的传播输出,以产生部分和。由求和部件产生的部分和与第一数据和第二数据之和的MSB相对应。
其他实施例可以在计算设备中包括上文所描述的加法器。例如,计算设备还可以包括耦合到加法器的计算部件。计算部件可以被配置为执行定点运算和/或浮点运算,其可以与加法器接口以进行加法。在一些实施例中,计算设备可以包括具有不同并行度的大量加法器。
各种实施例可以包括优于传统系统的优点。比如,可以在设计阶段期间使用各种实施例,以允许电路设计者选择具有适当数量的并行度的加法器以满足时序约束,但是仍然使用纹波进位机构处理足够数字以节省功率和空间。这样就可以实现节能设计,其还可以进行量身定制以满足特定时序约束。例如,设计者可以利用加速电路来逐渐增加MSB级的数目,直到加法器满足某个PDP约束。然后,可以使用标准单元对加法器进行编译,并且将该加法器作为单元或托盘(tray)发布。托盘(tray)可以使加法器的单元或电路在平面图上保持物理上彼此靠近,因此可以进一步改善速度、面积和功耗。各个实施例可以针对加法器设计以细粒度(例如,在位级的步骤中)提供加速对功率的精确控制。虽然在4位加法器的上下文中描述了所公开的实施例,但是所公开的实施例可以应用于任何多位加法器,诸如3位加法器、8位加法器、16位加法器、以及32位加法器。
图1是示出了根据一个实施例的RCA 100的图示。为了简化讨论,图1将RCA 100图示为4位加法器,尽管应当认识到,本公开的实施例可以调整以添加更多或更少数目的位。RCA 100包括多个全加法器(FA)110。FA 110被示为110b0、110b1、110b2和110b3。每个FA 110包括三个输入端口(分别表示为A、B和Ci)以及两个输出端口(分别表示为S和Ci)。对于每个FA110,输入端口A被配置为从第一操作数接收位,并且输入端口B被配置为从第二操作数接收位。在输入端口A和B处接收的输入位的幅度或有效性(significance)相同。输入端口Ci被配置为从下一个最低有效位或低位阶FA 110接收进位输出位。每个FA 110被配置为将从输入端口A、B和Ci接收的输入位相加以分别在输出端口S和Ci处产生和以及进位输出。可以使用任何合适的电路配置来实现FA 110。在一些实施例中,可以应用布尔因数分解和/或布尔变换技术以减少晶体管计数、延迟和/或功率。例如,可以使用通过门、传输门、通过门和/或多米诺门来实现FA 110。
作为示例,RCA 100将第一操作数A与第二操作数B相加以产生结果或和S以及进位输出位Cout。第一操作数A包括4个位,从LSB到MSB表示为A<0>、A<1>、A<2>和A<3>。第二操作数B包括4个位,从LSB到MSB表示为B<0>、B<1>、B<2>和B<3>。结果S包括4个位,从LSB到MSB表示为S<0>、S<1>、S<2>和S<3>。在第一时段期间,FA 110b0将进位输入位(表示为Cin)添加到第一操作数A的LSB A<0>和第二操作数B的LSB B<0>,以产生结果S的最低有效结果位S<0>和表示为C1的第一进位输出位。在下一时段期间,FA 110b1将进位输出位C1、第一操作数A的下一MSB A<1>和第二操作数B的下一MSB B<1>相加,以产生下一最高有效结果位S<1>和表示为C2的第二进位输出位。重复该过程,直到将表示为C3的进位输出位添加到第一操作数A的MSB A<3>和第二操作数B的MSB B<3>上以产生最高有效结果位S<3>和表示为Cout的后进位输出或最终进位输出位。
可以看出,每个FA 110的进位输出位是下一最高有效FA 110的进位输入,因此,每个FA 110可能要等到先前最低有效FA 110完成才开始。因此,在生成最低有效结果位S<0>和最高有效结果位S<3>之间存在时间延迟。如此,N位RCA的时间延迟约为N。
图2是示出了根据一个实施例的与RCA 100类似的RCA 200的逻辑门电平实现方式的图示。RCA 200包括按位PG生成级210、组PG生成级220、后求和生成级230、以及位级202。位级202的数目取决于操作数的位宽。位级202跨越按位PG生成级210、组PG生成级220、以及后求和生成级230。每个位级202对应于RCA 100的FA 110。
对于每个第i位级202,按位PG生成级210被配置为针对每对输入位(表示为(Ai,Bi))生成生成输出(表示为Gi)和传播输出(表示为Pi),其中Ai和Bi分别对应于幅度相等的操作数A位和操作数B位。生成输出Gi和传播输出Pi可以分别使用逻辑与门和异或门来实现,并且表达如下所示:
Gi=Ai.Bi, (1)
其中i从1变化到N,并且N代表位级202的数目。生成输出Gi指示是否针对第i位级202生成进位。当输入位Ai和Bi均为真或值为1时,生成进位。传播输出Pi指示从先前第(i-1)位级202接收的进位Ci-1是否被传播到当前第i位级202。当Ai或Bi为真时,传播输出Pi为真。按位PG级210可以针对所有位级202并行生成生成输出(例如,G0、G1、G2和G3)和传播输出(例如,P0、P1、P2和P3)。
对于每个第i位级202,组PG生成级220被配置为基于第i位级202的生成输出Gi和传播输出Pi以及下一低位阶或有效第(i-1)位级202的生成输出Gi-1和传播输出Pi-1,来生成表示为Gi:0或Ci的组生成输出。当传播输出Pi为假时,组PG生成级220在组生成输出Gi:0处输出生成输出Gi。相反,当传播输出Pi为真时,组PG生成级220在组生成输出Gi:0处输出先前生成输出Gi-1:0。可以使用逻辑与门和逻辑或门来实现组生成输出Gi:0,并且表达如下所示:
Gi:0=Ci=Gi+Pi.Gi-1:0. (3)
组PG生成级220串行生成组生成输出(例如,G0:0、G1:0、G2:0和G3:0)。
对于每个第i位级202,后求和生成级230被配置为生成表示为Si的和。另外,后求和生成级230在最高有效位级202处生成表示为Cout或C4的最终进位输出。和Si可以使用异或门实现,并且表达如下所示:
Si=Ci+Pi. (4)
最终进位输出Cout可以使用逻辑与门和逻辑或门来实现,并且表达如下所示:
Cout=CN+PN.CN-1. (5)
尽管RCA 200使用并行前置运算实现加法,但是组生成输出(例如,进位)从LSB到MSB串行波动,因此性能可能较慢。如此,RCA 200不能满足某些应用的时序约束。其他加法器设计(诸如进位跳跃加法器、超前进位加法器和/或进位选择加法器)可以包括用于进位的并行计算,因此可以改善处理速度或时间延迟。然而,与RCA 200相比,这些加法器设计可能使用更多的晶体管,并且功率效率和/或面积效率较低。
图3示出了根据一个实施例的可变功率加法器配置方案300。方案300基于目标PDP度量而非仅基于目标功率或目标延迟来配置加法器。PDP度量标准是每兆赫兹(MHz)的瓦数,因此指示了功率效率。方案300采用具有用于多个MSB的并行进位电路的基于并行PG的加法器310、以及用于剩余数目的LSB的、诸如FA 110的串行进位电路,从而权衡速度以节省功率。虽然方案300是在具有三个加速配置306、307和308的4位加法器的上下文中得以说明,但是方案300可以应用于具有1至N-1个加速配置的N位加法器,其中N是大于1的正整数。
作为示例,每个配置306、307和308将第一操作数A添加到第二操作数B以产生和S以及进位输出位Cout。配置306、307和308提供了功率延迟权衡的增量步骤。第一操作数A包括4个位,其从LSB到MSB表示为A<0>、A<1>、A<2>和A<3>。第二操作数B包括4个位,其从LSB到MSB表示为B<0>、B<1>、B<2>和B<3>。结果S包括4个位,其从LSB到MSB表示为S<0>、S<1>、S<2>和S<3>。
配置306使用一个FA 110来使LSB输入对(A<0>、B<0>)与基于并行PG的加法器310相加,以为三个MSB级302提供加速。配置306被称为加速三配置(speedup-threeconfiguration)。基于并行PG的加法器310可以包括如本文中更详细描述的PG计算的各个级。如所示出的,第一基于并行PG的加法器310对输入对(A<1>、B<1>)进行操作,第二基于并行PG的加法器310对输入对(A<2>、B<2>)进行操作,并且第三基于并行PG的加法器310对输入对(A<3>、B<3>)进行操作。第一基于并行PG的加法器310、第二基于并行PG的加法器310和第三基于并行PG的加法器310并行操作以计算中间进位,如箭头309所示。第一基于并行PG的加法器310、第二基于并行PG的加法器310和第三基于并行PG的加法器310可以与FA 110并行操作。虽然基于并行PG的加法器310可以提供加速或改善时间延迟,但是基于并行PG的加法器310包括更多的晶体管逻辑,因此可能比使用FA 110消耗更多的功率。
配置307使用两个FA 110将两个LSB对(A<0>、B<0>)和(A<1>、B<1>)相加,并且使用基于并行PG的加法器310来在接下来的两个MSB级302中提供加速。因此,配置307被称为加速二配置(speedup-two configuration)。如所示出的,第一基于并行PG的加法器310对输入对(A<2>、B<2>)进行操作,并且基于第二并行PG的加法器310对输入对(A<3>、B<3>)进行操作。第一基于并行PG的加法器310和第二基于并行PG的加法器310并行操作以计算中间进位,如箭头309所示。FA 110串行操作,但可以与基于并行PG的加法器310并行操作。虽然配置307与配置306相比提供了更少的加速,但是与配置306相比,配置307的能效更高。
配置308使用三个FA 110对三个LSB对(A<0>、B<0>)、(A<1>、B<1>)和(A<2>、B<2>)进行操作,并且使用基于并行PG的加法器310而在MSB级302中提供加速。因此,配置308被称为加速一配置(speedup-one configuration)。基于并行PG的加法器310对输入对(A<3>、B<3>)进行操作以计算中间进位,如箭头309所示。类似于配置307,FA 110串行操作,但是可以与基于并行PG的加法器310并行操作。虽然配置308与配置306和307相比提供了更少加速,但是与配置306和307两者相比,配置308可能能效更高。方案300还可以包括无加速的配置,例如,加速零配置(speedup-zero configuration),其退化为与RCA 100相同的配置。
为了基于目标PDP配置加法器,在动作320处,方案300例如基于用于特定应用和/或设备的时序和功率约束来确定目标PDP。在动作322处,方案300基于所确定的目标PDP来从配置306、307和308中选择加法器配置。可以看出,配置306、307和308在位级302的步骤中提供了可变功率-速度权衡。因此,方案300可以在加法器设计中以增量步骤来权衡速度以节省功率。为了进一步提高能效,方案300可以针对作为单元或托盘(tray)的特定配置306、307或308来生成FA 110和基于并行PG的加法器310。如此,用于FA 110和基于并行PG的加法器310的电路部件或单元可以在平面图上彼此靠近定位而非分散定位。
图4是根据一个实施例的将加速应用于三个MSB级402的示例4位加法器400的图示。加法器400具有与配置306相似的配置,并且提供了配置306中基于并行PG的加法器310的内部部件和互连的更详细视图。加法器400包括FA级410、HA级420、进位生成级430、以及后求和级440。FA级410对操作数A和操作数B的LSB进行操作。从LSB到MSB,操作数A可以表示为A<0>、A<1>、A<2>和A<3>。从LSB到MSB,操作数B可以表示为B<0>、B<1>、B<2>和B<3>。HA级420、进位生成级430和后求和级440对应于基于并行PG的加法器310,并且对操作数A的三个MSB和操作数B的三个MSB进行操作。
FA级410在LSB级404中包括FA 110。FA 110分别在输入端口A、B和Ci处接收A<0>、B<0>、以及表示为Cin的进位输入。FA 110计算输入对(A<0>、B<0>)的和,并且在输出端口S处产生表示为S<0>的最低有效和位、并且在输出端口Co处产生和的中间进位。
HA级420耦合到FA级410。HA级420包括多个HA 422,多个HA 422被配置为计算按位PG。每个MSB级402包括对输入对(A<1>、B<1>)、(A<2>、B<2>)或(A<3>、B<3>)进行操作的对应HA。最低有效MSB级402包括对输入对(A<0>、B<0>)进行操作的附加HA 422。每个HA 422包括表示为A和B的输入端口、以及表示为Co和S的输出端口。输入端口A被配置为从操作数A接收位。输入端口B被配置为从操作数B接收位。在输入端口A和B处接收到的输入位的幅度或有效性(significance)相同。每个HA 422被配置为根据等式(1)从接收到的输入位在输出端口Co处生成生成输出,并且根据等式(2)从接收到的输入位在输出端口S处生成传播输出。由于HA 422的操作彼此独立,所以HA 422可以被配置为并行电路。另外,HA 422的操作独立于FA级410。因此,HA 422可以被配置为与FA级410并行操作。例如,HA 422和FA 110可以包括并行操作部件。
进位生成级430耦合到HA级420和FA级410。进位生成级430包括串行PG级432和并行PG级436。串行PG级432包括多个串行PG部件434,每个MSB级402中一个串行PG部件。每个串行PG部件434包括表示为Gi、Pi、Gi-1和Pi-1的输入端口以及表示为Go和Po的输出端口。输入端口Gi和Pi分别耦合到当前位阶或当前MSB级402的HA 422的输出端口Co和S。输入端口Gi-1和Pi-1分别耦合到下一较低位阶或先前MSB级402的串行PG部件434的输出端口Go和Po。然而,最低有效串行PG部件434的输入端口Gi-1和Pi-1分别耦合到最低有效HA 422的输出端口Co和S。每个串行PG部件434被配置为基于在输入端口Pi处接收到的输入来输出当前位阶的HA的生成输出和传播输出、或传播下一较低位阶的串行PG部件434的生成输出和传播输出。本文中对串行PG部件434的内部电路进行更详细的描述。由于每个串行PG部件434的操作取决于下一较低位阶的串行PG部件434,所以串行PG部件434被配置为串行操作。然而,根据FA级410和HA级420的时序,串行PG部件434中的一些串行PG部件可以与FA级410并行操作。
并行PG级436包括多个并行PG部件438,每个MSB级402中一个并行PG部件。每个并行PG部件438包括表示为Gi、Pi和Gi-1的输入端口和表示为Go的输入端口。输入端口Gi和Pi分别耦合到当前位阶的串行PG部件434的输出端口Go和Po。输入端口Gi-1耦合到FA 110的输出端口Co。每个并行PG部件438被配置为基于在输入端口Pi处接收到的输入来输出当前位阶的串行PG部件的生成输出或输出由FA 110输出的中间进位。在本文中对并行PG部件438的内部电路进行更详细的描述。由于并行PG部件438的操作彼此独立,所以并行PG部件438可以被配置为并行操作。最高位阶的并行PG部件438的输出对应于表示为Cout的后进位输出或最终进位输出。
后求和级440耦合到HA级420和进位生成级430。后求和级440包括多个求和部件442,每个MSB级402中一个求和部件。每个求和部件442包括表示为Gi和Pi的输入端口以及表示为S的输出端口。输入端口Gi耦合到当前位阶的并行PG部件438的输出端口Go。输入端口Pi耦合到当前位阶的HA 422的输出端口S。每个求和部件442被配置为从在输入端口Gi和Pi处接收到的输入在输出端口S处生成部分和输出(partial sum output)。如所示出的,求和部件442生成三个最高有效和位,其分别表示为S<1>、S<2>和S<3>。在本文中对求和部件442的内部电路进行更详细的描述。
可以看出,加速由HA 422之间的并行操作、FA级410与HA级420之间的并行操作、FA级410与串行PG级432之间的并行操作、并行PG部件438之间的并行操作、和/或求和部件442之间的并行操作提供。
图5是根据一个实施例的将加速应用于两个MSB级502的示例性4位加法器500的图示。加法器500具有与配置307相似的配置,并且提供了配置307中基于并行PG的加法器310的内部部件和互连的更详细视图。加法器500包括FA级510、HA级520、进位生成级530、以及后求和级540,其中进位生成级530包括串行PG级532和并行PG级536。FA级510、HA级520、串行PG级532、并行PG级536、以及后求和级540基本类似于FA级410、HA级420、串行PG级432、并行PG级436、以及后求和级440。然而,HA级520、串行PG级532、并行PG级536、以及后求和级540对两个MSB级502进行操作,以提供2位加速,并且FA级510对剩余两个LSB级504进行操作,以节省功率。
FA级510包括两个FA 110,两个FA 110被配置为对两个LSB输入对(A<0>、B<0>)和(A<1>、B<1>)进行操作。最高有效LSB级504中的FA 110在输出端口Co处产生中间进位。
HA级520包括两个HA 422,两个HA 422被配置为对两个MSB输入对(A<2>、B<2>)和(A<3>、B<3>)进行操作。HA级520还包括最低有效MSB级502中的第三HA 422,该第三HA 422被配置为对由FA级510操作的最高有效LSB对(A<1>、B<1>)进行操作。HA 422是并行HA,并且可以与FA级510并行操作。
串行PG级532包括两个串行PG部件434,两个串行PG部件434被配置为对两个MSB输入对(A<2>、B<2>)和(A<3>、B<3>)进行操作。串行PG部件434可以与FA级510并行操作。并行PG级536包括两个并行PG部件438,两个并行PG部件438被配置为对两个MSB输入对(A<2>、B<2>)和(A<3>、B<3>)以及由FA级510输出的中间进位进行操作。
后求和级540包括两个求和部件442,两个求和部件442被配置为对两个MSB输入对(A<2>、B<2>)和(A<3>、B<3>)以及HA 422的输出端口S处的传播输出进行操作。
图6是根据一个实施例的将加速应用于一个MSB级602的示例4位加法器600的图示。加法器600具有与配置308类似的配置,并且提供了配置308中基于并行PG的加法器310的内部部件和互连的更详细视图。加法器600包括FA级610、HA级620、进位生成级630、以及后求和级640,其中进位生成级630包括串行PG级632和并行PG级636。FA级610与FA级410和510基本相似。HA级620与HA级420和520基本类似。串行PG级632与串行PG级432和532基本类似。并行PG级636与并行PG级436和536基本类似。后求和级640与后求和级440和540基本类似。然而,HA级620、串行PG级632、并行PG级636、以及后求和级640对MSB级602进行操作,以提供1位加速,并且FA级610对剩余三个LSB级604进行操作。
FA级610包括三个FA 110,三个FA 110被配置为对三个LSB输入对(A<0>、B<0>)、(A<1>、B<1>)、(A<2>、B<2>)进行操作。最高有效LSB级604中的FA 110在输出端口Co处产生中间进位。
HA级620包括一个HA 422,该HA 422被配置为对MSB输入对(A<3>、B<3>)进行操作。HA级620还包括在最低有效MSB级602中的第三HA 422,第三HA 422被配置为对由FA级610操作的LSB的MSB输入对(A<2>、B<2>)进行操作。HA 422是并行HA,并且可以与FA级610并行操作。
串行PG级632包括一个串行PG部件434,该串行PG部件434被配置为对MSB输入对(A<3>、B<3>)进行操作。串行PG部件434可以与FA级610并行操作。并行PG级636包括一个并行PG部件438,该并行PG部件438被配置为对MSB输入对(A<3>、B<3>)和由FA级610输出的中间进位进行操作。后求和级640包括一个求和部件442,该求和部件442被配置为对MSB输入对(A<3>、B<3>)和HA 422的输出端口S处的传播输出进行操作。
图7是根据一个实施例的示例串行PG部件700的图示。串行PG部件700类似于串行PG部件434,并且提供了串行PG部件434的内部部件和互连的更详细视图。串行PG部件700包括表示为Gi、Pi、Gi-1和Pi-1的输入端口以及表示为Go和Po的输出端口。串行PG部件700使用如下所示表达的逻辑与门和逻辑或门基于从输入端口Gi、Pi和Gi-1接收到的输入信号而在输出端口Go处生成输出信号:
Go=Gi+Pi.Gi-1. (6)
串行PG部件700使用如下所示表达的逻辑与门基于从输入端口Gi、Pi和Pi-1接收到的输入信号而在输出端口Po处生成输出信号:
Po=Pi+Pi-1. (7)
如此,当输入Pi处的输入信号为假时,串行PG部件700将从输入端口Gi和Pi接收的输入信号分别输出到输出端口Go和Po。否则,串行PG部件700将在输入端口Gi-1和Pi-1处接收的输入信号分别输出到输出端口Go和Po。
图8是根据一个实施例的示例并行PG部件800的图示。并行PG部件800与并行PG部件438相似,并且提供了并行PG部件438的内部部件和互连的更详细视图。并行PG部件800包括表示为Gi、Pi和Gi-1的输入端口以及表示为Go的输出端口。并行PG部件800使用如下所示表达的逻辑与门和逻辑或门基于从输入端口Gi、Pi和Gi-1接收到的输入信号而在输出端口Go处生成输出信号:
Go=Gi+Pi.Gi-1. (8)
如此,当输入Pi处的输入信号为假时,并行PG部件800将从输入端口Gi接收的输入信号输出至输出端口Go。否则,并行PG部件800将在输入端口Gi-1处接收到的输入信号输出到输出端口Go。
图9是根据一个实施例的示例求和部件900的图示。求和部件900类似于求和部件442,并且提供求和部件442的内部部件和互连的更详细视图。求和部件900包括表示为Gi和Pi的输入端口以及表示为S的输出端口。求和部件900使用如下所示表达的异或门基于从输入端口Gi和Pi接收到的输入信号而在输出端口S处生成输出信号:
图10是根据一个实施例的示例计算设备1000的图示。计算设备1000可以是移动设备、多媒体设备、或可能受到功率限制的任何设备。计算设备1000包括处理部件1010。处理部件1010包括一个或多个计算部件1012和一个或多个多位加法器1014。多位加法器1014可以根据方案300进行配置,并且可以具有与配置306、307和308以及加法器400、500和600类似的配置。在实施例中,至少一个多位加法器1014具有加速MSB级和纹波进位LSB级的不均匀分配。例如,多位加法器1014可以是K位加法器,并且可以包括N个加速MSB级和(K-N)个波纹进位LSB级,其中N和(K-N)不相等。在一些实施例中,多位加法器1014可以具有不同的加速体系架构。例如,一个多位加法器1014可以具有三个加速MSB级,另一个多位加法器1014可以具有两个加速MSB级,而再一个多位加法器1014可以具有零个加速级。计算设备1000还可以包括存储器、输入端口、输出端口、总线子系统、时钟子系统、电源子系统、以及任何专用子系统。
计算部件1012可以包括逻辑和电路,逻辑和电路被配置为执行浮点运算和/或定点运算。浮点运算和/或定点运算可以包括减法、乘法、除法、符号反转、和/或比较。计算部件1012还可以被配置为计算双曲线、平方根、三角函数、对数函数、和/或任何高级数学函数。
计算部件1012耦合到多位加法器1014。计算部件1012可以使用由多位加法器1014计算的加法来执行运算中的至少一些运算。作为示例,计算部件1012可以被配置为执行乘法,其中乘数乘以被乘数。乘法可以包括将被乘数与乘数的每个二进制数相乘以产生部分乘积,并且将部分乘积求和以产生最终乘积。在实施例中,多位加法器1014可以被配置为将部分乘积相加以产生最终乘积。在另一实施例中,例如通过使用进位保存加法器,将部分乘积上幅度相等的二进制数相加以产生进位位集合以及和位集合。进位位集合可以形成向量,并且和位集合可以形成另一向量。在这种实施例中,多位加法器1014可以被配置为将进位位的向量与和位的向量相加以产生最终乘积。
现在,对用于图4至图10的电路的示例方法进行讨论。
示例使用方法
图11是根据一个实施例的用于基于预定的功率延迟度量来执行多位加法的示例方法1100的流程图。方法1100可以由图3至图6所图示的加法器执行。在示例方法1100中,相对于图3至图6中的配置执行动作。具体地,使用方案300根据PDP度量(例如,目标PDP)来配置加法器。选择加速MSB级的数目以满足预定的PDP度量。例如,在电路设计阶段,电路设计者可以从没有加速MSB级的诸如RCA 100和200的功率高效型RCA开始,并且逐步增加加速MSB级的数目,直到加法器同时满足相应功率延迟量度的时序约束和功率约束两者为止。
加法器接收第一数据和第二数据。每个第一数据和第二数据可以包括多个二进制位。在图4至图6的示例中,第一数据可以对应于操作数A,并且第二数据可以对应于操作数B。加法器在加速MSB级(例如,MSB级402、502和602)与纹波进位LSB级(例如,LSB级404、504和604)的数目之间可以具有不均匀分配。针对第一数据和第二数据执行下文在框1110至1140中所描述的动作。
方法1100从框1110开始,框1110包括:例如经由诸如FA 110的至少一个FA、基于第一数据和第二数据的至少一些LSB来生成中间进位输出。中间进位输出对应于由最高有效FA 110所生成的进位输出。
在框1120处,方法1100包括:例如经由诸如HA 422的至少一个HA、基于第一数据和第二数据的至少一些MSB来生成当前传播输出和当前生成输出。在图4至图6的示例中,当前传播输出和当前生成输出可以分别对应于第i位级处的HA 422的输出端口S和Co处的输出。
在框1130处,方法1100包括:例如经由诸如串行PG部件434和700的串行PG部件、至少基于当前传播输出和当前生成输出来生成串行传播输出和串行生成输出。在图4至图6的示例中,串行传播输出和串行生成输出可以分别对应于第i位级处的串行PG部件434的输出端口Po和Go处的输出。
生成串行传播输出和串行生成输出包括:当当前传播输出为假时,分别将当前传播输出和当前生成输出传播到串行传播输出和串行生成输出。生成串行传播输出和串行生成输出包括:当当前传播输出为真时,分别将先前传播输出和先前生成输出传播到串行传播输出和串行生成输出。
在一个实施例中,先前生成输出和先前传播输出分别对应于第(i-1)位级中的串行PG部件(例如,对第一数据和第二数据的下一低位阶MSB进行操作)的生成输出和传播输出。在另一实施例中,先前生成输出和先前传播输出分别对应于对第一数据和第二数据的至少一些LSB的MSB进行操作的HA的进位输出以及和输出。
在框1140处,方法1100包括:至少基于串行传播输出、串行生成输出和中间进位输出来生成部分和输出。在图4至图6的示例中,部分和输出可以对应于第i位级处的求和部件442的输出端口S处的输出。例如,可以使用诸如并行PG部件438的并行PG部件、基于串行传播输出和串行生成输出来生成并行生成输出,并且可以基于并行生成输出和当前传播输出来生成部分和输出。
实施例的范围不限于图11所示的特定方法。其他实施例可以添加、省略、重新布置或修改一个或多个动作。例如,其中生成中间进位输出的框1110的动作和其中生成当前传播输出和当前生成输出的框1120的动作可以同时发生。可替代地,其中生成中间进位输出的框1110的动作和其中生成串行传播输出和串行生成输出的框1130的动作可以同时发生。换句话说,方法1100中的框的布置不限于特定的动作次序。
如本领域技术人员现在应当领会的并且取决于当前的特定应用,在不脱离本公开的精神和范围的情况下,可以对材料、装置、设备的配置和使用方法进行多种修改、替换和变化。鉴于此,因为本文中所图示和描述的特定实施例仅作为其一些示例,所以本公开的范围不应限于这些特定实施例的范围,而是相反,应当与之后所附权利要求及其功能等同物的范围完全相当。
Claims (30)
1.一种多位加法器装置,包括:
全加法器级,被配置为接收第一数据和第二数据的多个最低有效位LSB中的至少一些最低有效位;以及
半加法器级,被配置为接收所述第一数据和所述第二数据的多个最高有效位MSB中的至少一些最高有效位,其中所述半加法器级包括至少一个半加法器;
进位生成级,被耦合到所述全加法器级和所述半加法器级,其中所述进位生成级包括至少一个串行传播生成PG部件,所述至少一个串行传播生成PG部件被耦合到所述至少一个半加法器的输出;以及
后求和级,被耦合到所述进位生成级和所述半加法器级,并且被配置为生成所述第一数据和所述第二数据的部分和输出,
其中所述多个LSB中的至少一些LSB的数目与所述多个MSB中的至少一些MSB的数目不同。
2.根据权利要求1所述的多位加法器装置,其中所述全加法器级包括至少一个全加法器,并且其中所述至少一个全加法器和所述至少一个半加法器包括并行操作部件。
3.根据权利要求1所述的多位加法器装置,其中所述全加法器级包括至少一个全加法器,并且其中所述至少一个全加法器和所述至少一个串行PG部件包括并行操作部件。
4.根据权利要求1所述的多位加法器装置,其中所述半加法器级包括多个半加法器,所述多个半加法器包括并行操作部件。
5.根据权利要求4所述的多位加法器装置,其中所述多个半加法器的数目与目标功率延迟乘积PDP度量相关联。
6.根据权利要求1所述的多位加法器装置,其中所述至少一个半加法器的输出包括当前传播输出和当前生成输出,其中所述半加法器级包括第二半加法器,所述第二半加法器是所述至少一个半加法器的下一高位阶半加法器,其中所述第二半加法器被配置为基于所述多个MSB中的所述至少一些MSB来产生先前传播输出和先前生成输出,并且其中串行PG部件进一步被耦合到所述当前传播输出、所述当前生成输出、所述先前传播输出、以及所述先前生成输出。
7.根据权利要求6所述的多位加法器装置,其中所述串行PG部件包括:
第一逻辑与门,包括:
输入端口,被耦合到所述当前传播输出和所述先前传播输出;以及
输出端口,产生串行传播输出;
第二逻辑与门,包括输入端口,所述输入端口被耦合到所述当前传播输出和所述先前生成输出;以及
第一逻辑或门,包括:
输入端口,被耦合到所述第二逻辑与门的输出和所述当前生成输出;以及
输出端口,产生串行生成输出。
8.根据权利要求7所述的多位加法器装置,其中所述全加法器级包括至少一个全加法器,所述至少一个全加法器被配置为基于所述多个LSB中的所述至少一些LSB来产生中间进位输出,并且其中所述进位生成级还包括至少一个并行PG部件,所述至少一个并行PG部件包括:
第三逻辑与门,包括输入端口,所述输入端口被耦合到所述串行传播输出和所述中间进位输出;以及
第二逻辑或门,包括:
输入端口,被耦合到所述第三逻辑与门的输出和所述串行生成输出;以及
输出端口,产生后进位输出。
9.根据权利要求8所述的多位加法器装置,其中所述后求和级包括异或门,所述异或门包括:
输入端口,被耦合到所述后进位输出和所述至少一个半加法器的所述当前传播输出;以及
输出端口,产生所述部分和输出。
10.一种电子装置,包括:
处理部件,包括多位加法器,其中所述多位加法器包括:
全加法器级,被配置为接收第一数据和第二数据的多个最低有效位LSB中的至少一些最低有效位;以及
半加法器级,被配置为接收所述第一数据和所述第二数据的多个最高有效位MSB中的至少一些最高有效位,其中所述半加法器级包括至少一个半加法器;
进位生成级,被耦合到所述全加法器级和所述半加法器级,其中所述进位生成级包括至少一个串行传播生成PG部件,所述至少一个串行传播生成PG部件被耦合到所述至少一个半加法器的输出;以及
后求和级,被耦合到所述进位生成级和所述半加法器级,并且被配置为生成所述第一数据和所述第二数据的部分和输出,其中所述多个LSB中的至少一些LSB的数目与所述多个MSB中的至少一些MSB的数目不同。
11.根据权利要求10所述的电子装置,其中所述处理部件进一步包括耦合到所述多位加法器的至少一个计算部件,并且其中所述至少一个计算部件与定点运算或浮点运算中的至少一个相关联。
12.根据权利要求11所述的电子装置,其中所述至少一个计算部件与乘法相关联,并且其中所述计算部件被配置为生成至少两个部分乘积,所述至少两个部分乘积形成所述第一数据和所述第二数据。
13.根据权利要求10所述的电子装置,其中所述全加法器级包括至少一个全加法器,并且其中所述至少一个全加法器和所述至少一个半加法器包括并行操作部件。
14.根据权利要求10所述的电子装置,其中所述全加法器级包括至少一个全加法器,并且其中所述至少一个全加法器和所述至少一个串行PG部件包括并行操作部件。
15.根据权利要求10所述的电子装置,其中所述至少一个半加法器的输出包括当前传播输出和当前生成输出,其中所述半加法器级包括第二半加法器,所述第二半加法器是所述至少一个半加法器的下一高阶半加法器,其中所述第二半加法器被配置为基于所述多个MSB中的所述至少一些MSB来产生先前传播输出和先前生成输出,其中串行PG部件被配置为基于所述当前传播输出,来向串行传播输出传播所述先前传播输出或所述当前传播输出,并且其中所述串行PG部件被配置为基于所述当前传播输出,来向串行生成输出传播所述先前生成输出或所述当前生成输出。
16.根据权利要求15所述的电子装置,其中所述全加法器级包括至少一个全加法器,所述至少一个全加法器基于所述多个LSB中的所述至少一些LSB来产生中间进位输出,其中所述进位生成级还包括至少一个并行PG部件,所述至少一个并行PG部件被配置为基于所述串行传播输出,来向后进位输出传播所述中间进位输出或所述串行生成输出。
17.根据权利要求16所述的电子装置,其中所述后求和级被配置为基于所述后进位输出和所述至少一个半加法器的所述当前传播输出,来生成所述部分和输出。
18.一种用于电子装置的方法,包括:
经由至少一个全加法器,基于第一数据和第二数据的多个最低有效位LSB中的至少一些最低有效位来生成中间进位输出;
经由至少一个半加法器,基于所述第一数据和所述第二数据的多个最高有效位MSB中的至少一些最高有效位来生成当前传播输出和当前生成输出,其中所述多个MSB中的至少一些MSB的数目与所述多个LSB中的至少一些LSB的数目不同;
经由至少一个串行传播生成PG部件,至少基于所述当前传播输出和所述当前生成输出,来生成串行传播输出和串行生成输出;以及
至少基于所述串行传播输出、所述串行生成输出、所述当前传播输出和所述中间进位输出,来生成部分和输出。
19.根据权利要求18所述的方法,其中生成所述当前传播输出和所述当前生成输出与生成所述中间进位输出同时进行。
20.根据权利要求18所述的方法,其中生成所述串行传播输出和所述串行生成输出与生成所述中间进位输出同时进行。
21.根据权利要求18所述的方法,其中生成所述串行传播输出和所述串行生成输出包括:
基于所述当前传播输出,来向所述串行传播输出传播所述当前传播输出或先前传播输出;以及
基于所述当前传播输出,来向所述串行生成输出传播所述当前生成输出或先前生成输出。
22.根据权利要求21所述的方法,还包括:经由第二半加法器,基于所述多个MSB中的所述至少一些MSB的第一位来生成所述先前传播输出和所述先前生成输出,其中所述当前传播输出和所述当前生成输出基于所述多个MSB中的所述至少一些MSB的第二位而被生成,并且其中所述第二位是所述第一数据中的所述第一位的下一较低阶位。
23.根据权利要求21所述的方法,还包括:经由第二半加法器,基于所述多个LSB中的所述至少一些LSB的MSB来生成所述先前传播输出和所述先前生成输出。
24.根据权利要求21所述的方法,其中生成所述部分和输出包括:
经由至少一个并行PG部件,基于所述串行传播输出,向后进位输出传播所述中间进位输出或所述串行生成输出;以及
至少对所述当前传播输出和所述后进位输出求和。
25.一种电子装置,包括:
用于基于第一数据和第二数据的多个最低有效位LSB中的至少一些最低有效位来生成中间进位输出的至少一个全加法器;
用于基于所述第一数据和所述第二数据的多个最高有效位MSB中的至少一些最高有效位来生成当前传播输出和当前生成输出的至少一个半加法器,其中所述多个MSB中的至少一些MSB的数目与所述多个LSB中的至少一些LSB的数目不同;
用于至少基于所述当前传播输出和所述当前生成输出来生成串行传播输出和串行生成输出的器件;以及
用于至少基于所述串行传播输出、所述串行生成输出、所述当前传播输出和所述中间进位输出来生成部分和输出的器件。
26.根据权利要求25所述的电子装置,其中用于生成所述中间进位输出的所述至少一个全加法器还被配置为与以下各项中的至少一项同时进行地生成所述中间进位输出:生成所述当前传播输出和所述当前生成输出、或生成所述串行传播输出和所述串行生成输出。
27.根据权利要求25所述的电子装置,其中用于生成所述串行传播输出和所述串行生成输出的所述器件还被配置为:
基于所述当前传播输出,来向所述串行传播输出传播所述当前传播输出或先前传播输出;以及
基于所述当前传播输出,来向所述串行生成输出传播所述当前生成输出或先前生成输出。
28.根据权利要求27所述的电子装置,还包括:用于基于所述多个MSB中的所述至少一些MSB的第一位来生成所述先前传播输出和所述先前生成输出的器件,其中所述当前传播输出和所述当前生成输出基于所述多个MSB中的所述至少一些MSB的第二位而被生成,并且其中所述第二位是所述第一数据中的所述第一位的下一较低阶位。
29.根据权利要求27所述的电子装置,还包括:用于基于所述多个LSB中的所述至少一些LSB的MSB来生成所述先前传播输出和所述先前生成输出的器件。
30.根据权利要求27所述的电子装置,其中用于生成所述部分和输出的所述器件还被配置为:
基于所述串行传播输出,来向后进位输出传播所述中间进位输出或所述串行生成输出;以及
至少对所述当前传播输出和所述后进位输出求和。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/488,019 | 2017-04-14 | ||
US15/488,019 US10223071B2 (en) | 2017-04-14 | 2017-04-14 | Energy-efficient variable power adder and methods of use thereof |
PCT/US2018/024785 WO2018191015A1 (en) | 2017-04-14 | 2018-03-28 | Energy-efficient variable power adder and methods of use thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110506255A CN110506255A (zh) | 2019-11-26 |
CN110506255B true CN110506255B (zh) | 2023-06-09 |
Family
ID=62028112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880024647.4A Active CN110506255B (zh) | 2017-04-14 | 2018-03-28 | 节能型可变功率加法器及其使用方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10223071B2 (zh) |
EP (1) | EP3610367B1 (zh) |
CN (1) | CN110506255B (zh) |
ES (1) | ES2889098T3 (zh) |
SG (1) | SG11201908404UA (zh) |
TW (1) | TWI679577B (zh) |
WO (1) | WO2018191015A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824692B2 (en) * | 2018-10-12 | 2020-11-03 | Google Llc | Low-power adder circuit |
US20240256222A1 (en) * | 2023-01-25 | 2024-08-01 | Sehat Sutardja | High speed ripple adder |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1032985A (zh) * | 1987-11-02 | 1989-05-17 | 菲利浦光灯制造公司 | 数字集成电路 |
CN1064163A (zh) * | 1991-02-11 | 1992-09-02 | 横河电机株式会社 | 具有可编程位串行数字信号处理器的数据采集系统 |
US5278783A (en) * | 1992-10-30 | 1994-01-11 | Digital Equipment Corporation | Fast area-efficient multi-bit binary adder with low fan-out signals |
CN1138717A (zh) * | 1994-10-14 | 1996-12-25 | 国际商业机器公司 | 高速动态二进制加法器 |
TW558039U (en) * | 1993-04-16 | 2003-10-11 | Hyundai Electronics Co Ltd | High-speed carry increment adding device |
CN101014932A (zh) * | 2004-08-04 | 2007-08-08 | 英特尔公司 | 将跳跃进位单元与加和单元合并的跳跃进位加法器 |
CN101065724A (zh) * | 2004-03-05 | 2007-10-31 | 桑德布里奇技术公司 | 用于低功率操作的具有平衡逻辑层的运算电路 |
CN101171569A (zh) * | 2005-03-17 | 2008-04-30 | 高通股份有限公司 | 本发明的低功率阵列乘法器背景 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204832A (en) | 1990-03-22 | 1993-04-20 | Matsushita Electric Industrial Co., Ltd. | Addition apparatus having round-off function |
US5912832A (en) | 1996-09-12 | 1999-06-15 | Board Of Regents, The University Of Texas System | Fast n-bit by n-bit multipliers using 4-bit by 4-bit multipliers and cascaded adders |
DE10215771A1 (de) * | 2002-04-10 | 2003-11-20 | Infineon Technologies Ag | Konfigurierbares Rechenwerk |
US7213043B2 (en) | 2003-01-21 | 2007-05-01 | Lsi Logic Corporation | Sparce-redundant fixed point arithmetic modules |
US7424507B1 (en) | 2004-09-30 | 2008-09-09 | National Semiconductor Corporation | High speed, low power, pipelined zero crossing detector that utilizes carry save adders |
TWI335550B (en) * | 2006-02-06 | 2011-01-01 | Via Tech Inc | Stream processor with variable single instruction multiple data (simd) factor and common special function |
US8521801B2 (en) | 2008-04-28 | 2013-08-27 | Altera Corporation | Configurable hybrid adder circuitry |
US8661072B2 (en) | 2008-08-19 | 2014-02-25 | International Business Machines Corporation | Shared parallel adder tree for executing multiple different population count operations |
-
2017
- 2017-04-14 US US15/488,019 patent/US10223071B2/en active Active
-
2018
- 2018-03-28 CN CN201880024647.4A patent/CN110506255B/zh active Active
- 2018-03-28 EP EP18719353.7A patent/EP3610367B1/en active Active
- 2018-03-28 ES ES18719353T patent/ES2889098T3/es active Active
- 2018-03-28 SG SG11201908404U patent/SG11201908404UA/en unknown
- 2018-03-28 WO PCT/US2018/024785 patent/WO2018191015A1/en active Application Filing
- 2018-04-02 TW TW107111571A patent/TWI679577B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1032985A (zh) * | 1987-11-02 | 1989-05-17 | 菲利浦光灯制造公司 | 数字集成电路 |
CN1064163A (zh) * | 1991-02-11 | 1992-09-02 | 横河电机株式会社 | 具有可编程位串行数字信号处理器的数据采集系统 |
CN1096894A (zh) * | 1991-02-11 | 1994-12-28 | 横河电机株式会社 | 具有可编程位串行数字信号处理器的数据采集系统 |
US5278783A (en) * | 1992-10-30 | 1994-01-11 | Digital Equipment Corporation | Fast area-efficient multi-bit binary adder with low fan-out signals |
TW558039U (en) * | 1993-04-16 | 2003-10-11 | Hyundai Electronics Co Ltd | High-speed carry increment adding device |
CN1138717A (zh) * | 1994-10-14 | 1996-12-25 | 国际商业机器公司 | 高速动态二进制加法器 |
CN101065724A (zh) * | 2004-03-05 | 2007-10-31 | 桑德布里奇技术公司 | 用于低功率操作的具有平衡逻辑层的运算电路 |
CN101014932A (zh) * | 2004-08-04 | 2007-08-08 | 英特尔公司 | 将跳跃进位单元与加和单元合并的跳跃进位加法器 |
CN101171569A (zh) * | 2005-03-17 | 2008-04-30 | 高通股份有限公司 | 本发明的低功率阵列乘法器背景 |
Also Published As
Publication number | Publication date |
---|---|
TWI679577B (zh) | 2019-12-11 |
SG11201908404UA (en) | 2019-10-30 |
CN110506255A (zh) | 2019-11-26 |
US20180300107A1 (en) | 2018-10-18 |
EP3610367A1 (en) | 2020-02-19 |
ES2889098T3 (es) | 2022-01-11 |
TW201842441A (zh) | 2018-12-01 |
WO2018191015A1 (en) | 2018-10-18 |
EP3610367B1 (en) | 2021-08-25 |
US10223071B2 (en) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Moss et al. | A two-speed, radix-4, serial–parallel multiplier | |
Lang et al. | A radix-10 combinational multiplier | |
US9519460B1 (en) | Universal single instruction multiple data multiplier and wide accumulator unit | |
Chung et al. | A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance | |
Chow et al. | A Karatsuba-based Montgomery multiplier | |
Yang et al. | A low-power configurable adder for approximate applications | |
US11816448B2 (en) | Compressing like-magnitude partial products in multiply accumulation | |
CN110506255B (zh) | 节能型可变功率加法器及其使用方法 | |
Abd-Elkader et al. | Advanced implementation of montgomery modular multiplier | |
US5734599A (en) | Performing a population count using multiplication | |
Ahmed et al. | Improved designs of digit-by-digit decimal multiplier | |
Kailath | High speed Power efficient Vedic arithmetic modules on Zedboard‐Zynq‐7000 FPGA. | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
US20220269487A1 (en) | Efficient Montgomery Multiplier | |
Krishnan | A comparative study on the performance of FPGA implementations of high-speed single-precision binary floating-point multipliers | |
Liang et al. | ALU Architecture with Dynamic Precision Support | |
Kabra et al. | Area and power efficient hard multiple generator for radix-8 modulo 2n− 1 multiplier | |
Sivasankaran | Design and implementation of high speed and high accuracy fixed-width modified booth multiplier for DSP application | |
Yeshwanth et al. | High-speed single precision floating point multiplier using cordic algorithm | |
US12079594B2 (en) | Fast precomputation for Montgomery multiplier | |
US20220269488A1 (en) | Fast Precomputation for Montgomery Multiplier | |
WO2004025453A2 (en) | Apparatus and method for adding multiple-bit binary strings | |
Puneeth et al. | Design and Implementation of High Frequency 16-bit full adder on FPGA Families | |
Varma et al. | Design a low-latency novel fpga based signed multiplier for communication applications | |
Kang et al. | A novel systolic VLSI architecture for fast RSA modular multiplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016533 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |