文档介绍:华中科技大学
硕士学位论文
基于浮点数的CORDIC算法的研究与设计
姓名:常艳蕊
申请学位级别:硕士
专业:软件工程
指导教师:雷鑑铭
2010-05-22
华中科技大学硕士学位论文
摘要
CORDIC 算法采用角度旋转逐次逼近的方法,将函数的运算用三种模型(圆周
模型、线性模型、双曲线模型)来实现,并把三种模型统一到一种形式中,最终把
复杂的运算转换成简单的移位和加法操作,从而适合硬件实现,克服了其他方法不
能兼顾速度、精度、简单性和高效的缺陷,因此,得到了广泛的应用。目前 CORDIC
算法被应用在数字信号处理、移动通信、图像处理、天气预报等各个领域,然而随
着其应用范围的扩大,对算法的速度和精度也提出了更高的要求。如何在保证精度
的前提下,提高速度,降低面积和功耗成为研究这一算法的关键。
本文针对以上需求对 CORDIC 算法性能进行了优化。整体上运用迭代法和查表
法相结合的方式完成函数的实现,具体设计上,由于乘法的数量较少,并且,一般
综合库都可以生成性能很好的乘法器,所以乘法采用库自动生成的乘法器。相比较
而言,加法器的运用较多,在加法器的选择过程中,对行波进位加法器,超前进位
加法器,Brent-kung 加法器,Kogge-stone 加法器,Ladner-fischer 加法器五种加法
器性能进行了比较,最终选用 32 位的超前进位加法器,利用华虹基于 TSMC-µm
工艺库,综合出来的面积是 µm2,平均功耗是 ,延时是 。
最后在以上基础上实现了全流水、部分流水和不流水三种结构,并利用 TSMC-µm
工艺库进行了综合,发现采用的流水级数越高,面积越大,但计算速度越快,吞吐
率越高。
本论首先采用 IEEE754 标准,用 Verilog HDL(Hardware Design Language,硬件
描述编程语言)对基于浮点数的 CORDIC 算法进行 RTL 级语言描述,接着运用
Debussy 对数据流和内部结构进行分析,并运用 Modelsim 仿真波形,实现了 32 位单
精度浮点数的函数运算。然后,用 matlab 仿真进行验证,并跟 Modelsim 仿真的数据
结果进行比较,证明了设计的算法达到了预期的精度(2-23)要求。最后,用综合工
具进行了综合,实现了高性能的 CORDIC 算法。
关键词:CORDIC 算法,加法器,流水线,单精度浮点数
I
华中科技大学硕士学位论文
Abstract
Angle rotation and essive approximation is used in CORDIC algorithm to
achieve functional operation with three models, . circle model, linear model and
hyperbolic model, which are integrated into a standardized form, so as to transform
complicated operation into simple shifting operation and add operation. CORDIC
algorithm is especially suitable for hardware realization, for it takes rate, precision,
simplicity and high efficiency into account, which are not owned by other algorithm. Due
to these exclusive advantages, CORDIC algorithm is widely applied in many fields. How
to improve the rate as well as reduce the area and the power dissipation with the premise
of ensuring the precision has e the key to the researches on CORDIC algorithm.
To meet the requirements above, the CORDIC algorithm is optimized in this paper.
On the whole,