精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

快速實現基于FPGA的脈動FIR濾波器,VHDL,脈動陣列,PE處理單元,FIR濾波器

FPGA設計論壇 ? 來源:未知 ? 2022-12-01 10:20 ? 次閱讀

引言

目前,用FPGA(現場可編程門陣列)實現FIR(有限沖擊響應)濾波器的方法大多利用FPGA中LUT(查找表)的特點采用DA(分布式算法)或CSD碼等方法,將乘加運算操作轉化為位與、加減和移位操作。這些結構需要占用器件較多的LE(邏輯元件)資源,設計周期長,工作頻率低,實時性差。本文提出一種基于Stratix系列FPGA器件的新的實時高速脈動FIR濾波器的快速實現方法。利 用FGPA集成的DSP(數字信號處理器)乘加模塊定制卷積運算單元,利用VHDL(甚高速集成電路硬件描述語言)元件例化語句快速生成脈動陣列結構的FIR濾波器,設計周期短、可移植性強,設計采用全流水結構,能高速、無滯后地實現實時信號處理。

1 設計指標及參數量化

1.1 濾波器技術指標

本文依據以下技術指標設計一個64階等波紋濾波器:Fs=4.092 MHz;Fpass=1.4 MHz,fstop=1.6 MHz;Wpass<1 dB,Wstop<-50 dB。使用MATLAB中FDA-Tool工具獲得濾波器系數。

1.2 參數量化

從FDATool中得到的濾波器系數值是一組浮點小數,必須量化為定點數才能在FPGA器件中實現。本文采用移位舍入的量化方法對濾波器系數進行量化,MATLAB描述為:

得到64階系數。濾波器系數預先存入器件內部ROM中,通過修改coet.mif文件中的參數可以改變濾波器的類型或參數。使用altera_mf庫中altsyncram元件可以直接調用ROM中保存的數據。其調用語句描述如下:

2 FIR設計

2.1 器件簡介

Stratix系列FPGA內部提供了豐富的硬功能模塊,如片內RAM、PLL(鎖相環)、DSP模塊等,充分理解這些模塊的結構特點和工作原理,掌握其使用方法,可以充分利用器件資源,最大程度地發揮器件在整個系統設計中的作用,使系統設計最優化。提供的DSP模塊集成了乘、加/減/累加、求和這幾種算術操作,支持符號數、無符號數和混合運算,并且在這些計算路徑中集成了可選的寄存器級和全局/局部時鐘控制。一個DSP塊最多可以配置成8個9×9、4個18×18或者1個36×36的乘法器,可工作在簡單乘法器模式、乘累加模式、2乘加模式和4乘加模式,應用這4種模式,可以實現高性能的DSP算法。本文選用StratixⅡ器件,在QuartusⅡ開發環境下應用4乘加模式生成脈動陣列PE(處理單元),用VHDL描述實現FIR濾波器設計。

2.2 脈動陣列結構沒計

本文參考文獻[6]中陣列F結構--扇入結果,輸入流動,權值存入PE,設計一種可實時更替權值的FIR脈動結構,如圖1所示。權值w從上流入各個PE中,輸入x門左向右流入PE。在這個陣列中,x值在每個單步時刻內向右邊的PE移動一次。在每次計算中,各個PE同時進行乘法,算出同一個y值的各乘積項,然后將乘積結果扇入至加法器中相加,得到該y值的結果,實現FIR算法。

2.3 PE設計

DSP模塊集成的算術操作中,4乘加模式就是4個乘法器將乘積送出相加,輸出一個加/減的結果。利用模塊內部可選的寄存器,可使輸入數據在模塊內部流動,實現移位寄存器功能,如圖2所示FPGA片內DSP塊的結構。若兩路輸入分別為輸入信號和濾波器系數,則圖2所示的結構恰好構成一個4階FIR濾波器。

本文選用DSP模塊構成脈動陣列結構FIR濾波器的PE卷積單元。具體方法是,采用基于Altera_mf庫的乘累加運算元件“ALTMULT_ADD”可以快速完成PE設計。通過Altera的IP工具MegaWizard管理器(MegaWizard Plug-In Manager),定制算術單元(Arith-metic)中乘累加底層基本宏功能模塊的參數,設置需要的乘法器個數、輸入輸出數據格式、流水線控制時鐘等參數,即可完成4階卷積PE元件的設計。

通過調用宏功能模塊生成元件的封裝文什,然后在設計代碼中調用該封裝文件。本文選擇16位符號數輸入、34位符號數輸出,設置分級流水線控制輸入、輸出、乘積結果和加法結果,選擇一路輸入內部移位。第k個PE元件例化VHDL描述如下:

元件中clk0~clk1分別指向PE中各級寄存器建立時鐘。例如t-1時刻,x(t-I)~x(t-4)參與PEk中計算;t時刻,數據x(t)流入PE時,PE 中 4個乘法單元中寄存的數據往前流動,x(t-4)從shiftouta端門流向下級PE。

3 FIR優化設計

將前述的例化的PE單元按圖1所示的脈動結構連接起來,就完成了一個基本的脈動FIR濾波器設計,為提高系統性能,需要進一步對設計進行優化。

3.1 時序優化設計

對設計而言,提高工作頻率至關重要,更高的工作頻率意味著更強的處理能力。合理設計系統的時序對提高整個設計的工作頻率有著至關重要的作用。而整個系統中最核心和復雜的時序關系為PE內部乘加時序。以下時序優化以PE單元為例。

本設計期望系統工作在200 MHz以上。因此,對設計的tco(時鐘到輸出延時)、tsu(輸入建立時間)、tpd(引腳到引腳延時)分別約束為3 ns、2 ns、5 ns。編譯后從時序分析報告(Timing Analyzer Report)可得到PE處理單元的基本時序關系。若使用單周期設計,從輸入數據到參與乘法、加法計算再到結果輸出,至少需要2.023+1.829+2.625+2.577=9.84 ns才能完成一次運算,達不到期望時鐘頻率。若應用DSP模塊的流水線工作,合理設置PE單元各級觸發時鐘,則可使系統工作頻率昆著提高,系統最高可工作在356.13 MHz(相同速度等級的芯片,Altera公司提供的9位16階FIR IP核,參考工作頻率為217.15 MHz)。考慮系統完成后全天候工作,為保證系統長期穩定,本設計最終選用208.33 MHz系統工作頻率,設計實際使用的控制時鐘如圖3所示。

3.2 加法優化設計

設計一個64階的濾波器,需要使用16個PE,即需要對16個乘加結果進行加操作,如果采用圖1所示的加法運算,如圖4(a)所示,計算一次y值需要15個時鐘周期才能完成,而且在15個周期內各個加法輸入不能變化,若設計中PE能達到300 MHz的工作頻牢,加法也只能工作在20 MHz,必然阻礙設計的高速實現,成為制約系統性能的瓶頸。

采用流水線的加法運算是解決這個瓶頸的最好方法。如圖4(b)所示。clk1~clk5與PE計算時鐘同步,無需延長加法計算時鐘,第5級流水的加法器使能后就能實時得到y結果。通過LPM(參數化模塊庫),直接在代碼中實例化LPM加法運算,就能快速生成全流水結構的加法模塊。其中第1級16個加法描述如下:

END GENERATE

4 FIR實現

上述的描述在QuartusⅡ開發工具中進行編譯和布局布線,采用的目標器件為EP2S601024C4芯片,系統內部最高運算時鐘為356.13 MHz,如圖5所示。

設計的其他性能參數如下:總邏輯單元1 037個;總寄存器單元1 070個;總存儲器容量2 048B;使用的9位DSP模塊128個;最差輸入引腳到寄存器延時1.750 ns;最差寄存器到輸出引腳延時2.615 ns。

本設計經過MATLAB與Modelsim聯合功能仿真,MATLAB與Quartus聯合時序仿真,兩種仿真結果與FPGA處理后的數據一致。

5 結束語

本文結合FPGA器件的結構和特點,利用DSP模塊及其內部寄存器實現FIR脈動濾波器,不僅性能高,同時節約了LE資源和布線資源。通過MegaWizard宏模塊編輯器,可以快速定制核心的處理單元實現脈動結構,對不同結構的濾波器只需修改定制處理單元參數和ROM中系數,就可以迅速設計出新的濾波器。采用全流水加法結構,使用最少的邏輯單元,達到最高的工作頻率,完成對信號的實時、高速處理。






精彩推薦



至芯科技12年不忘初心、再度起航11月12日北京中心FPGA工程師就業班開課、線上線下多維教學、歡迎咨詢!
Vivado中FFT IP核的使用
FPGA開發中時序不滿足(建立時間)的典型案例及解決方法
掃碼加微信邀請您加入FPGA學習交流群




歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點個在看你最好看







原文標題:快速實現基于FPGA的脈動FIR濾波器,VHDL,脈動陣列,PE處理單元,FIR濾波器

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

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

    關注

    1626

    文章

    21665

    瀏覽量

    601828

原文標題:快速實現基于FPGA的脈動FIR濾波器,VHDL,脈動陣列,PE處理單元,FIR濾波器

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA實現FIR數字濾波器

    在數字信號處理系統中,有限脈沖響應(finite impulse response,FIR)數字濾波器是一個非常重要的基本單元。近年來,由于FPGA
    的頭像 發表于 11-05 16:26 ?213次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b><b class='flag-5'>FIR</b>數字<b class='flag-5'>濾波器</b>

    FIR濾波器的工作原理和特點

    FIR(Finite Impulse Response)濾波器,即有限長單位沖激響應濾波器,又稱為非遞歸型濾波器,是數字信號處理系統中最基本
    的頭像 發表于 08-05 16:33 ?882次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的工作原理和特點

    如何區分IIR濾波器FIR濾波器

    IIR(無限脈沖響應)濾波器FIR(有限脈沖響應)濾波器是數字信號處理領域中兩種非常重要的濾波器類型。它們在許多應用中都發揮著關鍵作用,如
    的頭像 發表于 07-19 09:44 ?3373次閱讀

    iir濾波器fir濾波器的優勢和特點

    IIR濾波器FIR濾波器是數字信號處理領域中兩種非常重要的濾波器類型。它們各自具有獨特的優勢和特點,適用于不同的應用場景。本文將介紹IIR
    的頭像 發表于 07-19 09:28 ?1074次閱讀

    基于matlab FPGA verilog的FIR濾波器設計

    今天和大俠簡單聊一聊基于matlab FPGA verilog的FIR濾波器設計,話不多說,上貨。 本次設計實現8階濾波器,9個系數
    發表于 07-04 20:11

    matlab與FPGA數字信號處理系列 Verilog 實現并行 FIR 濾波器

    FPGA 實現 FIR 濾波器時,最常用的是直接型結構,簡單方便,在實現直接型結構時,可以選擇串行結構/并行結構/分布式結構。 并行結構
    發表于 05-24 07:48

    DSP教學實驗箱_DSP算法實驗_嵌入式教程:4-3 有限沖激響應濾波器FIR)算法(CCS顯示)

    一、實驗目的 了解FIR濾波器的特點,掌握程序算法生成濾波器系數的方法,并實現FIR濾波器濾除高
    發表于 05-16 09:30

    Vivado 使用Simulink設計FIR濾波器

    濾波器,是數字信號處理系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩定的系統。因此,FIR
    發表于 04-17 17:29

    基于多速率DA的根升余弦濾波器FPGA實現

    處理技術和分布式算法的FPGA實現技術,使得計算量大幅減少,處理速度得到較大提高,而且使得FPGA資源利用更合理。1、根升余弦
    發表于 03-25 14:21

    Matlab生成fir濾波器抽頭系數的流程

    在Vivado調用fir濾波器時,我們會遇到需要填充濾波器抽頭系數的問題,手工計算又不現實,所以在此向大家介紹一個生成系數的工具。
    的頭像 發表于 03-25 09:49 ?1338次閱讀
    Matlab生成<b class='flag-5'>fir</b><b class='flag-5'>濾波器</b>抽頭系數的流程

    Vivado經典案例:使用Simulink設計FIR濾波器

    FIR(Finite Impulse Response)濾波器:有限長單位沖激響應濾波器,又稱為非遞歸型濾波器,是數字信號處理系統中最基本的
    的頭像 發表于 03-25 09:18 ?1950次閱讀
    Vivado經典案例:使用Simulink設計<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>

    如何在Matlab中實現不同窗低通濾波器的設計?

    在Matlab中使用漢明窗設計低通濾波器可以通過fir1函數實現。漢明窗通常用于設計濾波器,可以提供更突出的頻率特性。
    的頭像 發表于 02-27 14:11 ?5877次閱讀
    如何在Matlab中<b class='flag-5'>實現</b>不同窗低通<b class='flag-5'>濾波器</b>的設計?

    FIR濾波器和IIR濾波器的區別與聯系有哪些

    FIR濾波器和IIR濾波器是數字信號處理中的兩種常見濾波器類型,它們在原理、結構和性能等方面存在顯著的差異與聯系。
    的頭像 發表于 01-29 16:41 ?2535次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>和IIR<b class='flag-5'>濾波器</b>的區別與聯系有哪些

    全文詳解IIR濾波器原理與設計方法

    IIR濾波器具有很高的濾波效率,在相同幅頻響應條件下,所需的濾波器階數明顯比FIR濾波器低。其次,IIR
    發表于 01-22 09:25 ?9138次閱讀
    全文詳解IIR<b class='flag-5'>濾波器</b>原理與設計方法

    AD6620的FIR濾波器是什么類型的濾波器呢?

    請問AD6620的FIR濾波器是什么類型的濾波器呢?它的功能是什么呢?可不可以直接從AD6620的輸出中進行符號同步的時鐘提取呢?謝謝!!!
    發表于 12-22 07:00