收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

高性能浮点三角函数运算部件的设计与验证

周东方  
【摘要】:在通信、网络、实时测量与控制等领域,研究人员提出了许多信号处理算法,在其几何运算框架结构中需要处理三角函数等基本函数的运算问题。在工程应用的场合,浮点三角函数运算非常广泛。高性能浮点三角函数的设计与实现在工程应用中具有重大意义。本文对浮点三角函数运算的方法理论进行了研究,基于BKM算法设计并实现了一个浮点三角函数运算部件。文章的主要研究工作内容及成果包括以下几点:1.基于BKM算法,提出了串行和并行两种BKM执行框架,用于浮点三角函数运算部件的核心功能实现。通过对比分析包括CORDIC算法在内的多种实现三角函数算法性能,本文选择了算法性能更好的BKM算法来实现浮点三角函数运算功能。在对BKM算法计算三角函数的流程及计算流程中需要处理常值问题的研究基础上,设计了融合查表法的串行和并行BKM执行框架。串行BKM执行框架的特点是各次迭代运算循环使用同一套硬件资源迭代计算三角函数,这一套迭代硬件资源主要包括加法器、移位器。这种串行执行框架是以时间换取空间的方式节省了硬件消耗;并行BKM执行框架的特点是各次迭代运算使用各自不同的迭代运算硬件资源在同一时钟周期并行执行,这种并行执行框架是以空间换取时间的方式节省了硬件计算时间。2.基于BKM算法执行框架,设计并使用Verilog硬件描述语言实现了浮点三角函数运算部件。该部件采用10级流水线结构,包括前处理单元、核心处理单元和后处理单元三大部分。前处理单元主要完成输入弧度值数据由十进制至十六进制的数据格式转换,弧度值异常的检测,算法初始输入值设定以及输入弧度值预处理的工作。核心处理单元主要采用串并行BKM执行框架完成三角函数的迭代运算工作,它还完成溢出异常检测功能。核心处理单元的核心迭代运算功能采用这两种执行框架既可以加快迭代运算速度又可以减少硬件资源大量消耗。后处理单元主要完成三角函数运算结果输出和报出异常处理结果的工作。并对由这三部分组成的整体部件进行10级全流水设计,对流水的关键路径进行了分析研究并对流水各站逻辑进行了划分。最后使用Verilog硬件描述语言完成了浮点三角函数运算部件的代码编写工作。3.构建功能验证环境,采用定向测试和随机测试的方法分层次地对所设计三角函数运算部件进行了功能验证。使用模拟验证技术构建验证环境对组成三角函数运算部件的底层模块进行了模块级功能验证,然后将底层模块整合到整体功能部件中,构建模拟功能验证环境对其进行了功能部件级功能验证。为了使得验证尽量完备,在层次化功能验证过程中使用了手工生成激励的定向测试和随机测试的方法。设计通过了定向测试激励和包括算法收敛合法和收敛区间外的弧度值激励、特殊弧度值激励等在内的大量随机测试激励的验证。实验结果表明设计功能正确。每拍输入一个弧度值其中第一个输入弧度值经过10拍运算得到输出结果,然后每拍流出一个64位浮点双精度三角函数运算结果。目前,为实现浮点三角函数运算功能大多数研究者采用的是CORDIC算法,他们使用流水线结构实现CORDIC算法三角函数运算功能,流水级数一般大于10级,有的采用的是23级流水结构,并且多数实现的浮点三角函数部件用来处理32位浮点单精度数据。


知网文化
【相似文献】
中国期刊全文数据库 前5条
1 周旭;基于模块的运算部件模拟验证研究与实现[J];计算机工程;2003年06期
2 ;HSALU高速运算部件简介[J];信号处理;1985年04期
3 刘玉兰;;GF-10-12高速多功能运算部件微码控制器[J];计算机研究与发展;1990年03期
4 QQ糖;Frame;;新年“芯”遐想——探寻多核心CPU进化与发展[J];大众硬件;2008年01期
5 ;[J];;年期
中国硕士学位论文全文数据库 前7条
1 闫战磊;X-DSP向量运算部件的物理设计与优化[D];国防科学技术大学;2014年
2 周东方;高性能浮点三角函数运算部件的设计与验证[D];国防科学技术大学;2015年
3 陈建梅;基于90nm工艺的整数运算部件设计与优化[D];国防科学技术大学;2009年
4 梅家祥;64位流核心运算部件的设计与实现[D];国防科学技术大学;2012年
5 徐慧;高性能DSP运算部件全定制设计优化研究[D];国防科学技术大学;2004年
6 任秀江;GHz级64位整数算术逻辑运算部件优化设计[D];国防科学技术大学;2008年
7 罗飞;“银河飞腾”DSP乘法部件及算术逻辑运算部件的设计[D];国防科学技术大学;2006年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978