基于FPGA的可配置FFT_IFFT處理器的設(shè)計(jì)與實(shí)現(xiàn)
2.4 乒乓RAM設(shè)計(jì)
為了滿(mǎn)足無(wú)線(xiàn)移動(dòng)通信要求,實(shí)現(xiàn)對(duì)連續(xù)數(shù)據(jù)流和突發(fā)數(shù)據(jù)流的處理,本文設(shè)計(jì)的FFT/IFFT處理器采用了輸入、輸出雙乒乓結(jié)構(gòu),保證了系統(tǒng)高吞吐率的要求。設(shè)計(jì)共使用4組RAM(RAM0~RAM3),每組RAM劃分為4塊存儲(chǔ)器。輸入數(shù)據(jù)寫(xiě)入RAM0組中的4塊存儲(chǔ)器,寫(xiě)完后開(kāi)始寫(xiě)入RAM1,與此同時(shí),從RAM0組中讀出數(shù)據(jù)送入蝶形單元進(jìn)行計(jì)算,其結(jié)果按照同址計(jì)算規(guī)則寫(xiě)回相應(yīng)的地址,直到M級(jí)蝶形運(yùn)算完成后,最終的計(jì)算結(jié)果寫(xiě)入RAM2。RAM2寫(xiě)滿(mǎn)后,即可從RAM2讀出計(jì)算結(jié)果,同時(shí)RAM1組中的數(shù)據(jù)將被讀出送入蝶形單元進(jìn)行運(yùn)算,其運(yùn)算結(jié)果按照同址運(yùn)算規(guī)律送回RAM1存儲(chǔ),M級(jí)蝶形運(yùn)算完成后,最終結(jié)果寫(xiě)入RAM3組,RAM3寫(xiě)滿(mǎn)后即可從中讀出運(yùn)算結(jié)果。
2.5 無(wú)沖突并行地址設(shè)計(jì)[4]
4路并行數(shù)據(jù)處理結(jié)構(gòu)需要保證每次讀取的一組數(shù)據(jù)分別存儲(chǔ)在不同的RAM中,否則在數(shù)據(jù)讀取時(shí)會(huì)產(chǎn)生地址沖突[5]。本設(shè)計(jì)中RAM地址采用二維地址,其中地址x表示每塊RAM中數(shù)據(jù)地址,y表示數(shù)據(jù)來(lái)自RAM塊的標(biāo)號(hào)。
3 FPGA實(shí)現(xiàn)及測(cè)試分析
本文FFT/IFFT處理器采用Verilg硬件語(yǔ)言描述,在Mentor公司的Modelsim仿真平臺(tái)上進(jìn)行了RTL功能仿真及時(shí)序仿真,其結(jié)果與Matlab仿真結(jié)果進(jìn)行比較顯示正確。處理器采用了Xilinx 公司Virtex-Ⅱ xc22v500 芯片進(jìn)行了驗(yàn)證,在SMIC COMS 0.18 ?滋m工藝下對(duì)設(shè)計(jì)的處理器進(jìn)行了綜合仿真。結(jié)果顯示:完成64點(diǎn)16 bit符號(hào)數(shù)復(fù)數(shù)FFT運(yùn)算只需要50個(gè)時(shí)鐘周期,完成256點(diǎn)FFT運(yùn)算需要256個(gè)時(shí)鐘周期,最大時(shí)鐘頻率可以達(dá)到167 MHz,處理器的單元核心面積為1.4 mm2。設(shè)計(jì)完全滿(mǎn)足了無(wú)線(xiàn)移動(dòng)手持終端設(shè)備高速小面積的設(shè)計(jì)要求。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論