资源描述:
《FPGA中高速浮点运算的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第38卷第2期(总第148期)火控雷达技术Vol.38No.2(Serise148)2009年6月FireControlRadarTechnologyJune2009文章编号:100828652(2009)022048205FPGA中高速浮点运算的设计与实现钟小艳苏涛孙多(西安电子科技大学西安710071)【摘要】该文设计的适于FPGA中实现的浮点运算器,采用自定义的26位浮点数据格式,利用改进的移位结构和优化的前导0/1个数的判断,在尾数舍入中使用了适于尾数舍入的对称舍入法,优化了运算器的性能。最后给出在FPGA中的仿真结果,验证了本设计的正确性。通过与
2、26位浮点数据和32位浮点数据的常用的算法实现的浮点运算对比,发现本设计不仅节省了资源,还极大提高了浮点运算器的工作频率,工作频率达到了300MHz以上。关键词:FPGA;浮点运算;高速;对称舍入法中图分类号:TP332.2文献标识码:ADesignandImplementationofHigh2speedFloating2pointOperationsinFPGAZhongXiaoyan,SuTao,SunDuo(XidianUniversity,Xi′an710071)Abstract:Thedesignedfloating2pointcalculat
3、or,whichissuitableforimplementationinFPGAinthispaperadoptstheuser2defined262bitfloatingpointdataformattooptimizetheperformanceofthecalculatorbyusingtheimprovedshiftstructureandoptimizedjudgmentofthenumberofleading0/1,andsymmetricroundingmethodsuitableformantissaroundinginmantissar
4、ounding.Finally,simulationresultsinFPGAaregiventoprovethecorrectnessofthisdesign.Ascontrastingwiththefloatingalgorithmimplementedbyusingnormal2usedalgorithmof262bitfloatingpointdataand322bitfloatingpointdata,itisfoundthatthisdesignnotonlysavestheresource,butalsoincreasestheoperati
5、ngfrequencyofthecalculator,andtheoperatingfrequencyisupto300MHzover.Keywords:FPGA;floating2pointoperations;high2speed;symmetricroundingmethod1引言无能为力,而浮点数比定点数的表述范围宽,有效精度高,更适合科学计算与工程计算,因此需要设计一FPGA(现场可编程门阵列)技术的理论研究和种高速的浮点运算单元。实际应用越来越受到人们的重视。现今的FPGA已完全具备数据运算、信息处理、滤波计算等功能,从2浮点数据格式而将DSP
6、的专有运算能力与FPGA的高速性合到一块芯片上,以实现快速的在线开发与硬件系统小型最常用的IEEE75421985标准定义的单精度浮化,同时也使PLD的应用从原来的逻辑控制功能渐点格式:渐转向了数据运算功能,为可编程单芯片系统开创SE-127A=(-1)×F×2了一个新纪元。运算器是数字信号处理过程中的重要基本组成部分,绝大多数FPGA都使用定点数据单精度浮点格式字长32bits共分为三段:s是符格式进行运算处理,对高精度、数据范围较大的运算号位,字长1bit;e是指数域,字长8bits;f是尾数域,收稿日期:2008208215作者简介:钟小艳,女,19
7、83年生,硕士研究生。研究方向为雷达信号处理理论。第2期钟小艳等:FPGA中高速浮点运算的设计与实现49字长23bits,如图1所示。IEEE75421985标准定义浮点数的尾数为规格化数,即尾数的整数固定为1。这样23bits尾数中包含隐藏的整数位1,携带了24bits的信息。这种格式的浮点数进行乘法运算需要做24324bit的乘法。而目前的FPGA芯片中集成的乘法器均为18318bit或939bit的固定结构,则1个24324bit的乘法器需要4个18318bit组成(相当于两级18318bit乘法操作)。显然采用IEEE75421985单精度浮点格式
8、的浮点运算难以达到很高的运算速度,且需要的资源较多。图3规格化浮点