基於dsp_builder的算法在FPGA上的實現
基於dsp_builder的算法在FPGA上的實現
一、摘要
結合dsp_builder、matlab、modelsim和quartus ii等軟件完成算法的FPGA實現。
二、實驗平臺
硬件平臺:DIY_DE2
軟件平臺:quartus ii9.0 + ModelSim-Altera 6.4a (Quartus II 9.0) + dsp_builder9.0 + matlab2010b
三、軟件平臺的準備
1、軟件的匹配
根據altera的官方文檔,可以看到quartus ii、modelsim、dsp_builder和matlab的版本匹配信息。如圖1所示。
http://www.altera.com/support/ip/dsp/ips-dsp-version.html
圖1 軟件版本匹配
一般情況下,quartus ii、modelsim和dsp_builder版本一定要匹配,而matlab版本高於規定的版本也可以,但這樣做有可能會出現某些模塊不能使用的情況。
2、軟件的安裝
安裝與破解dsp_builder的步驟可以參看“清風醉明月”同學的文章,鏈接如下:
DSP builder安裝指南(以9.1為例)
需要說明的是:
針對dsp_builder9.0版本的matlab版本應為2007b,而我的是2010b,雖說是兼容的,但是仍出現了些問題,如高級庫的一些組件無法顯示,如圖2所示。最好的解決辦法還是按照建議,使版本完全匹配。
圖2 某些功能無法使用
四、例程
通過一個正弦波的例程闡述dsp_builder的使用流程。可參看潘松著《EDA技術與VHDL》(第3版)第9章的例程。
1、建立simulink設計模型
在matlab中,新建立一個simulink模型,如圖3所示。
圖3 建立的simulink模型
2、simulink模型仿真(系統級,即算法級)
設置好參數後,運行仿真,雙擊scope可以看到仿真波形,如圖4所示。
圖4 simulink仿真波形
3、SignalCompiler使用方法
在simulink中完成仿真驗證後,就需要把設計轉到硬件上加以實現。這是整個DSP builder設計中最關鍵的一步,據此可以獲得針對FPGA的VHDL RTL代碼。如圖5所示。
圖5 SignalCompiler
4、使用modelsim進行RTL級仿真
這一步,其實是對由.mdl文件轉換的VHDL文件進行仿真驗證,可以通過添加TestBench組件實現。如圖6所示。
圖6 TestBench
另外,Launch GUI選型,勾選的話,則直接啟動modelsim進行仿真;不勾選的話,可以通過modelsim的Tools菜單下的TCL——>Execute Macro...查找工程文件夾下的sinwave_add.tcl文件進行仿真。
5、使用Quartus II實現時序仿真
上一步是功能仿真,即modelsim中的前仿真。這是進一步驗證時序仿真的正確與否,即後仿真。這一步,需要說明幾點:
(1)Quartus II 9.1之前的軟件自帶仿真組件,而之後軟件不再包含此組件。
(2)可以用modelsim實現後仿真,驗證時序仿真。
6、FPGA的驗證
將設計下載到FPGA,進行驗證。通過示波器驗證波形的正確與否。
五、總結
上面的流程涉及到的各個部分的具體使用,可以參看altera的dsp_builder官方文檔。
dsp_builder的介紹:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_intro.pdf
dsp_builder的基本庫:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_std.pdf
dsp_builder的高級庫:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_adv.pdf
轉載自:http://www.cnblogs.com/sunev/archive/2012/11/17/2774836.html
基於dsp_builder的算法在FPGA上的實現