曹劍英 葛俊峰
摘要:本文在CORDIC算法理論的基礎上實現正切余切函數的計算,結合了圓周旋轉運算算法模式(Circular)和線性旋轉運算(Linear)算法模式,引入了M倍降速遞歸流水線技術,提高運算速度和減少系統芯片占用的邏輯資源,同時仿真了正切余切計算模塊的RTL綜合電路及Modelsim的波形,在硬件資源FPGA上實現正切余切函數的計算。
關鍵詞:算法 正切余切函數 FPGA
中圖分類號:TP322.2 文獻標識碼:A 文章編號:1007-9416(2016)08-0160-02
Abstract:Based on CORDIC tangent cotangent implementation, combined with structural Circular CORDIC algorithm and Linear CORDIC, the introduction of the M-fold deceleration recursive pipeline technology, improve processing speed and reduce system chip logic resources consumed to achieve the angle in the hardware FPGA compute the tangent cotangent function.
Key Words:algorithm; tangent cotangent function; FPGA
1 CORDIC算法
CORDIC算法是坐標旋轉的方法,假設初始坐標為,旋轉角度后,得到終點坐標為,如圖1所示。由三角函數可知,得如下公式:
表示迭代(),由,分別稱為圓周旋轉運算、雙曲旋轉運算和線性旋轉運算,然后根據取值的判讀方式,CORDIC算法結構可分為旋轉模式和向量模式。當m取不同的值時,即可得到三種不同計算方式,并在各種計算方式下通過多次迭代,三角函數、實現乘法、除法、指數、雙曲函數、開方及對數等運算。
2 Cordic算法正切余切函數的模塊設計
2.1 系統設計
系統采用圓周Cordic與線性Cordic相結合的方式實現正、余切的運算,如圖2所示。
2.2 算法結構及RTL綜合電路(圖3)
3 仿真驗證
對整個TanCtgCalcuSys系統模塊選用了Xilinx Virtex-4的器件。各個計算模塊能夠較為精確地獲得角度的正切余切計算結果。圖4是Modelsim上的仿真波形。
圖5描繪了內,從理論值與計算結果的對比曲線可知,理論值和仿真結果是非常的接近。
4 硬件實現
通過上述在綜合軟件上的對比分析,將子模塊內部在FPGA上仿真驗證。下面是子模塊Verilog HDL主要代碼。
參考文獻
[1]孔德元.針對正弦余弦計算的CORDIC算法優化及其FPGA實現[D].中南大學碩士論文,2008.P.1-P.3.
[2]Xiaobo Hu, Ronald G. Harber, and Steven C. Bass, Expanding the Range of Convergence of the CORDIC Algorithm, IEEE Trans. on Computers,[J].vol.40, no.1, 1991 .Jan.P. 13-P.21.
[3]曹劍英.M倍降速遞歸流水線技術實現正切余切函數[J].通信技術,2013.05.