流水線技術在基於FPGA的DSP運算中的應用研究

2020-12-17 電子產品世界

在數位訊號處理(DSP)領域,需要處理的數據量很大,並且實時性要求很高。傳統的DSP設計方法主要有採用固定功能的DSP器件和採用DSP處理器兩種,由於它們靈活性差以及軟體算法在執行時的順序性,限制了它們在高速和實時系統中的應用。隨著深亞微米半導體製造工藝的不斷創新,百萬門可編程器件的不斷推出,為DSP提供了第3種有效的解決方案,即利用FPGA實現DSP運算硬體化。它能夠在集成度、速度和系統功能方面滿足DSP應用的需要。
然而在應用FPGA進行系統設計綜合過程中,選擇晶片的運行速度優化和資源利用優化常常是相互矛盾的,對速度指標要求高的設計優化常常要佔用較大的晶片資源,而減小晶片面積的設計又需要以降低系統速度為代價。從FPGA發展趨勢和DSP運算要求看,系統速度指標的意義比面積指標更趨重要,需要我們進一步深入研究提高晶片的最高工作速度的設計策略。本文討論在基於FPGA的DSP系統設計中採用流水線技術,充分利用硬體內部的並行性,在FPGA有限資源晶片面積上提高單位時間裡的數據處理能力即數據吞吐率(throughput),提高系統的工作速度的具體做法。

本文引用地址:http://www.eepw.com.cn/article/188737.htm

0 流水線技術基本原理和FPGA結構特徵

流水線是一種在時間上串行,在空間上並行的技術,其基本原理如圖1所示。將整個電路劃分為若干個流水線級,流水線每級之間設置寄存器鎖存上一級輸出的數據;每一級只完成數據處理的一部分;一個時鐘周期完成一級數據處理,然後在下一個時鐘到來時將處理後的數據傳遞給下一級;第一組數據進入流水線後,經過一個時鐘周期傳到第二級,同時第二組數據進入第一級,數據隊列依次前進。每組數據都要經過所有的流水級後才能得到最後的計算結果,但是對整個流水線而言,每個時鐘都能計算出一組結果,所以平均計算一組數據只需要一個時鐘周期的時間,這樣就大大提高了數據處理速度,電路在單位時間內處理的數據量就愈大,即電路的吞吐量就越大,保證整個系統以較高的頻率工作。
FPGA的結構特點很適合採用流水線設計,以Altera低成本系列Cyclone II為例,不僅有最多達68416個邏輯單元(LE),而且提供嵌入式存儲資源支持各種存儲應用和低成本DSP應用(如乘法器模塊、PLL)。每個LE均含有一個四輸入查找表LUT、一個可編程觸發器等。一般設計中,這個觸發器或者沒有用到,或者用來存儲布線資源。設計中可將一個算術操作分解成一些小規模的基本操作配置到LUT中,將進位和中間值存儲在寄存器中,在下一個時鐘內繼續運算。因此,在FPGA中採用流水線技術,只需要極少或者根本不需要額外的資源成本。特別是在需要進行大批量重複運算的場合,如數位訊號處理中的卷積操作、FFT或FIR濾波器設計,採用流水線技術,可以大大提高系統運行速度。

1 FPGA中基本DSP運算的流水線設計與性能分析
加法器和乘法器是DSP中最基本的運算部件。在Quartus軟體平臺上設計加法器或乘法器可以採用原理圖法和VHDL語言兩種基本方法。考慮到參數可設置宏模塊(Library of Parameterrized Modtlles-LPM)經過嚴格測試和優化,可以發揮最佳性能,所以,我們採用原理圖設計方式,通過MegaWizard P1ug-In Manager工具引入1pm add sub和1pm mult兩種可設置流水線的LPM模塊,實現了不同位寬、不同流水線級數的加法器和乘法器設計,並選用CycloneII系列EP2C5Q208C7器件進行了綜合、布局布線、時序分析和仿真設計,以比較其性能的變化特徵。
1.1 不同流水線級數的運算器性能比較
對16位加法器和8位乘法器分別選用不同的流水線級數進行設計,比較結果如表1、2所示。

由比較結果可見:
(1)採用流水線技術普遍比不用流水線工作速度顯著提高,體現流水線技術在高速DSP運算上的優勢。
(2)採用流水線技術在資源耗用(邏輯單元與寄存器個數、存儲器位數)上有所增加。
(3)採用不同的流水線級數在速度指標和資源耗用率上有所不同,流水線級數增加,速度指標不一定增加,但資源耗用大大增加,所以應注意速度和資源耗用指標的權衡。如對16位加法器,如不用M4K(專用存儲器資源),以採用2級流水線最佳;如選用M4K,則取6級流水最佳。8位乘法器則以2級或6級流水最佳。對於其他DSP運算,在設計時必須通過反覆比較、設計,選擇符合系統性能要求的流水線級數。
1.2 不同位寬運算器相同流水線級數的性能比較
對採用6級流水的加法器和乘法器的數據位寬加以改變,通過綜合仿真,分析其性能指標的變化,見表3。

由比較結果可見:採用同樣的流水線級數時,工作速度基本相同,但耗用資源隨輸入位數的增加而急劇增加,加法器主要是邏輯單元LE個數的增加;乘法器則是存儲器位和嵌入式乘法器個數的增加。因此,對於不同的運算器電路,應根據需要選用不同型號的FPGA器件以滿足對不同資源的需要。如,僅作加法運算時,可以選用邏輯單元豐富的FPGA器件女HACEX系列、FLEX等系列;乘加運算則需要選擇內嵌乘法器模塊和存儲器模塊的Cyclone、CycloneII等系列。


相關焦點

  • 第六講 DSP在雷達信號處理中的應用
    最先開設的講座將圍繞三大課題:dsp、fpga和嵌入式系統,每個課題都將連載6期。本文重點介紹通用dsp在雷達信號處理系統中的典型應用,以及研製基於dsp的雷達信號處理系統的關鍵技術。本文引用地址:http://www.eepw.com.cn/article/20739.htm dsp在雷達信號處理中的典型應用 作為面向數位訊號處理的可編程嵌入式處理器,dsp具有高速、靈活、可靠、可編程、低功耗、接口豐富、處理速度快、實時性好等特點。
  • 基於DSP和USB技術的數據採集與處理系統
    它的主要特點是:(1)它內部採用的是程序空間和數據空間分開的哈佛結構,允許同時取指令和取操作數;(2)晶片內多採用分離的總線結構,這樣可保證一個極其周期內可以多次訪問程序空間和數據空間;(3)採用流水線結構,在程序運行中取指、解碼、取操作數和執行階段是重疊的;(4)晶片內部一般都包括多個處理單元,它們可以在一個指令周期內同時進行運算;(5)dsp數字系統中設置了一些特殊的dsp指令,能更好地滿足數位訊號處理應用的需要
  • 基於CORDIC 2FSK調製器的FPGA設計
    提出一種基於流水線CORDIC算法的2FSK調製器的FPGA實現方案,可有效地節省FPGA的硬體資源,提高運算速度。最後,給出該方案的硬體測試結果,驗證了設計的正確性。0 引言 頻移鍵控(FSK)是用不同頻率的載波來傳送數位訊號,並用數字基帶信號控制載波信號的頻率。
  • 一種基於FPGA的視頻邊緣檢測系統設計
    本文引用地址:http://www.eepw.com.cn/article/246281.htm隨著科技的發展,視頻採集系統越來越廣泛的應用於各個領域,如體育直播,視頻會議,飛彈的電視制導等等。而圖像邊緣是圖像的基本特徵之一,其中包含了很重要的邊界信息,這些信息是圖像分析、目標識別的基礎。在交通信息控制應用領域中,邊緣檢測已經是車牌識別、車流量監控、自動導航等技術中的重要環節。
  • 基於FPGA的高速流水線浮點乘法器設計與實現
    同時由於基於IEEE754 標準的浮點運算具 有動態範圍大,可實現高精度,運算規律較定點運算更為簡捷等特點,浮點運算單元的設計 研究已獲得廣泛的重視。本文介紹了 32 位浮點乘法器的設計,採用了基4 布思算法,改進的4:2 壓縮器及布思 編碼算法,並結合FPGA自身特點,使用流水線設計技術,在實現高速浮點乘法的同時,也 使是系統具有了高穩定性、規則的結構、易於FPGA 實現及ASIC 的HardCopy 等特點。
  • dsp處理器一般哪裡用_dsp處理器應用領域分析
    DSP晶片,也稱數位訊號處理器,是一種特別適合於進行數位訊號處理運算的微處理器,其主要應用是實時快速地實現各種數位訊號處理算法。它的應用範圍十分廣泛。 另外,目前移動通信佔有很大市場,移動通信中的語音壓縮和數據機也大量採用dsp晶片。 總之,在dsp的應用中,通信領域佔56.1%,dsp在通信領域將大有可為,值得從事通信產品開發的科技人員密切注意。 DSP技術在多媒體通信的應用 文字、語言、圖像、數據等媒體就是我們平時所說的多媒體。
  • 基於FPGA的移位寄存器流水線結構FFT處理器設計與實現
    近年來現場可編程門陣列(FPGA)的飛速發展,與DSP技術相比,由於其並行信號處理結構,使得FPGA能夠很好地適用於高速信號處理系統。由於Altera等公司研製的FFT IP核,價錢昂貴,不適合大規模應用,在特定領域中,設計適合於自己領域需要的FFT處理器是較為實際的選擇。
  • 基於DSP集成開發環境CCS2.2的指紋圖像預處理的應用研究
    基於DSP集成開發環境CCS2.2的指紋圖像預處理的應用研究 趙慧民 , 朱立 發表於 2020-12-01 10:47:00 利用生物認證技術進行個人身份鑑定,取代傳統的使用鑰匙
  • 基於FPGA的實時中值濾波器硬體實現
    在許多實際應用場合,如高清視頻監控、X光圖像的降噪等,需要快速且實時地進行中值濾波,軟體實現達不到實時處理的要求,因此選用硬體實現。 在硬體實現上,文獻[1]、[2]等採用行延遲的方法形成鄰域數據,以實現3×3的中值濾波。文獻[7]為了提高紅外成像跟蹤器設計了大窗口的中值濾波器。
  • 基於FPGA的數字下變頻的研究與實現
    數字下變頻是軟體無線電的核心技術之一。隨著WiMAX等寬帶無線通信技術的逐漸成熟,對無線設備數字帶寬的要求也越來越高,所以,有必要對帶寬較寬信號的數字下變頻進行研究。l 常用數字下變頻結構 通常的數字下變頻結構如圖1所示。
  • 基於DSP和FPGA技術的低信噪比雷達信號檢測
    摘要:提出一種基於DSP和FPGA技術的低信噪比情況下雷達信號檢測技術的工作原理與硬體實現方法,採用數位化的處理方法處理信息,取代傳統使用的模擬檢測技術
  • 基於FPGA的CORDIC算法的改進及實現
    根據它的迭代原理,CORDIC單元可以用流水線結構表示,使向量旋轉並行處理,大大加快了蝶形運算的速度[1]。但是CORDIC運算單元的多級迭代也佔用了大量的晶片資源,尤其是在使用多個蝶形進行FFT處理時,使用的資源是非常巨大的,為了儘量降低資源佔用,對CORDIC流水線進行了結構上的改進。
  • 如何在 FPGA 上實現雙線性插值的計算?
    在FPGA上,乘法是一件非常消耗資源的事,雖然Xilinx和Altera這樣的FPGA廠商會在每塊FPGA板上設計dsp來專門應對乘法、除法等複雜運算。但dsp的數量是十分有限的,dsp的使用水平很大程度上決定了整個FPGA的計算速度。一個dsp可以當作一個乘法器使用,而一個除法器則需要多個DSP級聯組成。
  • 基於FPGA的帶Cache的嵌入式CPU的設計與實現
    隨著集成電路設計和工藝技術的發展,嵌入式系統已經在PDA、機頂盒、手機等信息終端中被廣泛應用。嵌入式系統具有電路尺寸小、成本低廉、可靠性高、功耗低等優點,是未來集成電路發展的方向。而作為嵌入式系統核心的微處理器,其性能直接影響整個系統的性能。
  • 3G系統中AGC的FPGA設計實現
    因此,基於這種方法,fpga在5ms的周期中遍取6 400個碼片,每64個碼片做積分,依次向前滾動計算,同時做除法運算,最後即可計算出SYNC_DL在一幀6 400個碼片中的位置和能量,以此控制VGA的電壓和後續的計算。不過這種方法只有在信號質量很好,信號強度比較大的時候才計算準確。
  • 一文講解單片機、ARM、MCU、DSP、FPGA、嵌入式錯綜複雜的關係!
    而ARM本是一家專門設計MCU的公司,由於技術先進加上策略得當,這兩年單片機市場份額佔有率巨大。ARM的單片機有很多種類,從低端M0(小家電)到高端A8、A9(手機、平板電腦)都很吃香,所以也不是ARM的單片機一定要上系統,關鍵看應用場合。DSP叫做數位訊號處理器,它的結構與MCU不同,加快了運算速度,突出了運算能力。可以把它看成一個超級快的MCU。
  • 基於FPGA的正交數字混頻器中數控振蕩器的設計與實現
    隨著數字通信技術的發展,傳送的數據速率越來越高。如何得到一個可數控的高頻載波信號是實現高速數字通信系統必須解決的問題。本文將介紹如何在中實現高速正交數字混頻器中的數控振蕩器設計。1NCO的頂層電路結構基於矢量旋轉的算法正好滿足了這一需求該算法有線性的收斂域和序列的特性,只要迭代次數足夠,即可保證結果有足夠的精度。
  • 基於DSP技術汽車定位防盜系統的體系結構系統研究
    儘管市場上的汽車防盜器正逐步改善,但這些防盜器主要採用呼叫報警、高壓電擊等, 伴隨科學技術的發展,汽車偷盜技術也越來越高,使人防不勝防。汽車防盜無論是對汽車 製造商還是社會保險業都具有極其重要的研究價值,針對目前世界範圍內汽車盜竊案的上升趨勢,各汽車廠家都在不斷地改進防盜技術,尤其是隨著微電子技術的進步,汽車防盜技術 已向著自動化、智能化方向發展。
  • 基於FPGA的視頻實時邊緣檢測系統
    在交通信息控制應用領域中,邊緣檢測已經是車牌識別、車流量監控、自動導航等技術中的重要環節。通過有效的邊緣檢測,可以大大簡化後續圖像處理過程對圖像信息的分析工作。對於視頻圖像的邊緣檢測,若採用軟體方式實現由於受到系統處理速度的限制,容易出現斷幀現象,這對於要求實時處理的情況下將是一個很大的缺陷。硬體實現主要有基於專用晶片,基於DSP和基於FPGA的3種處理方式。
  • 基於FPGA的24點離散傅立葉變換結構設計
    摘要 基於Good—Thomas映射算法和ISE快速傅立葉變換IP核,設計了一種易於FPGA實現的24點離散傅立葉變換,所設計的24點DFT模塊採用流水線結構,主要由3個8點FFT模塊和1個3點DFT模塊級聯而成,並且兩級運算之間不需要旋轉因子,整個DFT