CN103135960A - 一种基于fpga的集成浮点运算器的设计方法 - Google Patents

一种基于fpga的集成浮点运算器的设计方法 Download PDF

Info

Publication number
CN103135960A
CN103135960A CN2013100631644A CN201310063164A CN103135960A CN 103135960 A CN103135960 A CN 103135960A CN 2013100631644 A CN2013100631644 A CN 2013100631644A CN 201310063164 A CN201310063164 A CN 201310063164A CN 103135960 A CN103135960 A CN 103135960A
Authority
CN
China
Prior art keywords
module
floating
floating point
designing
computing
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
CN2013100631644A
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.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN2013100631644A priority Critical patent/CN103135960A/zh
Publication of CN103135960A publication Critical patent/CN103135960A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于FPGA的集成浮点运算器的设计方法,属于信号处理技术领域,该浮点运算器集成FPGA器件,该浮点运算器包括以下运算模块:加减法预处理模块、乘除法预处理模块、加减法模块、乘法模块、除法模块以及归一化模块,通过以上各运算模块的运算模式输入输出来控制运算器的运算方式,对浮点数据运算采用三级流水线设计完成浮点四则运算,标准浮点数都为IEEE-754标准单精度浮点数,该浮点运算器输入输出均为IEEE-754单精度浮点格式。本发明的一种基于FPGA的集成浮点运算器的设计方法和现有技术相比,以并行运算的方式工作,缩短了产品的开发周期,性能价格比大幅提高,且速度快,抗干扰性强。

Description

一种基于FPGA的集成浮点运算器的设计方法
 
技术领域
本发明涉及一种信号处理技术领域,具体地说是一种基于FPGA的集成浮点运算器的设计方法。
背景技术
随着FPGA的出现以及EDA技术的成熟,采用FPGA实现数字信号处理的方法已经显示出巨大的潜力。在某些应用场合定点数不能满足信号动态范围的要求,因此需要将定点运算转化为浮点运算,但由于浮点数运算本身的一些特性,决定了其运算操作的复杂度远远超过普通定点数的运算。
发明内容  
  本发明的技术任务是提供一种以并行运算的方式工作,缩短了产品的开发周期,性能价格比大幅提高,且速度快,抗干扰性强的一种基于FPGA的集成浮点运算器的设计方法。
本发明的技术任务是按以下方式实现的,该浮点运算器集成FPGA器件,该浮点运算器包括以下运算模块:加减法预处理模块、乘除法预处理模块、加减法模块、乘法模块、除法模块以及归一化模块,通过以上各运算模块的运算模式输入输出来控制运算器的运算方式,对浮点数据运算采用三级流水线设计完成浮点四则运算,标准浮点数都为IEEE-754标准单精度浮点数,该浮点运算器输入输出均为IEEE-754单精度浮点格式。
加减法预处理模块与乘除法预处理模块的设计方法为:如果输入是标准浮点数,则根据加减乘除不同的运算将浮点数放到相对应的位置。方便下一步计算。
加减法模块的浮点数加法器的设计方法为:
(1)、对阶:比较                                                
Figure 504917DEST_PATH_IMAGE002
的大小(假设
Figure 115633DEST_PATH_IMAGE003
),阶差
Figure 339941DEST_PATH_IMAGE004
,将右移
Figure 76002DEST_PATH_IMAGE006
位;
(2)、运算:若
Figure 488529DEST_PATH_IMAGE007
同号,则符号位不变,
Figure 370214DEST_PATH_IMAGE009
;若
Figure 513882DEST_PATH_IMAGE007
异号,符号位由绝对值大者决定(假设),
Figure 953587DEST_PATH_IMAGE011
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出;
加减法模块的浮点数减法器的设计方法为:
(1)、对阶:比较
Figure 766691DEST_PATH_IMAGE012
Figure 153810DEST_PATH_IMAGE013
的大小(假设
Figure 195716DEST_PATH_IMAGE014
),阶差
Figure 43236DEST_PATH_IMAGE004
,将
Figure 840290DEST_PATH_IMAGE015
右移
Figure 386809DEST_PATH_IMAGE016
位;
(2)、运算:若
Figure 560302DEST_PATH_IMAGE007
Figure 757934DEST_PATH_IMAGE008
同号,则符号位不变,
Figure 725890DEST_PATH_IMAGE017
;若
Figure 205730DEST_PATH_IMAGE008
异号,符号位由绝对值大者决定(假设
Figure 24912DEST_PATH_IMAGE018
),
Figure 163770DEST_PATH_IMAGE019
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
乘法模块的浮点数乘法器的设计方法为:
(1)、如果乘数A和被乘数B有一个为零,则结果置零,运算结束;
(2)、符号位:结果
Figure 684881DEST_PATH_IMAGE020
,尾数运算:
Figure 121547DEST_PATH_IMAGE021
高位移入1;
(3)、阶码相加
Figure 39748DEST_PATH_IMAGE023
,尾数相乘
Figure 110473DEST_PATH_IMAGE024
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
除法模块的浮点数除法器的设计方法为:
(1)、检查被除数
Figure 101562DEST_PATH_IMAGE007
是否为0,若为0操作结束;检查除数
Figure 941342DEST_PATH_IMAGE008
是否为0,若为0则结果NAN;
(2)、符号位:结果
Figure 608953DEST_PATH_IMAGE025
,尾数运算:
Figure 901394DEST_PATH_IMAGE026
Figure 696175DEST_PATH_IMAGE027
高位移入1;
(3)、阶码相减,尾数相除;
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
本发明的一种基于FPGA的集成浮点运算器的设计方法具有以下优点:由于FPGA器件具备在线可编程能力,克服了专用处理器灵活性方面的不足,同时兼备了高速和低成本的优点,因此,基于FPGA用硬件方式实现浮点型运算器成为可能,并且用硬件实现的浮点数运算器,能够以并行运算的方式工作,可以缩短产品的开发周期,性能价格比大幅提高,且速度快,抗干扰性强。因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于FPGA的集成浮点运算器的设计方法的结构框图;
  附图2为一种基于FPGA的集成浮点运算器的设计方法的IEEE-754标准单精度浮点数(32bits)的格式框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于FPGA的集成浮点运算器的设计方法作以下详细地说明。
实施例:
本发明的一种基于FPGA的集成浮点运算器的设计方法, 该浮点运算器集成FPGA器件,该浮点运算器包括以下运算模块:加减法预处理模块、乘除法预处理模块、加减法模块、乘法模块、除法模块以及归一化模块,通过以上各运算模块的运算模式输入输出来控制运算器的运算方式,对浮点数据运算采用三级流水线设计完成浮点四则运算,标准浮点数都为IEEE-754标准单精度浮点数,该浮点运算器输入输出均为IEEE-754单精度浮点格式。如图2所示。
加减法预处理模块与乘除法预处理模块的设计方法为:如果输入是标准浮点数,则根据加减乘除不同的运算将浮点数放到相对应的位置。方便下一步计算。
加减法模块的浮点数加法器的设计方法为:
(1)、对阶:比较 
Figure 390461DEST_PATH_IMAGE001
Figure 730438DEST_PATH_IMAGE002
的大小(假设
Figure 775754DEST_PATH_IMAGE003
),阶差
Figure 108647DEST_PATH_IMAGE004
,将
Figure 844390DEST_PATH_IMAGE005
右移
Figure 932432DEST_PATH_IMAGE006
位;
(2)、运算:若同号,则符号位不变,
Figure 356658DEST_PATH_IMAGE009
;若
Figure 615601DEST_PATH_IMAGE007
Figure 291302DEST_PATH_IMAGE008
异号,符号位由绝对值大者决定(假设
Figure 293893DEST_PATH_IMAGE010
),
Figure 754961DEST_PATH_IMAGE011
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出;
加减法模块的浮点数减法器的设计方法为:
(1)、对阶:比较
Figure 919226DEST_PATH_IMAGE012
的大小(假设
Figure 389970DEST_PATH_IMAGE014
),阶差,将
Figure 306290DEST_PATH_IMAGE015
右移
Figure 956583DEST_PATH_IMAGE016
位;
(2)、运算:若
Figure 300977DEST_PATH_IMAGE007
Figure 736638DEST_PATH_IMAGE008
同号,则符号位不变,
Figure 928191DEST_PATH_IMAGE017
;若
Figure 144409DEST_PATH_IMAGE007
Figure 964597DEST_PATH_IMAGE008
异号,符号位由绝对值大者决定(假设
Figure 504032DEST_PATH_IMAGE018
),
Figure 118684DEST_PATH_IMAGE019
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
乘法模块的浮点数乘法器的设计方法为:
(1)、如果乘数A和被乘数B有一个为零,则结果置零,运算结束;
(2)、符号位:结果
Figure 245034DEST_PATH_IMAGE020
,尾数运算:
Figure 931230DEST_PATH_IMAGE021
Figure 75904DEST_PATH_IMAGE022
高位移入1;
(3)、阶码相加,尾数相乘
Figure 301535DEST_PATH_IMAGE024
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
除法模块的浮点数除法器的设计方法为:
(1)、检查被除数
Figure 463526DEST_PATH_IMAGE007
是否为0,若为0操作结束;检查除数
Figure 790602DEST_PATH_IMAGE008
是否为0,若为0则结果NAN;
(2)、符号位:结果,尾数运算:
Figure 913245DEST_PATH_IMAGE026
高位移入1;
(3)、阶码相减,尾数相除;
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
如图1所示:操作数A和B都为IEEE-754标准单精度浮点数,根据运算模式选择输入来确定数据进入加减法预处理模块还是乘除法预处理模块,然后根据加减乘除不同的运算将浮点数放到相对应的位置,方便下一步计算。下面以加法为例,预处理后的模块进入加法模块,根据发明内容中加法设计器的方法,将运算完的操作数送到归一化模块,将浮点数转化为IEEE-754标准单精度浮点数。最后得到结果Y。
本发明的一种基于FPGA的集成浮点运算器的设计方法,除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (5)

1.一种基于FPGA的集成浮点运算器的设计方法,其特征在于该浮点运算器集成FPGA器件,该浮点运算器包括以下运算模块:加减法预处理模块、乘除法预处理模块、加减法模块、乘法模块、除法模块以及归一化模块,通过以上各运算模块的运算模式输入输出来控制运算器的运算方式,对浮点数据运算采用三级流水线设计完成浮点四则运算,标准浮点数都为IEEE-754标准单精度浮点数,该浮点运算器输入输出均为IEEE-754单精度浮点格式。
2.根据权利要求1所述的一种基于FPGA的集成浮点运算器的设计方法,其特征在于加减法预处理模块与乘除法预处理模块的设计方法为:如果输入是标准浮点数,则根据加减乘除不同的运算将浮点数放到相对应的位置。
3.根据权利要求1所述的一种基于FPGA的集成浮点运算器的设计方法,其特征在于加减法模块的浮点数加法器的设计方法为:
(1)、对阶:比较                                               
Figure 407584DEST_PATH_IMAGE002
Figure 358223DEST_PATH_IMAGE004
的大小(假设
Figure 303045DEST_PATH_IMAGE006
),阶差
Figure 655529DEST_PATH_IMAGE008
,将
Figure 221246DEST_PATH_IMAGE010
右移位;
(2)、运算:若
Figure 142114DEST_PATH_IMAGE014
Figure 677001DEST_PATH_IMAGE016
同号,则符号位不变,
Figure 790450DEST_PATH_IMAGE018
;若
Figure 279463DEST_PATH_IMAGE014
Figure 566088DEST_PATH_IMAGE016
异号,符号位由绝对值大者决定(假设
Figure 627585DEST_PATH_IMAGE020
),
Figure 974252DEST_PATH_IMAGE022
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出;
加减法模块的浮点数减法器的设计方法为:
(1)、对阶:比较
Figure 386779DEST_PATH_IMAGE024
Figure 477095DEST_PATH_IMAGE026
的大小(假设
Figure 658678DEST_PATH_IMAGE028
),阶差
Figure 403343DEST_PATH_IMAGE008
,将
Figure 303166DEST_PATH_IMAGE030
右移
Figure DEST_PATH_IMAGE032
位;
(2)、运算:若
Figure 931593DEST_PATH_IMAGE014
Figure 295579DEST_PATH_IMAGE016
同号,则符号位不变,
Figure DEST_PATH_IMAGE034
;若
Figure 718470DEST_PATH_IMAGE014
Figure 669370DEST_PATH_IMAGE016
异号,符号位由绝对值大者决定(假设
Figure DEST_PATH_IMAGE036
),
Figure DEST_PATH_IMAGE038
(3)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
4.根据权利要求1所述的一种基于FPGA的集成浮点运算器的设计方法,其特征在于乘法模块的浮点数乘法器的设计方法为:
(1)、如果乘数A和被乘数B有一个为零,则结果置零,运算结束;
(2)、符号位:结果
Figure DEST_PATH_IMAGE040
,尾数运算:
Figure DEST_PATH_IMAGE044
高位移入1;
(3)、阶码相加
Figure DEST_PATH_IMAGE046
,尾数相乘
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
5.根据权利要求1所述的一种基于FPGA的集成浮点运算器的设计方法,其特征在于除法模块的浮点数除法器的设计方法为:
(1)、检查被除数
Figure 786975DEST_PATH_IMAGE014
是否为0,若为0操作结束;检查除数
Figure 739887DEST_PATH_IMAGE016
是否为0,若为0则结果NAN;
(2)、符号位:结果
Figure DEST_PATH_IMAGE050
,尾数运算:
Figure DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE054
高位移入1;
(3)、阶码相减,尾数相除;
(4)、将上面运算结果通过归一化模块归一化为单精度浮点数格式输出。
CN2013100631644A 2013-02-28 2013-02-28 一种基于fpga的集成浮点运算器的设计方法 Pending CN103135960A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100631644A CN103135960A (zh) 2013-02-28 2013-02-28 一种基于fpga的集成浮点运算器的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100631644A CN103135960A (zh) 2013-02-28 2013-02-28 一种基于fpga的集成浮点运算器的设计方法

Publications (1)

Publication Number Publication Date
CN103135960A true CN103135960A (zh) 2013-06-05

Family

ID=48495839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100631644A Pending CN103135960A (zh) 2013-02-28 2013-02-28 一种基于fpga的集成浮点运算器的设计方法

Country Status (1)

Country Link
CN (1) CN103135960A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631559A (zh) * 2013-12-13 2014-03-12 广西科技大学 双指令多浮点操作数除运算控制器
CN103645879A (zh) * 2013-12-13 2014-03-19 广西科技大学 浮点数除运算执行控制器
CN104166535A (zh) * 2013-07-19 2014-11-26 郑州宇通客车股份有限公司 定点处理器及其防溢方法
CN104731551A (zh) * 2013-12-23 2015-06-24 浙江大华技术股份有限公司 基于fpga进行除法操作的方法及装置
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN109343823A (zh) * 2018-11-01 2019-02-15 何安平 基于异步控制的浮点数加法器和浮点数的相加方法
CN113781217A (zh) * 2021-08-31 2021-12-10 深圳华云信息系统有限公司 基于fpga的浮点数处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017743A2 (en) * 2007-07-19 2009-01-21 Itt Manufacturing Enterprises, Inc. High speed and efficient matrix multiplication hardware module
CN101794210A (zh) * 2010-04-07 2010-08-04 上海交通大学 基于fpga的通用矩阵浮点乘法器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017743A2 (en) * 2007-07-19 2009-01-21 Itt Manufacturing Enterprises, Inc. High speed and efficient matrix multiplication hardware module
CN101794210A (zh) * 2010-04-07 2010-08-04 上海交通大学 基于fpga的通用矩阵浮点乘法器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周宁宁等: "基于 FPGA 技术的浮点运算器的设计与实现", 《计算机工程与设计》 *
王冬冬: "基于FPGA的浮点运算器设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166535A (zh) * 2013-07-19 2014-11-26 郑州宇通客车股份有限公司 定点处理器及其防溢方法
CN104166535B (zh) * 2013-07-19 2017-07-28 郑州宇通客车股份有限公司 定点处理器及其防溢方法
CN103631559A (zh) * 2013-12-13 2014-03-12 广西科技大学 双指令多浮点操作数除运算控制器
CN103645879A (zh) * 2013-12-13 2014-03-19 广西科技大学 浮点数除运算执行控制器
CN103645879B (zh) * 2013-12-13 2016-09-14 广西科技大学 浮点数除运算执行控制器
CN103631559B (zh) * 2013-12-13 2016-09-14 广西科技大学 双指令多浮点操作数除运算控制器
CN104731551A (zh) * 2013-12-23 2015-06-24 浙江大华技术股份有限公司 基于fpga进行除法操作的方法及装置
CN104731551B (zh) * 2013-12-23 2018-02-16 浙江大华技术股份有限公司 基于fpga进行除法操作的方法及装置
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN106020769B (zh) * 2016-06-22 2018-09-14 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN109343823A (zh) * 2018-11-01 2019-02-15 何安平 基于异步控制的浮点数加法器和浮点数的相加方法
CN113781217A (zh) * 2021-08-31 2021-12-10 深圳华云信息系统有限公司 基于fpga的浮点数处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN103135960A (zh) 一种基于fpga的集成浮点运算器的设计方法
US9753695B2 (en) Datapath circuit for digital signal processors
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
CA3083043C (en) System and method of floating point multiply operation processing
CN102460424B (zh) 具有减小面积的乘性除法电路
EP3447634A1 (en) Non-linear function computing device and method
CN101685383A (zh) 计算器、基于直接对阶的自由精度浮点数的运算电路
CN103914276A (zh) 利用浮点架构的定点除法电路
CN105045560A (zh) 一种定点乘加运算方法和装置
CN105335127A (zh) Gpdsp中支持浮点除法的标量运算单元结构
US20160098249A1 (en) Decimal and binary floating point arithmetic calculations
CN104679720A (zh) 一种实现fft的运算方法
CN103984521A (zh) Gpdsp中simd结构浮点除法的实现方法及装置
CN104679719A (zh) 一种基于fpga的浮点运算方法
Sunesh et al. Design and implementation of fast floating point multiplier unit
Malík High throughput floating point exponential function implemented in FPGA
CN103176948B (zh) 一种低成本的单精度初等函数运算加速器
CN104679721A (zh) 一种fft处理器的运算方法
Popoff et al. High-efficiency logarithmic number unit design based on an improved cotransformation scheme
Gök et al. Multi-functional floating-point MAF designs with dot product support
Buddhe et al. Design and verification of dadda algorithm based binary floating point multiplier
CN102109973A (zh) 包含超越函数计算的处理器实现装置
Lastras et al. A logarithmic approach to energy-efficient GPU arithmetic for mobile devices
CN104238992A (zh) 一种高性能非精确浮点加法器及其应用方法
Gollamudi et al. Design Of High Performance IEEE-754 Single Precision (32 bit) Floating Point Adder Using VHDL

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130605