FPGA與DSP協同處理系統設計之: 基于FPGA+DSP協同處理平臺的優勢和適用領域
11.1基于FPGA+DSP協同處理平臺的優勢和適用領域
11.1.1基于FPGA的信號處理系統的特點
FPGA的一個重要的應用領域就是數字信號處理,隨著FPGA密度和速度的提高,現在FPGA已經可以勝任一些原來只有專用芯片或者多DSP才能完成的計算任務。
本文引用地址:http://www.j9360.com/article/201706/348800.htm1.基于FPGA的信號處理系統的優點
首先,FPGA支持并行和流水結構。這樣可以通過多個處理單元(PE)的并行工作,實現高性能的數字信號處理。特別適合那些結構性好、數據量大的算法實現,比如快速傅立葉變換(FFT)、數字濾波算法(FIR)等。
其次,FPGA內部越來越多地內嵌了DSP乘法模塊。這些模塊是硬件模塊,運行速度很高,特別適合那些需要大量乘法計算的算法。如表11-1所示為Xilinx公司FPGA的硬件乘加單元資源和性能。
表11.1 Xilinx公司FPGA的硬件乘加單元資源和性能
最大的產品系列成員 | 最高的MAC數量 | 最高的時鐘頻率 | GMAC |
Virtex-5LX330 | 192 | 550MHz | 105 |
Virtex-4SX55 | 512 | 500MHz | 256 |
Virtex-4FX140 | 192 | 500MHz | 96 |
Virtex-4LX200 | 96 | 500MHz | 48 |
Virtex-IIPro100 | 444 | 300MHz | 133 |
Spartan-3S5000 | 104 | 185MHz | 19 |
可以看到,FPGA的乘法運算性能最高已經超過了100GMAC的水平,遠超過通用的DSP芯片,接近了專用處理芯片(ASIC)的能力。
另外,FPGA和其他所有可編程器件一樣,具體非常好的靈活性。特別是某些型號的FPGA已經開始支持動態配置或者局部重構,為設計高智能型的信號處理設備提供了可能。
2.基于FPGA的信號處理系統的不足
目前FPGA系統的主要設計手段還是通過硬件描述語言(HDL)來描述完成的。對于大型復雜的算法實現,設計人員需要做大量的結構設計和仿真驗證工作。而且,FPGA是基于硬件連線可編程的器件,因此不支持在線調試功能。
11.1.2基于DSP的信號處理系統的特點
1.基于DSP的信號處理系統的優點
DSP芯片是基于軟件可編程的,開發語言主要是C語言,個別場合需要編寫匯編語言。相對與HDL語言,C語言更容易讓初學者接受,因此DSP芯片在信號處理領域得到了廣泛的應用。
C語言屬于高級語言,因此在DSP上描述復雜算法的難度要低于FPGA。另外,DSP芯片的結構也適合數據量大,重復性高的算法。特別是乘加累加計算(MAC)密集和for循環密集的算法。
DSP芯片一般采用時間上壓縮和空間上并行兩種主要手段來實現高性能的數據處理。時間上壓縮技術包括單周期指令、專用的硬件乘法累加器以及多種尋址方式等;空間上并行技術包括哈佛式總線結構、多運算單元以及靈活的流水線技術等。
2.基于DSP的信號處理系統的不足
DSP芯片是基于軟件可編程的,因此不可避免的問題就是功耗大,處理能力受到主頻的限制等不足。而且,DSP芯片的數據帶寬受到總線接口位寬限制,不能應付高速數據流的處理要求。
通用DSP的接口擴展能力有限,不能直接和ADC或者DAC芯片互聯。DSP需要外部的邏輯器件來配合才能實現數據采集或者輸出,例如CPLD或者FPGA。
目前大部分的DSP都沒有內存管理單元(MMU),還不能支持復雜的操作系統,如Linux或者WindowsCE等。DSP的內存管理和保護能力比較弱,目前還不支持虛擬內存。
11.1.3基于FPGA+DSP的信號處理系統優勢和應用領域
1.基于FPGA+DSP的信號處理系統的優勢
基于FPGA+DSP的信號處理系統可以同時具備FPGA和DSP的優勢。
(1)支持更高的計算處理能力。
FPGA+DSP的雙芯片處理系統的計算能力相對單芯片系統更加強大,而且可以充分發揮兩種芯片的性能潛力。
(2)靈活的系統重構方案。
FPGA芯片和DSP芯片兩者之間可以相互配置。通常情況下,DSP會作為系統的主控制器,FPGA上電后由DSP來完成配置。在系統的工作期間,DSP可以根據需要,重新配置FPGA,實現系統的功能重構。
例如,在軟件無線電應用中,經常需要根據發射系統調制方式的改變來動態調整接收系統功能。這種應用中就可以充分發揮FPGA+DSP構建的靈活性,DSP可以根據調制方式來選擇不同的配置文件加載到FPGA中,實現自適應的動態配置。
另外,系統工作過程中,如果DSP芯片在自檢過程中發現功能異常,也可以請求FPGA芯片重新配置自己。這樣的系統具備一定的自我修復能力,更加智能化。
(3)開發難度和系統成本的折衷
從控制系統成本角度來看,單芯片應該是最好的方案。但是,無論是采用FPGA還是DSP,單芯片的方案開發難度都會提高。單FPGA的方案實現復雜的控制會比較困難,而單DSP的方案實現大數據量的重復計算也有很大難度。
采用了FPGA+DSP的方案雖然成本要高于單芯片方案,但是降低了開發難度,可以加快產品的上市時間。因此,雙芯片的構建是一種開發難度和系統成本的折衷選擇。同時,也降低系統開發的技術風險。
2.基于FPGA+DSP的信號處理系統的應用領域
基于FPGA+DSP的非常適合既有復雜算法處理又需要大量的重復計算應用,例如軟件無線電、高清視頻圖像處理、信息安全等領域。
FPGA作為DSP的協處理器,給DSP提供單元加速功能。例如,FPGA可以實現一個浮點協處理單元(FPU),給高性能的定點DSP提供浮點計算能力,適合于數值分析和高精度信號處理領域。
基于FPGA+DSP的系統配置方式比較靈活。FPGA和DSP可以單獨配置,也可以相互配置。因此,這種方案可以用于智能的動態重構計算平臺。
評論