FPGA 可促進嵌入式系統設計改善即時應用性能
現場可程式邏輯元件一直是連接高速週邊設備(如寬頻 A/D 和 D/A 轉換器、數位接收器)和實現與嵌入式即時系統中可程式處理器連接的首
選電路。FPGA(現場可程式閘陣列)尤其適合於處理時脈、同步以及這些專用元件所需的其它各種定時電路。此外,FPGA 還非常適合數據
格式化任務,例如串列到平行轉換、數據包裝、時間標記、多工和數據封包形成。
不過,隨著近來晶片技術的進步,不僅晶片的速度和密度有很大提高,而且 FPGA 的基本作用也產生了戲劇性的變化。今天,主要 FPGA 供
應商提供的所有最新元件基本上都包括針對數位訊號處理(DSP)應用的構造模組,它們包括專用的乘法引擎和靈活的記憶體結構,如記憶體
塊、雙埠 RAM、FIFO 記憶體和移位暫存器。
的確,DSP 功能已經成為 FPGA 最重要的產品策略之一,這一點可從 FPGA 供應商近幾年在此技術上的工程和行銷投資的急劇成長上窺見
一斑。
在跟上 DSP 潮流之後,FPGA 供應商有時喜歡發表一些有關通用型可程式 DSP 晶片會消失的預測。不過,實際上,對即時嵌入式系統中的
很多種任務而言,可程式 DSP 仍將是一個更好的選擇。作為例證,目前上市的最新一代 FPGA 晶片上僅由標準 RISC 處理器核心、邏輯塊
和可配置記憶體資源組成。這主要是因為對一個具有明確特性、並得到良好支援的標準處理器進行編程仍然要比對 FPGA 中某種組合的訊號
處理單元進行編程要容易的多。
不過,FPGA 對某些 DSP 功能的處理效率更高,尤其是對那些能夠利用平行運算
的定義良好的演算法。憑藉這一優勢,FPGA 現在已經確立了它在嵌入式系統產品
設計中的地位,而且常常直接嵌入到訊號串流處理路徑中。因此,用 FPGA 中新獲
得的 DSP 資源來處理原先安排給可程式處理器的一些數位訊號處理功能可以認為
是一個快速的技術飛躍。
FPGA 在軟體無線電中的應用
圖 1 展示的是一個附屬於 quad-DSP 處理器 VME 主板的雙通道數位接收器子卡模
組。該模組帶兩個採樣速率高達 100MHz 的 12 位 A/D 轉換器和兩個數位下變換
器,它們用來轉換和濾除寬頻數位化輸入的特定部份。
卡上的一個 FPGA 既接收兩個 A/D 轉換器的實際輸出,也接收兩個數位下變換器
的複雜基頻輸出。該 FPGA實現了 VIM(Velocity Interface Mezzanine)介面,因而可以把數據直接送入處理器主板上的各個 DSP 或 PowerPC,
該主板上的 FIFO 緩衝記憶體支援速率高達 400MBps 的 DMA 塊數據傳輸。
由於著重增加 DSP 功能,因此該產品選用 FPGA 時自然就選擇 Xilinx 公司的 Virtex-II 系列晶片。XC2V3000 上有 96 個專用 18 × 18 乘法器
模組和超過 200KB 的 RAM 塊,即便應對一些更複雜的應用,也可以提供充足的訊號處理資源。
在該模組的基本出廠配置中,該 FPGA 仍然執行傳統的定時、格式化、及為板上的各種元件提供膠合邏輯的任務。因為這些功能相對簡單,
所以只消耗了 6%的可程式邏輯資源。這就為增加 DSP 演算法留下了 94%的邏輯塊、全部 96 個乘法器、以及實際上全部的 RAM 塊。
為了幫助證明這些未用資源所能提供的能量,曾經啟動了一個在這些資源上實現一個高性能 FFT 引擎的工程計畫。由於通訊、雷達和訊號智
圖
1
:
Pentek
公司具有
FPGA
的
6235
型雙通道數位接收器