基于DSP+FPGA協(xié)處理架構(gòu)的無線子系統(tǒng)設(shè)計(jì)
您可以顯著提高無線系統(tǒng)中信號處理功能的性能。怎樣提高呢?有效方法是利用FPGA結(jié)構(gòu)的靈活性和目前受益于并行處理的FPGA架構(gòu)中的嵌入式DSP模塊。
常見于無線應(yīng)用中這類處理包括有限沖激響應(yīng)(FIR)濾波、快速傅里葉變換(FFT)、數(shù)字上下變頻和前向誤差校正(FEC)。Xilinx? Virtex-4和Virtex-5架構(gòu)提供多達(dá)512個(gè)并行嵌入式DSP乘法器,這些乘法器的工作頻率高于500MHz,最高可提供256 GMAC的DSP性能。
將需要高速并行處理的工作卸載給FPGA,而將需要高速串行處理的工作留給處理器,這樣即可在降低系統(tǒng)要求的同時(shí)優(yōu)化整體系統(tǒng)的性價(jià)比。
子系統(tǒng)劃分選擇方案
FPGA可與DSP處理器一起使用,作為獨(dú)立的預(yù)處理器(有時(shí)是后處理器)器件,或者作為協(xié)處理器。在預(yù)處理架構(gòu)中,F(xiàn)PGA直接位于數(shù)據(jù)通路中負(fù)責(zé)信號預(yù)處理,預(yù)處理后的信號可以高效又經(jīng)濟(jì)地移交給DSP處理器進(jìn)行速率較低的后續(xù)處理。
在協(xié)處理架構(gòu)中,F(xiàn)PGA與DSP并列而置,后者將特定算法函數(shù)卸載給FPGA,以便實(shí)現(xiàn)比單獨(dú)采用DSP處理器能達(dá)到的速度更高的處理速度。FPGA的處理結(jié)果傳回DSP,或者送至其他器件進(jìn)一步進(jìn)行處理、傳輸或存儲(圖1)。
選擇預(yù)處理、后處理還是協(xié)處理,常常取決于在處理器和FPGA之間移動數(shù)據(jù)所需的時(shí)序余量及其對整體延遲的影響。雖然協(xié)處理解決方案是設(shè)計(jì)人員最??紤]的拓?fù)浣Y(jié)構(gòu)(主要是因?yàn)镈SP可以更直接地控制數(shù)據(jù)移交過程),但這并不一定總是最佳的總體策略。
例如,最新的3G LTE規(guī)范將傳輸時(shí)間間隔(TTI)從HSDPA的2ms和WCDMA的10ms縮短到了1ms。這實(shí)質(zhì)上是要求從接收器一直到MAC層輸出之間的數(shù)據(jù)處理時(shí)間短于1,000?sec。
圖1:FPGA 用作預(yù)處理器和協(xié)處理器的解決方案
如圖2所示,在運(yùn)行速度為3.125Gbps的DSP上使用SRIO端口(使用8b/10b編碼,Turbo解碼功能需要200比特的額外開銷)會造成230?sec的DSP到FPGA傳輸延遲(也就是說TTI時(shí)段中有將近四分之一僅用來傳輸數(shù)據(jù))。加之其他可預(yù)見的延遲,為滿足這些系統(tǒng)時(shí)序,當(dāng)用戶為50個(gè)時(shí),所需的Turbo編解碼器性能就是高達(dá)75.8Mbps。
圖2:協(xié)處理數(shù)據(jù)傳輸延遲問題的 LTE 示例
使用FPGA將Turbo編解碼器作為基本上獨(dú)立的后處理器來處理,不僅可消除DSP延遲,還能節(jié)省時(shí)間,因?yàn)椴恍枰愿邘捲贒SP和FPGA之間傳輸數(shù)據(jù)。這樣做可將Turbo解碼器的吞吐量降至47Mbps,因而可選用更多比較經(jīng)濟(jì)的器件,并且可以減少系統(tǒng)功耗。
另一項(xiàng)考慮是在XilinxFPGA上是否使用軟嵌入式或硬嵌入式處理器IP來卸載某些系統(tǒng)處理任務(wù),進(jìn)而可能進(jìn)一步減少成本、功耗和占用空間。有了如此大量的信號處理資源,就可以在DSP處理器、FPGA可配置邏輯塊(CLB)、嵌入式FPGA DSP模塊和FPGA嵌入式處理器之間更好地分配各種復(fù)雜功能(如基帶處理中的復(fù)雜功能)。Xilinx提供了兩種類型的嵌入式處理器:MicroBlaze軟核處理器(常用于系統(tǒng)控制)和性能更高的PowerPC硬核嵌入式處理器(用于更復(fù)雜的任務(wù))。
FPGA嵌入式處理器提供的有利條件允許將所有非關(guān)鍵性操作都合并到在嵌入式處理器上運(yùn)行的軟件中,從而盡量減少整體系統(tǒng)所需的硬件資源總量。
軟件和IP的重要性
關(guān)鍵問題是如何將這種潛在能力全部釋放出來。必須考慮需要用哪些軟件對問題的復(fù)雜性進(jìn)行抽象以及可以使用哪些IP,應(yīng)該考慮利用FPGA為關(guān)鍵部分提供最佳解決方案。
Xilinx致力于開發(fā)行業(yè)領(lǐng)先的工具和體系,能夠在比HDL工具(如MATLAB模型和C代碼)所能提供的更高的抽象層上實(shí)現(xiàn)高效的FPGA解決方案。利用Xilinx專門用于DSP的系統(tǒng)生成開發(fā)工具和AccelDSP綜合工具,可以盡可能無縫實(shí)現(xiàn)從算法到硅片的鏈接。
目前有一個(gè)日益重要的工具提供商團(tuán)隊(duì),其產(chǎn)品通過C/C++到邏輯門的設(shè)計(jì)流程把開發(fā)提升到電子系統(tǒng)級(ESL)。ESL設(shè)計(jì)工具的目的是提供一種完備的系統(tǒng)級方法,以便生成和集成硬件加速功能以及控制這些功能的處理器的控制代碼。
沒有哪一種高級語言或軟件工具能適合當(dāng)今復(fù)雜系統(tǒng)中所見的所有不同單元。語言和設(shè)計(jì)流程的選擇取決于客戶,有時(shí)取決于具體的工程師。因此,Xilinx開發(fā)了一套齊全的集成功能,以滿足客戶需求并提供最佳設(shè)計(jì)環(huán)境(見圖3)。
圖3:系統(tǒng)級到 FPGA 設(shè)計(jì)流程
本文小結(jié)
另外,Xilinx正在斥巨資提供一套功能廣泛的高價(jià)值IP、電路板和參考設(shè)計(jì),以涵蓋射頻卡和基帶應(yīng)用中的許多關(guān)鍵部分,其中包括FFT/iFFT、調(diào)制、數(shù)字上下變頻和波峰系數(shù)的降低電路等。
這一重點(diǎn)舉措的一個(gè)例子是開發(fā)針對特定無線標(biāo)準(zhǔn)和FPGA架構(gòu)優(yōu)化的行業(yè)領(lǐng)先的高性能FEC功能,如Turbo編碼器和解碼器。正如我們在分析3GLTE延遲和Turbo解碼器流量要求時(shí)所示,F(xiàn)EC功能的硬件加速及其對系統(tǒng)架構(gòu)的作用在現(xiàn)代無線設(shè)備設(shè)計(jì)中是日漸緊要的當(dāng)務(wù)之需。
雖然一些專家級DSP處理器陸續(xù)以嵌入式模塊的形式集成這類功能,但是,從制訂出符合新無線標(biāo)準(zhǔn)的FEC功能參數(shù)到形成嵌入式加速模塊出現(xiàn)在硅片中,通常需要好幾個(gè)月。一旦實(shí)現(xiàn)了嵌入,也還會有遺留的難題,偶爾還會有嵌入式模塊中的功能并非都能按要求工作的局面出現(xiàn)。同時(shí),標(biāo)準(zhǔn)演化迅速,現(xiàn)標(biāo)準(zhǔn)中不時(shí)納入一些固定嵌入式模塊不能支持的新要求。
評論