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

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

Info

Publication number
CN102184086B
CN102184086B CN2011101205556A CN201110120555A CN102184086B CN 102184086 B CN102184086 B CN 102184086B CN 2011101205556 A CN2011101205556 A CN 2011101205556A CN 201110120555 A CN201110120555 A CN 201110120555A CN 102184086 B CN102184086 B CN 102184086B
Authority
CN
China
Prior art keywords
booth
input
mould
alternative anti
phase multiplexer
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
Application number
CN2011101205556A
Other languages
English (en)
Other versions
CN102184086A (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乘法器,在运算过程中,需要个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为
Figure DDA0000060378020000012
个,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。

Description

一种Booth编码器及乘法器
技术领域
本发明属于计算机和集成电路领域,尤其涉及一种高速乘法器的设计。
背景技术
在介绍乘法器之前,先对余数系统(RNS,Residue Number Systems)做一说明。余数系统RNS是一种通过一组两两互质余数基的余数来描述数字的数值表征系统。由{m1,m2,…,mL}组成的L个余数基,整数X,0≤X<M,其中M=m1×m2×…×mL,在RNS系统中有唯一的表示方式为X={x1,x2,…,xL},
Figure GDA00001985857300011
其中
Figure GDA00001985857300012
表示X对于模mi的余数。在余数系统中两个操作数进行操作,操作符为Θ,可以定义为:{z1,z2,…,zL}={x1,x2,…,xL}Θ{y1,y2,…,yL},其中这里Θ可以是模加法,模减法或模乘法。在余数系统中这些算术运算都是并行执行的,而且处理的都是很小的余数而不是一个很大的数。
对于余数基的选择,{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,G.A.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-1…ai…a0,B=bn-1…bi…b0为基于模(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 GDA00001985857300021
个部分积作为输入连接到压缩阵列,压缩阵列的两个输出作为输入连接到模(2n-1)加法器,模(2n-1)加法器的输出为模(2n-1)乘法器的输出Y。
本发明的有益效果:本发明提供了一种Booth编码器以及基于此Booth编码器实现的模(2n-1)乘法器,在运算过程中,需要
Figure GDA00001985857300022
个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为
Figure GDA00001985857300023
个,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
附图说明
图1是本发明的Booth译码器的结构示意图,其中100为第一异或门。
图2是本发明的Booth选择器的结构示意图,其中400为第一同或门,200和300分别为第一二选一反相多路复用器和第二二选一反相多路复用器。
图3是本发明的Booth编码器组合结构示意图。
图4是本发明的二选一反相多路复用器结构示意图,其逻辑表达式为 X = ( D 0 &CenterDot; S &OverBar; + D 1 &CenterDot; S ) &OverBar; .
图5是本发明的模(2n-1)乘法器结构示意图。
图6是本发明实施例的模(28-1)乘法器结构示意图。
具体实施方式
下面结合附图和具体的实例对本发明做进一步的说明。
如图3所示,一种Booth编码器,由Booth译码器和Booth选择器组成,其中,Booth译码器如图1所示,包括第一异或门,其中100为第一异或门;Booth选择器如图2所示,包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器,其中400为第一同或门,200和300分别为第一二选一反相多路复用器和第二二选一反相多路复用器,二选一反相多路复用器的结构示意图如图4所示,其逻辑表达式为
Figure GDA00001985857300032
设A=an-1…ai…a0,B=bn-1…bi…b0为基于模(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 GDA00001985857300041
个部分积,记为
Figure GDA00001985857300042
输入到压缩阵列,压缩阵列的输出Z1和Z2输入到模(2n-1)加法器,模(2n-1)加法器的输出即为模(2n-1)乘法器的输出Y。这里
Figure GDA00001985857300043
表示大于或者等于*的最小整数。
这里的Booth译码器阵列是由数个Booth译码器组成,Booth选择器阵列是由数个Booth选择器阵列组成,其数目由具体的操作数A和B决定。
根据上述Booth编码器的具体结构,可以看出操作数与Booth译码器和Booth选择器连接关系:任选其中一个作为Booth操作数,假设为B,按照{b2j+1,b2j,b2j-1}对其进行分组,共有
Figure GDA00001985857300044
组,任选择一组{b2k+1,b2k,b2k-1},然后根据{b2k+1,b2k,b2k-1}以及另一个操作数A的对应信号{ai,ai-1}通过Booth译码器和Booth选择器产生对应部分积的输出,记为ppk,i,为第k个部分积的第i位的逻辑值,易知一个Booth译码器产生一个部分积,共有个部分积。
可以看出,在运算过程中,本发明的模(2n-1)乘法器需要
Figure GDA00001985857300046
个部分积,进而把模(2n-1)乘法器的中间部分积从n个减少为
Figure GDA00001985857300047
个,大大减少了运算量,从而减少了耗费的资源和关键路径的延迟。
下面以模(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-1…ai…a0,一起用来产生部分积,部分积的每个字节通过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-1…ai…a0,B=bn-1…bi…b0为基于模(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加法器,
所述Booth译码器包括第一异或门;所述Booth选择器包括第一同或门、第一二选一反相多路复用器和第二二选一反相多路复用器;设A=an-1…ai…a0,B=bn-1…bi…b0为基于模(2n-1)表示的需要相乘操作的两个操作数;所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b2k、b2k-1;所述第一二选一反相多路复用器和第二二选一反相多路复用器分别包括两个数据输入端和一个片选输入端,其中,所述第一二选一反相多路复用器的两个数据输入端分别用于输入操作数B相邻的两位b2k+1、b2k,所述第一二选一反相多路复用器的片选输入端用于输入操作数A中的任一位ai-1;所述第一同或门包括两个输入端,用于输入操作数A中的ai和操作数B中的b2k+1;所述第二二选一反相多路复用器的两个数据输入端分别用于输入所述第一二选一反相多路复用器的输出端信号和所述第一同或门的输出端信号;所述第二二选一反相多路复用器的片选输入端用于输入所述第一异或门的输出端信号;所述第二二选一反相多路复用器的输出端信号即是第k个部分积的第i位的逻辑值;
设A和B为基于模2n-1表示的需要相乘操作的两个操作数,具体连接关系如下:操作数A和B作为Booth选择器阵列的输入输入到Booth选择器阵列,操作数B作为Booth译码器阵列的输入输入到Booth译码器阵列,Booth译码器阵列的输出输入到Booth选择器阵列,Booth选择器阵列输出
Figure FDA00001985857200021
个部分积到压缩阵列,其中,
Figure FDA00001985857200022
表示大于或者等于*的最小整数,压缩阵列的输出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 CN102184086A (zh) 2011-09-14
CN102184086B true 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 (1)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622466B (zh) * 2012-02-17 2014-01-29 浙江大学 一种基于标准单元库扩展的乘法器的eco优化方法
CN102722352B (zh) * 2012-05-21 2015-06-03 华南理工大学 一种Booth乘法器
CN103412737B (zh) * 2013-06-27 2016-08-10 清华大学 实现基4-Booth编码方法的门电路和基于该方法的流水线大数乘法器
US10209957B2 (en) * 2015-05-04 2019-02-19 Samsung Electronics Co., Ltd. Partial remainder/divisor table split implementation
CN109995382B (zh) * 2017-12-29 2021-01-05 华为技术有限公司 一种极化码译码器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978426B2 (en) * 2002-04-10 2005-12-20 Broadcom Corporation Low-error fixed-width modified booth multiplier

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Lei Li etc..Modified Booth encoding modulo (2n-1)multipliers.《IEICE Electronics Express》.2012,第9卷(第5期),第352-358页.
Modified Booth encoding modulo (2n-1)multipliers;Lei Li etc.;《IEICE Electronics Express》;20120310;第9卷(第5期);第352-358页 *
一种改进的模2n-1乘法器;敖思远 等;《微电子学与计算机》;20110430;第28卷(第4期);第107-110页 *
基于优化电路的高性能乘法器设计;应琦钢 等;《微电子学与计算机》;20110430;第28卷(第4期);第52-56页 *
应琦钢 等.基于优化电路的高性能乘法器设计.《微电子学与计算机》.2011,第28卷(第4期),第52-56页.
敖思远 等.一种改进的模2n-1乘法器.《微电子学与计算机》.2011,第28卷(第4期),第107-110页.
李磊 等.高速Booth编码模(2n-1)乘法器的设计.《微电子学与计算机》.2011,第28卷(第11期),第191-193页.
高速Booth编码模(2n-1)乘法器的设计;李磊 等;《微电子学与计算机》;20111130;第28卷(第11期);第191-193页 *

Cited By (2)

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

Also Published As

Publication number Publication date
CN102184086A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
CN102184086B (zh) 一种Booth编码器及乘法器
Cao et al. A residue-to-binary converter for a new five-moduli set
CN107977191B (zh) 一种低功耗并行乘法器
CN102681815B (zh) 用加法器树状结构的有符号乘累加算法的方法
CN105183425B (zh) 一种具有高精度低复杂度特性的固定位宽乘法器
CN101685385A (zh) 一种复数乘法器
CN104090737A (zh) 一种改进型部分并行架构乘法器及其处理方法
CN102253822B (zh) 一种模(2^n-3)乘法器
CN103955585B (zh) 一种适用于低功耗容错电路的fir滤波器结构
CN102929575B (zh) 一种模(2n+3)乘法器
CN103699729B (zh) 模乘法器
Sreenivasulu et al. Energy and Area efficient Carry Select Adder on a reconfigurable hardware
Modugu et al. A fast low-power modulo 2 n+ 1 multiplier design
Bokade et al. CLA based 32-bit signed pipelined multiplier
CN102955682B (zh) 一种模(23n-2n)乘法器
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
CN102930097B (zh) 一种rns比较器
CN103577638B (zh) 一种模乘法器
Moses et al. Design of high speed and low power dadda multiplier using different compressors
Kambhampati Power efficient modulo convolution
Waghmare Vedic Multiplier Implementation for High Speed Factorial Computation
CN103324785B (zh) 一种模加法器
Patronik et al. Design of an RNS reverse converter for a new five-moduli special set

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