论文部分内容阅读
基本函数是高性能计算、图像处理、数字信号处理等领域的常用操作,它指由有限的常数和单变量的n次方根、指数、三角及反三角等通过基本操作组合而成的函数。这些基本函数具有种类多、计算复杂、延时大且开销大的特点,尤其在高精度计算中,这些问题更加明显。由于硬件支持的基本函数比软件方法实现的基本函数在速度上占有较大优势,因此从上世纪70年代开始,人们展开了大量浮点基本函数的硬件设计研究。然而,由于基本函数实现复杂、开销大的特点,目前硬件设计仍只停留在理论研究阶段并未大规模用于实际应用中。数字迭代算法是基本函数运算的一种主要硬件实现方法,典型算法有SRT算法、CORDIC算法等,他们的实现操作简单、硬件开销小,但收敛速度慢、计算延时大。为使用数字迭代算法高效实现基本函数运算,本文在深入研究传统SRT算法和CORDIC算法的基础上,提出统一的基本函数计算模型,并通过预测机制和迭代展开的方法对传统实现进行改进,提出统一的并行加速模型,并基于此加速模型展开了如下研究:1、本文提出了基于余数和商预测的低延时并行SRT算法,并用此改进的算法设计实现了除法和开方计算单元,通过部分余数和商值预测机制、并行迭代的方法,消除上下迭代之间的数据相关,开发其并行性,大大减少计算周期,并通过交叠两个低基SRT-4迭代构成高基SRT-16,在低基算法的硬件基础上获得高基算法的计算速度,具有很大的实用性。2、本文还提出了基于旋转方向预测的CORDIC算法,并基于此改进的算法设计实现了超越函数计算单元,通过旋转方向预测、并行迭代和线性近似迭代的方法,实现快速计算,并将此并行CORDIC算法应用到蝶形运算中完成复数乘法,设计实现了高效FFT加速器结构。实验表明,本文优化的SRT算法实现除法和开方布局布线后的面积仅37795um2,功耗仅81.19mW,关键路径延时仅656ns,基于优化的CORDIC算法实现的含一个蝶形单元的FFT加速器结构完成双精度浮点计算仅需8211个REG资源,35547个LUT资源,且频率可达127MHz,两种改进的算法都具有很大的扩展性和实用意义。