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