新聞中心

最佳FPGA和專用DSP(05-100)

—— 最佳FPGA和專用DSP
作者:益林 時(shí)間:2009-02-19 來源:電子產(chǎn)品世界 收藏

  視頻和靜止圖像的普遍采用,以及可配置系統(tǒng)(如軟件無線電)日益增長的需求繼續(xù)驅(qū)動應(yīng)用的擴(kuò)展。很多應(yīng)用需要經(jīng)濟(jì)有效的處理。

本文引用地址:http://2s4d.com/article/91405.htm

  雖然定制實(shí)現(xiàn)功能,但在很多應(yīng)用中幾種功能,如FIR(有限脈沖響應(yīng))濾波器,IIR(無限脈沖響應(yīng))濾波器、FFT(快速傅里葉)和混頻器是共同的。所有這些功能都需要與加、減、累加一起的乘法單元組合。

  FIR濾波器(圖1)存儲n數(shù)據(jù)單元系列,每個(gè)數(shù)據(jù)單元延遲一個(gè)附加周期。通常,這些數(shù)據(jù)單元稱之為分支。每個(gè)分支與系數(shù)相乘,其結(jié)果求和產(chǎn)生輸出。某些方法并行執(zhí)行所有的乘法。更一般的方法是分為N級,用累加器從一級到下一級傳遞結(jié)果。這些實(shí)現(xiàn)方法用功能資源換取速度,取N個(gè)計(jì)算級并需要n/N個(gè)乘法器。根據(jù)系數(shù)是靜態(tài)還是動態(tài)以及系數(shù)值設(shè)計(jì),有不少其他通用的設(shè)計(jì)最佳化方法。



  圖1 典型FIR濾波器的實(shí)現(xiàn)

 
 圖2 實(shí)現(xiàn)FFT的Radix-2蝶形方法

  實(shí)現(xiàn)方法

  從圖像壓縮到確定數(shù)據(jù)取樣的頻譜成分,在不同的應(yīng)用中都用FFT。實(shí)現(xiàn)FFT有多種方法。最通用的方法是通用Cooley-Tukey時(shí)間抽取,把FFT分解成若干更小的FFT。最簡單的實(shí)現(xiàn)方法是用Radix-2蝶形單元(圖2),其輸入數(shù)據(jù)必須傳遞倍數(shù)。這種計(jì)算概念上是簡單的;然而,圖左邊所有的乘和加是用復(fù)數(shù)計(jì)算的,所需要的乘和加的實(shí)數(shù)是更復(fù)雜的問題(如圖右邊所示)。

  IIR濾濾器除引入反饋通路外,它類似于FIR濾波器。這些反饋通路使IIR濾波器的設(shè)計(jì)和分析比FIR更復(fù)雜。然而,對于相同硅面積,IIR方法可提供更強(qiáng)的濾波器。盡管有幾種IIR結(jié)構(gòu),但是,一種通用的結(jié)構(gòu)是用2階四次方結(jié)構(gòu)(圖3)

  很多應(yīng)用是用混頻器來變換信號頻率。概念上,可用單個(gè)乘法器,而在數(shù)字應(yīng)用中,用復(fù)數(shù)形式表示不少優(yōu)點(diǎn)。最一般的形式是信號表示是為I和Q分量。

  DSP選擇

  做為這些通用功能應(yīng)用,大多數(shù)DSP應(yīng)用的核心是乘、加、減或累加。通用DSP芯片與通用微處理器結(jié)合能有效地實(shí)現(xiàn)這些功能。乘法器數(shù)量通常1~4個(gè),而微處理器通過乘和其他功能定序通過的數(shù)據(jù),存儲中間結(jié)果在存儲器或累加器。主要靠提高乘法所用的時(shí)鐘速度來提高性能。典型時(shí)鐘速度為幾十MHz~1GHz。性能用每秒MMAC(百萬乘累加)度量,典型值10~4000。

  需要較佳功能必須并聯(lián)組合多個(gè)DSP引擎。這種方法的主要優(yōu)點(diǎn)是直接實(shí)現(xiàn)用高級編程語言(如C語言)編寫的算法。

  DSP定向的能在一個(gè)芯片上并行實(shí)現(xiàn)很多功能。通用發(fā)送、邏輯和存儲器資源互連功能、執(zhí)行加法功能、定序和存儲數(shù)據(jù)。某些基本器件僅提供乘法支持,需要用戶建造其他邏輯功能。更復(fù)雜的器件提供加、減和累加功能做為DSP構(gòu)建單元的一部分。通常帶有幾十乘法器單元,可工作在幾百M(fèi)Hz的時(shí)鐘頻率。


  圖3 IIR2階四次方濾波器


  圖4 ECP-DSP框圖

  DSP 選擇

  Altera公司的Cyclone FPGA不包含DSP定向的元件,這使得實(shí)現(xiàn)大的DSP功能而不消耗大量的外部資源變得困難。然而,CycloneII包含乘法器功能,Xilinx公司的SpartanIII FPA家族具有基本的乘法器功能。沒有DSP功能時(shí),必須消耗大量的FPGA資源來實(shí)現(xiàn)一般設(shè)計(jì)中的加、減、累加和流水線寄存器。

  Lattice公司專為DSP應(yīng)用設(shè)計(jì)了ECP-DSP器件(圖4)。它含有與4和10個(gè)集成sysDSP單元連接的低成本FPEA結(jié)構(gòu)。sysDSP單元以3個(gè)數(shù)據(jù)通路寬度(9,18和36)支持4個(gè)功能單元。用戶為DSP單元選擇一個(gè)功能單元,然后選擇其操作數(shù)的寬度和類型(符號/無符號)。sysDSP單元中的操作數(shù)可以帶符號或無符號,但在功能單元中不能混合。

  同樣,在一個(gè)單元中操作數(shù)寬度不能混合。每個(gè)sysDSPK中的資源可配置來支持MULT(乘)、MAC(乘累加)、MULTADD(乘加/減)和MULTADDSUM(乘加/減和)元件。

  每個(gè)單元中可用的元件數(shù)取決于所選擇的數(shù)據(jù)通路寬度。把若干個(gè)元件連接起來可并聯(lián)實(shí)現(xiàn)DSP功能。

  sysDSP單元在輸入,中間和輸出級具有內(nèi)置任選流水線寄存器。如需要,輸入也可能并行輸入或跨過陣列移位。也為帶符號和不帶符號運(yùn)算和加減之間動態(tài)轉(zhuǎn)換提供選擇。在sysDSP單元中可得到流水線寄存器、和、減和累加。在一般的功能中,一般需要用加、和或累加組合乘法。概念簡單的流水線寄存器在寬數(shù)據(jù)通路中實(shí)現(xiàn)要消耗大量的資源。用sysDSP單元實(shí)現(xiàn)這些功能可使通用FPGA資源消耗較低、性能較高,允許采用較低速度等級的更小器件?!?益林)

濾波器相關(guān)文章:濾波器原理


fpga相關(guān)文章:fpga是什么


c語言相關(guān)文章:c語言教程


濾波器相關(guān)文章:濾波器原理


混頻器相關(guān)文章:混頻器原理


關(guān)鍵詞: FPGA DSP

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉