瀏覽人次:【4246】
前言
設計工程師面對著必須以最短的時間、更少的資源,設計出更高效能通訊系統的挑戰。此外,這些設計師們還必須考慮到快速改變的新興與千變萬化的技術。今日,各種應用對於效能的需求更加殷切,需要一種更具彈性並容易執行的解決方案。其中一個解決方案便是可編程邏輯(PLD),能夠提供彈性、高效能並讓產品及早上市。
設計師使用PLD來進行數位訊號處理(DSP)已經更加頻繁,我們可以在許多種產品之中發現PLD的蹤跡,從高效能的骨幹網路應用,到應用在新興的第三代無線通訊的數位用戶線路存取多工器(DSLAM)。設計師在DSP應用中使用PLD是因為它能提供設計彈性與硬體層級的效能表現。想要完全發揮PLD真正的能力,設計師需要一個完整的設計環境,以能夠在短時間內執行從系統架構到硬體設計。
DSP、ASSP、ASIC與PLD之比較
工程師在執行DSP應用時有多種選項,包括:
(1)DSP處理器
(2)特殊應用積體電路(ASIC)
(3)特殊應用標準產品(ASSP)
(4)PLD
傳統上,設計師會選擇DSP處理器來進行數位訊號處理應用(DSP),DSP處理器有一種如(圖一)所示的通用架構,可讓其有彈性配合各種應用。不過,這種彈性也可能限制了它的系統效能。
《圖一 通用型DSP處理器架構〈資料來源:Source:The Scientist and Engineer's Guide to Digital Signal Processing〉》 |
技術歷程
從發展歷程看來,早期DSP處理器僅有一個多工器,但現今一些DSP最多已經有8個多工器。它們使用反覆的迴路來產生超過2到8個多工功能,並需要額外的時鐘周期來計算出結果。因此,DSP處理器最適合用於在低資料率下的後端訊號處理。許多DSP處理器在多工器中採用特殊指令來加速數學運算,然而,它們仍缺乏即時的效能。DSP處理器具有彈性,只要更動處理器的軟體程式碼,便可被用於濾波或調變應用。
ASSP與ASIC可設計用於執行特定的功能,在低成本條件下比DSP處理器有更佳的效能。這些優異的特性對設計師極有吸引力,因為ASSP是用於執行特定功能的半客製化積體電路,例如有限脈衝回應(FIR)與無限脈衝回應(IIR)濾波器,它們的效能比其他採用類似製程技術的硬體解決方案還要好。然而,ASSP缺乏彈性,且當DSP應用更動時便必須重新設計。ASIC提供一個客製化且低成本的解決方案,不過,它們需要花費較長的時間(典型的設計周期是一年到一年半),且需要最低的採購量,小型的設計更動便會產生額外的非重製工程成本,與造成更長的設計周期。
評比
PLD比DSP處理器、ASSP與ASIC提供了更多優勢,設計師可以規劃PLD邏輯元件,並且仍能如DSP處理器一樣地用平行或序列方式來處理複雜的程序(圖二)。在平行模式,它們可以一次執行上百個相同的指令,以提供比DSP處理器更佳的效能,不像ASSP與ASIC,PLD提供了設計更動上的彈性,而不必犧牲產品及時上市的時間。
《圖二 PLD與DSP處理器之間的架構不同處》 |
Altera PLD的DSP系統設計需要高階演算法與硬體描述語言(HDL)兩種開發工具。Altera DSP Builder透過結合The MathWorks MATLAB的演算法開發、模擬與驗證功能,與搭配Altera開發工具的Simulink系統層級設計工具、HDL合成器與模擬等,對這些工具進行了整合工作。
《圖三 Stratix DSP區塊架構》 |
設計流程
PLD供應商需要提供更親近的設計流程以超越DSP工程師,以Altera為例,它提供了DSP Builder這類工具,具有The MathWorks介面,系統層級DSP工具Simulink搭配Altera的Quartus II開發軟體。DSP Builder提供了無縫式的設計流程,讓設計師可以在MATLAB軟體中進行演算法設計,在Simulink軟體中做系統整合,並將設計轉換為硬體描述語言檔案以用於Quartus II軟體之中。
Simulink的應用
使用DSP Builder,設計師可以從Simulink自動產生一個RTL設計與RTL測試平台。這些經過預先驗證過的RTL輸出檔案已經為將使用於Altera的Quartus II設計軟體進行最佳化,因此設計師可以快速地執行時序與模擬比較,該設計流程也可進行浮點到整數分析。有了這種簡易與直覺地開發流程,設計師不需要具備使用可編程邏輯設計軟體的經驗。
設計師可以使用DSP Builder所提供的訊號處理IP區塊,來建立一個Simulink系統模型的硬體實行。DSP Builder包含位元與周期精確地Simulink整數區塊,可以涵括如算數或儲存功能等基本運算,甚至是如向前錯誤修正、濾波與調變等複雜功能。
DSP IP
演算法可以得益於PLD的效能,包括濾波、向前錯誤修正、調變/解調與加密等,業界已擁有一個廣泛的標準DSP功能系列,為PLD進行最佳化,設計師可以被允許進行建構可編程單晶片系統(SOPC)設計。另外,設計師也可以個別地使用DSP IP核心來更專注於效能的提昇以強化整個系統。對於需要更高傳輸量的系統,設計師可以在平行運算時用PLD廠商所推出的 DSP IP核心做為特定的硬體。
擁有平行處理的效能優勢與典型彈性特點的PLD,以及FIR編譯器與Reed-Solomon編譯器的DSP核心,適用於如多通道多點分配服務(MMDS)與矩形頻率劃分多工(OFDM)系統等新興應用。舉例來說,Altera Reed-Solomon MegaCore功能解碼效率在8位元符號時最高可達1 Gbps。搭配名義上的緩衝與控制負荷,一個Reed-Solomon解決方案解碼效率可以超過10 Gbps。
相對而言,先前的德州儀器(Texas Instruments)公司測試顯示C64xx DSP處理器需要大約1,095個週期來解碼一個Reed-Solomon代號。在300 MHz時,C64xx處理器解碼率約在450 Mbps,並使用100%該元件的運算能力。
用PLD元件執行FIR濾波器
以下的範例是一個8位元224節的FIR,以實例來說明PLD元件在DSP應用時的效能優越性。每個暫存器提供單位的樣本延遲,延遲的輸入被它們的濾波器協同因素加以多工化,並加總在一起以產生輸出。請參見(圖四)。
《圖四 典型的FIR濾波器》 |
FIR濾波器運作可以用(公式一)來表示:
《公式一》 |
此處的x(n)與h(n)代表著輸入訊號與濾波器協同因素的第n個樣本值。
這個224節濾波器可以用Stratix DSP區塊來執行,且可放進單一個Stratix PLD之中。這個設計僅使用單個時鐘周期作資料輸出,相對而言,相同的濾波器設計需要多個DSP處理器,因為單個DSP處理器僅有2到8個多工器。(表一)顯示這兩種執行方式所產生的效能結果。Stratix元件增強了整體系統性能幾乎達12倍。
表一 Stratix元件與DSP處理器效能比較
需求 |
Stratix元件(EP1S120) |
TI 320C64x元件 |
節數 |
224 |
224 |
多工器數量 |
224 (28個DSP區塊) |
最多8個 |
內部時鐘速度 |
250 MHz |
600 MHz |
運算結果所需的時鐘周期 |
1 |
28 |
每秒GMACs |
56 GMACs |
4.8 GMACs |
資料來源:Source:德州儀器TMS320C6414 Fixed-Point Digital
Signal Processor資料表
結論
PLD元件是個非常具有彈性,且能夠提供以硬體執行DSP應用的有效率解決方案。並能夠支援多樣化的規劃方式,以更方便地執行DSP應用。 此外,DSP區塊具有效率的程序以提供快速的效能,高效能的DSP區塊與晶片內記憶體,可讓設計師最大化系統傳輸量。PLD也支援平行運算,使其成為增加整體系統效能的強有力工具。(本文譯者為Altera亞太區高級市場經理)
〈參考文件:
1. AN 214: Using the DSP Blocks in Stratix Devices
2. AN 215: Implementing High-Performance DSP Functions in Stratix Devices
3. Stratix Programmable Logic Device Family Data Sheet
4. .Smith, Steven W. The Scientist and Engineer's Guide to Digital Signal Processing, 第二版。加州科技出版公司。聖地牙哥,加州,1999年。
5. 德州儀器。TMS320C6414 Fixed-Point Digital Signal Processor. 豪士頓,德州,2001年九月。〉
|