新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于VerilogHDL的FIR數字濾波器設計與仿真

        基于VerilogHDL的FIR數字濾波器設計與仿真

        作者: 時間:2015-01-05 來源:網絡 收藏

          1、設計意圖

        本文引用地址:http://www.104case.com/article/267699.htm

          本例主要是在Stratix 器件內實現基本有限脈沖響應濾波器。

           的基本結構包括一系列的乘法和加法。 的運算可用式( 1) 的方程描述, 現重寫如下:

          

         

          x(n)表示輸入樣本序列, h(n)代表濾波器的系數, L 是抽頭的數量。

          一個L=8 的 設計如圖2, 利用了輸入的8 個樣本。因此稱之為8 抽頭濾波器。該結構是有一個移位寄存器, 乘法器和加法器組成的, 可實現L=8 階的FIR。其數據通道必須足夠寬, 以適應乘法器和加法器的輸出。這些采樣值被編碼為有限

          字長的形式, 然后通過M個寄存器并行移動。可見用一個MAC級連鏈就可以構成這種機器。每個寄存器提供一個單位樣本內延遲。這些延遲輸入與各自的系數相乘, 然后疊加得到輸出。圖2 所示為基于MAC 的8 階FIR 結構。

          

         

          在該設計中有八個抽頭, 各抽頭有18 位輸入和濾波器系數。由于一個DSP 塊可以支持4 個18 位輸入的分支, 所以設計需要2 個DSP 塊。輸入數據串行加載到DSP 塊中, DSP 內部的移入/移出寄存器鏈用于產生延遲。濾波器系數從TriMatrix(tm)的ROM存儲器中加載。

          

         

          2、 HDL 代碼編寫風格

          HDL 代碼編寫應該具有很好的易讀性和可重用性, 而自頂向下的分割方法可以幫助我們達到最佳的結果。HDL 代碼在達到功能的情況下要盡可能的簡潔, 盡量避免使用帶有特殊庫單元的實例, 因為這樣會使得整個進程變得不可靠。在本設計中, 我們將設計劃分成一個頂級文件和三個次級文件, 并且調用了QuartusII 中的MegaFunction 功能輔助完成整個設計。

          

         

          3、驗證仿真

          完全可綜合設計的一個優點就是同樣的HDL 代碼能夠用于驗證和綜合。在使用HDL 代碼之前必須要驗證設計的功能,最好且最簡單的方法就是利用驗證工具, 其次是利用仿真工具作有目的的仿真。QuartusII 內部帶有仿真器, 只要通過建立正確的Vector Waveform File( 向量波形文件) 就可以開始仿真了。圖4 所示為QuartusII 內部仿真器得到的8 階FIR 的脈沖響應波形。

          

         

          3 結論

          利用 HDL 設計的最大優點就是可使設計更加靈活。比較硬件電路圖設計, HDL 語言設計的參數可以很容易在Verilog 程序中更改, 通過綜合工具的簡化和綜合即可以得到電路圖, 其效率要高出利用卡諾圖進行人工設計許多。而且編譯過程也非常簡單高效。優秀編碼風格能夠在綜合過程中節省芯片使用的單元, 從而降低設計成本。

        濾波器相關文章:濾波器原理


        濾波器相關文章:濾波器原理


        低通濾波器相關文章:低通濾波器原理


        電源濾波器相關文章:電源濾波器原理


        數字濾波器相關文章:數字濾波器原理
        鎖相環相關文章:鎖相環原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 日土县| 德江县| 湄潭县| 宁明县| 宾阳县| 黑龙江省| 凤凰县| 定安县| 南京市| 望江县| 平凉市| 得荣县| 苍南县| 航空| 治县。| 秀山| 永定县| 安西县| 繁昌县| 潮州市| 玛沁县| 密云县| 长海县| 清远市| 镇远县| 中西区| 科技| 延庆县| 临猗县| 台东县| 巴彦淖尔市| 铜陵市| 长沙市| 章丘市| 合肥市| 宜兰市| 孝感市| 将乐县| 元朗区| 大埔县| 图们市|