軟件無線電設(shè)計中ASIC、FPGA和DSP的選擇
開發(fā)周期
ASIC器件的靈活性在軟件無線電產(chǎn)品的開發(fā)中也具有其優(yōu)勢:現(xiàn)有的ASIC算法開發(fā)已經(jīng)相當(dāng)完善,這有助于縮短產(chǎn)品的上市時間。硬件設(shè)計是基于ASIC功能的關(guān)鍵開發(fā)進程,而軟件開發(fā)則受制于接入器件可編程特性的程序庫生成。
基于DSP或FPGA的設(shè)計開發(fā)周期則要復(fù)雜得多,因為軟件開發(fā)需要的資源通常比相應(yīng)的硬件開發(fā)多得多。現(xiàn)有的經(jīng)優(yōu)化通用算法程序庫有利于加速DSP和FPGA的軟件開發(fā),但這些算法必須集成在一起實現(xiàn)期望的數(shù)字無線功能,因此需要完整的軟件開發(fā)周期。
設(shè)計人員還必須注意DSP和FPGA軟件開發(fā)方法之間的主要差異。在DSP上編譯算法的時間通常以秒計算,而在FPGA上綜合處理并對類似算法進行布線的時間則需要數(shù)小時。例如Xilinx公司的典型FPGA布線速率為每小時400,000個門電路,因此帶有2百萬個門電路的XCV2000E的編譯可能需要半天的時間才能完成。
這使得FPGA的設(shè)計調(diào)試成為一項昂貴的過程,因此FPGA的設(shè)計周期通常需要在對器件算法進行布線之前,進行更多的先期分析,包括多路仿真和模型測試。
性能
在軟件無線電結(jié)構(gòu)中,任何信號處理器件的鑒定必須包括衡量該器件是否能在指定的時間內(nèi)完成所需的功能。這類評估中一種最基本的基準點測量就是1,024點快速傅立葉變換(FFT)處理時間的測量,參見表2中的突顯部分。
在表2的示例中,可編程ASIC明顯勝過DSP或FPGA實現(xiàn)。通常ASIC可為任何指定的功能提供最佳性能,其執(zhí)行時間可參見下述數(shù)據(jù)表單。
對DSP和FPGA功能實現(xiàn)的性能進行比較相當(dāng)困難,因為這些器件的結(jié)構(gòu)分別用于處理不同類型的問題。DSP工作于非常高的速率條件下,但在某一時刻只能完成有限的處理任務(wù)。另一方面FPGA的工作速率通常低于DSP的速率,但對同時可完成的處理任務(wù)則幾乎沒有限制。
為了說明上述這些差異,考慮如圖2所示的具有16個抽頭的簡單FIR濾波器。該濾波器要求在每次采樣中完成16次乘積和累加(MAC)操作。德州儀器公司的TMS320C6203
DSP具有300MHz的時鐘頻率,在合理的優(yōu)化設(shè)計中,每秒可完成大約4億至5億次MAC操作。這意味著C6203系列器件的FIR濾波具有最大為每秒3,100萬次采樣的輸入速率。
但在FPGA中,所有16次MAC操作均可并行執(zhí)行。對于Xilinx的Virtex器件,16位MAC操作大約需要配置160個結(jié)構(gòu)可重置的邏輯塊 (CLB),因此16個并發(fā)MAC操作的設(shè)計實現(xiàn)將需要大約2,560個CLB。XCV300E可輕松地實現(xiàn)上述配置,并允許FIR濾波器工作在每秒1億個樣本的輸入采樣速率下。
附加功率
ASIC器件的設(shè)計通常經(jīng)過優(yōu)化以提供卓越的功率性能。但大多數(shù)可編程器件的功率將隨器件利用率和時鐘頻率的增加而急劇增長,因此在衡量整體設(shè)計的功率分配時,必須考慮這一因素。
例如,利用Altera公司的20K600可編程邏輯器件(PLD)實現(xiàn)的4信道下行轉(zhuǎn)換器只需消耗不到2W的功率,即可實現(xiàn)每秒2,500萬次采樣的輸入數(shù)據(jù)率。這樣的功率雖然比較高,但對于指定的應(yīng)用還是可以接受的。如果將輸入數(shù)據(jù)率提高至每秒6,500萬次采樣,那么消耗的功率將達到5W,這超出了許多數(shù)字無線產(chǎn)品所能承受的功率門限。
與Altera 20K600相比,在相同的輸入數(shù)據(jù)率條件下,Analog Devices 公司的AD66244信道下行轉(zhuǎn)換器ASIC消耗的功率為700mW。
在較低的速率條件下,F(xiàn)PGA的功率利用率通常優(yōu)于高端DSP。為對此加以說明,考慮Dish
Network公司在數(shù)字視頻廣播中采用的糾錯機制。在該系統(tǒng)中速率高達27.647Mbps的多路復(fù)用數(shù)據(jù)采用Reed-Solomon糾錯機制進行編碼,該機制為每188個數(shù)據(jù)字節(jié)直接生成16個奇偶校驗字節(jié),并生成最大為30Mbps的合成數(shù)據(jù)率。
在5,000個時鐘周期中,TMS320C6203可解碼204個字節(jié)的Reed-Solomon代碼字。為實現(xiàn)所需的數(shù)據(jù)吞吐量,在300 MHz頻率下,CPU必須實現(xiàn)近50%的利用率,而消耗的功率約為1.53W。
與此相反,在Xilinx XCV100E上實現(xiàn)的Reed-Solomon解碼器設(shè)計消耗的功率僅為200mW。這是一個巨大的改進,可以與商用Reed-Solomon ASIC(如Advanced Hardware Architectures公司的AHA4011C)具備的性能相媲美。
評論