摘要:雖然網上有很多fir的使用博客,但是呢?本文的fir是基於最新的IP核 fir II 來說的。在新版的軟件中,搜索fir只剩下fir II 了。。。本文僅說明該IP的參數怎么設置,如何使用,在此筆者已經驗證過了,大家可以自行到硬件上驗證,歡迎大家一起交流,Q群:912014800。
1.生成IP ,簡單的建立工程就掠過了,生成IP的第一步如下:

2.第一頁參數介紹 Filter Specification

如上所示,第一個紅色框的參數設置這個模塊的工作是多少,第二個紅色框的參數設置采樣率,也就是一秒有多少采樣點。紫色框的參數是系數重新載入的選項,筆者猜測應該是重新配置參數用的(還沒用過)。
3.第二頁參數介紹

第二頁是系數的一些設置,這些系數指的是每個抽頭的系數,比如倒數第二行和第三行可以設置小數或者整數,如果設置小數的話需要設置小數有幾位,本次設計參數是整數,其次需要注意紅色框參數的位寬,默認是8bit,我這里改位16bit,實際該參數會影響下個選項參數量化的誤差,所以應該適當的大一些較好,但相應會增加資源,這里自己評判即可。其他三個選項沒有研究過。。
4.第三頁參數介紹

該界面是用來設置抽頭參數的,可以從matlab中導入參數,這里要注意的是,在matlab中導出參數后,需要手動加給相鄰的兩個參數中加 ‘’,‘’如下所示:

上面是每兩個參數之間都加入了逗號之后的結果。實際操作直接點紅色框導入即可。
5.第四頁參數介紹

這一頁是選擇截斷數據位的,如上圖中的藍色框,筆者這里設置為10,也就是低10bit全部截斷,輸出的話就是12bit的有符號數了,這里高位和低位都是可以截斷的。可以自己選擇如何截斷。
6.第五頁參數介紹

上面的第一個框可以選擇速度等級,然后下一個框會顯示用了多少資源
7.第六頁參數介紹

沒有用過這個選項。。略
8.信號定義以及說明:

如上圖所示,輸入除了clk和reset_n之外,數據輸入和輸出都是基於數據流的,vld信號指示數據輸出的有效性,而error信號一般默認給0 即可。
以上就是這個IP的設置了,然后點擊生成即可。在使用的時候要和設置的參數一致,時鍾設置的多少M實際就用多少M,其次采樣頻率是多少,實際就給多少,比如我這里設置的12.5MBPS,那么實際采樣頻率也用這個。
最后,關於仿真,如果可以聯合仿真就聯合仿真,如果不能聯合仿真,那么直接例化該IP核,然后在實際硬件上驗證吧。關於matlab的設置,以及fir的其他相關資料請自行查閱,本文僅簡單講解IP如何設置和使用。
實際截圖:



