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