此設計範例展示了如何在使用有限衝動回應 (FIR) 編譯器 IP MegaCore 功能時,從檔案中重新載入係數。FIR 編譯器提供了在執行時間變更係數的彈性。FIR 編譯器使用一組係數處理資料時,您可以重新載入另一組,而不會停止核心處理。
為了將矽晶片效率優化,係數不會依自然順序儲存。這個範例說明使用預先編譯的可執行 coef_seq.exe重新排序係數的步驟。篩選器使用四組係數:低傳遞、高傳遞、頻帶傳遞,以及頻帶排斥濾波器。前兩個參數于 IP 工具台;後兩個必須在執行時間重新載入,並且需要事先重新排列。所提供的測試台顯示如何設定控制程式以重新載入係數以符合計時需求。
下載此範例中使用的檔案:
此設計之使用受 Intel® 設計範例授權協定的條款與細則約束,且受約束。
zip 下載中的檔案包括:
- fir91.v - FIR 編譯器包裝檔
- coef_reload_tb.v - Testbench 檔案
- coef_reload_msim.tcl - 使用 ModelSim* 工具執行功能性模擬的 Tcl 腳本
- coef_seq.exe - 重新排序係數的 Windows 可執行檔
表 1。FIR 編譯器埠清單
埠名稱 |
類型 |
描述 |
---|---|---|
時鐘 |
輸入 |
頻率訊號 |
reset_n |
輸入 |
同步主動式低重設訊號 |
sink_data[15:0] |
輸入 |
範例輸入資料 |
coef_set |
輸入 |
選擇用於計算的係數集 |
sink_valid |
輸入 |
在輸入資料有效時主張 |
source_ready |
輸入 |
如果下游模組能夠接受資料,則由其維護 |
sink_error[1:0] |
輸入 |
在下沉端表示違反Avalon®-ST通訊協定的錯誤訊號 |
coef_set_in |
輸入 |
選取要重新載入的係數 |
coef_we |
輸入 |
主動式高寫入訊號 |
coef_in[18:0] |
輸入 |
重新載入係數時輸入係數值 |
source_data[37:0] |
輸出 |
篩選輸出 |
sink_ready |
輸出 |
FIR 篩選器在能夠接受資料時所主張 |
source_valid |
輸出 |
FIR 篩選器在有有效的資料輸出時所主張 |
source_error[1:0] |
輸出 |
在源端表示Avalon®-ST 協定違反的錯誤訊號 |