基于MATLAB與QUARTUS II的 FIR濾波器設計與驗證
完成Simulink軟件中的模型設計,仿真成功后,需要在ModelSim中仿真。因為Simulink中的仿真屬于系統驗證性質,是對mdl文件進行算法級仿真,而生成VHDL描述是RTL級,針對具體硬件結構。二者之間可能存在軟件理解上的差異,轉換后的VHDL代碼實現可能與mdl模型描述的情況不完全相符,這就需要使用ModelSim進行RTL級功能仿真。圖5所示是采用ModelSim仿真的結果,即低通濾波器的輸出。可看出,與simulink中的仿真結果基本一致。本文引用地址:http://www.104case.com/article/195605.htm
6 使用Quartus實現時序仿真
ModelSim完成的RTL級仿真只是功能仿真,其仿真結果并不能精確反映電路的全部硬件特性,因此,時序仿真仍十分重要。圖6是用QuartusⅡ實現的時序仿真,可看出,時序仿真滿足設計要求。
7 使用嵌入式邏輯分析儀SignalTap II測試
只進行工程軟件仿真遠遠不夠,還必須進行硬件仿真。signalTap II邏輯分析儀是Quartus II軟件中集成的一個內部邏輯分析軟件,使用它可以觀察設計的內部信號波形,方便用戶查找引起設計的缺陷。從Simulink建模仿真到Mod-elsim RTL仿真和Quartus II時序仿真,輸入正弦波都是仿真信號,而不是實際信號源。在硬件實際運行時,可以從外部信號源接入器件內部或者在其內部存儲正弦波數據。這里采用后者,即在頂層文件中引入LPM_ROM宏模塊,在其中存入正弦波數據的mif文件(存儲初始化文件),FIR濾波器模塊直接從ROM中讀取數據。實際測試發現,經過設計的低通濾波器后,高頻信號被濾除,只有輸出低頻信號(標準的正弦波),濾波效果滿足系統要求,嵌入式邏輯分析儀中的輸出波形如圖7所示。
8 結束語
本文在FPGA內利用DSPBuilder實現FIR數字低通濾波器,通過Simulink算法仿真和ModelSim進行RTL仿真,接著在Quartus中進行時序仿真。最后用嵌入式邏輯分析儀SignalTapII進行實際測試,結果證明采用該方法設計的FIR數字低通濾波器功能正確,性能良好,可以提高FIR濾波器的設計質量,加快設計進程,驗證結果直觀明了。隨著各類數字信號處理的IP Cores的進一步完善,基于FPGA的DSP系統的應用會更加廣泛。
評論