Skip to main content
QUICK REVIEW

[论文解读] An efficient mathematically correct scale free CORDIC

Yassine Hachaı̈chi, Younes Lahbib|arXiv (Cornell University)|Jun 8, 2016
Numerical Methods and Algorithms参考文献 4被引用 6
一句话总结

本文提出了一种高效且数学上正确的无尺度 CORDIC 算法,通过在每一步选择最接近的基本旋转角来减少迭代次数,并利用校正后的泰勒级数近似提高精度。该方法在 FPGA 上仅用 4 次迭代即可实现高精度的正弦和余弦计算,尽管初始实现中由于设计选择导致资源使用量较高,但在速度和面积效率方面仍优于传统 CORDIC。

ABSTRACT

In order to approximate transandental functions, several algorithms were proposed.Historically, polynomial interpolation, infinite series, $\cdots$ and other$+, imes, -$ and $/$ based algorithms were studied for this purpose.The CORDIC (COordinate Rotation DIgital Computer)introduced by Jack E. Volder in 1959, and generalized by J. S. Walther a few years later, is a hardware based algorithmfor the approximation of trigonometric, hyperbolic andlogarithmic functions.As a consequence, CORDIC is used for applications indiverse areas such as signal and image processing.For these reasons, several modified versions were proposed.In this article, we present anoverview of the CORDIC algorithm for the computation of the circular functions, essentially the scaling free version,and we will give a substential improvement to the commonly used one.

研究动机与目标

  • 通过在每一步动态选择最接近的基本旋转角,减少 CORDIC 中的迭代次数,从而提升收敛速度。
  • 校正无尺度 CORDIC 中使用的多项式近似,确保数学正确性并提升精度。
  • 在 FPGA 上实现并评估迭代型与流水线型 CORDIC 架构,与传统设计进行性能对比。
  • 证明所提方法在显著减少迭代次数的同时,可实现与经典 CORDIC 相当或更优的精度。
  • 分析硬件资源使用情况,并在行为级 VHDL 综合中识别优化机会,为未来改进提供依据。

提出的方法

  • 该算法使用动态索引预测器,在每一步选择最优的基本旋转角(arctan(2^(-k))),以最小化残余角度误差。
  • 将传统固定角度序列替换为可变角度选择策略,以加速收敛并减少迭代次数。
  • 在无尺度 CORDIC 的复合函数中应用校正后的泰勒级数近似,以确保数学准确性并加快收敛速度。
  • 迭代架构使用 32 位补码信号和移位-累加操作实现,控制逻辑用于符号和索引选择。
  • 流水线架构仅包含 3–4 个阶段,与输入字长无关,相比传统 32 级流水线,可实现更高吞吐量和更低延迟。
  • 设计在 Nexys3 Spartan-6 FPGA 上综合,初始实现采用行为级 VHDL 以评估性能与资源使用情况。

实验结果

研究问题

  • RQ1能否通过在每一步动态选择最接近的基本旋转角,将 CORDIC 的迭代次数最小化?
  • RQ2在无尺度 CORDIC 中使用校正后的泰勒级数近似是否能在不增加计算复杂度的前提下提升精度?
  • RQ3在 FPGA 上实现时,所提 CORDIC 架构与传统 CORDIC 在面积、功耗和频率方面相比如何?
  • RQ4行为级 VHDL 综合对 CORDIC 实现中的资源利用率和性能有何影响?
  • RQ5仅含 3–4 个阶段的流水线 CORDIC 是否能实现与 32 级传统流水线设计相当或更优的性能?

主要发现

  • 所提算法在仅 4 次迭代内即可达到与传统 CORDIC 相同的精度(误差 ~10⁻³),显著提升了收敛速度。
  • 与 16 位传统流水线设计相比,所提流水线架构的面积使用减少近 50%(4180 slices vs. 8200 slices),功耗降低(180 mW vs. 300 mW)。
  • 所提流水线设计的频率(55 MHz)高于传统 16 位版本(45 MHz),表明吞吐量得到提升。
  • 迭代架构的功耗为 100 mW,频率为 85.05 MHz,但索引预测器和移位处理器模块分别占 20 mW 和 540 slices,表明存在优化空间。
  • 初始实现中性能下降的主要原因在于行为级 VHDL 综合,其导致 LUT 使用量和逻辑复杂度增加,表明在 RTL 级别进行优化可显著减少资源使用。
  • 理论分析与仿真结果证实,校正后的泰勒级数近似满足精度要求,并支持比标准方法更快的计算速度。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。