CN106951211B - 一种可重构定浮点通用乘法器 - Google Patents

一种可重构定浮点通用乘法器 Download PDF

Info

Publication number
CN106951211B
CN106951211B CN201710189006.1A CN201710189006A CN106951211B CN 106951211 B CN106951211 B CN 106951211B CN 201710189006 A CN201710189006 A CN 201710189006A CN 106951211 B CN106951211 B CN 106951211B
Authority
CN
China
Prior art keywords
fixed
point
point multiplication
floating
multiplier
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.)
Active
Application number
CN201710189006.1A
Other languages
English (en)
Other versions
CN106951211A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201710189006.1A priority Critical patent/CN106951211B/zh
Publication of CN106951211A publication Critical patent/CN106951211A/zh
Application granted granted Critical
Publication of CN106951211B publication Critical patent/CN106951211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain

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

本发明提供了一种定浮点通用乘法器,既可以实现24位的定点乘法运算,也可以实现32位的单精度浮点乘法运算。所述乘法器将定点乘法器与主体结构相分离,由24位定点乘法器重构为单精度浮点乘法器。24位定点乘法器由4个12位乘法器组成,其中每个12位乘法器采用BOOTH算法,通过乘累加的紧缩结构完成运算,有效地提高了乘法运算效率和减少了运算资源开销。所述乘法器除了24位定点乘法器外不额外占用太多资源,在保证运算精度和数据吞吐率的情况下,有效地提高了乘法器的通用性。

Description

一种可重构定浮点通用乘法器
技术领域
本发明属于数字信号处理技术领域,尤其涉及一种可重构定浮点通用乘法器。
背景技术
在高性能微处理器和DSP芯片设计中,乘法器都是一个关键部件。因此,优化乘法器对提高整个处理器性能起到至关重要的作用。
不同的数字信号处理领域对乘法运算有着不同的需求,以运算所用的数据类型分类,乘法器可分为定点乘法器和浮点乘法器。定点乘法器所需的运算资源较少,但精度较低;浮点乘法器所需的运算资源多,但精度高。它们各自有其应用的优势和劣势。但现有的乘法器一般只支持单一的定点乘法运算或浮点乘法运算。
此外,随着集成电路设计的发展,可重构架构的研究逐渐热门,因此如何在高性能和通用性之间寻找一个平衡点是目前集成电路亟待解决的一个问题。
发明内容
为了解决上述问题,本发明基于可重构的思想,提供了一种可重构定浮点通用乘法器,具体由以下技术方案实现:
所述可重构定浮点通用乘法器,包括:
24位定点乘法器,用于定点乘法运算,或重构成单精度浮点乘法器;
选通电路,根据配置信号选择相应的浮点或定点乘法运算通路;
截位/指数位进位模块,根据两单精度浮点尾数定点相乘所得48位结果进行截位以及指数位进位判断,以确定乘积的尾数位以及指数位进位;
选择器,根据配置信号选择相应的23位浮点尾数结果还是48位定点数结果;
符号位判断模块,根据两单精度浮点的符号位判断乘积的符号位;
8位加法器,完成两单精度浮点指数位相加,并根据指数位进位确定乘积的指数位。
所述可重构定浮点通用乘法器的进一步设计在于,所述24位定点乘法器按设定的规则进行运算,包括:
12位定点乘法器,并行计算乘数与被乘数高低12位交叉定点相乘;
48位定点加法器,对中间结果进行定点加法处理;
48位寄存器,对定点乘法及加法结果的存储。
所述可重构定浮点通用乘法器的进一步设计在于,所述24位定点乘法器中12位定点乘法器为4个,48位定点加法器为3个,48位寄存器为7个。
所述可重构定浮点通用乘法器的进一步设计在于,所述24位定点乘法器将24位数分拆成一个12位数和另一个12位数移位相加的形式,如式(1):
(a24 a23 a22…… a3 a2 a12=(a24 a23 a22…… a132 ×212+(a12 ……a3 a2 a12 (1)
所述可重构定浮点通用乘法器的进一步设计在于,所述12位定点乘法器包括:
12位加法器,对部分积进行累加操作;
12位寄存器,对乘数与被乘数及中间数据的存储;
移位和相加控制逻辑,控制12位加法器以及移位寄存器相关操作。
所述可重构定浮点通用乘法器的进一步设计在于,所述设定的规则为:将运算过程分解为4个12位定点乘法并行运算,之后对12位定点乘法结果进行相应的移位操作,最后再对4个48位定点数进行加法运算后得到最终结果。
所述可重构定浮点通用乘法器的进一步设计在于,在进行4个48位定点数的加法运算时采用分组的形式,先进行两两相加,再对相加结果进行加法运算。
所述可重构定浮点通用乘法器的进一步设计在于,所述12位寄存器为三个。
本发明的优点
本发明基于可重构的思想实现的乘法器既可进行24位定点乘法运算,也可以进行单精度浮点乘法运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的乘法器,本乘法器具有更好的通用性。
本发明所用12位定点乘法器采用BOOTH算法和乘累加的紧缩结构,有效地提高了乘法运算效率和降低了运算资源开销。
本发明除了24位定点乘法器外不额外占用太多资源,减少了资源开销。
本发明在24位定点乘法器的延时基础上不再增加过多延时,保证了乘法器的性能。
附图说明
图1是可重构定浮点乘法器整体架构图。
图2是24位定点乘法器内部结构示意图。
图3是12位定点乘法器内部结构示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
如图1所示,本实施例的定浮点通用乘法器由24位定点乘法器、选通电路、截位/指数位进位、选择器、符号位判断、8位加法器组成。配置信号和数据由外部输入,由配置信号确定数据运算通路(选择24位定点乘法运算还是单精度浮点运算)。
截位/指数位进位模块主要确定单精度浮点乘积的尾数位以及指数位进位。单精度浮点的尾数位共23位,等效尾数位为24位,最高位为1。那么,对等效尾数位进行定点乘法运算所得48位定点数其最高两位共有两种情况:“01”和“1*”。当乘积最高两位为“01”的形式,则指数位进位为0,截去高两位和低23位,所剩中间的23位即为结果的尾数位;当乘积最高两位为“1*”的形式,则指数位进位为1,截去最高位1和低24位,所剩中间的23位即为最终结果的尾数位。
符号位判断模块对两单精度浮点数对应的符号位进行异或逻辑处理来确定乘积的符号位。简单说,两浮点数符号相同则乘积符号为正,最高位为0;两浮点数符号相异则乘积符号为负,最高位为1。
8位加法器对两单精度浮点数对应的指数位进行定点加法运算,所得结果再加上由截位/指数位进位模块输出的指数位进位,得到乘积的8位指数位数值。
最后,由选择器根据配置信号选择输出相应的23位浮点数尾数位结果或输出48位的定点数结果。
如图2所示,24位定点乘法器由4个12位定点乘法器、3个48位加法器、7个48位寄存器组成。将24位数分拆成一个12位数和另一个12位数移位相加的形式:
(a24 a23 a22…… a3 a2 a12 =(a24 a23 a22…… a132 ×212 +(a12……a3 a2 a12
本实施例中24位定点乘法器按如下的规则进行运算:24位的定点乘法运算可以分解为4个12位定点乘法并行运算,之后对12位定点乘法结果进行相应的移位操作,最后再对4个48位定点数进行加法运算即可得到最终结果。为保证结构的对称性,在进行4个48位定点数的加法运算时采用分组的形式,先进行两两相加,再对其结果进行加法运算,有效地平衡了运算延时。
如图3所示,12位定点乘法器由12位累加器、3个12位寄存器、移位和相加控制逻辑组成。该定点乘法器是采用BOOTH算法,乘数与被乘数均以补码表示并分别放入两个12位寄存器Q和M中,将12位寄存器A初始化为0,A与Q一起用于存放最终的运算结果,最右侧的1位寄存器Q’同样初始化为0。乘法器工作时,控制逻辑每次读Q0和Q’两位,若两者相同,则寄存器A、Q、Q’均右移一位;若Q0Q’为“01”时,则执行部分积相加被乘数并取补码,结果右移一位;若Q0Q’为“10”时,则执行部分积减被乘数并取补码,结果右移一位。按照上述算法进行13步操作,最后一次不再移位,最终所得结果即为运算结果。采用BOOTH算法极大地减少了部分积的产生,从而提高了乘法运算的运算效率。
作为比较,表1列出了传统方法与本文方法关键路径的延时比较。
表1
通过表1可以看出,本发明提供的这种24位定点/单精度浮点通用乘法器虽然在定点乘法运算时精度有所损失,但换来的是降低了关键通路的延时,以及大大减少了运算资源的开销。由于24位定点乘法能满足绝大多数算法精度要求,所以这种改进是非常值得的。
本发明基于可重构的思想实现的乘法器既可进行24位定点乘法运算,也可以进行单精度浮点乘法运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的乘法器,本乘法器具有更好的通用性。而且该乘法器采用BOOTH算法和乘累加的紧缩结构,有效地提高了乘法运算效率和降低了运算资源开销。本实施例在24位定点乘法器的延时基础上不再增加过多延时,保证了乘法器的性能。
以上对本发明提供的一种可重构定浮点通用乘法器进行了详细介绍,以便于理解本发明和其核心思想。对于本领域的一般技术人员,在具体实施时,可根据本发明的核心思想进行多种修改和演绎。综上所述,本说明书不应视为对本发明的限制。

Claims (3)

1.一种可重构定浮点通用乘法器,其特征在于,包括:
24位定点乘法器,用于定点乘法运算,或重构成单精度浮点乘法器;
选通电路,根据配置信号选择相应的浮点或定点乘法运算通路;
截位/指数位进位模块,根据两单精度浮点尾数定点相乘所得48位结果进行截位以及指数位进位判断,以确定乘积的尾数位以及指数位进位;
选择器,根据配置信号选择相应的23位浮点尾数结果还是48位定点数结果;
符号位判断模块,根据两单精度浮点的符号位判断乘积的符号位;
8位加法器,完成两单精度浮点指数位相加,并根据指数位进位确定乘积的指数位;
所述24位定点乘法器按设定的规则进行运算,包括:
12位定点乘法器,并行计算乘数与被乘数高低12位交叉定点相乘;
48位定点加法器,对中间结果进行定点加法处理;
48位寄存器,对定点乘法及加法结果的存储;
所述24位定点乘法器中12位定点乘法器为4个,48位定点加法器为3个,48位寄存器为7个;
所述24位定点乘法器将24位数分拆成一个12位数和另一个12位数移位相加的形式,如式(1):
(a24a23a22……a3a2a1)2=(a24a23a22……a13)2×212+(a12……a3a2a1)2 (1)
所述12位定点乘法器包括:
12位加法器,对部分积进行累加操作;
12位寄存器,对乘数与被乘数及中间数据的存储;
移位和相加控制逻辑,控制12位加法器以及移位寄存器相关操作;
所述设定的规则为:将运算过程分解为4个12位定点乘法并行运算,之后对12位定点乘法结果进行相应的移位操作,最后再对4个48位定点数进行加法运算后得到最终结果。
2.根据权利要求1所述的可重构定浮点通用乘法器,其特征在于,在进行4个48位定点数的加法运算时采用分组的形式,先进行两两相加,再对相加结果进行加法运算。
3.根据权利要求1所述的可重构定浮点通用乘法器,其特征在于,所述12位寄存器为三个。
CN201710189006.1A 2017-03-27 2017-03-27 一种可重构定浮点通用乘法器 Active CN106951211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710189006.1A CN106951211B (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用乘法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710189006.1A CN106951211B (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用乘法器

Publications (2)

Publication Number Publication Date
CN106951211A CN106951211A (zh) 2017-07-14
CN106951211B true CN106951211B (zh) 2019-10-18

Family

ID=59473389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710189006.1A Active CN106951211B (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用乘法器

Country Status (1)

Country Link
CN (1) CN106951211B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU185346U1 (ru) * 2018-08-21 2018-11-30 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Векторный мультиформатный умножитель
RU2689819C1 (ru) * 2018-08-21 2019-05-29 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Векторный мультиформатный умножитель
CN109242091B (zh) * 2018-09-03 2022-03-22 郑州云海信息技术有限公司 图像识别方法、装置、设备及可读存储介质
CN109558109B (zh) * 2018-11-30 2021-07-16 上海寒武纪信息科技有限公司 数据运算装置及相关产品
CN112148371B (zh) * 2019-06-27 2023-10-24 北京地平线机器人技术研发有限公司 基于单指令多数据流的数据运算方法、装置、介质和设备
CN110990767B (zh) * 2019-11-29 2021-08-31 华中科技大学 一种应用于格密码体制的可重构数论变换单元和方法
CN114327360B (zh) * 2020-09-29 2023-07-18 华为技术有限公司 运算装置、浮点数计算的方法、装置、芯片和计算设备
CN113157247B (zh) * 2021-04-23 2022-10-25 西安交通大学 一种可重构整型-浮点型乘法器
CN113703717B (zh) * 2021-08-31 2024-01-26 南京英锐创电子科技有限公司 二进制浮点数乘法运算电路及其控制方法、计算装置
CN117170622B (zh) * 2023-11-03 2024-03-01 深圳鲲云信息科技有限公司 累加器及用于累加器的方法和芯片电路及计算设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900927A (zh) * 2006-07-14 2007-01-24 中国电子科技集团公司第三十八研究所 可重构数字信号处理器
CN101187861A (zh) * 2006-09-20 2008-05-28 英特尔公司 用于执行点积运算的指令和逻辑
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN102520906A (zh) * 2011-12-13 2012-06-27 中国科学院自动化研究所 支持定浮点可重构的向量长度可配置的向量点积累加网络
CN102591615A (zh) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 结构化混合位宽乘法运算方法及装置
CN102722352A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种Booth乘法器
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN104951278A (zh) * 2014-03-28 2015-09-30 英特尔公司 用于执行多个乘法操作的方法和装置
WO2015144950A1 (es) * 2014-03-28 2015-10-01 Universidad De Málaga Unidades aritméticas y conversores asociados
CN105930201A (zh) * 2016-04-25 2016-09-07 南京大学 一种可重构专用处理器核的功能模拟器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI220479B (en) * 2003-07-09 2004-08-21 Mediatek Inc Digital signal processor based on jumping floating point arithmetic

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900927A (zh) * 2006-07-14 2007-01-24 中国电子科技集团公司第三十八研究所 可重构数字信号处理器
CN101187861A (zh) * 2006-09-20 2008-05-28 英特尔公司 用于执行点积运算的指令和逻辑
CN102004628A (zh) * 2006-09-20 2011-04-06 英特尔公司 用于执行点积运算的指令和逻辑
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN102520906A (zh) * 2011-12-13 2012-06-27 中国科学院自动化研究所 支持定浮点可重构的向量长度可配置的向量点积累加网络
CN102591615A (zh) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 结构化混合位宽乘法运算方法及装置
CN102722352A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种Booth乘法器
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN104951278A (zh) * 2014-03-28 2015-09-30 英特尔公司 用于执行多个乘法操作的方法和装置
WO2015144950A1 (es) * 2014-03-28 2015-10-01 Universidad De Málaga Unidades aritméticas y conversores asociados
CN105930201A (zh) * 2016-04-25 2016-09-07 南京大学 一种可重构专用处理器核的功能模拟器

Also Published As

Publication number Publication date
CN106951211A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN104520807B (zh) 用于具有指数按比例缩放的浮点融合乘法加法的微架构
CN107305484B (zh) 一种非线性函数运算装置及方法
US20160313976A1 (en) High performance division and root computation unit
Sutikno An efficient implementation of the non restoring square root algorithm in gate level
CN104111816A (zh) Gpdsp中多功能simd结构浮点融合乘加运算装置
CN105335127A (zh) Gpdsp中支持浮点除法的标量运算单元结构
CN101295237B (zh) 求商和余数的高速除法器
US20200065066A1 (en) Float Division by Constant Integer
CN102253822B (zh) 一种模(2^n-3)乘法器
JP4273071B2 (ja) 除算・開平演算器
CN110187866A (zh) 一种基于双曲cordic的对数乘法计算系统及方法
US7958180B2 (en) Multiplier engine
Haritha et al. Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers
Sutter et al. Comparative study of SRT-dividers in FPGA
Son et al. Design and implementation of scalable low-power Montgomery multiplier
CN102929575A (zh) 一种模乘法器
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
CN109558109A (zh) 数据运算装置及相关产品
Doran Special cases of division
Deepthi et al. Performance Analysis of a 64-bit signed Multiplier with a Carry Select Adder Using VHDL
Sutikno et al. Strategies for FPGA implementation of non-restoring square root algorithm
Kumar et al. Implementation and Performance Analysis of Reconfigurable Montgomery Modular Multiplier
Fariddin et al. Design of High Speed and Area efficient modified Kogge Stone Multiplier Using ZFL
CN101320322A (zh) 线性同余伪随机序列快速产生方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant