利用Virtex-5SXT的高性能DSP解決方案
二十多年來,為世人提供了最靈活、適應(yīng)性極強(qiáng)、快速的設(shè)計(jì)環(huán)境。早期的DSP設(shè)計(jì)人員發(fā)現(xiàn),可將一種可再編程的門海用于數(shù)字信號(hào)處理。如果把內(nèi)置到架構(gòu)中的乘法器、加法器和累加單元結(jié)合起來,就可以利用大規(guī)模并行計(jì)算實(shí)現(xiàn)有效的算法。
在未加工頻率性能方面的損失,通過并行計(jì)算得到了彌補(bǔ),而且得遠(yuǎn)大于失,可謂“失之東隅,收之桑榆”;由此獲得的DSP帶寬完全可與替代方案媲美。隨著時(shí)間的推移,乘法器和加法器的實(shí)施越來越高效。1998年,順理成章推出了第一個(gè)集成于™-II系列產(chǎn)品中的嵌入式乘法器。®-II和-IIPro系列產(chǎn)品深得人心,推動(dòng)基于FPGA的DSP更上層樓,打破了每秒十億次MAC運(yùn)算的壁障。
在數(shù)字通訊、軍事、國防、視頻和圖像市場(chǎng)需求的助推下,進(jìn)一步做出調(diào)整,成功應(yīng)對(duì)了一系列獨(dú)特挑戰(zhàn),使極大規(guī)模并行實(shí)施方式跨上又一個(gè)新臺(tái)階。隨著乘法器和加法器性能和數(shù)量的增長,對(duì)功耗進(jìn)行管理也變得越來越困難。
Xilinx的工程師們?cè)O(shè)計(jì)出了DSP48Slice,使這一難題迎刃而解。DSP48Slice是一種超低功耗、高性能、全方位的數(shù)字信號(hào)處理元件,可方便地實(shí)現(xiàn)級(jí)聯(lián),而不占用任何FPGA架構(gòu)資源。此元件在Virtex-5器件中得到進(jìn)一步加強(qiáng),并重新命名為DSP48ESlice,能支持更高的精度、(單指令多數(shù)據(jù))操作、集成模式和邏輯單元。
對(duì)快速數(shù)據(jù)輸入和系數(shù)存儲(chǔ)器的需求促使Xilinx構(gòu)建起一個(gè)平臺(tái),其中DSP48ESlice含有率之大前所未見,并且擁有極其充裕的BlockRAM和分布式RAM。作為畫龍點(diǎn)睛之筆,Xilinx在此平臺(tái)中使用了運(yùn)行速度高達(dá)3.125Gbps的集成高速串行通道,在芯片上移入和移出數(shù)據(jù)變得更為快捷。風(fēng)云際會(huì),這些元件組合在一起,Virtex-5SXT平臺(tái)由此應(yīng)運(yùn)而生。
想要理解FPGA中數(shù)字信號(hào)處理的演變過程,必須回顧一下DSP48ESlice(見圖1),及其設(shè)計(jì)的三個(gè)主要方面。
圖1–Virtex-5FPGA中DSP48ESlice的結(jié)構(gòu)圖
*集成乘法器和第二階段。利用集成的二級(jí)加法器/減法器/累加器擴(kuò)展乘法器的運(yùn)算?,F(xiàn)在,在單獨(dú)一個(gè)DSP48ESlice中,就可以執(zhí)行最常見的DSP運(yùn)算組合了。
*緊縮實(shí)施。為了提高性能、降低功耗,各個(gè)DSP48ESlice被設(shè)計(jì)成獨(dú)立元件,然后通過接口像積木塊一樣連接到一起,而每一個(gè)DSP48ESlice都包含獨(dú)立于FPGA架構(gòu)的專用路徑和緩沖。
*全方位定制設(shè)計(jì)。Xilinx很早就確定,要實(shí)現(xiàn)高性能和低功耗,一個(gè)按照最新工藝尺寸度身打造的全方位定制設(shè)計(jì)是必不可少的。Xilinx設(shè)計(jì)團(tuán)隊(duì)與Arithmetica通力協(xié)作,將乘法器和加法器電路MathIP庫加以集成,進(jìn)一步提高了效率。
以這種設(shè)計(jì)為依托,DSP48ESlice的實(shí)施在性能和低功耗效率方面達(dá)到了前所未有的水平。Virtex-5器件中的DSP48ESlice分別以高速550MHz、中速和低速450MHz運(yùn)行。無論您單獨(dú)使用一個(gè)DSP48ESlice還是將所有640個(gè)DSP48ESlice匯集到最大的Virtex-5SXT器件中,都可以達(dá)到這一性能(使用專用的級(jí)聯(lián)邏輯實(shí)現(xiàn)每秒3520億次乘法累積運(yùn)算)。而且,實(shí)現(xiàn)這一令人嘆為觀止的性能,僅僅使用了DSP48ESlice,完全沒有消耗邏輯或FPGA路徑資源。
這種專用的級(jí)聯(lián)邏輯意味著能耗的計(jì)算是基于每一個(gè)DSP48ESlice的,也即其運(yùn)行速度和輸入的翻轉(zhuǎn)率。單個(gè)DSP48ESlice的實(shí)測(cè)典型功耗為1.38mW/。不難算出,假定Virtex-5SX95T器件中所有640個(gè)Slice均以550MHz運(yùn)行,而翻轉(zhuǎn)率為通常的38%,則所有DSP48ESlice的總體動(dòng)態(tài)功耗為4.92W。
低功耗、高性能設(shè)計(jì)技術(shù)
為了充分利用獨(dú)特的Virtex-5SXT架構(gòu)進(jìn)行數(shù)字信號(hào)處理,建議遵循如下的簡易指南:
*實(shí)施能最大化使用DSP48ESlice的算法。每一個(gè)25x18位的DSP48ESlice都等同于500個(gè)以上可編程邏輯Slice,功耗為同等邏輯實(shí)施的1/10,單獨(dú)或鏈接運(yùn)行速度高達(dá)550MHz。
*利用DSP48ESlice的所有功能。每一個(gè)DSP48ESlice都可配置成獨(dú)立的25x18乘法器,一個(gè)25x18位乘法器兼加法器/減法器/累加器,或者一個(gè)48x48位加法器或減法器。每一個(gè)DSP48ESlice都支持運(yùn)行以及對(duì)稱或收斂圓整。
*實(shí)施定點(diǎn)或浮點(diǎn)運(yùn)算。DSP48ESlice不僅對(duì)于定點(diǎn)FIR、FFT或復(fù)雜的過濾器運(yùn)算而言是理想的產(chǎn)品,25x18的輸入大小和級(jí)聯(lián)路徑還使我們可以使用兩個(gè)DSP48ESlice來實(shí)現(xiàn)高效的24x24無符號(hào)浮點(diǎn)運(yùn)算。
在數(shù)字信號(hào)應(yīng)用中使用DSP48ESlice
Virtex-5SXT平臺(tái)中DSP48ESlice、BlockRAM、邏輯和數(shù)千兆位級(jí)收發(fā)器的獨(dú)特結(jié)合,為DSP過濾器的應(yīng)用提供了高成本效益、高性能、低功耗的。為了說明這一點(diǎn),讓我們看看SX和Virtex-5SXT器件平臺(tái)中無線卡的應(yīng)用,對(duì)比一下兩種情況下的功耗差別。
WiMAX數(shù)字前端(DFE)集成了以下內(nèi)容:數(shù)字上變頻(DUC)/數(shù)字下變頻(DDC)、振幅因數(shù)縮小(CFR)和自動(dòng)增益控制(AGC)。本設(shè)計(jì)中要求的過濾功能正好與一個(gè)SX25FPGA或一個(gè)Virtex-5SX35TFPGA所能提供的DSP48ESlice相匹配。本設(shè)計(jì)運(yùn)行頻率為276MHz,消耗SX25FPGA中73%的DSP48資源(128個(gè)中的95個(gè)),或者Virtex-5SX35TFPGA中48%的DSP48E資源(196個(gè)中的95個(gè))。
盡管單看WiMAXDFE方案的表現(xiàn)和用于其實(shí)施的資源已令人驚嘆,真正堪稱一絕的還是其功耗效率。本設(shè)計(jì)主要使用DSP48或者DSP48ESlice,但也消耗BlockRAM和邏輯。表1對(duì)這些方案進(jìn)行了對(duì)比,并展示由Virtex-4到Virtex-5器件的實(shí)測(cè)功耗和降低水平。
結(jié)論
對(duì)數(shù)字信號(hào)處理的要求在不斷提高,提供可擴(kuò)展高性能DSP的呼聲日益響亮,因此,在每秒幾百GMAC甚至更高的水平上管理功耗的難題也愈見急迫。XilinxVirtex-5SXTFPGA平臺(tái)提供了獨(dú)特的單芯片,充分利用大規(guī)模并行計(jì)算達(dá)到超高性能,同時(shí)將功耗降到最低。