《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 利用并行FFT實(shí)現(xiàn)GHz級(jí)FPGA信號(hào)處理
利用并行FFT實(shí)現(xiàn)GHz級(jí)FPGA信號(hào)處理
Chris Eddington
Synopsys公司高級(jí)技術(shù)市場(chǎng)營(yíng)銷經(jīng)理
摘要: 作者:ChrisEddingtonSynopsys公司高級(jí)技術(shù)市場(chǎng)營(yíng)銷經(jīng)理chrised@synopsys.comBaijayantaRaySynopsys公司Synphony模型編譯器企業(yè)級(jí)應(yīng)用工程師baijayan@synopsys.co
Abstract:
Key words :

 

超高速快速傅里葉變換(FFT)內(nèi)核是任何實(shí)時(shí)頻譜監(jiān)測(cè)系統(tǒng)的必要組成部分。隨著各頻段無線設(shè)備數(shù)量的迅速增長(zhǎng),系統(tǒng)必須相應(yīng)加強(qiáng)對(duì)帶寬的監(jiān)測(cè)。因此,這些系統(tǒng)需要以更快的速度將時(shí)域轉(zhuǎn)換為頻域,這就要求進(jìn)行更加快速的FFT運(yùn)算。實(shí)際上,大多數(shù)現(xiàn)代監(jiān)測(cè)系統(tǒng)往往需要使用并行FFT,實(shí)現(xiàn)數(shù)倍于尖端FPGA(例如賽靈思Virtex®-7)最高時(shí)鐘頻率的采樣吞吐量,充分發(fā)揮寬帶A/D轉(zhuǎn)換器的優(yōu)勢(shì),其可輕松獲得12.5Gsps甚至更高的采樣率。[1]

 

同時(shí),隨著通信協(xié)議日益數(shù)據(jù)包化,監(jiān)測(cè)信號(hào)的占空比在不斷降低。這種情況要求大幅度降低掃描重復(fù)時(shí)間,這就需要使用低時(shí)延FFT內(nèi)核。并行FFT也能在這方面有所裨益,因?yàn)闀r(shí)延會(huì)隨著采樣率與時(shí)鐘速度之比成比例下降。

 

鑒于所有這些原因,本文將深入介紹可在運(yùn)行中配置轉(zhuǎn)換長(zhǎng)度的并行FFTPFFT)設(shè)計(jì),并說明使用并行FFT可實(shí)現(xiàn)的吞吐量和利用率。

 

FFT的硬件并行化

由于在邏輯中直接實(shí)現(xiàn)FFT較為復(fù)雜,因此大量硬件設(shè)計(jì)人員使用各個(gè)廠商提供的現(xiàn)成FFT內(nèi)核。[2]但是,大多數(shù)現(xiàn)成的FFT內(nèi)核使用“流”或者“模塊”架構(gòu),每個(gè)時(shí)鐘周期只能處理一個(gè)或者幾個(gè)采樣,這就會(huì)把吞吐量限制在FPGA或者ASIC器件所能提供的最大時(shí)鐘速度內(nèi)。PFFT能夠提供速度更快的架構(gòu)。PFFT每個(gè)時(shí)鐘周期可接受多個(gè)采樣,進(jìn)行并行處理,并在每個(gè)時(shí)鐘周期內(nèi)輸出多個(gè)采樣。這種架構(gòu)可讓吞吐量達(dá)到器件最大時(shí)鐘速度的數(shù)倍,但代價(jià)是增大了占位面積并提高了復(fù)雜性。因此,要使用PFFT必須在吞吐量和面積之間進(jìn)行權(quán)衡。典型Virtex-7 FPGA設(shè)計(jì)所需的權(quán)衡方案見圖1和表1。

Virtex-7器件上實(shí)現(xiàn)并行FFT的典型性能和面積權(quán)衡


1 - 面積的增加因硬件乘法器的使用造成。吞吐量提升與占位面積之比略高于線性關(guān)系,總體而言非常適用于將吞吐量增加至數(shù)千兆赫茲采樣率。

 

從權(quán)衡的角度,可從表中看出一些普遍特點(diǎn):

1.       隨著并行吞吐量的增加,乘法器(面積)的使用也在增加,但增加的速度稍低(好于線性關(guān)系)。

2.       隨著并行量的增加,系統(tǒng)時(shí)鐘速度和時(shí)序收斂速度的下降會(huì)導(dǎo)致吞吐量的提升低于線性關(guān)系。不過在現(xiàn)代FPGA上這種劣化現(xiàn)象正在減輕。

3.       鑒于上述兩個(gè)原因,吞吐量增長(zhǎng)與面積增長(zhǎng)的比率總體上要高于線性關(guān)系。

4.       時(shí)延隨著并行化的增大而降低。

 

請(qǐng)注意表1中的測(cè)量值只適用于特定的對(duì)象和FFT配置。這種情況針對(duì)的是長(zhǎng)度為1024的情況,且具有16位輸入、動(dòng)態(tài)長(zhǎng)度可編程(最小可編程長(zhǎng)度為4)和流控制。流控制對(duì)頻譜監(jiān)測(cè)這樣的應(yīng)用而言非常重要,因?yàn)?,這類應(yīng)用往往需要在進(jìn)行采集等其它操作時(shí),使用旁通道信息來改變FFT大小(以改變分辨帶寬)或暫停FFT的運(yùn)行。從理論上說,您可以通過在轉(zhuǎn)換操作前插入緩存的方式來實(shí)現(xiàn)流控制。但是對(duì)于頻譜監(jiān)測(cè)這樣的采集驅(qū)動(dòng)型操作而言,難以提前計(jì)算出所需要的緩存大小,這樣就必須采用容量大、速度快的高成本內(nèi)存條。

 

實(shí)現(xiàn)架構(gòu)

雖然實(shí)現(xiàn)FFT的方法多種多樣,但并行版本的Radix2多路徑延遲換向器內(nèi)核(Radix2-MDC[3] 作為一個(gè)模塊化方案在這里非常適用,可用于創(chuàng)建在先進(jìn)FPGA器件中具有良好擴(kuò)展能力的可配置并行FFT內(nèi)核。Radix2-MDC是一種用于創(chuàng)建各種長(zhǎng)度流水線FFT的典型方法,圖2a是長(zhǎng)度為16FFT。它將輸入序列分解為兩個(gè)并行數(shù)據(jù)流,并在數(shù)據(jù)流向前流入蝴蝶算法單元(FFT算法的一個(gè)子元)的過程中采用恰當(dāng)?shù)难舆t對(duì)數(shù)據(jù)元進(jìn)行調(diào)度,以確保數(shù)據(jù)元之間保持恰當(dāng)?shù)?ldquo;間距”。如圖2b所示,使用較寬的數(shù)據(jù)路徑和矢量運(yùn)算,Radix2-MDC的并行化就會(huì)相對(duì)容易。MDC的結(jié)構(gòu)還便于實(shí)現(xiàn)流控制和動(dòng)態(tài)長(zhǎng)度重配置,相反,單路徑延遲反饋(SDF)結(jié)構(gòu)因?yàn)榧尤肓肆骺刂疲ㄍV梗┬盘?hào),會(huì)顯著降低最大吞吐量。



1 - 并行FFT一次可處理多個(gè)采樣,使吞吐量超過目標(biāo)器件可實(shí)現(xiàn)的系統(tǒng)時(shí)鐘速率??蛇x特性包括流控制、同步和動(dòng)態(tài)長(zhǎng)度可編程功能。

另一個(gè)會(huì)影響可擴(kuò)展性的因素是復(fù)雜乘法器的選擇,即選擇4乘(4M)還是3乘(3M)結(jié)構(gòu)。選擇3M復(fù)雜乘法器可以減少設(shè)計(jì)的占位面積,但代價(jià)是會(huì)降低時(shí)鐘速度。[4]這方面的權(quán)衡也主要依賴于FPGA器件的DSP硬件部分。下面是我們即將介紹的案例研究所使用的最重要的參數(shù)和選擇:

 

l  長(zhǎng)度=1024

l  輸入精度=16

l  使用45加復(fù)雜乘法器的Radix2-MDC架構(gòu)

l  數(shù)據(jù)路徑精度=每級(jí)增加1位(對(duì)1024長(zhǎng)度為10級(jí)/位)

l  包含動(dòng)態(tài)長(zhǎng)度可編程功能

l  啟用可選的流程控制和同步功能

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。