FPGA-DSP 瞄準(zhǔn)目標(biāo):用得起的 DSP 性能
FPGA-DSP性能揭秘
在無(wú)線基站等高性能 DSP 應(yīng)用中,考慮將 FPGA 用作處理引擎者日益增多。在這些應(yīng)用中,FPGA 既可與 DSP 處理器一爭(zhēng)高下,亦可與之比翼齊飛。
有了更多選擇,就意味著系統(tǒng)設(shè)計(jì)者有必要了解高端FPGA的信號(hào)處理性能,其中既包括 FPGA 之間的性能對(duì)比,也包括與高端 DSP 處理器的性能對(duì)比。遺憾的是,最常用的性能數(shù)字非但有失可靠、含混不清,而且常常是矛盾百出。
例如,因?yàn)?DSP 應(yīng)用常常在很大程度上依賴(lài)乘法累加 (MAC) 運(yùn)算,所以 DSP 處理器和 FPGA 供應(yīng)商有時(shí)用每秒MAC運(yùn)算次數(shù)的峰值作為簡(jiǎn)單度量來(lái)比較數(shù)字信號(hào)處理性能。但 MAC流量對(duì)于 FPGA 和 DSP 二者都同樣是糟糕的性能預(yù)測(cè)值。我們來(lái)分析幾個(gè)原因。
簡(jiǎn)單度量顯露缺憾
FPGA的MAC性能數(shù)字常常假設(shè)硬連線 DSP 器件是在其可能的最高時(shí)鐘速率下工作。但實(shí)際上,典型FPGA設(shè)計(jì)的工作速率都比較低。另外,使用硬連線器件并非在FPGA上執(zhí)行MAC運(yùn)算的唯一方法,您可以使用可編程邏輯資源和分布式算法獲得更大的MAC流量。與僅使用硬連線器件相比,這種方法可產(chǎn)生更高的MAC流量。
另一個(gè)考慮因素是,除了MAC運(yùn)算,典型的DSP應(yīng)用還依賴(lài)許多其他運(yùn)算方法。例如,Viterbi解碼就是在完全不使用MAC的電信應(yīng)用中使用的一種關(guān)鍵 DSP 算法。
另一種評(píng)價(jià)信號(hào)處理性能的方法是使用常用的DSP函數(shù),如FIR濾波器函數(shù)。但此方法也有缺點(diǎn)。其中一個(gè)問(wèn)題是,每個(gè)供應(yīng)商在使用這樣的函數(shù)時(shí),實(shí)現(xiàn)方法往往不同,他們可能使用不同的數(shù)據(jù)寬度、不同的算法或不同的實(shí)現(xiàn)參數(shù)(如延時(shí)參數(shù))。這意味著不同供應(yīng)商的結(jié)果通常是不可比的。
再者,較小的核函數(shù)通常對(duì)FPGA基準(zhǔn)測(cè)試無(wú)效,因?yàn)樵谕暾?FPGA 應(yīng)用中實(shí)現(xiàn)函數(shù)的方法常常與單獨(dú)實(shí)現(xiàn)該函數(shù)的方法大相徑庭。相反,對(duì)于處理器來(lái)說(shuō),這些小型基準(zhǔn)測(cè)試往往頗能預(yù)測(cè)DSP應(yīng)用的總體性能。最后,處理器或 FPGA 供應(yīng)商實(shí)施的基準(zhǔn)測(cè)試常常缺乏獨(dú)立驗(yàn)證,這使工程師們很難在器件之間做出自信的比較。
獨(dú)立基準(zhǔn)測(cè)試填補(bǔ)空白
最近,BDTI 使用 BDTI 通訊基準(zhǔn)測(cè)試 (OFDM) 對(duì)若干新型高性能 FPGA 和 DSP 處理器進(jìn)行了評(píng)價(jià),此報(bào)告結(jié)論在 DSP 系統(tǒng)設(shè)計(jì)者中引起了極大關(guān)注。該報(bào)告包括兩套基準(zhǔn)測(cè)試結(jié)果:高容量結(jié)果(為支持每芯片最大通道數(shù)而優(yōu)化)和低成本結(jié)果(針對(duì)每通道最低成本而優(yōu)化)。圖1所示為一個(gè) Xilinx Virtex-4 SX25 FPGA 和一個(gè)典型高性能 DSP 處理器的規(guī)范化低成本結(jié)果。
圖1 BDTI通訊基準(zhǔn)測(cè)試(OFDM)BDTI驗(yàn)證的性?xún)r(jià)比優(yōu)化結(jié)果
此基準(zhǔn)測(cè)試結(jié)果顯示,Virtex-4 SX25器件的成本效益比典型的高性能 DSP 處理器高出一個(gè)數(shù)量級(jí)。
當(dāng)然,僅基準(zhǔn)測(cè)試結(jié)果還不足以回答是否在新系統(tǒng)設(shè)計(jì)中使用 FPGA 或選擇哪種 FPGA 的問(wèn)題。設(shè)計(jì)者必須了解處理引擎的選擇對(duì)開(kāi)發(fā)流程、實(shí)現(xiàn)難度和系統(tǒng)設(shè)計(jì)有何影響。
Sparten-DSP:瞄準(zhǔn)用得起的DSP性能
在 DSP 市場(chǎng)中,并不總是那些最快的、最便宜的或最節(jié)能的處理器才能勝出:對(duì)于每個(gè)范疇都能應(yīng)付自如的平臺(tái),才能穩(wěn)操勝券。在高密度Virtex系列之外,Xilinx今年4月第一次推出了基于低成本系列的Spartan-3A DSP。Spartan-3A DSP實(shí)現(xiàn)了32GMAC/s、高達(dá)2200Mbps的內(nèi)存帶寬和更小的體積。對(duì)于以下種種應(yīng)用來(lái)說(shuō),充分滿足了其要求:?jiǎn)瓮ǖ牢⑽⒎涓C無(wú)線基站中的數(shù)字前端(DFE)和基帶解決方案;軍用移動(dòng)軟件定義無(wú)線電(SDR);超聲波系統(tǒng);駕駛員助手/媒體系統(tǒng);高清晰度視頻;智能IP攝像機(jī)。
Spartan-3A DSP不僅擁有高達(dá)53712個(gè)邏輯單元、2268Kb的Block RAM、373 Kb的分布式 RAM、519只I/O 引腳、安全專(zhuān)用 DeviceDNA、新開(kāi)發(fā)的休眠/懸掛式電源管理功能,提供了足夠的集成空間,使得價(jià)位/性能/功耗的比率降至更低。除此之外,還有基于 FPGA 的 DSP 解決方案所固有的優(yōu)點(diǎn):通過(guò)設(shè)計(jì)上的靈活性和更快的上市時(shí)間實(shí)現(xiàn)低風(fēng)險(xiǎn)。
針對(duì)DSP而優(yōu)化的 Spartan FPGA
Spartan-3A DSP的核心是XtremeDSP DSP48 Slice的一個(gè)修訂版本—DSP48A。DSP48 Slice最初是隨著Virtex-4 FPGA的發(fā)布而推出的,它具有“面向應(yīng)用的組合模塊”(ASMBL) 架構(gòu),能提供 Virtex DSP 器件中的 DSP 功能。這些 XtremeDSP Slice 使得設(shè)計(jì)者們能夠針對(duì)復(fù)雜的挑戰(zhàn)實(shí)施解決方案,例如:數(shù)百個(gè)IF(中頻)到基帶下變頻轉(zhuǎn)換通道,用于3G傳輸頻譜系統(tǒng)的128倍芯片速率處理和高清晰度 H.264 及 MPEG-4 編碼/解碼算法。
這種 DSP48 Slice 支持許多獨(dú)立功能,包括:乘法器、MAC、乘法器帶加法器、3輸入加法器、桶式移位器、寬總線多路復(fù)用器、量級(jí)比較器或?qū)捰?jì)數(shù)器。這種架構(gòu)也支持將多個(gè) DSP48 Slice連在一起形成寬數(shù)學(xué)函數(shù)、DSP 過(guò)濾器和復(fù)雜算術(shù)函數(shù),而無(wú)需使用總體 FPGA 架構(gòu),從而降低了功耗,同時(shí)達(dá)到高的性能和芯片使用率。
為降低成本,DSP48A Slice去掉了舍入模式、17 位移位器和 3 輸入加法器。如有需要,您可以在 FPGA 架構(gòu)中實(shí)現(xiàn)這些功能。DSP48A Slice還有兩項(xiàng)額外增強(qiáng)功能:一個(gè)獨(dú)立控制的C-port和一個(gè)預(yù)加器。獨(dú)立的C-port在實(shí)施 DSP 算法時(shí)提供了更高的靈活性。預(yù)加器則提高了普通 DSP 過(guò)濾器 和 FFT 的密度。特別值得一提的是,預(yù)加器可以用來(lái)減少所需 DSP48A Slice 的數(shù)量:對(duì)對(duì)稱(chēng) FIR 過(guò)濾器來(lái)說(shuō),可減少50%;對(duì)FFT算法,可減少25%。在Spartan-3A DSP 平臺(tái)上,優(yōu)化過(guò)的DSP48A Slice在最慢的速度級(jí)別上也達(dá)到了 250 MHz 的運(yùn)行頻率。
應(yīng)用效果
Spartan-3A DSP 器件所帶來(lái)的效率,從下例中可見(jiàn)一斑:在智能 IP 攝像機(jī)應(yīng)用中,一個(gè)單獨(dú)的XC3SD1800A器件可以代替兩個(gè)25美元的DSP處理器,它容納了處理過(guò)程中的整個(gè)視頻管道部分。25美元成本直接降低不說(shuō),用戶還可以將其余控制功能置于一個(gè)更小、更經(jīng)濟(jì)的 DSP 處理器中,于是材料費(fèi)又可降低10美元。再加上功耗、占用空間和材料單(BOM)上的節(jié)省,Spartan-DSP 對(duì)盈利性、可靠性和產(chǎn)品移植都有著直接而積極的影響。
類(lèi)似的對(duì)多流視頻服務(wù)器的研究表明:一個(gè)使用六個(gè)25美元DSP處理器的設(shè)計(jì)可縮減到使用三個(gè)25美元Spartan-3A DSP器件,成本立刻降低幾乎一半。
在有些場(chǎng)合,比如SDR在移動(dòng)防衛(wèi)通訊方面的應(yīng)用,Spartan-3A DSP可作為離散 DSP 的可重新配置協(xié)處理器使用,同時(shí)還可消除對(duì)支持多波形的雙重電路的需求。
設(shè)計(jì)工具:XtremeDSP解決方案
XtremeDSP是讓FPGA-DSP能供三類(lèi)特定的設(shè)計(jì)者群體使用:系統(tǒng)設(shè)計(jì)者、DSP工程師和FPGA/硬件工程師。每一個(gè)群體都代表著一系列的特殊責(zé)任(和偏好)。因此,XtremeDSP的關(guān)鍵是設(shè)計(jì)工具在多大程度上能適應(yīng)所有這三個(gè)群體。自從XtremeDSP計(jì)劃啟動(dòng)以來(lái),諸如SystemGenerator和AccelDSP等工具已有長(zhǎng)足發(fā)展,能提供系統(tǒng)建模、算法開(kāi)發(fā)和探索、測(cè)試平臺(tái)的自動(dòng)生成、設(shè)計(jì)驗(yàn)證和調(diào)試以及 HDL 的生成和仿真。無(wú)論您更偏好于使用VHDL、Verilog、C/C++、MATLAB、Simulink、HDL還是其任意組合, XtremeDSP 工具都能提供快速、高效的手段,讓您自如地駕馭 FPGA 的強(qiáng)大功能。
評(píng)論