在數字電路設計方案中DSP與FPGA的比較與選擇
本文引用地址:http://m.butianyuan.cn/article/148356.htm
在選擇數字系統(tǒng)核心處理部分的方案時,有很多因素需要考慮。例如如何充分利用已有資源(包括軟、硬件)、系統(tǒng)要求的工作時鐘速率以及算法或工作方式的特點等,這些對最佳方案的選擇有很大的影響。
具體地說,在最初的方案論證階段,可以根據如下問題的回答情況來進行方案選擇:
(1)該系統(tǒng)的取樣速率是多少?
如果高于幾MHz,FPGA是理所當然的選擇。
(2)系統(tǒng)是否已經使用C語言編制的程序?如果是,DSP可以直接地實現。它可能達不到方案的最佳實現,但很容易進一步開發(fā)。
(3)系統(tǒng)的數據率是多少?
如果高于20~30Mbyte/second,則用FPGA處理更佳。
(4)有多少個條件操作?
如果沒有,FPGA是很好的;如果很多,則軟件的實現即DSP的實現是更好的選擇。
(5)系統(tǒng)是否使用浮點?
如果是,則使用可編程的DSP更好。目前為止,一些FPGA開發(fā)商,如Xilinx 公司的核還不支持浮點,盡管自己可以設計。
(6)所需要的庫是否能夠獲得?
DSP和FPGA都提供諸如FIR或FFT等基本的構建模塊。然而,更復雜的或專用的構件可能得不到,這將決定選擇。
3.2 方案選擇示例
下面提供了幾個數字電路設計例子,有助于理解前面介紹的方案選擇原則。
(1)用于無線數據接收機的抽樣濾波器。典型的CIC(Control Integrated Circuit 控制集成電路)濾波器工作在50~100MHz的取樣率,5步CIC有10個寄存器和10個加法器。要求加速度在500~1000MHz。
在這一速率下任何的DSP處理器將很難實現。然而CIC只有非常簡單的結構,這樣以FPGA來實現將會很簡單。100MHz的取樣率可以達到,甚至某些型號的FPGA還可以有些剩余資源來實現進一步的處理。
(2)實現通信堆棧協(xié)議——ISDN(Integrated Services Digital Network 綜合服務數字網)。IEEE1394有很復雜、大量的C代碼,完全不適合用FPGA來實現;但是用DSP來實現卻很簡單。不僅如此,一個信號編碼基數可以得到保留,這樣可以使代碼堆棧在某一產品的DSP上來實現,或者在另一塊DSP上的分離的協(xié)議處理器來實現。這將給專門提供為代碼堆棧授權的供應廠家以機會。
(3)數字射頻接收機的基帶處理器。一些類型的接收機需要FFT來獲得信號,然后匹配濾波器一次獲得信號,這兩個模塊可以很簡單的用任何一種方案實現。然而如果要求工作模式轉換/信號獲得和信號接收的轉換;則采用DSP方案更適合。因為FPGA方案需要同時完成兩個模塊。
這里要注意,射頻用FPGA實現更好,因為這是一個混合、多任務的系統(tǒng)。如果應用更大的FPGA,這樣兩個模塊可以同時用一個FPGA來實現。
評論