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