FPGA構(gòu)建高性能DSP
在數(shù)據(jù)通信和圖像處理這樣的應(yīng)用中,需要強(qiáng)大的處理能力。當(dāng)最快的數(shù)字信號(hào)處理器(DSP)仍無法達(dá)到速度要求時(shí),唯一的選擇是增加處理器的數(shù)目,或采用客戶定制的門陣列產(chǎn)品?,F(xiàn)在,設(shè)計(jì)人員有了新的選擇,可采用現(xiàn)場(chǎng)可編程門陣列(FPGA)來快速經(jīng)濟(jì)地完成設(shè)計(jì)。采用現(xiàn)場(chǎng)可編程器件不僅縮短了產(chǎn)品上市時(shí)間,還可滿足現(xiàn)在和下一代便攜式設(shè)計(jì)所需要的成本、性能、尺寸等方面的要求,并提供系統(tǒng)級(jí)支持。
本文引用地址:http://m.butianyuan.cn/article/2930.htm幸運(yùn)的是,需要高性能DSP功能的便攜式設(shè)備設(shè)計(jì)者還有其它選擇。最近FPGA開始達(dá)到了應(yīng)用所要求的成本競(jìng)爭(zhēng)力。優(yōu)選的FPGA方案可用來處理計(jì)算量繁重的高端DSP算法,同時(shí)還可為設(shè)計(jì)提供可編程邏輯解決方案所固有的靈活性特點(diǎn),以及定制門陣列(如ASIC)解決方案所具有的高性能及集成度。
增強(qiáng)DSP處理能力的傳統(tǒng)方法是采用多個(gè)處理器。選擇此類方案的缺點(diǎn)是成本昂貴,需要眾多附加部件,并且功耗很大。此外,開發(fā)和調(diào)試多處理器軟件通常會(huì)大大延遲產(chǎn)品上市時(shí)間。
定制門陣列或標(biāo)準(zhǔn)單元方案可以提供所需的強(qiáng)大DSP處理能力,然而,這種方案是以損失靈活性為代價(jià)的,并需要相當(dāng)?shù)墓こ袒顿Y。由于他們不可重新編程,固定邏輯器件在發(fā)生錯(cuò)誤時(shí)很難補(bǔ)救,也不容易對(duì)解決方案進(jìn)行優(yōu)化。因此,定制方案的成本、風(fēng)險(xiǎn)以及所需要的開發(fā)時(shí)間,對(duì)許多應(yīng)用來說都是無法接受的。
FPGA與傳統(tǒng)邏輯電路和門陣列具有不同的結(jié)構(gòu),FPGA利用小型查找表(16×1 RAM)來實(shí)現(xiàn)組合邏輯。每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入器,觸發(fā)器再來驅(qū)動(dòng)其它邏輯,或驅(qū)動(dòng)I/O。這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)器單元加載配置數(shù)據(jù)來實(shí)現(xiàn)的。存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及模塊間或與I/O間的連接,并最終決定了FPGA實(shí)現(xiàn)的功能。FPGA的這種結(jié)構(gòu)允許無限次的重新編程。
FPGA還具有可擴(kuò)展的優(yōu)點(diǎn),FPGA本身復(fù)雜性的提高遠(yuǎn)遠(yuǎn)超過最終產(chǎn)品要求的復(fù)雜性。最新的FPGA產(chǎn)品,例如Xilinx的Virtex-E系列,提供的系統(tǒng)門密度從58000門到最高320萬門不等。最新器件的速度也大大提高。例如,1.8V Virtex-E器件比前一代產(chǎn)品快了30%,采用源同步數(shù)據(jù)傳輸結(jié)構(gòu),其I/O性能可達(dá)到622Mbps。
任何涉足便攜式產(chǎn)品設(shè)計(jì)的人,特別是通信領(lǐng)域的設(shè)計(jì)人員,都明白及時(shí)推出產(chǎn)品是產(chǎn)品設(shè)計(jì)首先要遵守的原則之一。所以能夠提供所需要的性能、達(dá)到成本要求并可以加快上市時(shí)間的器件具有重要的優(yōu)勢(shì)。
與專用集成電路(ASIC)相比,FPGA可使產(chǎn)品上市時(shí)間更快,并具有更小的風(fēng)險(xiǎn)。FPGA庫中的DSP核心不斷增加,許多現(xiàn)在就可使用。結(jié)果,設(shè)計(jì)人員可以利用比定制門陣列方案或多處理器解決方案所需要的時(shí)間短得多的時(shí)間就完成一項(xiàng)DSP設(shè)計(jì)。
加快FPGA實(shí)現(xiàn)和編程的一個(gè)方法是采用知識(shí)產(chǎn)權(quán)(IP)的模塊或核心。例如,大多數(shù)標(biāo)準(zhǔn)DSP功能都在Xilinx庫中以可參數(shù)配置的DSP核心的形式實(shí)現(xiàn)了,它們通過Xilinx公司的CORE生成器提供。包括乘法器、平方根電路、有限脈沖響應(yīng)(FIR)濾波器、梳狀濾波器、積分器、正弦/余弦表以及離散傅里葉變換(DFT)、快速傅里葉變換(FFT)和離散余弦變換(DCT)等都已包括在內(nèi)。
IP核心的使用也促進(jìn)了設(shè)計(jì)再利用,這在生產(chǎn)周期中可節(jié)約大量的時(shí)間。FPGA和ASIC制造商正密切協(xié)作,使設(shè)計(jì)再利用變得更為容易。例如,Xilinx公司的IP互聯(lián)網(wǎng)收集和封裝工具使客戶可以將他們?yōu)?/font>FPGA創(chuàng)建的IP設(shè)計(jì)收集并封裝起來,并在公司內(nèi)部或通過互聯(lián)網(wǎng)與其它設(shè)計(jì)小組共享。這樣的工具為設(shè)計(jì)人員提供了一個(gè)對(duì)可綜合的VHDL或Verilog代碼,或固定功能網(wǎng)表等進(jìn)行明確、收集和封裝并建立相關(guān)文檔的自動(dòng)化的方法。新的模塊一旦封裝好并公布出來,其它工程師就可以利用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)瀏覽器下載這些IP,并安裝到他們的Xilinx CORE生成器系統(tǒng)中去。
雖然成本曾是阻礙在大批量生產(chǎn)的產(chǎn)品中選擇FPGA的重要因素,但現(xiàn)在卻不成問題了。實(shí)際上,當(dāng)今的FPGA產(chǎn)品單位貨幣(每個(gè)美元)所買到的MAC(乘法/累加運(yùn)算)數(shù)比傳統(tǒng)的DSP處理器還要高。正如任何器件一樣,FPGA制造商也在持續(xù)尋求降低成本的方法。例如,除了高密度的Virtex系列以外,Xilinx最近還推出了低成本的Spartan-II系列FPGA產(chǎn)品,直接向固定門陣列產(chǎn)品挑戰(zhàn),對(duì)從年產(chǎn)5萬至百萬件的大批量生產(chǎn)都非常理想。例如,10萬門的Spartan-II FPGA器件售價(jià)不到10美元(在與門陣列產(chǎn)品相當(dāng)?shù)呐繒r(shí))。
與傳統(tǒng)數(shù)據(jù)處理方法不同,DSP采用了高度流水線化的并行操作。而FPGA結(jié)構(gòu)則可以做得更好,達(dá)到更高的性能。FPGA具有成千上萬的查找表和觸發(fā)器,因此FPGA平臺(tái)可以更低的成本達(dá)到比通用DSP更快的速度。例如,目前的兩百萬門FPGA可達(dá)到每秒1280億MAC的性能,比目前最快的DSP性能還要高一個(gè)量級(jí)。
對(duì)多DSP處理器解決方案,需要較大的功率才能驅(qū)動(dòng)連接多個(gè)處理器的板級(jí)連接(具有較大的容抗)。與此相對(duì)比,F(xiàn)PGA可創(chuàng)建具有定制數(shù)據(jù)通道的處理器,數(shù)據(jù)以最小的負(fù)載從一個(gè)并行操作傳送到下一個(gè)操作,并且沒有取指令的額外開銷。這種結(jié)構(gòu)使得在較低的時(shí)鐘頻率下可達(dá)到較高的性能。而功耗直接正比于電路的頻率,因此運(yùn)行于較低時(shí)鐘頻率下并行處理的FPGA方案可大大減小功耗。
雖然FPGA的“可編程”特性帶來明顯的靈活性優(yōu)勢(shì),但也需要設(shè)計(jì)編程技巧。FPGA制造商不斷改進(jìn)這一流程,開發(fā)專門的軟件,與第三方軟件供應(yīng)商建立伙伴關(guān)系,從而簡(jiǎn)化編程過程,并提供最大的靈活性。
FPGA核心與系統(tǒng)級(jí)模型工具的集成為設(shè)計(jì)人員提供了創(chuàng)建低功耗、高性能便攜式DSP應(yīng)用的簡(jiǎn)明方法。實(shí)際上,目前的便攜式系統(tǒng)設(shè)計(jì)人員可以采用自動(dòng)化的設(shè)計(jì)工具來完成系統(tǒng)設(shè)計(jì)和FPGA實(shí)施。采用與系統(tǒng)框圖類似的圖形化方法,軟件可自動(dòng)將模塊轉(zhuǎn)換成相應(yīng)的FPGA DSP核心。
為簡(jiǎn)化FPGA設(shè)計(jì)流程,設(shè)計(jì)新手和有經(jīng)驗(yàn)的設(shè)計(jì)人員可以利用像Xilinx最近推出的系統(tǒng)生成器這樣的工具,直接連接使用The Mathworks, Inc. (Natick, MA)的MATLAB和Simulink系統(tǒng)工具。設(shè)計(jì)人員采用這一解決方案可以快速建立和驗(yàn)證一個(gè)DSP系統(tǒng)。軟件自動(dòng)生成HDL表示,然后再映射成Xilinx LogicCORE構(gòu)建模塊。設(shè)計(jì)人員利用它來優(yōu)化設(shè)計(jì)、并在高性能和低芯片成本之間進(jìn)行平衡。
采用這一設(shè)計(jì)方法時(shí),設(shè)計(jì)人員可以系統(tǒng)模塊方式定義DSP算法,并驗(yàn)證算法數(shù)學(xué)上是否正確,然后利用位真值模擬方法來實(shí)施定點(diǎn)測(cè)試。在流程中的每一步,位寬度都可以優(yōu)化以與系統(tǒng)要求相匹配。然后,利用核心生成器實(shí)施系統(tǒng)級(jí)工具所指定的設(shè)計(jì)。
由于FPGA的性能和靈活性,以及新的簡(jiǎn)明的設(shè)計(jì)和實(shí)施方法,在很多新興DSP應(yīng)用領(lǐng)域,如數(shù)字通信和視頻處理,F(xiàn)PGA都成為優(yōu)選的解決方案。例如,Xilinx Virtex和Spartan-II FPGA可以用來實(shí)現(xiàn)通用移動(dòng)通信系統(tǒng)(UMTS)碼分多址(CDMA)應(yīng)用中的匹配濾波器。UMTS標(biāo)準(zhǔn)的芯片速率有8.192MHz和15.36MHz兩種選擇。通過FPGA解決方案,在未來不需要額外的資源就可以改變數(shù)據(jù)速率。
在CDMA無線通信系統(tǒng)中,所有移動(dòng)手機(jī)和所有無線基站都工作在相同的頻譜。為區(qū)分不同的呼叫,每個(gè)手機(jī)廣播一個(gè)唯一的碼序列。CDMA基站必須能夠判別這些不同的碼序列才能夠分辨出不同的傳輸呼叫進(jìn)程。這一判別是通過匹配濾波器實(shí)現(xiàn)的,匹配濾波器的輸出顯示出在輸入數(shù)據(jù)流中探測(cè)到特定的碼序列。
在CDMA數(shù)字通信接收器中,匹配濾波器作為信號(hào)處理器來計(jì)算發(fā)送信號(hào)與接收信號(hào)的相關(guān)性。FPGA都能提供良好的濾波器設(shè)計(jì),而且能完成DSP的高級(jí)數(shù)據(jù)處理功能。
充分發(fā)揮FPGA DSP核心所具有的優(yōu)點(diǎn),便攜式系統(tǒng)設(shè)計(jì)人員可大大縮短設(shè)計(jì)周期。采用FPGA技術(shù),還可以獲得高性能,滿足成本要求,并享有快速有效地對(duì)新設(shè)計(jì)進(jìn)行優(yōu)化的靈活性。■(濤譯自Portable Design,April)
評(píng)論