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

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

Info

Publication number
CN106951211A
CN106951211A CN201710189006.1A CN201710189006A CN106951211A CN 106951211 A CN106951211 A CN 106951211A CN 201710189006 A CN201710189006 A CN 201710189006A CN 106951211 A CN106951211 A CN 106951211A
Authority
CN
China
Prior art keywords
fixed
point
floating
point multiplication
general purpose
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
CN201710189006.1A
Other languages
English (en)
Other versions
CN106951211B (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 (8)

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

Cited By (10)

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

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010632A1 (en) * 2003-07-09 2005-01-13 Yung-Chun Lei Digital signal processor based on jumping floating-point arithmetic
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 南京大学 一种可重构专用处理器核的功能模拟器

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010632A1 (en) * 2003-07-09 2005-01-13 Yung-Chun Lei Digital signal processor based on jumping floating-point arithmetic
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 南京大学 一种可重构专用处理器核的功能模拟器

Cited By (17)

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

Also Published As

Publication number Publication date
CN106951211B (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN106951211B (zh) 一种可重构定浮点通用乘法器
Mohan et al. Residue Number Systems
CN107305484B (zh) 一种非线性函数运算装置及方法
Shieh et al. Word-based Montgomery modular multiplication algorithm for low-latency scalable architectures
CN105045560A (zh) 一种定点乘加运算方法和装置
CN105335127A (zh) Gpdsp中支持浮点除法的标量运算单元结构
CN112540743A (zh) 面向可重构处理器的有无符号乘累加器及方法
CN101295237B (zh) 求商和余数的高速除法器
US20200065066A1 (en) Float Division by Constant Integer
JP4273071B2 (ja) 除算・開平演算器
CN102253822B (zh) 一种模(2^n-3)乘法器
US7958180B2 (en) Multiplier engine
Chavan et al. High speed 32-bit vedic multiplier for DSP applications
Daud et al. Hybrid modified booth encoded algorithm-carry save adder fast multiplier
JPH0312738B2 (zh)
Guardia Implementation of a fully pipelined BCD multiplier in FPGA
CN102929575A (zh) 一种模乘法器
CN103699729A (zh) 模乘法器
CN115857873B (zh) 乘法器、乘法计算方法、处理***及存储介质
Abraham et al. An ASIC design of an optimized multiplication using twin precision
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
Gupta et al. Design of serial multiplier circuit based on a variable length conditional binary counter for improved critical path delay and slack time
Deepthi et al. Performance Analysis of a 64-bit signed Multiplier with a Carry Select Adder Using VHDL
Rathore et al. Implementation and Design of Xilinx based Booth multiplier
CN115904507A (zh) 面向cgra的多精度小面积simd运算***、方法、介质及设备

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