撥開(kāi)迷霧:FPGA用做數(shù)字信號(hào)處理應(yīng)用
在2004年加入賽靈思公司之前,與大多數(shù)人的觀點(diǎn)一樣,我也認(rèn)為FPGA“非常適用于原型設(shè)計(jì),但對(duì)于批量DSP系統(tǒng)應(yīng)用來(lái)說(shuō),成本太高,功耗太大?!蔽以瓉?lái)一直認(rèn)為,FPGA在成本和功效方面無(wú)法滿(mǎn)足今天采用DSP系統(tǒng)架構(gòu)完成的那些設(shè)計(jì)的預(yù)算要求。然而,沒(méi)過(guò)多久,我源于“DSP視角”的看法就被大大地且不可逆轉(zhuǎn)地改變了。
今天,針對(duì)DSP優(yōu)化的高性能FPGA已經(jīng)在DSP領(lǐng)域扮演著重要的角色。DSP領(lǐng)域的設(shè)計(jì)工程師逐漸發(fā)現(xiàn)他們所處的環(huán)境變化十分迅速,標(biāo)準(zhǔn)快速演化并且不斷融合,產(chǎn)品上市周期越來(lái)越短,設(shè)計(jì)工作受到經(jīng)濟(jì)和技術(shù)上的約束增多,不過(guò)設(shè)計(jì)一旦成功獲得的回報(bào)也很巨大。
由于將高性能和靈活性完美組合,F(xiàn)PGA在DSP領(lǐng)域的應(yīng)用越來(lái)越普遍。諸如通信、多媒體和國(guó)防行業(yè)等高增長(zhǎng)的市場(chǎng)都非常需要高性能的DSP技術(shù)。這些市場(chǎng)的特點(diǎn)在于始終處于連續(xù)的變化之中,有著不斷變化的標(biāo)準(zhǔn)、市場(chǎng)需求、客戶(hù)需求以及競(jìng)爭(zhēng)態(tài)勢(shì)。要跟上市場(chǎng)變化,企業(yè)就需要一種強(qiáng)大且靈活的處理器――FPGA就是一種特別適合的技術(shù)。
圖1 FPGA填補(bǔ)算法復(fù)雜性和固定架構(gòu)處理器效率造成的性能差距
將DSP性能提升到極限
推動(dòng)DSP應(yīng)用對(duì)FPGA需求的最重要因素之一就是傳統(tǒng)處理器性能增長(zhǎng)放緩。盡管在摩爾定律的推動(dòng)下,處理器的制造工藝不斷向更小節(jié)點(diǎn)發(fā)展,但僅僅簡(jiǎn)單地通過(guò)減小工藝節(jié)點(diǎn)來(lái)大幅提高DSP和GPP的性能變得越來(lái)越困難。
與此同時(shí),由于通信系統(tǒng)將數(shù)據(jù)傳輸效率不斷推向香農(nóng)定理的上限,算法的復(fù)雜性以更快的速度提高,如圖1所示。Turbo編碼和MIMO系統(tǒng)等先進(jìn)技術(shù)已經(jīng)非常接近香農(nóng)定律的理論極限,成本就是極高的計(jì)算復(fù)雜性。這就導(dǎo)致了算法性能要求和處理器性能之間的差距越來(lái)越大。因此,設(shè)計(jì)人員必須尋找新的設(shè)計(jì)解決方案(如DSP),在固定結(jié)構(gòu)處理器之外選擇FPGA。
FPGA滿(mǎn)足性能挑戰(zhàn)
FPGA 的DSP性能領(lǐng)先的關(guān)鍵是其內(nèi)在的并行機(jī)制,即其利用并行架構(gòu)實(shí)現(xiàn)DSP的功能。這一并行機(jī)制使得FPGA特別適合于完成像濾波這樣的重復(fù)性DSP任務(wù)。因此,對(duì)于高度并行執(zhí)行DSP任務(wù)來(lái)說(shuō),F(xiàn)PGA的性能遠(yuǎn)超過(guò)通用DSP處理器的串行執(zhí)行架構(gòu)。
成本和功效
當(dāng)然,性能并非一切。對(duì)幾乎所有DSP應(yīng)用來(lái)說(shuō),成本和功耗也是考慮的關(guān)鍵因素。許多設(shè)計(jì)人員仍然有這樣的錯(cuò)誤印象,認(rèn)為采用FPGA的成本要幾千美元。實(shí)際上,在摩爾定律的推動(dòng)下,F(xiàn)PGA的成本已經(jīng)大大降低。例如,2000年時(shí),百萬(wàn)系統(tǒng)門(mén)器件的成本為350美元,而采用90nm工藝后,成本還不到9美元。今天,F(xiàn)PGA產(chǎn)品已經(jīng)進(jìn)入了65nm工藝,十多種65nm 產(chǎn)品已經(jīng)上市并有幾種已經(jīng)量產(chǎn),而45nm工藝的設(shè)計(jì)工作也已在進(jìn)行中。因此,實(shí)際上FPGA現(xiàn)在已經(jīng)成為領(lǐng)先半導(dǎo)體生產(chǎn)技術(shù)的重要推動(dòng)力――FPGA成為每個(gè)新的工藝節(jié)點(diǎn)生產(chǎn)的首批器件之一。因此,F(xiàn)PGA將會(huì)繼續(xù)在摩爾定律的推動(dòng)下進(jìn)一步降低成本,提高性能。
許多設(shè)計(jì)人員還認(rèn)為FPGA是功耗大戶(hù)。實(shí)際上,F(xiàn)PGA能夠做到非常高的功效。Bob Broderson教授在其58分鐘的教學(xué)視頻中充分表明了這一點(diǎn):“利用重配置實(shí)現(xiàn)通用低功耗超級(jí)計(jì)算”。在該視頻教程中,Broderson教授利用國(guó)際半導(dǎo)體電路大會(huì)上獲得的芯片數(shù)據(jù)回顧了并行機(jī)制和功耗之間的相關(guān)性。如圖2所示,他的結(jié)論給出了明確而強(qiáng)有力的信息:FPGA同時(shí)在性能和功效方面領(lǐng)先于DSP。
圖2 FPGA的能效比通用DSP更好
近幾年來(lái),F(xiàn)PGA供應(yīng)商始終將功耗作為優(yōu)先考慮的問(wèn)題,并在65nm工藝節(jié)點(diǎn)的創(chuàng)新功耗優(yōu)化技術(shù)方面投入了大量資金。事實(shí)上,一些最新的FPGA還采用了與手機(jī)芯片一樣的制造工藝。
然而,DSP性能的范圍、功耗和成本要求非常寬泛,高性能DSP市場(chǎng)也需要一個(gè)DSP平臺(tái)系列來(lái)滿(mǎn)足如此廣泛的要求,單單靠一種器件無(wú)法滿(mǎn)足高端應(yīng)用的極高性能要求以及大批量應(yīng)用對(duì)價(jià)格和功耗的要求。
FPGA平臺(tái)多元化
幾年前,F(xiàn)PGA供應(yīng)商已經(jīng)開(kāi)始為高性能應(yīng)用提供DSP增強(qiáng)的FPGA了,賽靈思公司的Virtex-DSP系列就屬于此類(lèi)FPGA。FPGA供應(yīng)商正在推出新的低成本FPGA系列產(chǎn)品來(lái)擴(kuò)充產(chǎn)品線(xiàn)。例如,賽靈思公司剛剛推出了Spartan-DSP系列。
作為兩種產(chǎn)品組合中新增加的成員,Virtex-5 SXT和Spartan-3A DSP平臺(tái)瞄準(zhǔn)不同的應(yīng)用。Virtex-5 SXT主要集中于性能,而Spartan-3A DSP則致力于價(jià)格、性能和功耗的平衡。如圖3所示,以前DSP或高端FPGA無(wú)法滿(mǎn)足很多此類(lèi)應(yīng)用的需要,而Spartan-3A DSP這樣的新器件為DSP技術(shù)打開(kāi)了新市場(chǎng)。
前景展望
隨著FPGA供應(yīng)商對(duì)DSP應(yīng)用關(guān)注的加大,其面向DSP的產(chǎn)品已經(jīng)不僅僅是提供FPGA器件。例如,賽靈思公司于2000年啟動(dòng)了“XtremeDSP”計(jì)劃,旨在為通信、多媒體和國(guó)防行業(yè)提供應(yīng)用優(yōu)化的DSP解決方案。
DSP設(shè)計(jì)工具充分發(fā)揮FPGA威力
開(kāi)發(fā)工具格外關(guān)鍵,因此,沒(méi)有強(qiáng)大的開(kāi)發(fā)工具就無(wú)法充分發(fā)揮FPGA的潛力。對(duì)于FPGA工具和設(shè)計(jì)方法來(lái)說(shuō),需要關(guān)注三類(lèi)不同的設(shè)計(jì)人群:系統(tǒng)設(shè)計(jì)師、DSP工程師以及FPGA/硬件工程師。每一類(lèi)設(shè)計(jì)人員有不同的職責(zé)分工,這就對(duì)他們所使用的特定設(shè)計(jì)環(huán)境提出了要求。系統(tǒng)設(shè)計(jì)師必須快速確定如何在選擇的處理資源條件下最好地劃分不同的系統(tǒng)級(jí)功能。他們關(guān)注的重點(diǎn)是選擇適當(dāng)?shù)腇PGA產(chǎn)品來(lái)滿(mǎn)足產(chǎn)品性能和吞吐能力要求,同時(shí)滿(mǎn)足尺寸、成本和功耗方面的預(yù)算。 DSP工程師更關(guān)注DSP算法的創(chuàng)建和改進(jìn)。他們通常不熟悉硬件設(shè)計(jì)細(xì)節(jié),要依賴(lài)工具將細(xì)節(jié)抽象掉,這樣他們才能夠更專(zhuān)注于更高層的設(shè)計(jì)探索和驗(yàn)證。硬件工程師通常采用VHDL或Verilog來(lái)從設(shè)計(jì)中獲得最高的性能。他們通過(guò)需要在同一設(shè)計(jì)環(huán)境中與更高層功能模塊以及自己的寄存器傳輸級(jí)(RTL)設(shè)計(jì)協(xié)同工作的能力,并且可以運(yùn)行測(cè)試基準(zhǔn)進(jìn)行功能和性能驗(yàn)證。
圖3 Spartan-DSP系列了填補(bǔ)DSP和高端FPGA之間的鴻溝
現(xiàn)代FPGA設(shè)計(jì)工具可滿(mǎn)足所有三類(lèi)設(shè)計(jì)群體的要求,在單個(gè)設(shè)計(jì)環(huán)境中提供了系統(tǒng)建模、算法開(kāi)發(fā)和試驗(yàn)、測(cè)試基準(zhǔn)向量自動(dòng)生成、設(shè)計(jì)驗(yàn)證和調(diào)試、以及HDL生成和仿真等功能。無(wú)論設(shè)計(jì)人員使用C/C++、MATLAB、Simulink、HDL還是他們的任意組合,當(dāng)今的FPGA設(shè)計(jì)工具(包括EDA合作伙伴提供的第三方工具)都能夠支持他們快速高效地充分發(fā)揮FPGA的所有潛力。
評(píng)論