軟件無線電設計中ASIC、FPGA和DSP的選擇
開發周期
ASIC器件的靈活性在軟件無線電產品的開發中也具有其優勢:現有的ASIC算法開發已經相當完善,這有助于縮短產品的上市時間。硬件設計是基于ASIC功能的關鍵開發進程,而軟件開發則受制于接入器件可編程特性的程序庫生成。
基于DSP或FPGA的設計開發周期則要復雜得多,因為軟件開發需要的資源通常比相應的硬件開發多得多。現有的經優化通用算法程序庫有利于加速DSP和FPGA的軟件開發,但這些算法必須集成在一起實現期望的數字無線功能,因此需要完整的軟件開發周期。
設計人員還必須注意DSP和FPGA軟件開發方法之間的主要差異。在DSP上編譯算法的時間通常以秒計算,而在FPGA上綜合處理并對類似算法進行布線的時間則需要數小時。例如Xilinx公司的典型FPGA布線速率為每小時400,000個門電路,因此帶有2百萬個門電路的XCV2000E的編譯可能需要半天的時間才能完成。
這使得FPGA的設計調試成為一項昂貴的過程,因此FPGA的設計周期通常需要在對器件算法進行布線之前,進行更多的先期分析,包括多路仿真和模型測試。
性能
在軟件無線電結構中,任何信號處理器件的鑒定必須包括衡量該器件是否能在指定的時間內完成所需的功能。這類評估中一種最基本的基準點測量就是1,024點快速傅立葉變換(FFT)處理時間的測量,參見表2中的突顯部分。

在表2的示例中,可編程ASIC明顯勝過DSP或FPGA實現。通常ASIC可為任何指定的功能提供最佳性能,其執行時間可參見下述數據表單。
對DSP和FPGA功能實現的性能進行比較相當困難,因為這些器件的結構分別用于處理不同類型的問題。DSP工作于非常高的速率條件下,但在某一時刻只能完成有限的處理任務。另一方面FPGA的工作速率通常低于DSP的速率,但對同時可完成的處理任務則幾乎沒有限制。
為了說明上述這些差異,考慮如圖2所示的具有16個抽頭的簡單FIR濾波器。該濾波器要求在每次采樣中完成16次乘積和累加(MAC)操作。德州儀器公司的TMS320C6203
DSP具有300MHz的時鐘頻率,在合理的優化設計中,每秒可完成大約4億至5億次MAC操作。這意味著C6203系列器件的FIR濾波具有最大為每秒3,100萬次采樣的輸入速率。
但在FPGA中,所有16次MAC操作均可并行執行。對于Xilinx的Virtex器件,16位MAC操作大約需要配置160個結構可重置的邏輯塊 (CLB),因此16個并發MAC操作的設計實現將需要大約2,560個CLB。XCV300E可輕松地實現上述配置,并允許FIR濾波器工作在每秒1億個樣本的輸入采樣速率下。
附加功率
ASIC器件的設計通常經過優化以提供卓越的功率性能。但大多數可編程器件的功率將隨器件利用率和時鐘頻率的增加而急劇增長,因此在衡量整體設計的功率分配時,必須考慮這一因素。
例如,利用Altera公司的20K600可編程邏輯器件(PLD)實現的4信道下行轉換器只需消耗不到2W的功率,即可實現每秒2,500萬次采樣的輸入數據率。這樣的功率雖然比較高,但對于指定的應用還是可以接受的。如果將輸入數據率提高至每秒6,500萬次采樣,那么消耗的功率將達到5W,這超出了許多數字無線產品所能承受的功率門限。
與Altera 20K600相比,在相同的輸入數據率條件下,Analog Devices 公司的AD66244信道下行轉換器ASIC消耗的功率為700mW。
在較低的速率條件下,FPGA的功率利用率通常優于高端DSP。為對此加以說明,考慮Dish
Network公司在數字視頻廣播中采用的糾錯機制。在該系統中速率高達27.647Mbps的多路復用數據采用Reed-Solomon糾錯機制進行編碼,該機制為每188個數據字節直接生成16個奇偶校驗字節,并生成最大為30Mbps的合成數據率。
在5,000個時鐘周期中,TMS320C6203可解碼204個字節的Reed-Solomon代碼字。為實現所需的數據吞吐量,在300 MHz頻率下,CPU必須實現近50%的利用率,而消耗的功率約為1.53W。
與此相反,在Xilinx XCV100E上實現的Reed-Solomon解碼器設計消耗的功率僅為200mW。這是一個巨大的改進,可以與商用Reed-Solomon ASIC(如Advanced Hardware Architectures公司的AHA4011C)具備的性能相媲美。













評論