FPGA與simulink聯合實時環路系列—開篇
作為網絡上第一個開源此技術,筆者迫不及待地想將此技術分享出來,希望大家多多支持。筆者從2011年接觸FPGA以來,從各個方面使用FPGA,無論是控制、圖像視頻、IC前端驗證、仿真測試,各個部分都有所觸及,2015年第一次接觸到FPGA與matlab的硬件在環實時仿真,就對感受到技術的強大,雖然這里面還有很到的問題,但是作為最強大的仿真驗證工具Matlab與最強大的可編程器件的結合,做仿真測試很方便的,可直接通過matlab產生測試信號或者通過matlab接收分析FPGA處理完成后的信號。
如今FPGA開發過程勢必要涉及到一個過程:驗證仿真,驗證很多情況下是在Matlab上進行的,而仿真大部分初學者都是采用Modelsim仿真軟件進行。比如設計一個信號濾波模塊,驗證該濾波模塊是在Matlab上進行設計驗證,得到該模塊的設計參數和設計結構,然后再轉換為RTL代碼,再用Modelsim軟件進行仿真,這個過程涉及到采用matlab軟件產生待測試的信號,輸入到RTL代碼中,然后在通過Modelsim軟件進行仿真得到處理后的信號,再將該信號輸出到文件,最后通過Matlab軟件分析處理后的信號的頻譜,評估濾波效果。驗證評估測試完成后,在綜合下載到板上。該流程如下所示:

硬件在環 (Hardware in the Loop, HIL)是一種半實物實時仿真技術,實現整個系統的半實物實時仿真測試,可以方便快速實現設計方案的驗證與優化,縮短開發周期,降低研發成本。HIL先后在航天航空、軍事、汽車等領域得到推廣應用。
硬件在環是一種半實物(FPGA)實時仿真(simulink)技術,利用該原理可以將FPGA和simulink聯合起來,通過PC與FPGA的物理連線,實現FPGA和PC端simulink之間的通信,目前該物理連接方式有以太網和JTAG兩中方式,其實這個連接的原理與Quartus II 的signaltap類似,都是在FPGA中生成相應的模塊,負責信息數據的接收和發送來完成整個硬件在環的通信過程,如果之前接觸過signaltap,理解起來就相對簡單容易。
由此,采用硬件在環有什么好處呢?采用硬件在環就可以省略了modelsim這中間環節,在簡單的實驗中,直接進行板級驗證,直接在simulink上的生成待測試的信號,再將待測試的信號,通過以太網或者JTAG接口傳送到FPGA,然后再將FPGA處理后(采集到)的信號傳送到simulink進行分析,由此加快RTL的設計驗證過程。
同時,該方法也可以應用於圖像/音頻處理領域,通過FPGA采集圖像/音頻信號,再通過硬件在環傳送回PC端的simulink(在此可以將FPGA視為一個采集預處理板卡的功能),然后在simulink端做處理和分析,由此可以降低購買圖像或者音頻采集板卡的成本,並且將PC端的simulink和FPGA聯合起來形成一個實時的處理系統,具有很大的意義。

大西瓜FPGA-->https://daxiguafpga.taobao.com
博客資料、代碼、圖片、文字等屬大西瓜FPGA所有,切勿用於商業! 若引用資料、代碼、圖片、文字等等請注明出處,謝謝!
每日推送不同科技解讀,原創深耕解讀當下科技,敬請關注微信公眾號“科乎”。

