CN102999312A - 基16布斯乘法器的优化方法 - Google Patents
基16布斯乘法器的优化方法 Download PDFInfo
- Publication number
- CN102999312A CN102999312A CN2012105590472A CN201210559047A CN102999312A CN 102999312 A CN102999312 A CN 102999312A CN 2012105590472 A CN2012105590472 A CN 2012105590472A CN 201210559047 A CN201210559047 A CN 201210559047A CN 102999312 A CN102999312 A CN 102999312A
- Authority
- CN
- China
- Prior art keywords
- pending
- long
- multiplier
- partial product
- item
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基16布斯乘法器的优化方法,主要解决现有乘法器中速度较低及面积较大的问题。该乘法器的优化步骤为:(1)产生部分积,包括使用基16布斯编码产生n/4-1项部分积,其中n表示乘法器的位数,以及使用二进制补码产生法产生第n/4项部分积;(2)利用部分积间低位的位数差,对前面部分积的高位进行相加,完成一次压缩部分积;(3)根据部分积个数不同采用4∶2或3∶2压缩机,对一次压缩后的部分积进行相加直至部分积个数减少到两个;(4)对剩余的两个部分积求和,完成基16布斯乘法器的优化。由于本发明对乘法器的部分积进行了有效压缩,从而缩小了乘法器的面积,提高了乘法器的速度,可用于数字集成电路。
Description
技术领域
本发明属于电子电路技术领域,特别涉及基16布斯乘法器的优化方法,可用于数字集成电路。
背景技术
高速并行乘法器是现代处理器、图像处理及数字信号处理器中的核心器件,它的性能往往主导了整个处理器的性能。在含有乘法器的数字系统中,由于乘法器的延迟最长,它完成一次操作周期,基本上决定了系统的主频,速度的提高意味着性能的提升。而且在含有16位以上乘法器的处理器中,乘法器的面积将占整个处理器面积的很大比例,面积的减小意味着成本的降低。因此乘法器的速度和面积优化对于整个处理器来说是非常重要的。
传统的布斯乘法器将产生一个由符号位单独占用的一行,多出的一个部分积将直接影响乘法器的速度与面积,如果能够优化掉这一项,将对接下来的部分积压缩减少很大的工作量,因此人们想出了很多方法来解决这一问题。其中:
一种方法是采用“改进的布斯逻辑”这种方法通过将部分积的个数减少一半,以减小后续加法器的运算工作量,使乘法器的运算速度得到了显著提升,但其主要是针对基4布斯编码进行的改进,具有局限性,对于基16布斯编码则不能适用。
另一种改进方法是采用一种新的二进制补码生成方法,使译码产生部分积的最后一项直接就是补码形式,从而省掉译码最后一项的符号部分积。这种方法虽然在二进制补码生成方式上有很好的改进,但是随着乘法器位数的增加,其在运算速度上的优化效果并不明显。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基16布斯乘法器的优化方法,以提高乘法器的运行速度,减小乘法器的面积。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)产生部分积:
(1a)设输入数据为两个n位的二进制数据相乘,采用基16布斯编码结构产生m-1项反码形式部分积,其中m=n/4,n>0;
(1b)采用二进制补码生成第m项部分积;
(2)一次压缩部分积:在第m项部分积生成的同时对步骤(1a)中产生的m项部分积进行有效压缩,最终得到少于m项的部分积;
(3)二次压缩部分积:通过压缩机对步骤(2)中一次压缩后的部分积再进行压缩,直到只剩下两项部分积;
(4)部分积求和:将剩下的两项部分积求和,得到乘法器的输出结果。
本发明由于在第m组部分积生成的同时对先产生的m-1组部分积进行有效压缩,从而减少了部分积的个数,缩小了乘法器的面积,提高了乘法器的整体运行速度。
附图说明
图1为本发明的流程图;
图2为本发明用16×16位乘法器产生部分积的示意图;
图3为本发明用32×32位乘法器产生部分积的示意图。
具体实施方式
参照图1,本发明的具体实现步骤如下:
步骤一,产生部分积。
(1a)采用基16布斯编码结构产生反码形式部分积。
(1a1)对乘数进行二进制表示,即定义n×n位乘法器的乘数为Y的二进制表示式为:Y=yn-1yn-2...yi...y1y0,其中最高位yn-1是符号位,y0~yn-2是Y第0位到第n-2位的二进制值;
(1a2)对Y的二进制表示式进行取反加一,将其转换成Y的补码形式,该补码形式的加权表示为:
式中j是从0~n-2的整数;
(1a3)对补码Y1采用基16布斯结构进行编码,得到补码Y1的编码为:
其中,i是从0~n/4-1的整数,当i=0时,y-1=0;
(1a4)把Y2任何组合的二进制值代入2)式,得到Y2的编码结果为{0,±1,±2,±3,±4,±5,±6,±7,±8};
(1a5)产生乘法器的部分积
设n×n位乘法器的被乘数为X,乘数Y经补码变换后的基16布斯编码为Y2,则乘法器的表达式为:
根据Y2的编码结果,上式X×Y2是从序列{0,±X,±2X,±3X,±4X,±5X,±6X,±7X,±8X}中选择n/4-1项序列,即分别对应n/4-1个部分积,其中:
正数项2X,4X,8X可直接通过对X进行左移获得,正数项3X,5X,6X,7X需通过加和移位实现,即3X=2X+X,5X=4X+X,6X=4X+2X,7X=8X+(-X);
负数项{-X,-2X,-3X,-4X,-5X,-6X,-7X,-8X}是通过对{X,2X,3X,4X,5X,6X,7X,8X}取反产生;
由于正数的反码与原码相同,负数的反码是原码取反,此时产生的部分积均是反码形式,即为n×n位乘法器n/4-1项反码形式部分积。
(1b)采用二进制补码生成方法产成第n/4项部分积
本发明对第n/4项部分积的产生使用Jung-Yup Kang和Jean-Luc Gaudiot在文章“Asimple high speed multiplier design.IEEE Trans.on Computers,2006,55(10)”中提出的二进制补码生成方法,直接产生补码形式的第n/4项部分积;
步骤二,一次压缩部分积
由于第n/4项部分积的产生时间长于其他部分积的产生时间,因此在第n/4项部分积产生的同时可以对步骤(1a)中产生的n/4-1项部分积进行有效压缩,具体方法如下:
如图2,对n=16的16×16位乘法器,按照步骤(1a)先产生三项部分积,即第一项部分积、第二项部分积与第三项部分积,在(1b)中后产生第四项部分积,第一项部分积的低位与第四项部分积的低位相差八位;
分别对这三项部分积和第四项部分积进行如下一次压缩:
将第一项部分积的低八位放到第四项部分积的低八位组成新的第四项部分积;
将第一项部分积的高位与第二项部分积的高位相加,并与第二项部分积的低八位组成新的第二项部分积;
通过以上压缩,原先的第一项就被优化掉,使新的第二项部分积、第三项部分积与新的第四项部分积成为最终的三个部分积。
如图3,对n=32的32×32位乘法器,按照步骤(1a)先产生七项部分积,即第一项部分积、第二项部分积、第三项部分积、第四项部分积、第五项部分积、第六项部分积与第七项部分积,该第一项部分积与第七项部分积相差二十位;再按步骤(1b)产生第八项部分积,第二项部分积与第八项部分积相差二十四位;
分别对这七项部分积和第八项部分积进行如下压缩:
将第一项部分积的低二十位直接放到第七项部分积的低位组成新的第七项部分积;
将第二项部分积的低二十四位直接放到第八项部分积的低位组成新的第八项部分积;
将第一项部分积的高位与第三项部分积的高位相加,并与第三项部分积低位组成新的第三项部分积;
将第二项部分积的高位与第四项部分积的高位相加,并与第四项部分积的低位组成新的第四项部分积。
通过以上压缩,原先的第一项和第二项部分积就被优化掉了,使新的第三项部分积、新的第四项部分积、第五项部分积、第六项部分积、新的第七项部分积与新的第八项部分积成为最终的六个部分积。
步骤三,二次压缩部分积,即对一次压缩后的部分积进行相加直至部分积个数减少到两个。
对16×16位乘法器,本发明用一个3∶2压缩机对在步骤二中产生的三个部分积,即新的第二项部分积、第三项部分积和新的第四项部分积,进行相加使部分积个数减少到两个。
对32×32位乘法器,本发明先用一个4:2压缩机对在步骤二中产生的四个部分积,即新的第三项部分积、新的第四项部分积、第五项部分积和第六项部分积,进行相加产生两个部分积;再使用一个4:2压缩机对产生的两个部分积与步骤二中新的第七项部分积和新的第八项部分积进行相加,使最终的部分积个数减少到两个。
步骤四,部分积求和。
使用加法器对步骤三中产生的最后两个部分积进行相加,得到最终结果。
以上仅是本发明的两个实例,不构成对本发明的任何限制,显然在本发明的构思下,可以应用到更多位数的乘法器中,但这些均在本发明的保护之列。
本发明的实验结果可以通过以下仿真实验进一步说明:
1.实验环境:
本发明使用Verilog HDL语言进行代码编译,在Modelsim SE6.1中进行仿真验证。并且用综合工具DC在0.35μm3.3V CMOS工艺下进行综合。
为保证实验数据的全面性,实验结果的可靠性,仿真采用了三组数据进行验证。一组为一个正数和一个负数,一组为两个正数,一组为两个负数,经验证,结果正确。
2.对比实验:
本发明与传统的基16布斯乘法器进行了对比,为保证比较的公平性,乘法器第二步使用的压缩机和第三步使用的加法器结构相同,只有第一步的改进部分不一样。
3.实验结果:
对采用综合工具DC得到的速度延时积值进行比较,单位为μm2·ns。16×16位的乘法器,传统的速度延时积值为1680304.9,本发明的速度延时积值为1521935.8,提高了9.4%。32×32位的乘法器,传统的速度延时积值为8573635,本发明的速度延时积值为8349134.5,提高了2.6%。
综上,本发明提出的基16布斯乘法器优化方法,在乘法器的速度与面积上确实得到了优化。
Claims (4)
1.一种基16布斯乘法器的优化方法,包括:
(1)产生部分积:
(1a)设输入数据为两个n位的二进制数据相乘,采用基16布斯编码结构产生m-1项反码形式部分积,其中m=n/4,n>0;
(1b)采用二进制补码生成第m项部分积;
(2)一次压缩部分积:在第m项部分积生成的同时对步骤(1a)中产生的m项部分积进行有效压缩,最终得到少于m项的部分积;
(3)二次压缩部分积:通过压缩机对步骤(2)中一次压缩后的部分积再进行压缩,直到只剩下两项部分积;
(4)部分积求和:将剩下的两项部分积求和,得到乘法器的输出结果。
2.根据权利要求1所述的基16布斯乘法器的优化方法,其中步骤(1a)所述的采用基16布斯编码结构产生m-1项反码形式部分积,通过如下公式进行:
式中Y为二进制的乘数,y0~yn-1表示Y第0位到第n-1位的二进制值,n表示乘法器的位数,i是从0~n/4-1的整数,当i=0时,y-1=0。
3.根据权利要求1所述的一种基16布斯乘法器的优化方法,其中步骤(2)所述一次压缩部分积,是根据部分积间低位的位数差,使前面部分积的低位直接放到后面部分积的低位上,同时对前面部分积的高位进行相加,从而优化掉前面的部分积,组成新的少于m项的部分积。
4.根据权利要求1所述的基16布斯乘法器的优化方法,其中步骤(3)所述的通过压缩机对步骤(2)中得到的少于m项的部分积再进行压缩,是根据部分积个数的不同,采用3∶2压缩机或4∶2压缩机,对少于m项的部分积进行相加直至部分积个数减少到最后两项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210559047.2A CN102999312B (zh) | 2012-12-20 | 2012-12-20 | 基16布斯乘法器的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210559047.2A CN102999312B (zh) | 2012-12-20 | 2012-12-20 | 基16布斯乘法器的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999312A true CN102999312A (zh) | 2013-03-27 |
CN102999312B CN102999312B (zh) | 2015-09-30 |
Family
ID=47927925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210559047.2A Active CN102999312B (zh) | 2012-12-20 | 2012-12-20 | 基16布斯乘法器的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999312B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183425A (zh) * | 2015-08-21 | 2015-12-23 | 电子科技大学 | 一种具有高精度低复杂度特性的固定位宽乘法器 |
CN108288091A (zh) * | 2018-01-19 | 2018-07-17 | 上海兆芯集成电路有限公司 | 采布斯乘法的微处理器 |
CN108364065A (zh) * | 2018-01-19 | 2018-08-03 | 上海兆芯集成电路有限公司 | 采布斯乘法的微处理器 |
CN112948901A (zh) * | 2021-02-04 | 2021-06-11 | 深圳安捷丽新技术有限公司 | 一种ssd主控芯片中加速运算的优化方法和装置 |
CN112988112A (zh) * | 2021-04-27 | 2021-06-18 | 北京壁仞科技开发有限公司 | 点积计算装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1475698A1 (en) * | 1996-08-29 | 2004-11-10 | Fujitsu Limited | Multiplier circuit & method |
CN101458617A (zh) * | 2008-01-22 | 2009-06-17 | 西北工业大学 | 基于cisc微处理器的32位整数乘法器 |
WO2010049218A1 (en) * | 2008-10-30 | 2010-05-06 | Audioasics A/S | A high radix digital multiplier |
-
2012
- 2012-12-20 CN CN201210559047.2A patent/CN102999312B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1475698A1 (en) * | 1996-08-29 | 2004-11-10 | Fujitsu Limited | Multiplier circuit & method |
CN101458617A (zh) * | 2008-01-22 | 2009-06-17 | 西北工业大学 | 基于cisc微处理器的32位整数乘法器 |
WO2010049218A1 (en) * | 2008-10-30 | 2010-05-06 | Audioasics A/S | A high radix digital multiplier |
Non-Patent Citations (3)
Title |
---|
EDUARDO COSTA,SERGIO BAMPI,JOS´E MONTEIRO: "A New Architecture for Signed Radix-2m Pure Array Multipliers", 《COMPUTER DESIGN:VLSI IN COMPUTERS AND PROCESSORS》, 31 December 2002 (2002-12-31) * |
康潇亮,雷绍充,梁峰: "67×67位乘法器的改进四阶Booth算法实现", 《电子器件》, vol. 30, 31 August 2007 (2007-08-31) * |
梁峰,邵志标,梁晋: "Radix-16 booth流水线乘法器的设计", 《西安交通大学学报》, vol. 40, no. 10, 31 October 2006 (2006-10-31) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183425A (zh) * | 2015-08-21 | 2015-12-23 | 电子科技大学 | 一种具有高精度低复杂度特性的固定位宽乘法器 |
CN105183425B (zh) * | 2015-08-21 | 2017-09-01 | 电子科技大学 | 一种具有高精度低复杂度特性的固定位宽乘法器 |
CN108288091A (zh) * | 2018-01-19 | 2018-07-17 | 上海兆芯集成电路有限公司 | 采布斯乘法的微处理器 |
CN108364065A (zh) * | 2018-01-19 | 2018-08-03 | 上海兆芯集成电路有限公司 | 采布斯乘法的微处理器 |
CN108364065B (zh) * | 2018-01-19 | 2020-09-11 | 上海兆芯集成电路有限公司 | 采布斯乘法的微处理器 |
CN112948901A (zh) * | 2021-02-04 | 2021-06-11 | 深圳安捷丽新技术有限公司 | 一种ssd主控芯片中加速运算的优化方法和装置 |
CN112948901B (zh) * | 2021-02-04 | 2023-10-03 | 深圳安捷丽新技术有限公司 | 一种ssd主控芯片中加速运算的优化方法和装置 |
CN112988112A (zh) * | 2021-04-27 | 2021-06-18 | 北京壁仞科技开发有限公司 | 点积计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102999312B (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102999312A (zh) | 基16布斯乘法器的优化方法 | |
Vun et al. | A new RNS based DA approach for inner product computation | |
CN105183425B (zh) | 一种具有高精度低复杂度特性的固定位宽乘法器 | |
Hsiao et al. | Generic 2-D gaussian smoothing filter for noisy image processing | |
CN112764712B (zh) | 一种高性能近似Booth乘法器及计算方法 | |
CN101295237A (zh) | 求商和余数的高速除法器 | |
CN110825346B (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
CN101126974B (zh) | 一种改进的Booth 2乘法器结构 | |
CN103955585A (zh) | 一种适用于低功耗容错电路的fir滤波器结构 | |
CN101866278B (zh) | 一种异步迭代的64位整型乘法器及其计算方法 | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
CN110489798B (zh) | 面向有源配电网实时仿真的解算器细粒度高效设计方法 | |
CN102929575B (zh) | 一种模(2n+3)乘法器 | |
CN102955682B (zh) | 一种模(23n-2n)乘法器 | |
CN103699729B (zh) | 模乘法器 | |
Bansal et al. | High performance pipelined signed 64x64-bit multiplier using radix-32 modified Booth algorithm and Wallace structure | |
CN110738311A (zh) | 基于高层次综合的lstm网络加速方法 | |
Ding et al. | A design and implementation of decimal floating-point multiplication unit based on SOPC | |
KUMAR et al. | Symmetric stacking binary counter | |
CN202978975U (zh) | 一种基于cmmb的rs编码系统 | |
Kim et al. | Digit-serial modular multiplication using skew-tolerant domino CMOS | |
Kumar et al. | Design of an area-efficient multiplier | |
CN114489565B (zh) | 一种基于双计数器的相位展开算法 | |
CN217034731U (zh) | 选择控制器及运算电路及芯片 | |
Radha et al. | An Efficient Implementation of Decimal Adder Using Parallel Prefix Addition |
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 |