CN103530085B - 一种Booth编码器及乘法器 - Google Patents
一种Booth编码器及乘法器 Download PDFInfo
- Publication number
- CN103530085B CN103530085B CN201310421299.3A CN201310421299A CN103530085B CN 103530085 B CN103530085 B CN 103530085B CN 201310421299 A CN201310421299 A CN 201310421299A CN 103530085 B CN103530085 B CN 103530085B
- Authority
- CN
- China
- Prior art keywords
- door
- booth
- input
- output
- mould
- 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
Landscapes
- Logic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种Booth编码器及乘法器。针对现有的面向模(2n-2p-1)乘法器耗费资源,速度较低的问题,提出了一种针对模(2n-2p-1)Booth乘法器的Booth编码器,以及基于该Booth编码器的模(2n-2p-1)乘法器。本发明的乘法器,在运算过程中,直接把个部分积和修正项C进行同时压缩,从而实现在运算过程中就实现了修正,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
Description
技术领域
本发明属于计算机和集成电路领域,尤其涉及一种高速乘法器的设计。
背景技术
在介绍乘法器之前,先对余数系统(RNS,ResidueNumberSystems)做一说明。余数系统RNS是一种通过一组两两互质余数基的余数来描述数字的数值表征系统。由{m1,m2,…,mL}组成的L个余数基,整数X,0≤X<M,其中M=m1×m2×…×mL,在RNS系统中有唯一的表示方式为X={x1,x2,…,xL},其中表示X对于模mi的余数。在余数系统中两个操作数进行操作,操作符为Θ,可以定义为:{z1,z2,…,zL}={x1,x2,…,xL}Θ{y1,y2,…,yL},其中这里Θ可以是模加法,模减法或模乘法。在余数系统中这些算术运算都是并行执行的,而且处理的都是很小的余数而不是一个很大的数。模(2n-2p-1)乘法器可以广泛应用于Fermat数值转换和余数系统以及数字信号处理中,在余数系统中具有非常重要的意义。
在文献L.Li,J.Hu,Y.Chen,“Anuniversalarchitecturefordesigningmodulo(2n-2p-1)multipliers”,IEICEElectronicsExpress,vol.9,no.3,pp.193-199,Feb.2012提出的乘法器结构需要一个n位×n位的乘法器,CSA压缩器,一个p位的加法器,三个n位的加法器;在文献A.A.Hiasat,“NewEfficientStructureforaModularMultiplierforRNS”,IEEETrans.Computers,vol.49,no.2,pp.170-174,Feb.2000提出的乘法器结构需要一个n位×n位的乘法器,一个(n-p-2)位×(p+1)位的乘法器,CSA压缩器,2个n位的加法器,还有复杂的组合逻辑。因此它们耗费资源较多,速度较低。这两种结构都是先进行二进制的乘法运算,再在二进制的乘法运算结果上进行修正,这两种结构都存在修正逻辑过于复杂的问题。
发明内容
本发明的目的是为了解决现有的面向模(2n-2p-1)乘法器耗费资源,速度较低的问题,提出了一种针对模(2n-2p-1)Booth乘法器的Booth编码器,以及基于该Booth编码器的模(2n-2p-1)乘法器。
本发明的技术方案是:一种Booth编码器,由Booth译码器和Booth选择器组成,其中,所述Booth译码器包括第一异或门、第一同或门、第一或非门、第一与门、第二与门和第一或门;所述Booth选择器包括第三与门、第四与门、第二或非门和第二同或门;
设A=an-1…ai…a0,B=bn-1…bi…b0为基于模(2n-2p-1)表示的需要相乘操作的两个操作数;
Booth译码器:所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k-1],所述第一异或门的输出为1x[k],作为Booth译码器的第一输出,输入到Booth选择器中;所述第一同或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k+1],所述第一同或门的输出输入到所述第一或非门;所述第一或非门包括两个输入端,分别用于输入所述第一异或门和所述第一同或门的输出,所述第一或非门的输出为2x[k],输入到所述第二与门,作为Booth译码器的第二输出,并输入到Booth选择器中;所述第一与门的两个输入端,分别用于输入所述第一异或门的输出1x[k]和操作数B的对应位b[2k+1],所述第一与门的输出为s[k]·1x[k],作为Booth译码器的第三输出;所述第二与门的两个输入端,分别用于输入第一或非门的输出2x[k]和操作数B的对应位b[2k+1],所述第二与门的输出为s[k]·2x[k],作为Booth译码器的第四输出;所述第一或门的两个输入端,分别用于输入所述第一与门和所述第二与门的输出,所述第一或门的输出为zp[k],作为Booth译码器的第五输出输入到Booth选择器中;
Booth选择器:所述第三与门的两个输入端,分别用于输入操作数A的对应位a[i]和从Booth译码器输出的1x[k],所述第三与门的输出输入到所述第二或非门的第一输入端;所述第四与门的两个输入端,分别用于输入操作数A的对应位a[i-1]和从Booth译码器输出的2x[k],所述第四与门的输出输入到所述第二或非门第二输入端;所述第二或非门的两个输入端,分别用于输入第三与门和第四与门的输出,所述第二或非门的输出输入到所述第二同或门;所述第二同或门的两个输入端,分别用于输入所述第二或非门的输入和从Booth译码器输出的zp[k],所述第二同或门的输出记为pp[k][i],作为所述Booth选择器的输出端。
基于上述Booth编码器,本发明还提出了一种模(2n-2p-1)Booth乘法器,包括:Booth译码器阵列、Booth选择器阵列、压缩阵列和第一模(2n-2p-1)加法器,第二模(2n-2p-1)加法器和第三模(2n-2p-1)加法器,设A和B为基于模(2n-2p-1)表示的需要相乘操作的两个操作数,Y为模(2n-2p-1)Booth乘法器的输出,具体连接方式如下:操作数A作为Booth选择器阵列的输入连接到Booth选择器阵列,操作数B作为Booth译码器阵列的输入连接到Booth译码器阵列,Booth译码器阵列的输出作为输入连接到Booth选择器阵列,Booth选择器阵列输出的个部分积作为输入连接到压缩阵列,Booth译码器阵列输出的修正项C输入到压缩阵列,其中,
s[k]·1x[k]和s[k]·2x[k],来自于Booth译码器阵列对应的Booth译码器第三输出和第四输出,#为连接符,用来连接对应位。
压缩阵列的两个输出分别输入到第一模(2n-2p-1)加法器和第二模(2n-2p-1)加法器,第一模(2n-2p-1)加法器和第二模(2n-2p-1)加法器的输出输入到第三模(2n-2p-1)加法器,第三模(2n-2p-1)加法器的输出即为所述模(2n-2p-1)Booth乘法器Y。
本发明的有益效果:本发明提供了一种Booth编码器以及基于此Booth编码器实现的模(2n-2p-1)乘法器,在运算过程中,直接把个部分积和修正项C进行同时压缩,从而实现在运算过程中就实现了修正,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
附图说明
图1是本发明的Booth编码器组合结构示意图,其中,11为第一异或门,12为第一同或门,13为第一或非门,14为第一与门,15为第二与门,16为第一或门,21为第三与门,22为第四与门,23为第二或非门,24为第二同或门。
图2是本发明的模(2n-2p-1)乘法器结构示意图。
具体实施方式
下面结合附图和具体的实例对本发明做进一步的说明。
如图1所示,本发明的Booth编码器,由Booth译码器和Booth选择器组成,其中,Booth译码器如图1下面部分所示,其中11为第一异或门,12为第一同或门,13为第一或非门,14为第一与门,15为第二与门,16为第一或门;Booth选择器如图1上面部分所示,其中21为第三与门,22为第四与门,23为第二或非门,24为第二同或门。
Booth译码器:所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k-1],所述第一异或门的输出为1x[k],作为Booth译码器的第一输出,输入到Booth选择器中;所述第一同或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k+1],所述第一同或门的输出输入到所述第一或非门;所述第一或非门包括两个输入端,分别用于输入所述第一异或门和所述第一同或门的输出,所述第一或非门的输出为2x[k],输入到所述第二与门,作为Booth译码器的第二输出,并输入到Booth选择器中;所述第一与门的两个输入端,分别用于输入所述第一异或门的输出1x[k]和操作数B的对应位b[2k+1],所述第一与门的输出为s[k]·1x[k],作为Booth译码器的第三输出;所述第二与门的两个输入端,分别用于输入第一或非门的输出2x[k]和操作数B的对应位b[2k+1],所述第二与门的输出为s[k]·2x[k],作为Booth译码器的第四输出;所述第一或门的两个输入端,分别用于输入所述第一与门和所述第二与门的输出,所述第一或门的输出为zp[k],作为Booth译码器的第五输出输入到Booth选择器中;
Booth选择器:所述第三与门的两个输入端,分别用于输入操作数A的对应位a[i]和从Booth译码器输出的1x[k],所述第三与门的输出输入到所述第二或非门的第一输入端;所述第四与门的两个输入端,分别用于输入操作数A的对应位a[i-1]和从Booth译码器输出的2x[k],所述第四与门的输出输入到所述第二或非门第二输入端;所述第二或非门的两个输入端,分别用于输入第三与门和第四与门的输出,所述第二或非门的输出输入到所述第二同或门;所述第二同或门的两个输入端,分别用于输入所述第二或非门的输入和从Booth译码器输出的zp[k],所述第二同或门的输出记为pp[k][i],作为所述Booth选择器的输出端,这里i,k为整数。
基于上述Booth编码器,本发明乘法器的具体结构如图2所示,包括Booth译码器阵列、Booth选择器阵列、压缩阵列和第一模(2n-2p-1)加法器,第二模(2n-2p-1)加法器和第三模(2n-2p-1)加法器,设A和B为基于模(2n-2p-1)表示的需要相乘操作的两个操作数,Y为模(2n-2p-1)Booth乘法器的输出,具体连接方式:操作数A作为Booth选择器阵列的输入输入到Booth选择器阵列,操作数B作为Booth译码器阵列的输入输入到Booth译码器阵列,Booth译码器阵列的输出H输入到Booth选择器阵列,Booth选择器阵列的输出个部分积,记为输入到压缩阵列,Booth译码器阵列输出的修正项C输入到压缩阵列,
其中,
s[k]·1x[k]和s[k]·2x[k],来自于Booth译码器阵列对应的Booth译码器的第三输出和第四输出(即Booth译码器的第三输出和第四输出输入到压缩阵列),#为连接符,用来连接对应位。
这里,压缩阵列的两个输出记为:Z1[m:0]和Z2[m-1:0],m为经压缩阵列后的所对应的压缩和的位数,决定于输入数的数量和输入数的大小,m>n,可以通过仿真决定。Z1[m:0]输入到第一模(2n-2p-1)加法器,执行的运算为:
Z2[m-1:0]输入到第二模(2n-2p-1)加法器,执行的运算为:
第一模(2n-2p-1)加法器和第二模(2n-2p-1)加法器的输出输入到第三模(2n-2p-1)加法器,第三模(2n-2p-1)加法器的输入即为Y。
需要说明的是:这里表示大于或者等于*的最小整数,#为连接符号,例如,A#B中,A为高位,B为低位。
这里的Booth译码器阵列是由数个Booth译码器组成,Booth选择器阵列是由数个Booth选择器阵列组成,其数目由具体的操作数A和B决定。Booth译码器阵列和Booth选择器阵列的问题,是可以根据需要平行放置了多个Booth译码器和多个Booth选择器,这个对于本领域技术人员来说是公知的技术,不再详细说明。
根据上述Booth编码器的具体结构,可以看出操作数与Booth译码器和Booth选择器连接关系:任选其中一个作为Booth操作数,假设为B,按照{b2j+1,b2j,b2j-1}对其进行分组,共有组,任选择一组{b2k+1,b2k,b2k-1},然后根据{b2k+1,b2k,b2k-1}以及另一个操作数A的对应信号{ai,ai-1}通过Booth译码器和Booth选择器产生对应部分积的输出,记为ppk,i,为第k个部分积的第i位的逻辑值,易知一个Booth译码器产生一个部分积,共有个部分积。
可以看出,在运算过程中,本发明的模(2n-2p-1)乘法器需要个部分积,通过Booth编码进而把模(2n-2p-1)乘法器的中间部分积从n个减少为个,大大减少了运算量,从而减少了耗费的资源和关键路径的延迟,并且在运算过程中,直接把个部分积和修正项C进行同时压缩,从而在运算过程中就实现了修正,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
在本发明的实施中,需要采用硬件描述语言按照Booth编码器的结构设计相应的Booth编码器,进而按照模(2n-2p-1)乘法器的结构设计出所需的模(2n-2p-1)乘法器,便可进行仿真和综合;此乘法器在一个时钟周期内可以完成所需运算,简单高速高效。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。本发明专利未做详细说明的内容属于本领域技术人员的公知技术。
Claims (1)
1.一种模(2n-2p-1)Booth乘法器,包括:Booth译码器阵列、Booth选择器阵列、压缩阵列和第一模(2n-2p-1)加法器,第二模(2n-2p-1)加法器和第三模(2n-2p-1)加法器,Y为模(2n-2p-1)Booth乘法器的输出;
所述Booth译码器包括第一异或门、第一同或门、第一或非门、第一与门、第二与门和第一或门;所述Booth选择器包括第三与门、第四与门、第二或非门和第二同或门;
设A=an-1…ai…a0,B=bn-1…bi…b0为基于模(2n-2p-1)表示的需要相乘操作的两个操作数;
Booth译码器:所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k-1],所述第一异或门的输出为1x[k],作为Booth译码器的第一输出,输入到Booth选择器中;所述第一同或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k+1],所述第一同或门的输出输入到所述第一或非门;所述第一或非门包括两个输入端,分别用于输入所述第一异或门和所述第一同或门的输出,所述第一或非门的输出为2x[k],输入到所述第二与门,作为Booth译码器的第二输出并输入到Booth选择器中;所述第一与门的两个输入端,分别用于输入所述第一异或门的输出1x[k]和操作数B的对应位b[2k+1],所述第一与门的输出为s[k]·1x[k],作为Booth译码器的第三输出;所述第二与门的两个输入端,分别用于输入第一或非门的输出2x[k]和操作数B的对应位b[2k+1],所述第二与门的输出为s[k]·2x[k],作为Booth译码器的第四输出;所述第一或门的两个输入端,分别用于输入所述第一与门和所述第二与门的输出,所述第一或门的输出为zp[k],作为Booth译码器的第五输出输入到Booth选择器中;
Booth选择器:所述第三与门的两个输入端,分别用于输入操作数A的对应位a[i]和从Booth译码器输出的1x[k],所述第三与门的输出输入到所述第二或非门的第一输入端;所述第四与门的两个输入端,分别用于输入操作数A的对应位a[i-1]和从Booth译码器输出的2x[k],所述第四与门的输出输入到所述第二或非门的第二输入端;所述第二或非门的两个输入端,分别用于输入第三与门和第四与门的输出,所述第二或非门的输出输入到所述第二同或门;所述第二同或门的两个输入端,分别用于输入所述第二或非门的输入和从Booth译码器输出的zp[k],所述第二同或门的输出记为pp[k][i],作为所述Booth选择器的输出端;
具体连接方式如下:操作数A作为Booth选择器阵列的输入连接到Booth选择器阵列,操作数B作为Booth译码器阵列的输入连接到Booth译码器阵列,Booth译码器阵列的输出作为输入连接到Booth选择器阵列,Booth选择器阵列输出的个部分积作为输入连接到压缩阵列,Booth译码器阵列输出的修正项C输入到压缩阵列,其中,
s[k]·1x[k]和s[k]·2x[k],来自于Booth译码器阵列对应的Booth译码器第三输出和第四输出,#为连接符,用来连接对应位;
压缩阵列的两个输出分别输入到第一模(2n-2p-1)加法器和第二模(2n-2p-1)加法器,第一模(2n-2p-1)加法器和第二模(2n-2p-1)加法器的输出输入到第三模(2n-2p-1)加法器,第三模(2n-2p-1)加法器的输出即为所述模(2n-2p-1)Booth乘法器的输出Y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310421299.3A CN103530085B (zh) | 2013-09-16 | 2013-09-16 | 一种Booth编码器及乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310421299.3A CN103530085B (zh) | 2013-09-16 | 2013-09-16 | 一种Booth编码器及乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530085A CN103530085A (zh) | 2014-01-22 |
CN103530085B true CN103530085B (zh) | 2016-06-22 |
Family
ID=49932134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310421299.3A Expired - Fee Related CN103530085B (zh) | 2013-09-16 | 2013-09-16 | 一种Booth编码器及乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530085B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0122843A1 (fr) * | 1983-04-06 | 1984-10-24 | Thomson-Csf | Intégrateur modulaire |
US5960009A (en) * | 1996-08-09 | 1999-09-28 | Lucent Technologies Inc. | Built in shelf test method and apparatus for booth multipliers |
CN101916177A (zh) * | 2010-07-26 | 2010-12-15 | 清华大学 | 一种可配置多精度定点乘加装置 |
TW201128524A (en) * | 2010-02-05 | 2011-08-16 | Univ Nat Ilan | Low-error compensation method for fixed- width modified booth multipliers |
CN102184086B (zh) * | 2011-05-11 | 2012-11-07 | 电子科技大学 | 一种Booth编码器及乘法器 |
CN102270110B (zh) * | 2011-06-30 | 2013-06-12 | 西安电子科技大学 | 一种改进的基16Booth编码器 |
-
2013
- 2013-09-16 CN CN201310421299.3A patent/CN103530085B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0122843A1 (fr) * | 1983-04-06 | 1984-10-24 | Thomson-Csf | Intégrateur modulaire |
US5960009A (en) * | 1996-08-09 | 1999-09-28 | Lucent Technologies Inc. | Built in shelf test method and apparatus for booth multipliers |
TW201128524A (en) * | 2010-02-05 | 2011-08-16 | Univ Nat Ilan | Low-error compensation method for fixed- width modified booth multipliers |
CN101916177A (zh) * | 2010-07-26 | 2010-12-15 | 清华大学 | 一种可配置多精度定点乘加装置 |
CN102184086B (zh) * | 2011-05-11 | 2012-11-07 | 电子科技大学 | 一种Booth编码器及乘法器 |
CN102270110B (zh) * | 2011-06-30 | 2013-06-12 | 西安电子科技大学 | 一种改进的基16Booth编码器 |
Non-Patent Citations (8)
Title |
---|
An universal architecture for designing module 2(N )-2(P)-1 multipliers;Lei Li, et al.,;《IEICE Electronics Express》;20120210;第9卷(第3期);193~199 * |
Efficient Modulo2(N)+1 Multipliers;Jian Wen Chen,et al.,;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTERGRATION(VLSI) SYSTEM》;20111231;第19卷(第12期);2149~2157 * |
Modified Booth encoding modulo 2(n)-1 multipliers;Lei Li, et al.,;《IEICE Electronics Express》;20120310;第9卷(第5期);352-358 * |
Modified Booth Modulo 2(n)-1 Multipliers;C. Efstathiou, et al.,;《IEEE TRANSACTIONS ON COMPUTERS》;20040331;第53卷(第3期);370~374 * |
On the design of Module 2(n)+1 Multipliers;Constantinos Efstathiou,et al.,;《2011 14th Eurpmicro Conference on Digital System Design》;20111231;453-459 * |
一种改进的模2(n)-1乘法器;熬思远等;《微电子学与计算机》;20110430;第28卷(第4期);107-109 * |
基4 BOOTH编码的高速32X32乘法器的设计与实现;周婉婷等;《电子科技大学学报》;20080630;第37卷;106-109 * |
高速Booth编码模 2(n)-1 乘法器的设计;李磊等;《微电子学与计算机》;20111130;第28卷(第11期);191-193 * |
Also Published As
Publication number | Publication date |
---|---|
CN103530085A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | A residue-to-binary converter for a new five-moduli set | |
Molahosseini et al. | Efficient Reverse Converter Designs for the New 4-Moduli Sets $\{2^{n}-1, 2^{n}, 2^{n}+ 1, 2^{2n+ 1}-1\} $ and $\{2^{n}-1, 2^{n}+ 1, 2^{2n}, 2^{2n}+ 1\} $ Based on New CRTs | |
CN105183425B (zh) | 一种具有高精度低复杂度特性的固定位宽乘法器 | |
CN101685385A (zh) | 一种复数乘法器 | |
CN106775577B (zh) | 一种高性能非精确冗余二进制乘法器的设计方法 | |
Venkatachalam et al. | Approximate sum-of-products designs based on distributed arithmetic | |
CN102184086B (zh) | 一种Booth编码器及乘法器 | |
CN116450217A (zh) | 一种多功能定点乘法和乘累加运算装置及方法 | |
CN102360276B (zh) | 无进位乘法装置及其处理方法 | |
CN109144473A (zh) | 一种基于冗余odds数的十进制3:2压缩器结构 | |
CN101840324B (zh) | 支持复数运算和子字并行的64位定浮点乘法器 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
CN103955585B (zh) | 一种适用于低功耗容错电路的fir滤波器结构 | |
Palekar et al. | High speed and area efficient single precision floating point arithmetic unit | |
Gao et al. | Efficient realization of bcd multipliers using fpgas | |
CN103530085B (zh) | 一种Booth编码器及乘法器 | |
CN101110016A (zh) | 子字并行整数乘法器 | |
CN103699729B (zh) | 模乘法器 | |
CN110825346A (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
Baba et al. | Design and implementation of advanced modified booth encoding multiplier | |
Bokade et al. | CLA based 32-bit signed pipelined multiplier | |
US7739323B2 (en) | Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator | |
CN103399727A (zh) | 硬件整数饱和侦测器、侦测饱和的方法及其硬件装置 | |
CN102929575B (zh) | 一种模(2n+3)乘法器 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160622 Termination date: 20170916 |
|
CF01 | Termination of patent right due to non-payment of annual fee |