CN102184086A - 一种Booth编码器及乘法器 - Google Patents

一种Booth编码器及乘法器 Download PDF

Info

Publication number
CN102184086A
CN102184086A CN2011101205556A CN201110120555A CN102184086A CN 102184086 A CN102184086 A CN 102184086A CN 2011101205556 A CN2011101205556 A CN 2011101205556A CN 201110120555 A CN201110120555 A CN 201110120555A CN 102184086 A CN102184086 A CN 102184086A
Authority
CN
China
Prior art keywords
booth
mould
input
alternative
array
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.)
Granted
Application number
CN2011101205556A
Other languages
English (en)
Other versions
CN102184086B (zh
Inventor
李磊
周婉婷
刘辉华
敖思远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2011101205556A priority Critical patent/CN102184086B/zh
Publication of CN102184086A publication Critical patent/CN102184086A/zh
Application granted granted Critical
Publication of CN102184086B publication Critical patent/CN102184086B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种Booth编码器以及基于该Booth编码器的模(2n-1)乘法器。本发明是针对现有的模(2n-1)乘法器耗费资源,速度较低而提出的。其中,Booth编码器由Booth译码器和Booth选择器组成,Booth译码器包括第一异或门;Booth选择器包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器。一种模(2n-1)乘法器,包括Booth译码器阵列、Booth选择器阵列、压缩阵列和模(2n-1)加法器。本发明的面向模(2n-1)Booth乘法器,在运算过程中,需要
Figure DDA0000060378020000011
个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为
Figure DDA0000060378020000012
个,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。

Description

一种Booth编码器及乘法器
技术领域
本发明属于计算机和集成电路领域,尤其涉及一种高速乘法器的设计。
背景技术
在介绍乘法器之前,先对余数系统(RNS,Residue Number Systems)做一说明。余数系统RNS是一种通过一组两两互质余数基的余数来描述数字的数值表征系统。由{m1,m2,L,mL}组成的L个余数基,整数X,0≤X<M,其中M=m1×m2×L×mL,在RNS系统中有唯一的表示方式为X={x1,x2,L,xL},
Figure BDA0000060378000000011
其中表示X对于模mi的余数。在余数系统中两个操作数进行操作,操作符为Θ,可以定义为:{z1,z2,L,zL}={x1,x2,L,xL}Θ{y1,y2,L,yL},其中
Figure BDA0000060378000000013
这里Θ可以是模加法,模减法或模乘法。在余数系统中这些算术运算都是并行执行的,而且处理的都是很小的余数而不是一个很大的数。
对于余数基的选择,{2n,2n-1,2n+1}和{2n,2n-1,2n-1-1}这两组余数基得到了广泛的应用,因为当考虑area×time2时,它们提供了最有效的电路,并且在余数系统与二进制的互转过程中也是最有效的。由此可见,对于模(2n-1)乘法器的研究是非常有意义的。
模(2n-1)乘法器已经广泛应用于Fermat数值转换和余数系统以及数字信号处理中。近年来一些模(2n-1)乘法器已经被提出,比较有效的是由A.Skavantzos和P.B.Rao在文献“New Multipliers Modulo 2n-1,IEEE Trans.Computers,vol.41,no.8,957-961,Aug.1992”中提出的基于查找表的模(2n-1)乘法器。但是随着模的增大,ROM的大小也成指数增长,因此对于不是很大的模来说,建立组合硬件的方法更合适。Z.Wang,GA.Jullien,和W.C.Miller在文献“An Algorithm for Multiplication Modulo(2n-1),Proc.39th Midwest Synp.Circuits and Systems,1301-1304,1997”提出了基于Wallace trees的模(2n-1)乘法器,但其中的部分项与操作数长度是成比例关系,耗费资源,降低了乘法器的运算速度。
发明内容
本发明的目的是为了解决现有的面向模(2n-1)乘法器耗费资源,速度较低的问题,提出了一种用于模(2n-1)Booth乘法器的Booth编码器,以及基于该Booth编码器的模(2n-1)乘法器。
本发明的技术方案是:一种Booth编码器,由Booth译码器和Booth选择器组成,其中,所述Booth译码器包括第一异或门;所述Booth选择器包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器;设A=an-1LaiLa0,B=bn-1LbiLb0为基于模(2n-1)表示的需要相乘操作的两个操作数;所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b2k、b2k-1;所述第一二选一反相多路复用器和第二二选一反相多路复用器分别包括两个数据输入端和一个片选输入端,其中,所述第一二选一反相多路复用器的两个数据输入端分别用于输入操作数B相邻的两位b2k+1、b2k,所述第一二选一反相多路复用器的片选输入端用于输入操作数A中的取一位ai-1;所述第一同或门包括两个输入端,用于输入操作数A中的ai和操作数B中的b2k+1;所述第二二选一反相多路复用器的两个数据输入端分别用于输入所述第一二选一反相多路复用器的输出端信号和所述第一同或门的输出端信号;所述第二二选一反相多路复用器的片选输入端用于输入所述第一异或门的输出端信号;所述第二二选一反相多路复用器的输出端信号即是第k个部分积的第i位的逻辑值。
基于上述Booth编码器,本发明还提出了一种模(2n-1)Booth乘法器,包括Booth译码器阵列、Booth选择器阵列、压缩阵列和模(2n-1)加法器,设A和B为基于模(2n-1)表示的需要相乘操作的两个操作数,Y为模(2n-1)Booth乘法器的输出,具体连接方式如下:操作数A和B作为Booth选择器阵列的输入连接到Booth选择器阵列,操作数B作为Booth译码器阵列的输入连接到Booth译码器阵列,Booth译码器阵列的输出作为输入连接到Booth选择器阵列,Booth选择器阵列输出的
Figure BDA0000060378000000021
个部分积作为输入连接到压缩阵列,压缩阵列的两个输出作为输入连接到模(2n-1)加法器,模(2n-1)加法器的输出为模(2n-1)乘法器的输出Y。
本发明的有益效果:本发明提供了一种Booth编码器以及基于此Booth编码器实现的模(2n-1)乘法器,在运算过程中,需要
Figure BDA0000060378000000022
个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为
Figure BDA0000060378000000023
个,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
附图说明
图1是本发明的Booth译码器的结构示意图,其中100为第一异或门。
图2是本发明的Booth选择器的结构示意图,其中400为第一同或门,200和300分别为第一二选一反相多路复用器和第二二选一反相多路复用器。
图3是本发明的Booth编码器组合结构示意图。
图4是本发明的二选一反相多路复用器结构示意图,其逻辑表达式为
Figure BDA0000060378000000031
图5是本发明的模(2n-1)乘法器结构示意图。
图6是本发明实施例的模(28-1)乘法器结构示意图。
具体实施方式
下面结合附图和具体的实例对本发明做进一步的说明。
如图3所示,一种Booth编码器,由Booth译码器和Booth选择器组成,其中,Booth译码器如图1所示,包括第一异或门,其中100为第一异或门;Booth选择器如图2所示,包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器,其中400为第一同或门,200和300分别为第一二选一反相多路复用器和第二二选一反相多路复用器,二选一反相多路复用器的结构示意图如图4所示,其逻辑表达式为
Figure BDA0000060378000000032
设A=an-1LaiLa0,B=bn-1LbiLb0为基于模(2n-1)表示的需要相乘操作的两个操作数,其中n为不小于1的自然数。所述第一异或门100包括两个输入端,用于输入操作数B相邻的两位b2k、b2k-1;所述第一二选一反相多路复用器200和第二二选一反相多路复用器300分别包括两个数据输入端和一个片选输入端,其中,所述第一二选一反相多路复用器200的两个数据输入端分别用于输入操作数B相邻的两位b2k+1、b2k,所述第一二选一反相多路复用器200的片选输入端用于输入操作数A中的任一位ai-1;所述第一同或门400包括两个输入端,用于输入操作数A中的ai和操作数B中的b2k+1;所述第二二选一反相多路复用器300的两个数据输入端分别用于输入所述第一二选一反相多路复用器200的输出端信号和所述第一同或门400的输出端信号;所述第二二选一反相多路复用器300的片选输入端用于输入所述第一异或门100的输出端信号;所述第二二选一反相多路复用器300的输出端信号即是第k个部分积的第i位的逻辑值,记为ppk,i。这里i,k为整数。
基于上述Booth编码器,本发明乘法器的具体结构如图5所示,包括Booth译码器阵列、Booth选择器阵列、压缩阵列和模(2n-1)加法器,设A和B为基于模(2n-1)表示的需要相乘操作的两个操作数,Y为模(2n-1)乘法器的输出,具体连接方式:操作数A和B作为Booth选择器阵列的输入输入到Booth选择器阵列,操作数B作为Booth译码器阵列的输入输入到Booth译码器阵列,Booth译码器阵列的输出H输入到Booth选择器阵列,Booth选择器阵列的输出
Figure BDA0000060378000000041
个部分积,记为
Figure BDA0000060378000000042
输入到压缩阵列,压缩阵列的输出Z1和Z2输入到模(2n-1)加法器,模(2n-1)加法器的输出即为模(2n-1)乘法器的输出Y。这里
Figure BDA0000060378000000043
表示大于或者等于*的最小整数。
这里的Booth译码器阵列是由数个Booth译码器组成,Booth选择器阵列是由数个Booth选择器阵列组成,其数目由具体的操作数A和B决定。
根据上述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译码器产生一个部分积,共有
Figure BDA0000060378000000045
个部分积。
可以看出,在运算过程中,本发明的模(2n-1)乘法器需要
Figure BDA0000060378000000046
个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为个,大大减少了运算量,从而减少了耗费的资源和关键路径的延迟。
下面以模(28-1)乘法器为例来说明模(2n-1)乘法器的具体实现方式。
图6所示为模(28-1)乘法器的结构图,其中1、2、3和4为由Booth译码器组成的Booth译码器阵列,5-36为由Booth选择器组成的Booth选择器阵列,37-52为全加器组成的压缩阵列,53为模(28-1)的加法器。1-4的Booth译码器阵列、5-36的Booth选择器阵列和操作数A=an-1LaiLa0,一起用来产生部分积,部分积的每个字节通过Booth选择器生成,产生的部分积通过几级相加最后简化为2个。每一级最高位的进位输出权为2n,它通过模(28-1)运算后,变为1,因此这些最高位的进位通过循环操作的形式被加到下一级操作数的最低位。压缩部分积的方法有多种,其中最常用的是CSA序列和WallaceTree结构。一个全加器可以被看作是一个(3:2)的压缩器,压缩产生的两个操作数通过53模(28-1)加法器得到最后的结果,其它模(28-1)乘法器可以通过相同或者相似的实现方法实现。
本发明提出了一种新的Booth编码器,并基于提出的Booth编码器,设计了一种高速模(2n-1)乘法器。在本发明的实施中,需要采用硬件描述语言按照Booth编码器的结构设计相应的Booth编码器,进而按照模(2n-1)乘法器的结构设计出所需的模(2n-1)乘法器,便可进行仿真和综合。该乘法器采用CSA或者Wallace Tree结构可以进一步提高运算速度。此乘法器在一个时钟周期内可以完成所需运算,简单高速高效。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。本发明专利未做详细说明的内容属于本领域技术人员的公知技术。

Claims (2)

1.一种Booth编码器,由Booth译码器和Booth选择器组成,其特征在于,所述Booth译码器包括第一异或门;所述Booth选择器包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器;设A=an-1LaiLa0,B=bn-1LbiLb0为基于模(2n-1)表示的需要相乘操作的两个操作数;所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b2k、b2k-1;所述第一二选一反相多路复用器和第二二选一反相多路复用器分别包括两个数据输入端和一个片选输入端,其中,所述第一二选一反相多路复用器的两个数据输入端分别用于输入操作数B相邻的两位b2k+1、b2k,所述第一二选一反相多路复用器的片选输入端用于输入操作数A中的任一位ai-1;所述第一同或门包括两个输入端,用于输入操作数A中的ai和操作数B中的b2k+1;所述第二二选一反相多路复用器的两个数据输入端分别用于输入所述第一二选一反相多路复用器的输出端信号和所述第一同或门的输出端信号;所述第二二选一反相多路复用器的片选输入端用于输入所述第一异或门的输出端信号;所述第二二选一反相多路复用器的输出端信号即是第k个部分积的第i位的逻辑值。
2.一种模(2n-1)乘法器,包括Booth译码器阵列、Booth选择器阵列、压缩阵列和模(2n-1)加法器,设A和B为基于模(2n-1)表示的需要相乘操作的两个操作数,具体连接关系如下:操作数A和B作为Booth选择器阵列的输入输入到Booth选择器阵列,操作数B作为Booth译码器阵列的输入输入到Booth译码器阵列,Booth译码器阵列的输出输入到Booth选择器阵列,Booth选择器阵列输出
Figure FDA0000060377990000011
个部分积到压缩阵列,压缩阵列的输出Z1和Z2输入到模(2n-1)加法器,模(2n-1)加法器的输出即为模(2n-1)乘法器的输出。
CN2011101205556A 2011-05-11 2011-05-11 一种Booth编码器及乘法器 Expired - Fee Related CN102184086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101205556A CN102184086B (zh) 2011-05-11 2011-05-11 一种Booth编码器及乘法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101205556A CN102184086B (zh) 2011-05-11 2011-05-11 一种Booth编码器及乘法器

Publications (2)

Publication Number Publication Date
CN102184086A true CN102184086A (zh) 2011-09-14
CN102184086B CN102184086B (zh) 2012-11-07

Family

ID=44570266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101205556A Expired - Fee Related CN102184086B (zh) 2011-05-11 2011-05-11 一种Booth编码器及乘法器

Country Status (1)

Country Link
CN (1) CN102184086B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622466A (zh) * 2012-02-17 2012-08-01 浙江大学 一种基于标准单元库扩展的乘法器的eco优化方法
CN102722352A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种Booth乘法器
CN103412737A (zh) * 2013-06-27 2013-11-27 清华大学 基4-Booth编码方法及门电路和流水线大数乘法器
CN106126190A (zh) * 2015-05-04 2016-11-16 三星电子株式会社 部分余数/除数表拆分实现
WO2019128763A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种极化码译码器及译码方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530085B (zh) * 2013-09-16 2016-06-22 电子科技大学 一种Booth编码器及乘法器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030196177A1 (en) * 2002-04-10 2003-10-16 Broadcom Corporation Low-error fixed-width modified booth multiplier
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030196177A1 (en) * 2002-04-10 2003-10-16 Broadcom Corporation Low-error fixed-width modified booth multiplier
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LEI LI ETC.: "Modified Booth encoding modulo (2n-1)multipliers", 《IEICE ELECTRONICS EXPRESS》, vol. 9, no. 5, 10 March 2012 (2012-03-10), pages 352 - 358 *
应琦钢 等: "基于优化电路的高性能乘法器设计", 《微电子学与计算机》, vol. 28, no. 4, 30 April 2011 (2011-04-30), pages 52 - 56 *
敖思远 等: "一种改进的模2n-1乘法器", 《微电子学与计算机》, vol. 28, no. 4, 30 April 2011 (2011-04-30), pages 107 - 110 *
李磊 等: "高速Booth编码模(2n-1)乘法器的设计", 《微电子学与计算机》, vol. 28, no. 11, 30 November 2011 (2011-11-30), pages 191 - 193 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622466A (zh) * 2012-02-17 2012-08-01 浙江大学 一种基于标准单元库扩展的乘法器的eco优化方法
CN102622466B (zh) * 2012-02-17 2014-01-29 浙江大学 一种基于标准单元库扩展的乘法器的eco优化方法
CN102722352A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种Booth乘法器
CN102722352B (zh) * 2012-05-21 2015-06-03 华南理工大学 一种Booth乘法器
CN103412737A (zh) * 2013-06-27 2013-11-27 清华大学 基4-Booth编码方法及门电路和流水线大数乘法器
CN106126190A (zh) * 2015-05-04 2016-11-16 三星电子株式会社 部分余数/除数表拆分实现
WO2019128763A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种极化码译码器及译码方法
CN109995382A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 一种极化码译码器
CN109995382B (zh) * 2017-12-29 2021-01-05 华为技术有限公司 一种极化码译码器

Also Published As

Publication number Publication date
CN102184086B (zh) 2012-11-07

Similar Documents

Publication Publication Date Title
CN102184086B (zh) 一种Booth编码器及乘法器
Cao et al. A residue-to-binary converter for a new five-moduli set
CN101685385A (zh) 一种复数乘法器
CN105183425B (zh) 一种具有高精度低复杂度特性的固定位宽乘法器
CN104090737A (zh) 一种改进型部分并行架构乘法器及其处理方法
CN116450217A (zh) 一种多功能定点乘法和乘累加运算装置及方法
Gupta et al. Han–Carlson adder based high-speed Vedic multiplier for complex multiplication
CN102253822B (zh) 一种模(2^n-3)乘法器
CN103955585B (zh) 一种适用于低功耗容错电路的fir滤波器结构
Daud et al. Hybrid modified booth encoded algorithm-carry save adder fast multiplier
CN103699729B (zh) 模乘法器
Baba et al. Design and implementation of advanced modified booth encoding multiplier
CN102929575B (zh) 一种模(2n+3)乘法器
Bokade et al. CLA based 32-bit signed pipelined multiplier
Hossain et al. A fast and compact binary to BCD converter circuit
CN103530085A (zh) 一种Booth编码器及乘法器
Kalaiselvi et al. Area efficient high speed and low power MAC unit
Li A Single Precision Floating Point Multiplier for Machine Learning Hardware Acceleration
Moses et al. Design of high speed and low power dadda multiplier using different compressors
Lv et al. A novel high performance SIMD 54-bit multiply array
Patronik et al. Design of an RNS reverse converter for a new five-moduli special set
Kambhampati Power efficient modulo convolution
CN103324785B (zh) 一种模加法器
Waghmare Vedic Multiplier Implementation for High Speed Factorial Computation
CN103577638B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121107

Termination date: 20150511

EXPY Termination of patent right or utility model