CN106970775A - 一种可重构定浮点通用加法器 - Google Patents

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

Info

Publication number
CN106970775A
CN106970775A CN201710190120.6A CN201710190120A CN106970775A CN 106970775 A CN106970775 A CN 106970775A CN 201710190120 A CN201710190120 A CN 201710190120A CN 106970775 A CN106970775 A CN 106970775A
Authority
CN
China
Prior art keywords
adder
floating
fixed
carry
fixed point
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.)
Pending
Application number
CN201710190120.6A
Other languages
English (en)
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 CN201710190120.6A priority Critical patent/CN106970775A/zh
Publication of CN106970775A publication Critical patent/CN106970775A/zh
Pending legal-status Critical Current

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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种可重构定浮点通用加法器,包括:48位定点加法器,进行定点加法运算,并可重构成单精度浮点加法器;选择器,根据顶层配置信息选择相应的定点或浮点加法运算通路,并进行输出控制;定浮点运算转换器,将48位定点加法器转化为32位单精度浮点加法器。有益效果:所述加法器采用全流水结构,定点加法器基于并行前缀加法器做了相应的优化,在保证定点加法器运算性能的基础上,减少了其运算延时和门电路面积。整体定浮点通用加法器结构在保证精确度和数据吞吐率的情况下,有效的提高了加法器的通用性。

Description

一种可重构定浮点通用加法器
技术领域
本发明公开了一种定浮点通用加法器,属于数字信号处理领域。
背景技术
近些年来,随着电子技术的快速发展,处理器的复杂度和集成度越来越高,加法器无论在微处理器还是在可编程逻辑器件上,都是一个很基础很关键的存在。
在数字信号处理的不同领域,对加法器的要求也不尽相同,以运算所用的数据类型分类,加法器可分为定点加法器和浮点加法器。定点加法器所需的运算资源较少,但精度较低;浮点加法器所需的运算资源多,但精度高,它们各自有其应用的优势和劣势。但现有的加法器一般只支持单一的定点加法或浮点加法运算。
随着可重构技术越来越火,该方法试图通过可重构的方法,在不断优化定点加法器性能的基础上,降低浮点加法器的资源利用。在追求更快的速度,更小的面积的同时,也不忘增强其通用性,以满足各种情况下对于加法器的需求。
发明内容
为了解决上述问题,本发明基于可重构的思想,提供了一种可重构定浮点通用加法器,具体有以下技术方案实现:
所述可重构定浮点通用加法器,包括:
48位定点加法器,进行定点加法运算,并可重构成单精度浮点加法器;
选择器,根据顶层配置信息选择相应的定点或浮点加法运算通路,并进行输出控制;
定浮点运算转换器,将48位定点加法器转化为32位单精度浮点加法器。
所述可重构定浮点通用加法器的进一步设计在于,所述48位定点加法器进一步包括:
数据初步处理模块,对48位初始运算数据进行与门以及异或门处理;
16位的并行前缀加法器,基于树型结构的并行前缀加法器将数据分块进行加法运算;
求和模块,根据初步处理模块得到的每一位的异或信息以及每个并行前缀加法器得到的进位信息,计算出每一位的结果以及最终的进位情况;
级联模块,用于定点加法器的移植及级联处理,可以连接成位数更高的定点加法器。
所述可重构定浮点通用加法器的进一步设计在于,16位的并行前缀加法器为3个。
所述可重构定浮点通用加法器的进一步设计在于,所述定浮点运算转换器由多个运算及控制功能模块组成,所述运算及控制功能模块包括:
符号位判断模块,根据两单精度浮点数的符号位判断加法结果的符号位;
移位判决器,根据两单精度浮点数的指数位判断移位的位数;
对阶移位器,采用桶形移位算法实现对阶左移;
48位定点加法器,用于对尾数进行加法处理;
前导0/1判定单元,通过高速进位逻辑通路实现前导0/1的快速判定,从而确定规格化时移位的位数。
所述可重构定浮点通用加法器的进一步设计在于,48位定点加法器依据并行前缀加法器的树型结构,该48位定点加法器分解为三个16位的并行前缀加法器并行运算,每个16位的并行前缀加法器又划分为两个8位的加法器,每个8位的加法器划分为两个4位的加法器。
所述可重构定浮点通用加法器的进一步设计在于,所述4位加法器依据的是超前进位加法器,对于两个4位的操作数,记两个操作数每个对应位相与的结果为Gi,相异或的结果为Pi,i表示比特位的序号为{1,2,3,4},求得C1=G1+G0P1,C2=G2+G1P2+G0P1P2,G3=G3+G2P3+G1P3P2+G0P3P2P1,C1, C2, C3分别表示第一位,第二位,第三位的进位情况,“0”对应无进位,“1”对应有进位。
所述可重构定浮点通用加法器的进一步设计在于,所述4位加法器通过并行前缀加法器的树型结构获取加法器上层的进位信息与求和信息,如果第i比特试图得到一个进位,则选取的第j位到第i位的原数据相加之和必然产生一个进位,抑或是第j-1位到第0位的原数据相加产生了一个进位,并且第i位到第j位传播了所述进位,传播该进位的充分必要条件为第i位到第j位的进位传播信号P均为1。
本发明的优点
本发明基于可重构的思想实现的加法器既可进行48位定点加法运算,也可以进行单精度浮点加法运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的加法器,本加法器具有更好的通用性。
本发明所用运算单元采用全流水设计,具有较高数据吞吐率。
本发明所用的定点加法器基于Sklansky树型结构,在底层采用超前进位加法器的思想,以达到面积和速度的均衡;
本发明所用的单精度浮点加法器充分利用高速进位逻辑通路优化前导0/1判决算法,并采用改进的桶形移位算法来实现对阶移位,减少了浮点加法运算中的延时,节省了一部分的资源;
本发明可容易的移植到一个可重构算法链(例如FFT算法)中,实现更大规模的资源复用。
附图说明
图1是可重构定浮点通用加法器整体架构图。
图2是48位定点加法器内部结构示意图。
图3是4位定点加法器门级结构示意图。
图4是定浮点运算转换器内部结构示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
如图1所示,实施例的定浮点通用加法器主要由48位定点加法器、选择器、定浮点运算转换器组成。配置信息和数据由外部控制模块输入,由配置信息确定数据运算通路(选择48位定点加法运算还是32位单精度浮点加法运算)。最后,输入数据经过相应的运算通路完成对应的加法运算。
如图2所示,48位定点加法器依据并行前缀加法器的树型结构,并在此基础上利用超前进位的思想做了优化,48位定点加法器可以分解为三个16位的并行前缀加法器并行运算,每个16位的并行前缀加法器又可以划分为两个8位的加法器,每个8位的加法器划分为两个4位的加法器,底层的4位加法器采用的是超前进位的思想。
如图3所示,底层的4位加法器依据的是超前进位加法器,对于两个4位的操作数,记它们每个对应位相与的结果为Gi,相异或的结果为Pi,可以求得C1=G1+G0P1,C2=G2+G1P2+G0P1P2,G3=G3+G2P3+G1P3P2+G0P3P2P1,其中,C1, C2, C3分别表示第一位,第二位,第三位的进位情况,“0”对应无进位,“1”对应有进位。对其进行门级优化以后,具体电路图如图所示,共需要5个与门和4个或门。
而对于加法器上层的进位信息以及求和信息的获取,采用的是并行前缀加法器的树型结构,根据树型结构,可以得到,如果第i比特试图得到一个进位,必须要有选取的第j位到第i位的原数据相加之和产生一个进位(即j小于等于i),抑或是第j-1位到第0位的原数据相加产生了一个进位,并且第i位到第j位传播了这个进位,传播这个进位的充分必要条件就是第i位到第j位的进位传播信号P均为1,用更加简明一点的公式来表示就是第i比特的进位情况为Ci=Gi:0=Gi:j+Gj-1:0Pi:j,其中,Pi:j=PiPi-1…Pj,更一般地,有:Gi:t=Gi:j+Gj-1: tPi:j,i≥j≥t≥0这样第i比特的求和结果可以用Ci-1和Pi相异或的结果来表示。
如图4所示,定浮点运算转换器由符号位判决器、移位判决器、对阶移位器、48位定点加法器、前导0/1判定模块以及溢出判断和结果规格化处理模块组成。其中48位定点加法器为资源共享模块,由配置信息确定该共享资源是进行48位定点数的加法运算还是进行32位单精度浮点数的加法运算。
基本的原理是判断A、B两数指数位的差值,根据差值对尾数位进行移位,再相加。被移位的数为A、B两数中指数位较大的一个,移位的位数为两数指数位的差值,这样可以保证两数的尾数位进行运算的时候结果均为正数,也就不用进行补码原码转换。A、B的符号位决定A、B的尾数位是做加法还是减法运算。
例如A= -1.25×225 ,B= 1.032×215,A指数大于B,差值为10,所以对1.25左移10位;A、B符号位相反,所以对两数尾数位做减法,即1.25×210 – 1.032。
尾数位的运算完成后,将尾数位计算结果截位成23位,并根据截位信息调整最终结果的指数位,最后将符号位、指数位、尾数位规格化成浮点数形式输出。
本实施例基于可重构的思想实现的加法器既可进行48位定点加法运算,也可以进行单精度浮点加法运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的加法器,本加法器具有更好的通用性。本实施例的运算单元采用全流水设计,具有较高数据吞吐率。定点加法器基于Sklansky树型结构,在底层采用超前进位加法器的思想,以达到面积和速度的均衡。单精度浮点加法器充分利用高速进位逻辑通路优化前导0/1判决算法,并采用改进的桶形移位算法来实现对阶移位,减少了浮点加法运算中的延时,节省了一部分的资源。本实施例可容易的移植到一个可重构算法链(例如FFT算法)中,实现更大规模的资源复用。
以上对本发明提供的一种可重构定浮点通用加法器进行了详细介绍,以便于理解本发明和其核心思想。对于本领域的一般技术人员,在具体实施时,可根据本发明的核心思想进行多种修改和演绎。综上所述,本说明书不应视为对本发明的限制。

Claims (7)

1.一种可重构定浮点通用加法器,其特征在于,包括:
48位定点加法器,进行定点加法运算,并可重构成单精度浮点加法器;
选择器,根据顶层配置信息选择相应的定点或浮点加法运算通路,并进行输出控制;
定浮点运算转换器,将48位定点加法器转化为32位单精度浮点加法器。
2.根据权利要求1所述的可重构定浮点通用加法器,其特征在于,所述48位定点加法器进一步包括:
数据初步处理模块,对48位初始运算数据进行与门以及异或门处理;
16位的并行前缀加法器,基于树型结构的并行前缀加法器将数据分块进行加法运算;
求和模块,根据初步处理模块得到的每一位的异或信息以及每个并行前缀加法器得到的进位信息,计算出每一位的结果以及最终的进位情况;
级联模块,用于定点加法器的移植及级联处理,可以连接成位数更高的定点加法器。
3.根据权利要求1所述的可重构定浮点通用加法器,其特征在于,16位的并行前缀加法器为3个。
4.根据权利要求1所述的可重构定浮点通用加法器,其特征在于,所述定浮点运算转换器由多个运算及控制功能模块组成,所述运算及控制功能模块包括:
符号位判断模块,根据两单精度浮点数的符号位判断加法结果的符号位;
移位判决器,根据两单精度浮点数的指数位判断移位的位数;
对阶移位器,采用桶形移位算法实现对阶左移;
48位定点加法器,用于对尾数进行加法处理;
前导0/1判定单元,通过高速进位逻辑通路实现前导0/1的快速判定,从而确定规格化时移位的位数。
5.根据权利要求1所述的可重构定浮点通用加法器,其特征在于,48位定点加法器依据并行前缀加法器的树型结构,该48位定点加法器分解为三个16位的并行前缀加法器并行运算,每个16位的并行前缀加法器又划分为两个8位的加法器,每个8位的加法器划分为两个4位的加法器。
6.根据权利要求5所述的可重构定浮点通用加法器,其特征在于,所述4位加法器依据的是超前进位加法器,对于两个4位的操作数,记两个操作数每个对应位相与的结果为Gi,相异或的结果为Pi,i表示比特位的序号为{1,2,3,4},求得C1=G1+G0P1,C2=G2+G1P2+G0P1P2,G3=G3+G2P3+G1P3P2+G0P3P2P1,C1, C2, C3分别表示第一位,第二位,第三位的进位情况,“0”对应无进位,“1”对应有进位。
7.根据权利要求6所述的可重构定浮点通用加法器,其特征在于,所述4位加法器通过并行前缀加法器的树型结构获取加法器上层的进位信息与求和信息,如果第i比特试图得到一个进位,则选取的第j位到第i位的原数据相加之和必然产生一个进位,抑或是第j-1位到第0位的原数据相加产生了一个进位,并且第i位到第j位传播了所述进位,传播该进位的充分必要条件为第i位到第j位的进位传播信号P均为1。
CN201710190120.6A 2017-03-27 2017-03-27 一种可重构定浮点通用加法器 Pending CN106970775A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710190120.6A CN106970775A (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用加法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710190120.6A CN106970775A (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用加法器

Publications (1)

Publication Number Publication Date
CN106970775A true CN106970775A (zh) 2017-07-21

Family

ID=59336063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710190120.6A Pending CN106970775A (zh) 2017-03-27 2017-03-27 一种可重构定浮点通用加法器

Country Status (1)

Country Link
CN (1) CN106970775A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009348A (zh) * 2017-11-30 2018-05-08 上海安路信息科技有限公司 基于输入位时延的加/减法器优化方法
CN108287681A (zh) * 2018-02-14 2018-07-17 中国科学院电子学研究所 一种单精度浮点融合点乘运算单元
CN109977701A (zh) * 2019-04-01 2019-07-05 苏州中晟宏芯信息科技有限公司 一种定浮点运算装置
CN110688086A (zh) * 2019-09-06 2020-01-14 西安交通大学 一种可重构的整型-浮点加法器
CN110990767A (zh) * 2019-11-29 2020-04-10 华中科技大学 一种应用于格密码体制的可重构数论变换单元和方法
CN111857651A (zh) * 2020-06-16 2020-10-30 眸芯科技(上海)有限公司 用多比特加法器并行进行多个少比特加法的方法及应用
CN114327361A (zh) * 2022-03-08 2022-04-12 中科南京智能技术研究院 一种21比特浮点加法器
CN117170622A (zh) * 2023-11-03 2023-12-05 深圳鲲云信息科技有限公司 累加器及用于累加器的方法和芯片电路及计算设备
CN117348839A (zh) * 2023-12-06 2024-01-05 西北工业大学 一种多精度低开销加法器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN101847087A (zh) * 2010-04-28 2010-09-29 中国科学院自动化研究所 一种支持定浮点可重构的横向求和网络结构

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN101847087A (zh) * 2010-04-28 2010-09-29 中国科学院自动化研究所 一种支持定浮点可重构的横向求和网络结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚若河等: "基于Sklansky结构的24位并行前缀加法器的设计与实现", 《现代电子技术》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009348A (zh) * 2017-11-30 2018-05-08 上海安路信息科技有限公司 基于输入位时延的加/减法器优化方法
CN108287681B (zh) * 2018-02-14 2020-12-18 中国科学院电子学研究所 一种单精度浮点融合点乘运算装置
CN108287681A (zh) * 2018-02-14 2018-07-17 中国科学院电子学研究所 一种单精度浮点融合点乘运算单元
CN109977701A (zh) * 2019-04-01 2019-07-05 苏州中晟宏芯信息科技有限公司 一种定浮点运算装置
CN110688086A (zh) * 2019-09-06 2020-01-14 西安交通大学 一种可重构的整型-浮点加法器
CN110990767A (zh) * 2019-11-29 2020-04-10 华中科技大学 一种应用于格密码体制的可重构数论变换单元和方法
CN110990767B (zh) * 2019-11-29 2021-08-31 华中科技大学 一种应用于格密码体制的可重构数论变换单元和方法
CN111857651A (zh) * 2020-06-16 2020-10-30 眸芯科技(上海)有限公司 用多比特加法器并行进行多个少比特加法的方法及应用
CN111857651B (zh) * 2020-06-16 2023-06-16 眸芯科技(上海)有限公司 用多比特加法器并行进行多个少比特加法的方法及应用
CN114327361A (zh) * 2022-03-08 2022-04-12 中科南京智能技术研究院 一种21比特浮点加法器
CN114327361B (zh) * 2022-03-08 2022-05-27 中科南京智能技术研究院 一种21比特浮点加法器
CN117170622A (zh) * 2023-11-03 2023-12-05 深圳鲲云信息科技有限公司 累加器及用于累加器的方法和芯片电路及计算设备
CN117170622B (zh) * 2023-11-03 2024-03-01 深圳鲲云信息科技有限公司 累加器及用于累加器的方法和芯片电路及计算设备
CN117348839A (zh) * 2023-12-06 2024-01-05 西北工业大学 一种多精度低开销加法器
CN117348839B (zh) * 2023-12-06 2024-02-13 西北工业大学 一种多精度低开销加法器

Similar Documents

Publication Publication Date Title
CN106970775A (zh) 一种可重构定浮点通用加法器
CN106325810B (zh) 微处理器
CN102566967B (zh) 一种采用多级流水线结构的高速浮点运算器
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN101174200A (zh) 一种浮点乘加融合单元的五级流水线结构
CN107305485A (zh) 一种用于执行多个浮点数相加的装置及方法
US4758974A (en) Most significant digit location
US9870200B2 (en) Decimal and binary floating point rounding
CN105045560A (zh) 一种定点乘加运算方法和装置
CN110007896A (zh) 具有时钟选通的用于执行矩阵乘法的硬件单元
CN104991757A (zh) 一种浮点处理方法及浮点处理器
CN102004627B (zh) 乘法舍入实现方法和装置
WO2017185203A1 (zh) 一种用于执行多个浮点数相加的装置及方法
CN102253822A (zh) 一种模(2n-3)乘法器
GB2581543A (en) Apparatus and method for processing floating-point numbers
US20140059106A1 (en) Arithmetic circuit for performing division based on restoring division
JPH0346024A (ja) 浮動小数点演算器
CN109298848A (zh) 双模式浮点除法平方根的电路
CN115268832A (zh) 浮点数取整的方法、装置以及电子设备
Giri et al. Pipelined floating-point arithmetic unit (fpu) for advanced computing systems using fpga
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
US20230334117A1 (en) Method and system for calculating dot products
KR101753162B1 (ko) 이진수 연산의 선행 제로 비트수 계산방법 및, 그 장치
Lloris Ruiz et al. Multiplication
Xu et al. High-efficiency realization of SRT division on ternary optical computers

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170721

RJ01 Rejection of invention patent application after publication