论文部分内容阅读
随着大规模集成电路(Very Large Scale Integrated circuits,VLSI)技术的飞速发展,经常需要用硬件快速和精确地进行三角函数值的计算。查表算法和坐标旋转算法(Coordinate Rotational Digital Computer,CORDIC)是比较常用的两种方法。查表算法运用拟合的方法能够精确快速直接的进行三角函数运算,而坐标旋转算法能够将多种难以用硬件电路直接实现的复杂的三角函数运算分解为统一的加减、移位操作,极大地降低了硬件设计的复杂性。 本文对32位定点小数分别用查表算法和简单优化过的CORDIC算法进行了硬件实现;对32位单精度浮点数用加入定点浮点转换模块的CORDIC算法进行了硬件实现。并对这些方法的优劣进行了分析和比较。 在硬件实现方面,提出了以现场可编程门阵(Field Programmable Gate Array,FPGA)为平台的硬件设计实现方案,采用Verilog硬件描述语言完成了整个系统的设计,通过了仿真与适配;详细地论述了系统总体框架及内部模块设计,介绍了查表算法的实现方式;优化的CORDIC算法实现方式;定浮点转换CORDIC算法的实现方式,成功地完成了正弦函数、余弦函数的运算。仿真结果表明在定点三角函数算法中,查表算法具有精度和资源优势,传统CORDIC算法具有速度优势。对于浮点数的三角函数运算,通过加入定点浮点转换模块,实现了32位单精度浮点数的CORDIC算法运算。 本文对CORDIC算法改进的研究成果为: (1)通过对每次旋转的角度分析,减少了反正切函数表的容量和流水线的级数,降低了系统的资源消耗; (2)减少了系统迭代时对反正切函数表的访问次数,提高了系统的运算速度; (3)简化了校正因子的运算。