基于FPGA的自然對數(shù)變換器的設(shè)計與實現(xiàn)
實現(xiàn)方法
本文引用地址:http://www.ex-cimer.com/article/86941.htm · 預(yù)處理單元
欲利用CORD IC方法求自然對數(shù),必須對輸入進行初始化,經(jīng)迭代運算后才能得到對數(shù)運算值。該對數(shù)變換器的輸入為16位數(shù),在預(yù)處理單元中將輸入分別加減一,并將位寬擴大為40位,最高位作為符號位覆值給第一次迭代的x0和y0,如圖1所示,圖中s代表符號位。擴大位寬可以提高輸出精度。
圖1初始迭代值x0,y0
· CORD IC單元
CORD IC單元是實現(xiàn)對數(shù)變換器的核心。本文利用流水線結(jié)構(gòu)實現(xiàn)CORD IC算法,其結(jié)構(gòu)如圖2所示。在設(shè)計中,采用由28級CORD IC運算單元組成的流水線結(jié)構(gòu),為擴大輸入范圍,從n=-5開始迭代,移位序列為[7,6,5,4,3,2,1,2…28]。前6級根據(jù)(3)式進行迭代,后22級根據(jù)(4)式進行迭代。經(jīng)過28級流水線運算后,y變?yōu)?,z左移一位就是要求的對數(shù)值。每一級電路結(jié)構(gòu)主要包括2個移位寄存器和3個加減法器,這些移位寄存器各自有不同的固定的移位次數(shù),加減法選擇由該級中y的最高位(符號位)決定。θn為第n次迭代的旋轉(zhuǎn)角度,并作為常數(shù)直接連到了累加器上,不需要存儲空間和讀取時間。
圖2 CORDIC流水線結(jié)構(gòu)
· 后處理單元
由CORD IC得到的z=1/2ln(t),因此將結(jié)果左移一位,并截取高16位作為最終的輸出。其中最高位為符號位,最大輸入值65535的對數(shù)值為11.0903,對應(yīng)的輸出為7FFF,其余輸出均除以對應(yīng)的值即得到相應(yīng)的對數(shù)值。
實驗結(jié)果
在Quartus II 5.1軟件環(huán)境下使用Verilog HDL語言完成了上述各算法,并在cyclone系列芯片EP1C6Q240C8上實現(xiàn)。圖3 為對數(shù)運算時序仿真圖。表1為對數(shù)運算結(jié)果與理論值的比較。
圖3對數(shù)運算時序仿真圖
由表1可看出,該對數(shù)運算器的輸出誤差為10-4數(shù)量級。由于采用流水線結(jié)構(gòu),能夠在執(zhí)行進程的同時輸入數(shù)據(jù),從而極大的提高了程序的運行效率。該設(shè)計需要30個時鐘周期獲取第一個計算結(jié)果,而只需要一個時鐘周期來獲取隨后的計算結(jié)果。利用Quartus Ⅱ5.1軟件進行時序分析,該運算器的最高頻率可達到80MHz。該運算器適用于高速大數(shù)據(jù)量的數(shù)據(jù)處理。
表1對數(shù)運算結(jié)果與理論值的比較
結(jié)語
利用對數(shù)變換可以將乘除法變換為加減法實現(xiàn),有利于乘除法在硬件中的實現(xiàn)。由于CORD IC算法完全由移位和相加運算完成,降低了復(fù)雜性,易于硬件的實現(xiàn)。筆者利用CORD IC算法在FPGA上設(shè)計了一種自然對數(shù)變換器。實現(xiàn)過程中采用流水線結(jié)構(gòu),提高了系統(tǒng)的運行效率。實驗結(jié)果表明該對數(shù)運算器的輸出誤差為10-4數(shù)量級,最高頻率可達到80MHz。該運算器適用于高速大數(shù)據(jù)量的數(shù)據(jù)處理。
參考文獻:
1. 李剛、李秋霞、林凌、李小霞等,動態(tài)光譜頻域提取的FFT變換精度分析,光譜學(xué)與光譜分析,2006,12:2177-2180
2. Bajard J C,Muller J M.BKM: A new hardware algorithm for complex elementary functions.IEEE Trans computers,1994,43(8):955-963
3. Hormigo J,Villalba J,Schulte M J.A hardware algorithm for variable precision logarithm[c]//proceedings of the IEEE inter conf on application-specific systems,architectures and processors,2000:215-224
4. Abed K H,Siferd R E. CMOS VLSI implementation of a low power logarithmic converter. IEEE Trans computers,2003,52(11):1421-1433
5. Uwe Meyer-Baese.Digital SignalProcessing with Field Programmable Gate Arrays[M].Tsinghua University Press. 2006:79-87
6. J.S.Walther. A unified algorithm for elementary functions. in proc.Spring Joint Comput.Conf.,1971:379-385
7. Chih-Hsiu Lin and An-Yeu Wu.Mixed-Scaling-Rotation CORDIC(MSR-CORDIC) Algorithm and Architecture for High-Performance Vector Rotational DSP Applications. IEEE Transactions on circuits and systems-I:REGULAR PAPERS, 2005,52(11):2385-2396
8. Xiaobo Hu,Ronald G. Harber,Expanding the range of convergence of the CORDIC algorithm. IEEE Transactions on computers, 1991,40(1):13-21
9. Altera公司,“Cyclone FPGA Family data Sheet”
評論