高性能浮点三角函数运算部件的设计与验证
发布时间:2017-03-21 19:15
本文关键词:高性能浮点三角函数运算部件的设计与验证,由笔耕文化传播整理发布。
【摘要】:在通信、网络、实时测量与控制等领域,研究人员提出了许多信号处理算法,在其几何运算框架结构中需要处理三角函数等基本函数的运算问题。在工程应用的场合,浮点三角函数运算非常广泛。高性能浮点三角函数的设计与实现在工程应用中具有重大意义。本文对浮点三角函数运算的方法理论进行了研究,基于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位浮点单精度数据。
【关键词】:高性能 浮点 三角函数运算 BKM算法 查表法 执行框架
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP332
【目录】:
- 摘要8-10
- ABSTRACT10-12
- 第一章 绪论12-16
- 1.1 研究背景与意义12-13
- 1.2 浮点运算部件的发展13-14
- 1.3 论文研究内容14
- 1.4 论文的组织结构14-16
- 第二章 三角函数算法理论研究16-27
- 2.1 三角函数算法16-23
- 2.1.1 查表法16
- 2.1.2 泰勒多项式级数逼近算法16-17
- 2.1.3 CORDIC算法17-20
- 2.1.4 BKM算法20-23
- 2.2 三角函数算法比较23-26
- 2.2.1 算法精度24
- 2.2.2 算法复杂度24-25
- 2.2.3 算法速度25-26
- 2.3 本章小结26-27
- 第三章 BKM算法执行框架设计27-37
- 3.1 BKM算法的研究27-32
- 3.1.1 BKM算法执行流程28-31
- 3.1.2 BKM算法的常值问题31-32
- 3.2 BKM算法执行框架32-36
- 3.2.1 串行BKM框架33-34
- 3.2.2 并行BKM框架34-36
- 3.3 本章小结36-37
- 第四章 浮点三角函数运算部件设计37-50
- 4.1 浮点三角函数运算部件的总体结构设计37-39
- 4.1.1 浮点三角函数运算部件总体结构37-38
- 4.1.2 浮点三角函数运算部件端口描述38-39
- 4.2 整体流水设计39-43
- 4.3 前处理单元设计43
- 4.4 核心处理单元设计43-47
- 4.5 后处理单元设计47-49
- 4.6 本章小结49-50
- 第五章 浮点三角函数运算部件功能验证50-58
- 5.1 浮点三角函数运算部件验证方法50-51
- 5.2 模块级验证51-53
- 5.3 功能部件级验证53-57
- 5.3.1 验证环境搭建53-54
- 5.3.2 大量随机测试54-57
- 5.4 本章小结57-58
- 第六章 结束语58-60
- 6.1 工作总结58
- 6.2 工作展望58-60
- 致谢60-61
- 参考文献61-65
- 作者在学期间取得的学术成果65-66
- 附录A 自然对数与反正切常数值表66-70
【相似文献】
中国期刊全文数据库 前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 周东方;高性能浮点三角函数运算部件的设计与验证[D];国防科学技术大学;2015年
2 陈建梅;基于90nm工艺的整数运算部件设计与优化[D];国防科学技术大学;2009年
3 梅家祥;64位流核心运算部件的设计与实现[D];国防科学技术大学;2012年
4 徐慧;高性能DSP运算部件全定制设计优化研究[D];国防科学技术大学;2004年
5 闫战磊;X-DSP向量运算部件的物理设计与优化[D];国防科学技术大学;2014年
6 任秀江;GHz级64位整数算术逻辑运算部件优化设计[D];国防科学技术大学;2008年
7 罗飞;“银河飞腾”DSP乘法部件及算术逻辑运算部件的设计[D];国防科学技术大学;2006年
本文关键词:高性能浮点三角函数运算部件的设计与验证,由笔耕文化传播整理发布。
,本文编号:260179
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/260179.html