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