可編程邏輯器件FPGA(現(xiàn)場(chǎng)可編程門陣列)和CPLD(復(fù)雜可編程邏輯器件)越來(lái)越多的應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域,與傳統(tǒng)的ASIC(專用集成電路)和DSP(數(shù)字信號(hào)處理器)相比,基于FPGA和CPLD實(shí)現(xiàn)的數(shù)字信號(hào)處理系統(tǒng)具有更高的實(shí)時(shí)性和可嵌入性,能夠方便地實(shí)現(xiàn)系統(tǒng)的集成與功能擴(kuò)展。 FFT的硬件結(jié)構(gòu)主要包括蝶形處理器、存儲(chǔ)單元、地址生成單元與控制單元。本文提出的算法在蝶形處理器內(nèi)引入流水線結(jié)構(gòu),提高了FFT的運(yùn)算速度。同時(shí),流水線寄存器能夠寄存蝶形運(yùn)算中的公共項(xiàng),這樣在設(shè)計(jì)蝶形處理器時(shí)只用到了一個(gè)乘法器和兩個(gè)加法器,降低了硬件電路的復(fù)雜度。 為了進(jìn)一步提高FFT的運(yùn)算速度,本文在深入研究各種乘法器算法的基礎(chǔ)上,為蝶形處理器設(shè)計(jì)了一個(gè)并行乘法器。在實(shí)現(xiàn)該乘法器時(shí),本文采用改進(jìn)的布斯算法,用以減少部分積的個(gè)數(shù)。同時(shí),使用華萊士樹(shù)結(jié)構(gòu)和4-2壓縮器對(duì)部分積并行相加。 本文以32點(diǎn)復(fù)數(shù)FFT為例進(jìn)行設(shè)計(jì)與邏輯綜合。通過(guò)設(shè)計(jì)相應(yīng)的存儲(chǔ)單元,地址生成單元和控制單元完成FFT電路。電路的仿真結(jié)果與軟件計(jì)算結(jié)果相符,證明了本文所提出的算法的正確性。 另外,本文還對(duì)設(shè)計(jì)結(jié)果提出了進(jìn)一步的改進(jìn)方案,在乘法器內(nèi)加入一級(jí)流水線寄存器,使FFT的速度能夠提高到當(dāng)前速度的兩倍,這在實(shí)時(shí)性要求較高的場(chǎng)合具有極高的實(shí)用價(jià)值。
標(biāo)簽:
FPGA
CPLD
FFT
算法
上傳時(shí)間:
2013-07-18
上傳用戶:wpt