0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用DSP或FPGA實現(xiàn)的數(shù)字系統(tǒng)的比較與選擇

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-05-17 08:02 ? 次閱讀

和計算機一樣,數(shù)字信號處理的理論從60年代崛起以來,到80年代DSP產(chǎn)生,它飛速發(fā)展改變了信號處理的面貌。今天DSP已廣泛應(yīng)用在語音、圖像、通訊、雷達、電子對抗、儀器儀表等各個領(lǐng)域。DSP起了十分關(guān)鍵的作用,成為數(shù)字電路設(shè)計的主要方法。

二十世紀80年代以來,一類先進的門陣列——FPGA的出現(xiàn),產(chǎn)生了另一種數(shù)字電路設(shè)計方法,具有十分良好的應(yīng)用前景。基于FPGA的數(shù)字電路設(shè)計方式在可靠性、體積、成本上的優(yōu)勢是巨大的。

除了上述兩種方案,還有DSP+FPGA方案,以及選擇內(nèi)部嵌入DSP模塊的FPGA實現(xiàn)系統(tǒng)的方案。

1 DSP和FPGA的結(jié)構(gòu)特點

1.1 DSP的結(jié)構(gòu)特點

DSP是一種具有特殊結(jié)構(gòu)的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP 指令,可以用來快速地實現(xiàn)各種數(shù)字信號處理算法。根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:

(1)在一個指令周期內(nèi)可完成一次乘法和一次加法;

(2)程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,可以同時訪問指令和數(shù)據(jù);

(3)片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問;

(4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持;

(5)快速的中斷處理和硬件I/O支持;

(6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器;

(7)可以并行執(zhí)行多個操作;

(8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。

1.2 FPGA的結(jié)構(gòu)特點

FPGA的結(jié)構(gòu)是由基于半定制門陣列的設(shè)計思想而得到的。從本質(zhì)上講,F(xiàn)PGA是一種比半定制還方便的ASIC(ApplicaTIon Specific Integrated Circuit 專用集成電路)設(shè)計技術(shù)。

FPGA的結(jié)構(gòu)主要分為三部分:可編程邏輯塊、可編程I/O模塊、可編程內(nèi)部連線??删幊踢壿媺K和可編程互連資源的構(gòu)造主要有兩種類型:即查找表類型和多路開關(guān)型。

查找表型FPGA的可編程邏輯單元是由功能為查找表的SRAM(Static Random Access Memory 靜態(tài)隨機存取存儲器)構(gòu)成函數(shù)發(fā)生器,由它來控制執(zhí)行FPGA應(yīng)用函數(shù)的邏輯。SRAM的輸出為邏輯函數(shù)的值,由此輸出狀態(tài)控制傳輸門或多路開關(guān)信號的通斷,實現(xiàn)與其它功能塊的可編程連接。多路開關(guān)型可編程邏輯塊的基本構(gòu)成是一個多路開關(guān)的配置。利用多路開關(guān)的特性,在多路開關(guān)的每個輸入接到固定電平或輸入信號時,可實現(xiàn)不同的邏輯功能。大量的多路開關(guān)和邏輯門連接起來,可以構(gòu)成實現(xiàn)大量函數(shù)的邏輯塊。

FPGA由其配置機制的不同分為兩類:可再配置型和一次性編程型。近幾年來,F(xiàn)PGA因其具有集成度高、處理速度快以及執(zhí)行效率高等優(yōu)點,在數(shù)字系統(tǒng)的設(shè)計中得到了廣泛應(yīng)用。

2 DSP與FPGA性能比較

DSP內(nèi)部結(jié)構(gòu)使它所具有的優(yōu)勢為:所有指令的執(zhí)行時間都是單周期,指令采用流水線,內(nèi)部的數(shù)據(jù)、地址、指令及DMA(Direct Memory Access直接存儲器存取)總線分開,有較多的寄存器。

與通用微處理器相比,DSP芯片的通用功能相對較弱些。DSP是專門的微處理器,適用于條件進程,特別是較復雜的多算法任務(wù)。在運算上它受制于時鐘速率,而且每個時鐘周期所做的有用操作的數(shù)目也受限制。例如TMS320C6201只有兩個乘法器和一個200 MHz 的時鐘,這樣只能在每秒完成400M的乘法。

模擬算法、具體指標要求映射到通用DSP中,比較典型的DSP通過匯編或高級語言如C語言進行編程,實時實現(xiàn)方案。如果DSP采用標準C程序,這種C代碼可以實現(xiàn)高層的分支邏輯和判斷。例如通信系統(tǒng)的協(xié)議堆棧,這是很難在FPGA上實現(xiàn)的。從效果來說,采用DSP器件的優(yōu)勢在于:軟件更新速度快,極大地提高了系統(tǒng)的可靠性、通用性、可更換性和靈活性,但DSP的不足是受到串行指令流的限制。

FPGA有很多自由的門,通過將這些門連接起來形成乘法器、寄存器、地址發(fā)生器等等。這些只要在框圖級完成,許多塊可以從簡單的門到FIR(Finite Impulse Response 有限沖激響應(yīng))或FFT(Fast Fourier Transform. 快速傅里葉變換)在很高的級別完成。但它的性能受到它所有的門數(shù)及時鐘速度的限制。例如,一個具有20萬門的Virtex 器件可以實現(xiàn)200MHz時鐘的10個16位的乘法器。

FPGA包含有大量實現(xiàn)組合邏輯的資源,可以完成較大規(guī)模的組合邏輯電路設(shè)計;與此同時,它還包含有相當數(shù)量的觸發(fā)器,借助這些觸發(fā)器,F(xiàn)PGA又能完成復雜的時序邏輯功能。通過使用各種EDA (Electronic Design AutomaTIc 電子設(shè)計自動化)工具,設(shè)計人員可以很方便地將復雜的電路在FPGA中實現(xiàn)。象微處理器一樣,許多FPGA可以無限的重新編程,加載一個新的設(shè)計方案只需要幾百毫秒。甚至現(xiàn)場產(chǎn)品可以很簡單而且快速的實現(xiàn)。這樣,利用重配置可以減少硬件的開銷。

超過幾MHz的取樣率,一個DSP僅僅能完成對數(shù)據(jù)非常簡單的運算。而這樣簡單的運算用FPGA將很容易實現(xiàn),并且能達到非常高的取樣速率。在比較低的取樣速率時,整體上很復雜的程序可以使用DSP,這對于FPGA來講是很困難的。

對于較低速的事件,DSP是有優(yōu)勢的??梢詫⑺鼈兣抨?,并保證它們都能執(zhí)行,但是在它們處理前可能會有些時延。而FPGA不能處理多事件,因為每個事件都有專用的硬件,但是采用這種專用硬件實現(xiàn)的每個事件的方式可以使各個事件同時執(zhí)行。

如果需要主工作環(huán)境進行切換,DSP可以通過在程序里分出一個新的子程序的方式來完成,而對于每種配置FPGA需要建立專門的資源。如果這些配置是比較小的,那么在FPGA中可以同時存在幾種配置;如果配置較大則意味著FPGA需要重新配置,而這種方法只在某些時候可以采用。

最后,F(xiàn)PGA是以框圖方式編程的,這樣很容易看數(shù)據(jù)流。DSP是按照指令的順序流來編程的。大多數(shù)的單處理系統(tǒng)都是以某種框圖方式開始設(shè)計的。實際上,系統(tǒng)設(shè)計者大多認為將框圖移植給FPGA比將其轉(zhuǎn)化為DSP的C代碼更容易。

3 如何進行DSP和FPGA方案選擇

3.1 方案選擇原則

在選擇數(shù)字系統(tǒng)核心處理部分的方案時,有很多因素需要考慮。例如如何充分利用已有資源(包括軟、硬件)、系統(tǒng)要求的工作時鐘速率以及算法或工作方式的特點等,這些對最佳方案的選擇有很大的影響。

具體地說,在最初的方案論證階段,可以根據(jù)如下問題的回答情況來進行方案選擇:

(1)該系統(tǒng)的取樣速率是多少?

如果高于幾MHz,F(xiàn)PGA是理所當然的選擇。

(2)系統(tǒng)是否已經(jīng)使用C語言編制的程序?如果是,DSP可以直接地實現(xiàn)。它可能達不到方案的最佳實現(xiàn),但很容易進一步開發(fā)。

(3)系統(tǒng)的數(shù)據(jù)率是多少?

如果高于20~30Mbyte/second,則用FPGA處理更佳。

(4)有多少個條件操作?

如果沒有,F(xiàn)PGA是很好的;如果很多,則軟件的實現(xiàn)即DSP的實現(xiàn)是更好的選擇。

(5)系統(tǒng)是否使用浮點?

如果是,則使用可編程的DSP更好。目前為止,一些FPGA開發(fā)商,如Xilinx 公司的核還不支持浮點,盡管自己可以設(shè)計。

(6)所需要的庫是否能夠獲得?

DSP和FPGA都提供諸如FIR或FFT等基本的構(gòu)建模塊。然而,更復雜的或?qū)S玫臉?gòu)件可能得不到,這將決定選擇。

3.2 方案選擇示例

下面提供了幾個數(shù)字電路設(shè)計例子,有助于理解前面介紹的方案選擇原則。

(1)用于無線數(shù)據(jù)接收機的抽樣濾波器。典型的CIC(Control Integrated Circuit 控制集成電路)濾波器工作在50~100MHz的取樣率,5步CIC有10個寄存器和10個加法器。要求加速度在500~1000MHz。

在這一速率下任何的DSP處理器將很難實現(xiàn)。然而CIC只有非常簡單的結(jié)構(gòu),這樣以FPGA來實現(xiàn)將會很簡單。100MHz的取樣率可以達到,甚至某些型號的FPGA還可以有些剩余資源來實現(xiàn)進一步的處理。

(2)實現(xiàn)通信堆棧協(xié)議——ISDN(Integrated Services Digital Network 綜合服務(wù)數(shù)字網(wǎng))。IEEE1394有很復雜、大量的C代碼,完全不適合用FPGA來實現(xiàn);但是用DSP來實現(xiàn)卻很簡單。不僅如此,一個信號編碼基數(shù)可以得到保留,這樣可以使代碼堆棧在某一產(chǎn)品的DSP上來實現(xiàn),或者在另一塊DSP上的分離的協(xié)議處理器來實現(xiàn)。這將給專門提供為代碼堆棧授權(quán)的供應(yīng)廠家以機會。

(3)數(shù)字射頻接收機的基帶處理器。一些類型的接收機需要FFT來獲得信號,然后匹配濾波器一次獲得信號,這兩個模塊可以很簡單的用任何一種方案實現(xiàn)。然而如果要求工作模式轉(zhuǎn)換/信號獲得和信號接收的轉(zhuǎn)換;則采用DSP方案更適合。因為FPGA方案需要同時完成兩個模塊。

這里要注意,射頻用FPGA實現(xiàn)更好,因為這是一個混合、多任務(wù)的系統(tǒng)。如果應(yīng)用更大的FPGA,這樣兩個模塊可以同時用一個FPGA來實現(xiàn)。

(4)圖象處理器。對于圖象的處理過程多是簡單的和重復的,這樣很適合用FPGA實現(xiàn)。然而,一個成像處理流程往往用于在所觀測的目標識別“斑點”或“感興趣的區(qū)域”。這些“斑點”可能大小不一樣,造成后端的判斷及處理過程趨于復雜。同時,所用的算法往往是自適應(yīng)的,取決于斑點是什么樣的。所以用DSP構(gòu)成圖象處理管道的后端處理部分是合適的。

總之,DSP和FPGA代表著兩種數(shù)字系統(tǒng)的信號處理的過程,各有所長和不足之處。對于許多高速采樣頻率的應(yīng)用,特別是任務(wù)比較固定或重復的情況下,適合采用FPGA方案;同樣,對于較低的取樣速率和有很高復雜度的軟件問題的情況適合采用DSP方案。

4 新的設(shè)計思想

4.1 DSP+FPGA結(jié)構(gòu)

DSP+FPGA結(jié)構(gòu)最大的特點是結(jié)構(gòu)靈活,有較強的通用性,適于模塊化設(shè)計,從而能夠提高算法效率;同時其開發(fā)周期較短,系統(tǒng)易于維護和擴展。

例如,一個由DSP+FPGA 結(jié)構(gòu)實現(xiàn)的實時信號處理系統(tǒng)中,低層的信號預處理算法處理的數(shù)據(jù)量大,對處理速度的要求高,但運算結(jié)構(gòu)相對比較簡單,適于用FPGA進行硬件實現(xiàn),這樣能同時兼顧速度及靈活性。高層處理算法的特點是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復雜,適于用運算速度高、尋址方式靈活、通信機制強大的DSP芯片來實現(xiàn)。

FPGA可以完成模塊級的任務(wù),起到DSP的協(xié)處理器的作用。它的可編程性使它既具有專用集成電路的速度,又具有很高的靈活性。

DSP具有軟件的靈活性;而FPGA具有硬件的高速性,從器件上考察,能夠滿足處理復雜算法的要求。這樣DSP+FPGA的結(jié)構(gòu)為設(shè)計中如何處理軟硬件的關(guān)系提供了一個較好的解決方案。同時,該系統(tǒng)具有靈活的處理結(jié)構(gòu),對不同結(jié)構(gòu)的算法都有較強的適應(yīng)能力,尤其適合實時信號處理任務(wù)。

4.2 嵌入DSP模塊的FPGA

應(yīng)用將一些能實現(xiàn)基本數(shù)字信號處理功能的DSP模塊嵌入的FPGA芯片是數(shù)字電路設(shè)計的另一個大趨勢。

有些公司已經(jīng)或計劃把基于ASIC的微處理器或DSP芯核與可編程邏輯陣列集成組合在一塊芯片上。FPGA提供的DSP性能已超過1280億MAC每秒,大大高于目前主流供應(yīng)商所能提供的傳統(tǒng)DSP的性能。

其中,Xilinx作為世界可編程邏輯器件的領(lǐng)導廠商,擁有先進的FPGA技術(shù)以及先進的開發(fā)工具。2000年11月,推出Xilinx XtremeDSP行動,試圖進入這一市場。Virtex-II可以提供6千億MAC(乘法累加運算)每秒的性能。采用這種并行結(jié)構(gòu),256階FIR濾波器中的每個樣本可以在一個時鐘周期內(nèi)處理完,因此極大地改善了DSP的性能和效率。

Xilinx XtremeDSP行動的目標是希望滿足寬帶革命的高性能挑戰(zhàn)。其它特性還包括根據(jù)如芯片面積(相應(yīng)于使用的資源)和系統(tǒng)頻率來優(yōu)化DSP設(shè)計。XtremeDSP行動還推出了一些開發(fā)工具以彌補傳統(tǒng)上在DSP和FPGA設(shè)計方法間存在的差距。

新的Virtex-II系列的增強結(jié)構(gòu)使其在實現(xiàn)需要計算的算法時具有獨特的優(yōu)勢。Xilinx提供的測試數(shù)據(jù)表明,Xilinx FPGA比業(yè)界最快的DSP運行要快100倍。因此,單個FPGA即可代替?zhèn)鹘y(tǒng)上所謂的DSP處理器陣列。

目前世界上的許多手機基站產(chǎn)品采用了Xilinx公司Virtex-E FPGA。為了建立大量的連接,手機基站需要處理大量的數(shù)據(jù),其中大部分是采用某種DSP實現(xiàn)的。

性能比較突出的還有QuickLogic公司推出的QuickDSP系列,它提供了嵌入式的DSP構(gòu)件塊和可編程的邏輯靈活性。這個新的系列除了提供以前的可編程的邏輯和存儲模塊外,還包括專用的乘加模塊。這些合成的模塊可以實現(xiàn)DSP功能。支持DSP功能的軟件可以由公司獲得,除了QuickWorks開發(fā)軟件外,DSP 向?qū)О屖褂谜弋a(chǎn)生優(yōu)化的功能,如定點或浮點算術(shù)邏輯,F(xiàn)IR和IIR(Infinite Impulse Response無限沖激響應(yīng))濾波器等,只要鼠標點擊幾下即可。

可以預測,在不久的將來,單一的DSP或FPGA實現(xiàn)的數(shù)字系統(tǒng)會被DSP+FPGA的結(jié)構(gòu)或嵌入DSP模塊的FPGA設(shè)計結(jié)構(gòu)所取代。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8058

    瀏覽量

    349575
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604706
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7521

    瀏覽量

    164092
收藏 人收藏

    評論

    相關(guān)推薦

    [討論]FPGA培訓—基于FPGADSP系統(tǒng)設(shè)計與實現(xiàn)

    架構(gòu)、嵌入式系統(tǒng)、實時操作系統(tǒng)數(shù)字信號處理、圖像與視頻處理和數(shù)字通信等,可以實現(xiàn)片上課程理念。七、教學大綱基于Xilinx
    發(fā)表于 07-21 09:20

    FPGA培訓—基于FPGADSP系統(tǒng)設(shè)計與實現(xiàn)

    架構(gòu)、嵌入式系統(tǒng)、實時操作系統(tǒng)數(shù)字信號處理、圖像與視頻處理和數(shù)字通信等,可以實現(xiàn)片上課程理念。七、教學大綱基于Xilinx
    發(fā)表于 07-21 09:22

    [轉(zhuǎn)帖]FPGA培訓—基于FPGADSP系統(tǒng)設(shè)計與實現(xiàn)

    架構(gòu)、嵌入式系統(tǒng)、實時操作系統(tǒng)、數(shù)字信號處理、圖像與視頻處理和數(shù)字通信等,可以實現(xiàn)片上課程理念。七、教學大綱基于Xilinx
    發(fā)表于 07-24 13:07

    運用FPGA解決DSP設(shè)計難題

    比較了這兩種架構(gòu)在 FIR 濾波器應(yīng)用中的優(yōu)劣。DSP 對電子系統(tǒng)設(shè)計來說非常重要,因為它們能夠迅速測量、過濾壓縮即時模擬信號。這樣有助于實現(xiàn)
    發(fā)表于 08-15 09:46

    ARM、DSPFPGA的詳細比較

    FPGA的優(yōu)勢,其現(xiàn)場編程能力可以延長產(chǎn)品在市場上的壽命,而這種能力可以用來進行系統(tǒng)升級除錯。DSP VS FPGADSP是通用的信號處理
    發(fā)表于 04-01 06:20

    如何進行DSPFPGA方案選擇

    、成本上的優(yōu)勢是巨大的。  除了上述兩種方案,還有DSP+FPGA方案,以及選擇內(nèi)部嵌入DSP模塊的FPGA實現(xiàn)
    發(fā)表于 06-19 08:02

    低成本FPGACPLD實現(xiàn)節(jié)能型家電電機控制設(shè)計

    電機運行速度。利用數(shù)字電路FPGA控制模擬電機電路將使系統(tǒng)成本和功耗大大降低。采用FPGA除了
    發(fā)表于 07-14 08:30

    數(shù)字處理中是FPGA好還是DSP

    ,數(shù)字信號處理與數(shù)字圖像處理沒有太大區(qū)別),就意味著可以用FPGA做硬件設(shè)計來實現(xiàn)DSP芯片的功能,當然,相
    發(fā)表于 07-28 09:16

    采用FPGA實現(xiàn)SVPWM調(diào)制算法

    就已經(jīng)出現(xiàn),隨著FPGA芯片價格的不斷降低,其在工業(yè)領(lǐng)域的應(yīng)用正在飛速發(fā)展,采用FPGA實現(xiàn)SVPWM調(diào)制算法也將層出不窮2. 系統(tǒng)任務(wù)分
    發(fā)表于 01-20 09:34

    基于FPGADSP的光纖信號實時處理系統(tǒng)

    設(shè)計了一種基于FPGADSP 的光纖信號實時處理系統(tǒng),介紹了系統(tǒng)的硬件組成和工作原理。該系統(tǒng)采用
    發(fā)表于 06-19 11:17 ?24次下載

    采用DSP、PLD和ASIC實現(xiàn)多速濾波器設(shè)計的比較

    采用DSP、PLD和ASIC實現(xiàn)多速濾波器設(shè)計的比較摘要:采用專用器件實現(xiàn)
    發(fā)表于 06-18 16:19 ?14次下載

    WCDMA系統(tǒng)基帶處理的DSP+FPGA實現(xiàn)方案

    摘? 要: 本文在分析WCDMA系統(tǒng)基帶處理方案的基礎(chǔ)上,結(jié)合DSPFPGA性能的比較,提出了一種在性能、靈活性和性價比上都比較理想的
    發(fā)表于 03-11 13:29 ?779次閱讀
    WCDMA<b class='flag-5'>系統(tǒng)</b>基帶處理的<b class='flag-5'>DSP+FPGA</b><b class='flag-5'>實現(xiàn)</b>方案

    數(shù)字電路設(shè)計方案中DSPFPGA比較選擇

    數(shù)字電路設(shè)計方案中DSPFPGA比較選擇
    發(fā)表于 01-18 20:39 ?15次下載

    采用DSPFPGA實現(xiàn)船舶自動避碰系統(tǒng)的設(shè)計

    本文是在AIS提供信息的基礎(chǔ)上,采用DSPFPGA設(shè)計船舶避碰系統(tǒng)。其中高速浮點DSP作為AIS數(shù)據(jù)接收、船舶避碰算法和
    的頭像 發(fā)表于 05-13 07:57 ?2159次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>DSP</b>和<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>船舶自動避碰<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    如何使用FPGADSP實現(xiàn)數(shù)字視頻消像旋系統(tǒng)的設(shè)計

    為消除因探測器姿態(tài)變化造成的圖像旋轉(zhuǎn),保持觀測圖像的穩(wěn)定狀態(tài),采用可編程邏輯門陣列(FPGA)和數(shù)字信號處理器(DSp)構(gòu)建數(shù)字硬件平臺。給
    發(fā)表于 02-04 16:46 ?10次下載
    如何使用<b class='flag-5'>FPGA</b>和<b class='flag-5'>DSP</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>數(shù)字</b>視頻消像旋<b class='flag-5'>系統(tǒng)</b>的設(shè)計