CN102257473A - 高基数字乘法器 - Google Patents
高基数字乘法器 Download PDFInfo
- Publication number
- CN102257473A CN102257473A CN2009801510600A CN200980151060A CN102257473A CN 102257473 A CN102257473 A CN 102257473A CN 2009801510600 A CN2009801510600 A CN 2009801510600A CN 200980151060 A CN200980151060 A CN 200980151060A CN 102257473 A CN102257473 A CN 102257473A
- Authority
- CN
- China
- Prior art keywords
- partial product
- digital multiplier
- result
- multiplier
- partial
- 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.)
- Pending
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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
-
- 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/4824—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 using signed-digit representation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及功率和硬件有效的数字乘法器,该数字乘法器被配置为将N位被乘数与M位乘数相乘。该数字乘法器包括通过共享至少一个部分乘积结果的有效的部分乘积。
Description
技术领域
本发明涉及功率和硬件高效的数字乘法器,该数字乘法器被配置为将N位被乘数与M位乘数相乘。该数字乘法器通过共享至少一个部分乘积结果而高效地产生部分乘积。
背景技术
数字乘法器用于将二进制数相乘,并且形成当今计算产品(诸如通用微处理器、数字信号处理器、图形引擎和专用集成电路(ASIC)的各种计算单元)的广泛范围中的基本组件。
数字乘法器通常适于将第一二进制数(N位被乘数(Y))与第二二进制数(M位乘数(X))快速相乘,其中,每个二进制数可以以诸如补码或符号量值的各种二进制数格式表示。用于表示N位被乘数(Y)的位数(即,N)和M位乘数(X)的位数(即,M)可以取决于任何具体应用的特定要求而大幅变化。在设计用于数字音频应用的数字信号处理器中,通常N和M中的每个具有16位以形成16×16位数字乘法器。然而,具有较大值的N和M的数字乘法器,例如,表示24位的M和N,也已经出现在市场上,目的在于改善数字信号处理(DSP)算法中的变量和常数的准确性。
M乘以N位的乘法(M*N)可以被看作形成每个均为M位的N个部分乘积,并且随后对N个部分乘积的移位版本进行适当地相加,以生成M+N位结果,即P。如果部分乘积以行的方式上下组织,则通过将每列的所有二进制数向下相加并且将任何进位值传递到下一列,可以计算出乘积结果P。显然,独立单元的数目和数字乘法器的复杂度也随着M或N值的增长而快速增长。存在多种现有技术的方法以解决复杂度的增长并且减少在数字乘法器中必须相加/处理的部分乘积的数目。一种已知方法是以基2r的方式来计算部分乘积,其中,数字r是正整数。基2r乘法器仅生成N/r个部分乘积,每个部分乘积取决于M位乘数(X)的一组r位。更少的部分乘积导致更小和更快的进位存储加法器阵列,这种阵列经常用于将多个部分乘积相加为乘积和。
基4乘法器生成N/2个部分乘积,而基8乘法器生成N/3个部分乘积。普通的基4乘法器的已知缺点是其需要计算或运算除了0、Y、2Y的部分乘积结果之外还包括3倍的Y(3Y)的结果的一组部分乘积结果,其中Y是先前提到的表示N位被乘数的值。当部分乘积结果0、Y、2Y可以以二进制数格式的简单方式计算时,3Y部分乘积结果是Y的所谓硬倍数,需要Y+2Y的慢的进位传送加法。同样地,基8乘法器需要计算3Y、5Y和7Y形式的多个硬倍数部分乘积结果。
改进的Booth编码或Booth编码是公认的技术或编码方案,用于消除或至少减少在基4乘法器和基8乘法器中要被计算的硬倍数的数目。在基4Booth编码中,通过使用负部分乘积的编码方案来消除硬倍数3Y。这允许通过4Y减去Y计算得到3Y部分乘积。在普通的补码二进制数格式中,通过对Y的位取反再加1来非常简单地形成负Y。
然而,由于仍然需要计算部分乘积结果3Y来确定或计算其他硬倍数值5Y和7Y,在基8Booth编码乘法器中仍然有一些问题。对于利用诸如基16和基32甚至更高基数字乘法器来说,硬倍数的数目变得如此之大,使得Booth编码技术已经被无效或弃用,例如参见CMOS VLSI设计,Addison-Wesley,2005年第三版,作者是Weste等,第702页。N位被乘数(Y)的多个硬倍数的计算已经被认为在每个部分乘积产生器中需要额外的、不合理的、大量的复杂逻辑和算术电路。向部分乘积产生器增加大量复杂逻辑和算术电路意味着集成有数字乘法器的半导体芯片或基板上的大面积消耗。同样地,复杂逻辑和算术电路的增加意味着更慢的运算(例如,更长的乘法周期)以及半导体基板上的物理布局复杂度的显著增加。
由于上述原因,已知编码方案及相关的部分乘积产生器的逻辑和算术电路的复杂度由此呈现出对高基数字乘法器的成功利用的巨大障碍。该问题对于以低功率、并优选地低成本的数字信号处理应用为目标的数字乘法器是明显的。已知编码方案及相关的逻辑和算术电路的复杂度趋向于以不期望的方式增加数字乘法器的功耗和半导体基板面积的占用。
根据本发明的一个方面已经解决了该问题和其他问题,其中,数字乘法器包括多个部分乘积产生器,多个部分乘积产生器具有相同编码方案,并且两个或更多个部分乘积产生器适于共享至少一个部分乘积结果。在具体的优选实施方式中,至少一个部分乘积结果可以包括N位被乘数(Y)的一个或多个硬倍数。
现有技术
US 5,835,393公开了用于数字乘法器的经组合的预加法器/Booth编码器。由于预加法器允许某些DSP算法在更少的时钟周期中被执行,因此在Booth编码器前包括预加法器是对传统乘法累积单元(MAC)的改进。所公开的乘法器结构利用传统的基4Booth编码方案和相关的逻辑。
IEEE电路与系统学报2,模拟和数字信号处理,1997,第44卷,第8号,第656-659页,Brian S.Cherkauer和Eby G.Friedmann的名称为“AHybrid Radix-4/Radix-8Low Power,High Speed Multiplier Architecture forWide Bit Widths”的论文分别公开了补码格式的用于32×32和64×64位数相乘的两个混合乘法器架构。混合乘法器架构包括部分乘积产生器的两个并列阵列,其中,一个部分乘积阵列使用基4Booth编码,而第二个部分乘积阵列使用基8Booth编码。第二部分乘积阵列(基8)中的3倍被乘数的计算与第一部分乘积阵列的基4部分乘积的减少同时执行。
发明内容
根据本发明的第一方面,数字乘法器被配置为用M位乘数乘以N位被乘数。数字乘法器包括:第一数格式转换器,配置为接收第一二进制数格式的N位被乘数,并且将N位被乘数转换为第二二进制数格式。多个部分乘积产生器适于选择N位被乘数的各个部分乘积。每个部分乘积选自由第二二进制数格式的N位被乘数依赖于M位乘数的位的预定组根据预定编码方案计算出的或得出的一组部分乘积结果。加法器结构被配置为接收并组合多个部分乘积,以产生中间乘法结果,并且第二数格式转换器被设置为接收中间乘法结果并且将该中间乘法结果转换为第一二进制数格式的P位乘法结果。两个或更多个部分乘积产生器适于或被配置为共享至少一个部分乘积结果;P、M和N中的每个均表示诸如16到64之间的整数的正整数。
在本说明书和权利要求中,术语“硬倍数”表示N位被乘数的无法由用于后述二进制数格式中的每一种的逻辑操作的下述组中的任何一个产生的倍数:
补码:{左移、右移、取反};
符号量值:{左移、右移、取反};
进位保留:{左移、右移、取反};
冗余位带符号数:{左移、右移、取反、减法}。
第一存储器元件可以用于暂时或中间保持或存储N位被乘数,第二存储器元件可以在乘法周期或操作期间用于中间保持或存储M位乘数。第一和第二存储器元件中的每个可以包括诸如寄存器文件、锁存器、RAM单元等的暂时或易失性存储器模块或其任意组合。
数字乘法器可以适于接受如第一二进制数格式的各种常用二进制数格式,诸如选自{补码、符号量值、进位保留}的组中的二进制数格式,以允许现有数字乘法器使用这些公共二进制数格式中的一种无缝地与其他数字计算硬件进行连接。第一二进制数格式优选地为在数字信号处理器(DSP)中最广泛地使用的二进制数格式的补码。补码的广泛使用可能是历史原因并且由于与补码数的减法以及上溢/下溢保护有限脉冲响应(FIR)滤波器计算相关的某些优点。第一二进制数格式优选地是不同于冗余二进制带符号数(RBSD)格式的另一格式,该格式是作为第二二进制数格式的优选格式。
第一和第二数格式转换器可用于执行第一和第二二进制数格式之间的来回转换。第一和第二数格式转换器的存在是有利的,因为多个部分乘积可以第二数格式进行计算,第二数格式例如在计算N位被乘数的硬倍数中在硬件资源和计算负担方面是非常高效的。因此,由第一和第二数格式转换器对数字乘法器施加的硬件资源和计算投入开销易于通过减少硬倍数的数目的能力来补偿,其中,硬倍数是在诸如基16或更高Booth编码的更高基编码方案中必须计算的。这将结合以下图9和图10关于示例性24*24位基16Booth编码数字乘法器及其基于部分乘积产生器的相关联的RBSD的描述进行详细说明。同时,本数字乘法器保留与利用用于二进制数计算的第一数格式的现有外围逻辑和算术电路的互操作性或兼容性。
在图9和图10描述的具体的基于RBSD的24*24位基16Booth编码数字乘法器中,仅有诸如3*N位被乘数的单个硬倍数需要在RBSD格式中被计算。补码数格式的其余硬倍数7Y、6Y和5Y可以在RBSD格式中以计算地/硬件高效的方式从3Y硬倍数中得出。
在本发明的一个优选实施方式中,第一二进制数格式是补码,第二二进制数格式是冗余二进制带符号数。
根据本发明,两个或更多个部分乘积产生器适于共享至少一个部分乘积结果。在两个或更多个部分乘积产生器之间共享至少一个部分乘积结果使得在数字乘法器中需要计算部分乘积结果的组合逻辑和/或算术电路的数量的显著减少。此外,共享至少一个部分乘积结果还使得数字乘法器的功耗显著降低,因为至少一个部分乘积结果的并行计算的数量也减少。如果由多个部分乘积产生器中的大多数(诸如数字乘法器中的超过60%、或优选地超过70%、或更优选地超过90%、以及最优选的所有部分乘积产生器)共享至少一个部分乘积,则这些优点尤其显著。在后述实施方式中,仅需要执行至少一个部分乘积结果的单次计算。该实施方式使得需要计算至少一个部分乘积结果的组合逻辑和/或算术电路的数量显著减少,并且优势随着M和N值增加和预定编码方案的基数增加而增加。
在本发明的多个实施方式中,N小于31和/或M小于31,以保持功耗和数字乘法器的大小合理地小,这些实施方式特别适合于用于移动终端的低功率数字信号处理器。在本发明的某些其他实施方式中,M和N二者都是16、24或32,以分别形成16*16位、24*24位和32*32位数字乘法器。虽然M和N都是正整数,但是它们在本发明的其他实施方式中可以具有不同的值。在本发明的一些实用实施方式中,(M,N)是(8,16)、(12,16)或(16,32),这可以满足诸如滤波或变换的某些DSP算法的需求,其中滤波或变换系数可以以比输入数据低的分辨率来表示。在例如结合过采样数字音频系统的其他DSP算法中,滤波系数可以具有比输入音频采样或数据高的分辨率。在抽取系统中,输入数据可以由2-5位音频采样来表示,同时抽取滤波器的系数可以具有16到32位之间的长度。加法器结构或树可以包括取决于M和N的实际值的多个单独的加法器。多个单独的加法器可以包括现有技术中已知的不同类型的加法器和加法器阵列,诸如进位保留加法器和/或进位传递加法器的混合,其可以被结构化为各个规则阵列以使得电路布局紧凑。加法器可以被结构化为Wallace树以减少加法器的数量和通过加法器结构的延迟。
预定编码方案确定如何选择和解码M位乘数(“X”)的预定的位组以计算来自N位被乘数(“Y”)的部分乘积。存在多个编码方案,其中,直接阵列编码和Booth编码可能是最广泛公知的。在直接阵列的基4编码中,X(M位乘数)的两位组被用于每个部分乘积产生器以从包括(0、Y、2Y、3Y)的一组部分乘积结果选择或计算部分乘积。多个部分乘积产生器使用X的连续的位组来产生各个部分乘积,从而16位N值的直接阵列基4编码使用总共8个连续位组,其中每组2位。基4编码允许产生的部分乘积的数量从N减少到N/2。同样地,直接阵列基8编码使用X的3位的组从包括(8Y、7Y、6Y、5Y、4Y、3Y、2Y、Y、0)和相应负值的一组部分乘积结果来计算部分乘积。
Booth编码是另一编码方案,并且可以被看作是用于将上述实例中Y的硬倍数(诸如3Y、5Y、6Y和7Y)通过依赖于部分乘积的负值而转换为较简单的部分乘积结果的方法。例如,硬倍数3Y可被计算为4Y-Y,并且6Y可以被计算为2*3Y等。表1和表2示出了基4和基8数字乘法器的Booth编码如何工作。
但是,本发明的优点也同样可用于所有类型的预定编码方案。由于编码方案通常在于将Y的某些硬倍数转换为通过更少的计算投入来确定的部分乘积结果,由本发明通过在多个部分乘积产生器上共享至少一个部分乘积结果带来的改善在硬倍数的数量初始减少之后仍然保持完全有效。
如上所述,根据本发明的数字乘法器在半导体基板面积方面比现有技术的数字乘法器小。这使得包括本数字乘法器的集成半导体电路的制造成本低。此外,数字乘法器的功耗也会降低,这是因为在现有技术的数字乘法器中至少一个部分乘积结果的大量并行和独立的计算已被减少到更少,或甚至减少为在乘法周期期间至少一个部分乘积结果的单次计算。本数字乘法器在半导体基板或芯片面积以及功耗方面的节省在至少一个部分乘积结果包括第二二进制数格式的Y(N位被乘数)的一个或多个硬倍数的实施方式中当然是特别显著的。这是因为在大多数二进制数系统中更高基的数字乘法器中所需的硬倍数的计算需要相当大部分的复杂组合逻辑和/或算术电路以及功耗和半导体基板面积的使用。
如果第二二进制数格式是补码,则至少一个部分乘积结果可以相应地包括3Y、5Y、6Y和7Y等中的一个或多个。
在本发明的特别优选实施方式中,多个部分乘积产生器中仅有单个部分乘积产生器计算至少一个部分乘积结果。因此,在示例性的基8Booth编码24*24位数字乘法器中,每个乘法周期中至少一个部分乘积结果的独立计算的数量可以从8(每个部分乘积行中的一个部分乘积计算)减少到仅为1。
根据本发明的一个实施方式,至少一个部分乘积结果和多个部分乘积分别在例如乘法周期的第一和第二时钟阶段顺序地计算,其中,至少一个部分乘积结果是在第一时钟阶段计算,并且多个部分乘积在第二时钟阶段计算。计算的顺序确保了在多个部分乘积的计算开始之前至少一个部分乘积结果已经达到了稳定值。
在本发明的特别优选实施方式中,基本上所有多个部分乘积产生器利用非混合或相同预定编码方案。在本文中,“基本上所有”意味着超过60%、或优选地超过70%、或更优选地超过90%、以及最优选所有的部分乘积产生器利用该相同预定编码方案。利用相同预定编码方案(例如,Booth编码)可使得数字乘法器电路布局特别规则和紧凑,这是因为所有部分乘积产生器具有实际上相同的维度和形状因数。后一属性允许多个部分乘积产生器彼此接近设置,以便占据半导体基板的最小面积和互相电连接路线的最小值。此外,以进一步降低功耗以及半导体基板面积的消耗的有利方式,相同预定编码方案与在两个或更多个部分乘积产生器之间共享的至少一个部分乘积结果组合,特别是在一个或多个共享的部分乘积结果由单个外部(相对于部分乘积产生器)设置的算术单元所产生的实施方式中。
在本发明的一个实施方式中,由上述算术单元计算至少一个部分乘积结果。算术单元可以包括组合逻辑和/或算术电路,诸如加法器(例如,全加器或进位传递加法器)和移位寄存器。在一个实施方式中,算术单元设置在多个部分乘积产生器中的单个中,并且由算术单元计算的至少一个部分乘积结果被合适的数据线或总线分配给那些缺少独立计算至少一个部分乘积结果的必要算术电路的部分乘积产生器。
在本发明的另一实施方式中,算术单元被设置在多个部分乘积产生器之外,并且至少一个部分乘积结果被发送到适于共享至少一个部分乘积结果的两个或更多个部分乘积产生器。在这种情况下,算术单元可以设置在乘法器布局结构的周界之外。适当路由的一条或多条数据总线优选地在乘法器布局上路由,以将至少一个部分乘积结果从算术单元传送到每个部分乘积产生器中。根据本实施方式,多个部分乘积产生器中的每个优选地缺少必要的算术单元来执行至少一个部分乘积结果的局部计算。该实施方式的显著优点是在每个部分乘积产生器中都不存在用于计算例如在更高基的数字乘法器中的Y的一个或数个硬倍数所需的复杂算术和逻辑电路。这将使得乘法器电路布局中的部分乘积产生器行的单元结构更小且更规则。更高的规则度反过来又使得乘法器电路布局的尺寸更小且由于寄生电容减少而潜在地使得功耗降低。
预定的编码方案优选地包括选自{基16、基32、基64、基128}Booth编码的组的Booth编码方案。本发明的优点通常随着基数增加而增加,这是因为与在两个或更多个部分乘积产生器之间共享至少一个部分乘积结果相关联的优点易于随着硬倍数的数量增加而增加。例如,基16Booth编码数字乘法器需要如下部分乘积结果的计算:8Y、7Y、6Y、5Y、4Y、3Y、2Y、Y、0及其相应负值。补码格式的硬倍数是7Y、6Y、5Y和3Y,而如前所述,这些值的相应负值是可以以补码表示简单计算。3Y可以被选择作为至少一个部分乘积结果,但是也可以保留要计算的7Y和/或5Y(因为6Y可以通过简单地左移位运算从3Y得出)。因此,至少一个部分乘积结果也可以有利地包括5Y和/或7Y,以使得两个或多个以及优选地所有的多个部分乘积产生器免于局部地计算这些硬倍数。相反地,3Y、5Y和/或7Y可以由算术单元进行计算,并且被发送到多个部分乘积产生器。这使得芯片面积的占用和功耗更显著地节省。
根据本发明的第二方面,半导体基板包括集成在半导体基板上的根据任何上述数字乘法器实施方式的数字乘法器。数字乘法器具有在半导体基板的表面上的周界后方封闭的基本上为矩形的布局。多个部分乘积产生器设置在靠近周界和算术单元的部分乘积阵列中,算术单元设置为与周界相邻但在部分乘积阵列之外。后者意味着算术单元位于横切部分乘积阵列的外边界的周线以外。数据总线延伸经过部分乘积阵列,并且向两个或更多个部分乘积产生器传递至少一个共享的部分乘积结果。
根据本发明的第三方面,提供了用于二进制数相乘的数字乘法器。数字乘法器包括:第一存储器元件,用于存储N位被乘数;以及第二存储器元件,用于存储M位乘数。多个部分乘积产生器适于选择N位被乘数的各个部分乘积。基于根据预定编码方案的M位乘数的预定位组,从N位被乘数计算出的一组部分乘积结果中选择每个部分乘积。加法器结构被配置为接收并且组合多个部分乘积以生成P位乘法结果。两个或更多个部分乘积产生器适于共享至少一个包括N位被乘数的硬倍数的部分乘积结果。多个部分乘积产生器利用相同的预定编码方案;P、M和N均是正整数。
如上结合本发明第一方面描述的在两个或更多个部分乘积产生器之间并且优选地在所有的多个部分乘积产生器之间共享至少一个部分乘积结果的优点同样适用于本数字乘法器。应用于部分乘积产生器的相同的预定编码方案(例如,Booth编码)使得数字乘法器电路布局具有最小信号路由且特别规则和紧凑,这是因为可使得所有的部分乘积产生器具有实际上相同的维度以及形状因数。
附图说明
将结合附图更详细地描述本发明的优选实施方式,其中:
图1a是基于基4Booth编码的现有技术部分乘积产生器的示意图;
图1b是基于基8Booth编码的现有技术部分乘积产生器的示意图;
图2是包括多个根据图1b的部分乘积产生器的现有技术16×16位基4Booth编码数字乘法器的示意图;
图3是基于适用于根据本发明的数字乘法器的基8Booth编码的部分乘积产生器的示意图;
图4是具有根据本发明的第一实施方式的算术单元的24×24位基8Booth编码数字乘法器的示意图;
图5是图4描述的24×24位基8Booth编码数字乘法器的可选示意图;
图6是图4和图5描述的24×24位基8Booth编码数字乘法器的示意性电路布局或平面图;
图7是包括根据本发明第二实施方式的包括第一和第二数格式转换器的24×24位基8Booth编码数字乘法器的示意图;
图8是用于图7中描述的24×24位基8Booth编码数字乘法器中的算术单元的详细示意图;
图9是根据本发明的第三实施方式的包括第一和第二数格式转换器的24×24位基16Booth编码数字乘法器的示意图;以及
图10是用于图9描述的数字乘法器并且基于基16Booth编码的部分乘积产生器示意图,其中,使用以冗余的二进制带符号位格式表示的二进制数的部分乘积计算来进行基16编码。
具体实施方式
图1a是基于基4Booth编码并且对补码二进制数进行操作的现有技术部分乘积产生器1的示意图。虚线框11示出用于计算第一部分乘积PP0的单个位的逻辑电路。Booth编码块13确定从M位乘数(“X”)的预定位组(在本例中,示为x(1)、x(0)、x(-1))获得的代码如何被用于操作N位被乘数(“Y”)的第一位Y(0),以计算或选择所示的第一部分乘积PP0的位值PP0(0)。如图所示,通过所示的选择信号2Y、Y、取反和0,从一组5个不同的可能部分乘积结果2Y、Y、0、-2Y、-y中选择PP0(0),其中,在所示的Booth编码块13的取反选择线的控制下,负值-2Y和-y由XOR门15选择或编码。显然,5个不同的部分乘积结果2Y、Y、0、-2Y、-Y中的每个可以由相对适量的逻辑电路通过移位和取反操作来进行计算。如前所述,在基4Booth编码中,对硬倍数3Y的计算已经被更简单的逻辑操作替代。
如相邻的虚线框11和12所示,部分乘积产生器1包括总共N个如虚线框11内示出的部分乘积位计算电路的部分,其中,N-1个其余部分计算N位长的部分乘积结果PP0的各个位PP0(N-1)、PP0(N-2)等。
随后的部分乘积产生器,例如PP1(在图2中示出),可以使用M位乘数的一组连续位x(3)、x(2)、x(1)来产生第二部分乘积,特定数字乘法器架构所需的所有部分乘积产生器如此继续。数字乘法器中的部分乘积产生器的总数大体取决于N位被乘数的位数目、所选择的编码方案的基数以及编码方案本身。
下表1示出了基于M位乘数的预定位组的作为Y的函数的第一部分乘积产生器1的输出PP0。
图1b是基于基8Booth编码的现有技术部分乘积产生器1的示意图。基8Booth编码意味着M位乘数(“X”)的四个预定位被用于每个部分乘积的编码,如图中的一组位x(2)、x(1)、x(0)和x(-1)所示。因为基8Booth编码需要计算部分乘积结果3Y(即,硬倍数),为此目的,全加器14b已加入至虚线框11b内示出的部分乘积位计算电路。加法器的输入是如图所示的Y(0)和2Y(0)。诸如4Y和2Y的其他部分乘积结果通过如图所示的各个移位寄存器计算。如以上所说明的,第二部分乘积产生器1b相应地包括一组N个全加器(如全加器14b)来计算乘数Y的N位的部分乘积输出PP0。此外,完整的数字乘法器包括多个部分乘积产生器,多个部分乘积产生器同时操作并且并行地提供多个部分乘积。
以下表2示出了基于M位乘数的预定位组x(2)、x(1)、x(0)和x(-1)的作为Y的函数的第二现有技术部分乘积产生器1b的输出PP0。
虽然现有技术方案在速度方面可能是高效的,但是它消耗相当大的芯片面积和电功率。
图2是包括多个与结合图1a所描述的乘法器的类型相同的部分乘积产生器PP0、PP1、PP2等的现有技术16×16位基4的Booth编码数字乘法器20的示意图。补码格式的16位被乘数Y被暂存在第一寄存器文件21或其他适合的存储器结构中,被乘数X被保持在第二寄存器文件22或其他适合的存储器结构中。Booth编码器23可操作地连接到保持X的当前值的第二寄存器文件212,并且使用3位的连续组将各个选择信号编码至先前结合图1所述的部分乘积发生器PP0-PP7中。此现有技术的数字乘法器包括总共8个部分乘积产生器(等于N/2),这是由于基4编码意味着每对原始或非编码的部分乘积被减少为一个部分乘积。加法器结构或加法器树对N/2个部分乘积产生器PP0-PP7的各个输出进行求和,并且输出被减少为32位(M+N)的单个乘法结果P,P保持在长度为N+M位的第三寄存器24中。
图3是适用于根据本发明的优选实施方式的数字乘法器的基于基8Booth编码的部分乘积产生器30的示意图。部分乘积产生器30适于以补码格式对二进制数进行运算。将虚线框内的部分乘积位计算电路31与图1b描述的现有技术的基8部分乘积产生器的部分乘积位计算电路11b进行比较,表明部分乘积结果3Y的位(0)(示为3Y(0))从外部发送至部分乘积位计算电路31。由Booth编码器33的选择信号控制的复用器35确定选择部分乘积结果位Y(0)、2Y(0)、3Y(0)和4Y(0)中的哪一个。3Y的其余位(诸如Y(1)、Y(2)...Y(N-1))也传送至所有其他各个部分乘积位计算电路32,使得完全由部分乘积产生器30外部的逻辑电路计算该部分乘积结果3Y。这与图1b描述的现有技术部分乘积产生器1b相反,在图1b中,一组N个并行运算的全加器14b设置在部分乘积产生器1b的内部。在本发明的本实施方式中,部分乘积结果3Y优选地被在部分乘积产生器30的外部通过计算3Y的专用算术单元45(参考图5)进行计算。数据总线将计算的3Y部分乘积结果从专用算术单元45运送至部分乘积产生器30,并且优选地也运送至图4所示的根据本发明优选实施方式的数字乘法器40的所有其他部分乘积产生器PP1-PP7。
图4是根据本发明的第一优选实施方式的24×24位基8Booth编码数字乘法器40的示意图。被表示为补码格式的24位被乘数Y暂存在第一寄存器文件41或其他合适的存储器结构中,乘数X保持在第二寄存器文件42或其他合适的存储器结构中。Booth编码器43可操作地连接至保持X的当前值的第二寄存器文件42,并且使用4位的连续组来将选择信号的各个组编码至一组八个部分乘积产生器PP0-PP7中。对所有八个部分乘积产生器PP0-PP7进行操作的单个Booth编码器43意味着数字乘法器40对所有部分乘积产生器利用基本上相同或非混合的编码方案。所采用的相同或非混合的Booth编码方案使得数字乘法器在半导体基板或芯片(诸如亚微米CMOS芯片)上的电路布局非常规则。高度规则的电路布局反过来又使得电路布局非常紧凑,由于需要更少的芯片面积和数据总线路由,这使得数字乘法器电路的成本更低,并且功耗降低。本数字乘法器40的示例性的高度规则的电路布局在图6中示出,并且将结合该图6来进行详细讨论。
八个部分乘积产生器PP0-PP7与上述图3描述的部分乘积产生器30具有相同的结构或设计,这意味着它们都没有适于确定或计算硬倍数3Y(24位被乘数Y的三倍)的算术电路。替代地,算术单元45适于针对Y(24位被乘数)和X(24位乘数)的每个输入组计算硬倍数3Y,并且通过所示的数据总线来将3Y的计算值发送到部分乘积产生器PP0-PP7,使得所有八个部分乘积产生器PP0-PP7共享当前的3Y部分乘积结果。在每个部分乘积产生器内,Booth编码器43基于X的当前值的合适的4位组确定当前所选择的部分乘积结果。以下更详细地描述算术单元45的内容和操作。八个部分乘积产生器PP0-PP7的各个输出在加法器结构或简化树46中被求和,加法器结构或简化树46包括以传统的加法器结构(诸如Wallace树或Dadda树)组织的多个全加器和/或进位传递加法器。加法器树46的输出代表乘法结果P,在数字乘法器的操作期间,P被暂存在第三寄存器文件47或其他合适的存储器结构中。
尽管本发明的本实施方式使用单个算术单元45来计算针对所有部分乘积产生器PP0-PP7的3Y,但是本发明的其他实施方式可以使用两个或甚至更多个算术单元并且将两个或更多个并行计算得到的3Y部分乘积结果分发至各组部分乘积产生器。这在非常大的数字乘法器结构中是有利的,其中,在数字乘法器之间进行路由的更短和/或被简化的数据总线可以换取与多个算术单元相关的芯片面积使用以及额外的计算投入。诸如5Y、6Y或7Y的不同于3Y的其他硬倍数可以替代地或额外地由一个、两个或甚至更多个算术单元进行计算。
图5示出了在线框45内具有更多细节的图4的算术单元45以及以概括的或概念的方式示出的图4的数字乘法器的其余部分。在该示意图中,集成了算术单元45和存储被乘数Y的第一寄存器文件41的内容。算术单元45包括图示为加法器(Adder)的24+24位全加器,该加法器适于执行施加于其输入端的24位二进制数Y和2Y的加法,以产生所期望的3Y硬倍数部分乘积结果。3Y锁存器用作用于3Y部分乘积结果的暂存模块,并行的Y锁存器用作Y的暂存模块。3Y锁存器和Y锁存器由合适的时钟信号或数字乘法器的阶段(phase,相位,暂态)控制,使得3Y部分乘积结果在数字乘法器的乘法周期的合适阶段中被发送到部分乘积产生器。对施加于算术单元34和部分乘积产生器的各个时钟信号或阶段进行配置,使得在乘法周期的各个时钟阶段中顺序地计算3Y部分乘积结果和部分乘积PP0-PP(N-1)。通过避免注入由Y和3Y的不稳定值引起的数个无效波或中间部分乘积计算,该顺序的计算减少了部分乘积产生器PP0-PP(N-1)以及加法器树46的功耗。
在乘法周期的第二阶段中,加法树结构46压缩或减少由各个部分乘积产生器PP0-PP(N-1)产生的多个部分乘积。在乘法周期的第三阶段中,乘法结果P被发送到并且被暂存在第三寄存器文件47中。
图6是图4和图5描述的24×24位基8Booth编码数字乘法器的示意性电路布局或平面图60。该平面图实际上是矩形,并且关于中心垂直轴对称,并且中心水平轴的投影穿过设置在中央的最终加法器结构68的中央(中心)。由于部分乘积产生器PP0-PP7都不包括用于局部计算或确定3Y部分乘积结果的算术电路,因此它们都具有非常紧凑的布局。算术电路45设置在平面图65的下部,并且通过Y数据总线62a、62b接收24位被乘数值Y,数据总线62a、62b垂直延伸穿过平面图60并且将Y传递至部分乘积产生器PP0-PP7的各个组。
第一和第二3Y数据总线61a、61b将由算术单元45计算的3Y部分乘积结果传送至部分乘积产生器PP0-PP7的各个组。
图7是根据本发明第二优选实施方式的24*24位基8Booth编码数字乘法器70的示意图,其中,部分乘积乘法器对冗余二进制带符号数(RBSD)的二进制数进行运算。
数字乘法器70包括算术单元78,算术单元78包括保持24位被乘数Y的当前值的第一寄存器文件71,第一寄存器文件71可操作地连接到RBSD数值格式转换单元79或RBSD转换单元,使得优选地由补码格式表示的Y的当前值在RBSD转换单元79的输出处被转换为冗余二进制带符号数。以下将结合图8详细描述RBSD转换单元79的内部操作和电路。RBSD转换单元79具有两个输出,其中,第一输出可操作地连接到3Y算术单元75,第二输出可操作地连接到包括了由矩形框PP0-PP7示出的多个部分乘积产生器的部分乘积产生器阵列。算术单元78的两个输出相应地包括Y的当前值和硬倍数3Y的当前值,这二者都以RBSD格式表示。3Y部分乘积结果优选地被发送到所有的部分乘积产生器PP0-PP7,使得这些PP0-PP7适于以与根据本发明的第一实施方式的数字乘法器40(参见图4)中使用的方式相似的方式来共享同一3Y部分乘积结果。
被表示为补码格式的24位乘数X的当前值被暂存在第二寄存器文件72或其他合适的存储器结构中。X优选地以补码数格式保留,使得Booth编码器73的操作以及其与本发明的本实施方式的多个部分乘积产生器PP0-PP7的交互实际上类似于以上结合图4和图5描述的Booth编码器43的操作。多个部分乘积产生器PP0-PP7的各个输出在加法器树或结构76中组合,加法器树或结构76包括多个冗余二进制加法器单元(RBA),优选地被配置为3∶2压缩器。集成的加法器和RBSD转换单元77适于执行两个不同的任务。第一任务包括对加法器树76的输出进行组合以形成RBSD格式的单个中间乘法结果,第二任务包括将该中间乘法结果转换成补码格式以生成后一格式的数字乘法器70的最终乘法结果P。P的当前值存储在寄存器文件74中,用于在与数字乘法器70连接的数字电路中读取和进一步处理。虽然在补码格式和RBSD格式之间来回的上述数值格式转换相比于图4、5和6中描述的数字乘法器40可能似乎强加额外的硬件和计算投入,但其显著的优点在于,一旦在3Y算术单元75中计算了3Y,则可获得产生许多用于RBSD格式的二进制数的Y的硬倍数的简单且极好的方法。计算Y的许多硬倍数的简单方法补偿了本发明的多个实施方式(特别是应用诸如基16、基32、基64或者更高基的高基数的数字乘法器)中可能所需的任何额外的硬件开销。
图8是图7描述的算术单元78的详细示意图。RBSD编码器79适于通过对XOR门82输入Y和Y的符号位并且将其输出与Y的符号位相加来产生Y的绝对值。根据RBSD数的公知格式,RBSD数字放置器84将加法器83输出的二进制数的位重新分布到合适的位位置。3Y算术单元75包括RBSD加法器81,RBSD加法器81适于基于提供至RBSD加法器81的输入3Y和Y来计算并且输出3Y部分乘积结果。
图9示出了根据本发明的第三实施方式的24*24位基16Booth编码数字乘法器90,该Booth编码数字乘法器90适于对以冗余二进制带符号数格式表示的二进制数进行运算。基16Booth编码意味着部分乘积产生器PP0-PP5的数目减少到6,与之相比的图4和5描述的相应的基8数字乘法器的数目为8。结合本发明第二实施方式描述的RBSD格式转换的优点对于基16和更高基的数字乘法器结构变得尤其显著。以下详细描述每个部分乘积产生器的内容。
图10是基于基16Booth编码并适于对以冗余的二进制符号位格式表示的二进制数进行操作的部分乘积产生器100的示意图。本部分乘积产生器100适于图9中描述的数字乘法器90。由所示的Booth编码器93的选择信号控制的复用器107确定部分乘积结果位Y(0)、2Y(0)、3Y(0)、4Y(0)、5Y(0)、6Y(0)、7Y(0)和8Y(0)中的哪一个被选择。诸如3Y(1)、3Y(2)...3Y(N-1)的3Y的其余位也被发送到图示虚线框内的所有其他各个部分乘积位计算电路102。因此,由完全设置在部分乘积产生器100之外的逻辑电路计算部分乘积结果3Y。
基16Booth编码需要以下部分乘积结果的计算:8Y、7Y、6Y、5Y、4Y、3Y、2Y、Y、0以及相应的负值。然而,由于两个二进制数的减法可以非常低的计算投入和电路以RBSD格式通过OR功能或操作而被执行,因此可通过只计算诸如5Y和/或7Y(但如图所示,优选为至少3Y)的硬倍数中的单个产生这些部分乘积结果。如果仅计算3Y,则上述部分乘积结果的组中的其余硬倍数可以随后通过以如下方式采用已经可用值Y和3Y被使用低的计算投入来计算:
7Y=8Y-Y;
6Y=2*3Y;
5Y=(2*3Y-Y);
3Y=3Y;
位交换单元105适于对以RBSD格式编码的Y(0)进行位顺序的交换,并且向OR门106转发位交换结果,OR门106以有利的方式通过对位交换结果以及所示的6Y执行OR操作产生5Y。同样地,通过对Y(0)的位交换版本和8Y施加OR操作可以产生7Y。因此,执行基16Booth编码所需的所有硬倍数被以有效的计算方式从算术单元95(参见图9)中的3Y的中心计算中推导出,其中3Y被发送到部分乘积产生器100,并且优选地还被发送到数字乘法器90的所有其他部分乘积产生器PP1-PP5。
Claims (19)
1.一种数字乘法器,被配置为将N位被乘数与M位乘数相乘,所述数字乘法器包括:
第一数格式转换器,被配置为接收第一二进制数格式的所述N位被乘数,并将所述N位被乘数转换为第二二进制数格式;
多个部分乘积产生器,适于选择所述N位被乘数的各个部分乘积,其中,每个部分乘积选自由所述第二二进制数格式的所述N位被乘数依赖于所述M位乘数的位的预定组根据预定编码方案而计算出的一组部分乘积结果;
加法器结构,被配置为接收并组合多个部分乘积以生成中间乘法结果;
第二数格式转换器,被设置为接收所述中间乘法结果,并且将所述中间乘法结果转换为所述第一二进制数格式的P位乘法结果,
其中,两个或更多个部分乘积产生器适于共享至少一个部分乘积结果;
P、M和N中的每个均表示正整数。
2.根据权利要求1所述的数字乘法器,其中,所述多个部分乘积产生中的基本上所有的部分乘积产生器利用非混合或相同的预定编码方案。
3.根据权利要求2所述的数字乘法器,其中,超过60%、或优选地超过70%、或更优选地超过90%的所述多个部分乘积产生器利用非混合或相同的预定编码方案。
4.根据前述权利要求中任一项所述的数字乘法器,其中,超过60%、或优选地超过70%、或更优选地超过90%的所述多个部分乘积产生器被配置为共享所述至少一个部分乘积结果。
5.根据权利要求4所述的数字乘法器,其中,所有所述多个部分乘积产生器适于共享所述至少一个部分乘积结果。
6.根据前述权利要求中任一项所述的数字乘法器,其中,所述至少一个部分乘积结果和所有部分乘积被顺序计算。
7.根据前述权利要求中任一项所述的数字乘法器,其中:
N小于31,和/或
M小于31。
8.根据前述权利要求中任一项所述的数字乘法器,其中,所述至少一个部分乘积结果包括所述第二二进制数格式的N位被乘数的一个或多个硬倍数。
9.根据权利要求8所述的数字乘法器,其中,所述硬倍数包括选自{N位被乘数的3倍、N位被乘数的5倍、N位被乘数的7倍}的组的一个或多个部分乘积结果。
10.根据权利要求8和9中任一项所述的数字乘法器,包括适于计算所述至少一个部分乘积结果的算术单元。
11.根据权利要求10所述的数字乘法器,其中,所述算术单元包括移位器和诸如全加器或进位传递加法器的加法器。
12.根据权利要求10或11所述的数字乘法器,其中,所述算术单元设置在所述多个部分乘积产生器之外,
所述至少一个部分乘积结果被发送到适于共享至少一个部分乘积结果的所述两个或更多个部分乘积产生器。
13.根据前述权利要求中任一项所述的数字乘法器,其中,所述预定编码方案包括选自{基16、基32、基64、基128}Booth编码的组的Booth编码方案。
14.根据前述权利要求中任一项所述的数字乘法器,其中,第一二进制数格式选自{补码、符号量值、进位保留}的组。
15.根据前述权利要求中任一项所述的数字乘法器,其中,所述预定编码方案包括Booth编码。
16.根据前述权利要求中任一项所述的数字乘法器,其中,所述第二二进制数格式是冗余二进制带符号数(RBSD)。
17.一种半导体基板,包括:
根据权利要求10至16中任一项所述的数字乘法器,集成在所述半导体基板上,
所述数字乘法器,具有在所述半导体基板的表面上的周界后方封闭的基本上为矩形的布局,
所述多个部分乘积产生器,设置在靠近所述周界的部分乘积阵列中,
所述算术单元被设置在所述部分乘积阵列之外,与所述周界相邻,
数据总线,延伸经过所述部分乘积阵列,并且将所述至少一个共享的部分乘积结果传送至所述两个或更多个部分乘积产生器。
18.一种用于二进制数相乘的数字乘法器,包括:
第一存储器元件,用于存储N位被乘数;
第二存储器元件,用于存储M位乘数;
多个部分乘积产生器,适于选择所述N位被乘数的各个部分乘积,其中,每个部分乘积选自由所述N位被乘数依赖于所述M位乘数的位的预定组根据预定编码方案而计算出的一组部分乘积结果;
加法器结构,被配置为接收和组合多个部分乘积以生成P位乘法结果;
两个或更多个部分乘积产生器,适于共享至少一个部分乘积结果,所述部分乘积结果包括所述N位被乘数的硬倍数;
其中,所述多个部分乘积产生器利用相同的预定编码方案;
P、M和N中的每个均是正整数。
19.根据权利要求18所述的数字乘法器,其中,所述预定编码方案包括选自{基16、基32、基64、基128}Booth编码的组的Booth编码方案。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10965008P | 2008-10-30 | 2008-10-30 | |
US61/109,650 | 2008-10-30 | ||
PCT/EP2009/062295 WO2010049218A1 (en) | 2008-10-30 | 2009-09-23 | A high radix digital multiplier |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102257473A true CN102257473A (zh) | 2011-11-23 |
Family
ID=41319609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801510600A Pending CN102257473A (zh) | 2008-10-30 | 2009-09-23 | 高基数字乘法器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110264719A1 (zh) |
CN (1) | CN102257473A (zh) |
WO (1) | WO2010049218A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677736A (zh) * | 2012-09-04 | 2014-03-26 | 亚德诺半导体股份有限公司 | 数字信号处理器的数据路径电路 |
CN107003832A (zh) * | 2014-12-23 | 2017-08-01 | 英特尔公司 | 用于执行大整数算术操作的方法和装置 |
CN110209374A (zh) * | 2019-05-23 | 2019-09-06 | 浙江大学 | 一种基于racetrack memory的乘法器及其操作方法 |
CN111488133A (zh) * | 2020-04-15 | 2020-08-04 | 电子科技大学 | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 |
CN113220267A (zh) * | 2021-05-20 | 2021-08-06 | 西安电子科技大学 | 基于布斯编码位扩展的乘法器及实现方法 |
CN114115804A (zh) * | 2022-01-28 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种乘法器转换方法、系统、设备以及介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999312B (zh) * | 2012-12-20 | 2015-09-30 | 西安电子科技大学 | 基16布斯乘法器的优化方法 |
US20150193203A1 (en) * | 2014-01-07 | 2015-07-09 | Nvidia Corporation | Efficiency in a fused floating-point multiply-add unit |
US9684488B2 (en) * | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9733899B2 (en) | 2015-11-12 | 2017-08-15 | Arm Limited | Lane position information for processing of vector |
US9703531B2 (en) * | 2015-11-12 | 2017-07-11 | Arm Limited | Multiplication of first and second operands using redundant representation |
US9928031B2 (en) | 2015-11-12 | 2018-03-27 | Arm Limited | Overlap propagation operation |
US9720646B2 (en) | 2015-11-12 | 2017-08-01 | Arm Limited | Redundant representation of numeric value using overlap bits |
GB201616274D0 (en) * | 2016-09-26 | 2016-11-09 | International Business Machines Corporation | Circuit for addition of multiple binary numbers |
US10657094B2 (en) | 2018-03-29 | 2020-05-19 | Nvidia Corp. | Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses |
US11966348B2 (en) | 2019-01-28 | 2024-04-23 | Nvidia Corp. | Reducing coupling and power noise on PAM-4 I/O interface |
US11159153B2 (en) | 2018-03-29 | 2021-10-26 | Nvidia Corp. | Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O |
US10599606B2 (en) | 2018-03-29 | 2020-03-24 | Nvidia Corp. | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses |
US10466968B1 (en) * | 2018-07-12 | 2019-11-05 | Nvidia Corp. | Radix-4 multiplier partial product generation with improved area and power |
US10623200B2 (en) | 2018-07-20 | 2020-04-14 | Nvidia Corp. | Bus-invert coding with restricted hamming distance for multi-byte interfaces |
KR20200082617A (ko) * | 2018-12-31 | 2020-07-08 | 삼성전자주식회사 | 메모리 장치를 이용한 계산 방법 및 이를 수행하는 메모리 장치 |
CN110554854B (zh) * | 2019-09-24 | 2024-05-03 | 上海寒武纪信息科技有限公司 | 数据处理器、方法、芯片及电子设备 |
US20220357921A1 (en) * | 2021-05-10 | 2022-11-10 | International Business Machines Corporation | Dadda architecture that scales with increasing operand size |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115408A (en) * | 1988-01-29 | 1992-05-19 | Texas Instruments Incorporated | High speed multiplier |
US5426599A (en) * | 1992-06-17 | 1995-06-20 | Mitsubishi Denki Kabushiki Kaisha | Hardware implemented multiplier for performing multiplication of two digital data according to booth algorithm |
US5544084A (en) * | 1993-11-19 | 1996-08-06 | Nec Corporation | Multiplier composed of integrated semiconductor circuit occupying reduced area |
US5691930A (en) * | 1994-08-12 | 1997-11-25 | Daewoo Electronics, Co., Ltd. | Booth encoder in a binary multiplier |
CN101021775A (zh) * | 2007-03-14 | 2007-08-22 | 深圳市芯海科技有限公司 | 一种四象限数字乘法器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864528A (en) * | 1986-07-18 | 1989-09-05 | Matsushita Electric Industrial Co., Ltd. | Arithmetic processor and multiplier using redundant signed digit arithmetic |
-
2009
- 2009-09-23 US US13/126,328 patent/US20110264719A1/en not_active Abandoned
- 2009-09-23 CN CN2009801510600A patent/CN102257473A/zh active Pending
- 2009-09-23 WO PCT/EP2009/062295 patent/WO2010049218A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115408A (en) * | 1988-01-29 | 1992-05-19 | Texas Instruments Incorporated | High speed multiplier |
US5426599A (en) * | 1992-06-17 | 1995-06-20 | Mitsubishi Denki Kabushiki Kaisha | Hardware implemented multiplier for performing multiplication of two digital data according to booth algorithm |
US5544084A (en) * | 1993-11-19 | 1996-08-06 | Nec Corporation | Multiplier composed of integrated semiconductor circuit occupying reduced area |
US5691930A (en) * | 1994-08-12 | 1997-11-25 | Daewoo Electronics, Co., Ltd. | Booth encoder in a binary multiplier |
CN101021775A (zh) * | 2007-03-14 | 2007-08-22 | 深圳市芯海科技有限公司 | 一种四象限数字乘法器 |
Non-Patent Citations (2)
Title |
---|
ERIK BACKENIUS等: "Twos Complement Conversion to Minimal Signed Digit Code", 《ARITHMETICSCOURSE MSD》 * |
SUBHENDU KUMAR SAHOO等: "A High-Speed Radix-64 Parallel Multiplier using A Novel Hardware Implementation Approach for Partial Product Generation based on Redundant Binary Arithmetic", 《FIRST INTERNATIONAL CONFERENCE ON EMERGING TRENDS IN ENGINEERING AND TECHNOLOGY》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677736A (zh) * | 2012-09-04 | 2014-03-26 | 亚德诺半导体股份有限公司 | 数字信号处理器的数据路径电路 |
US9753695B2 (en) | 2012-09-04 | 2017-09-05 | Analog Devices Global | Datapath circuit for digital signal processors |
CN103677736B (zh) * | 2012-09-04 | 2017-09-05 | 亚德诺半导体股份有限公司 | 数字信号处理器的数据路径电路 |
CN107003832A (zh) * | 2014-12-23 | 2017-08-01 | 英特尔公司 | 用于执行大整数算术操作的方法和装置 |
CN110209374A (zh) * | 2019-05-23 | 2019-09-06 | 浙江大学 | 一种基于racetrack memory的乘法器及其操作方法 |
CN110209374B (zh) * | 2019-05-23 | 2021-04-20 | 浙江大学 | 一种基于racetrack memory的乘法器及其操作方法 |
CN111488133A (zh) * | 2020-04-15 | 2020-08-04 | 电子科技大学 | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 |
CN111488133B (zh) * | 2020-04-15 | 2023-03-28 | 电子科技大学 | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 |
CN113220267A (zh) * | 2021-05-20 | 2021-08-06 | 西安电子科技大学 | 基于布斯编码位扩展的乘法器及实现方法 |
CN113220267B (zh) * | 2021-05-20 | 2022-04-19 | 西安电子科技大学 | 基于布斯编码位扩展的乘法器及实现方法 |
CN114115804A (zh) * | 2022-01-28 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种乘法器转换方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20110264719A1 (en) | 2011-10-27 |
WO2010049218A1 (en) | 2010-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102257473A (zh) | 高基数字乘法器 | |
Qiqieh et al. | Energy-efficient approximate multiplier design using bit significance-driven logic compression | |
Akhter | VHDL implementation of fast NxN multiplier based on vedic mathematic | |
JP3244506B2 (ja) | 小型乗算器 | |
He et al. | A new redundant binary booth encoding for fast $2^{n} $-bit multiplier design | |
Meher et al. | Low-Latency, Low-Area, and Scalable Systolic-Like Modular Multipliers for $ GF (2^{m}) $ Based on Irreducible All-One Polynomials | |
Liu et al. | A regular parallel RSA processor | |
Véstias et al. | Improving the area of fast parallel decimal multipliers | |
Haritha et al. | Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers | |
Oberman et al. | Minimizing the complexity of SRT tables | |
Stepchenkov et al. | Self-timed multiply-add-subtract unit alternates | |
Oklobdzija et al. | An integrated multiplier for complex numbers | |
Azarmehr et al. | High-speed and low-power reconfigurable architectures of 2-digit two-dimensional logarithmic number system-based recursive multipliers | |
Ragunath et al. | Delay optimized binary to BCD converter for multi-operand parallel decimal adder | |
Vazquez et al. | Multi-operand decimal addition by efficient reuse of a binary carry-save adder tree | |
Ganesh et al. | Constructing a low power multiplier using Modified Booth Encoding Algorithm in redundant binary number system | |
Ranjan et al. | A New VLSI Architecture of Parallel Multiplier Based on Radix-4 Modified Booth Algorithm using VHDL | |
Zhu et al. | On high-performance parallel decimal fixed-point multiplier designs | |
Teja et al. | Implementation of vedic multiplier using modified architecture by routing rearrangement for high-optimization | |
Sheu et al. | Efficient Reverse Converter Design for New Adaptable Four-Moduli Set {2 n+ k, 2 n+ 1, 2 n-1, 2 2n+ 1} | |
Vazquez et al. | Multi-operand decimal adder trees for FPGAs | |
Mahmoud et al. | A parallel combined binary/decimal fixed-point multiplier with binary partial products reduction tree | |
Zhu et al. | Binary stochastic implementation of digital logic | |
Sokolov et al. | Self-timed Fused Multiplier-Adder Pipeline Optimization | |
de Oliveira et al. | Array hybrid multiplier versus modified booth multiplier: comparing area and power consumption of layout implementations of signed radix-4 architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: Dane, Denmark Applicant after: Analog Devices Inc. Address before: Dane Alea Rod Applicant before: Audioasics AS |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: AUDIOASICS AS TO: ANALOG DEVICES LTD. |
|
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111123 |