昨天大概講了下數字信號處理中的模擬信號與數字信號之間進行轉換的原理,今天將SystemGenerator給安裝下,有些人在安裝相關開發軟件時可能就已經安好了。
微信
System Generator是Xilinx公司進行數字信號處理開發的一種設計工具,嵌入了Xilinx的一些模塊,能夠在MATLAB中的Simulink中進行定點仿真,能夠設置定點信號的類型等操做,不過我更看重的是那個能夠直接生成HDL文件,而後用於設計Xilinx的FPGA,ISE能夠調用,VIVADO也能夠調用,不過如今應該搞得比較多的是VIVADO,因此就直接按VIVADO的來玩這個System Generator。
System Generator是在安裝VIVADO時就可選的,若是安裝VIVADO的時候沒安,就本身再補安下,能夠看如下的操做步驟,先說下,我用的版本是VIVADO 2018.2,以前學VIVADO設計FPGA時安了後就沒去更新過了,也不知道新版本的咋個樣,估計差不到多少去。
補安
設計工具或者器件庫均可以從這進入,打開VIVADO,再打開Help下的Add Design Tools or Devices....
![](http://static.javashuo.com/static/loading.gif)
而後登陸你XILINX的帳號進行下載安裝(帳號直接在官網註冊個就行,或者查查有沒有跳過該步驟的辦法
)
![](http://static.javashuo.com/static/loading.gif)
進入安裝界面後,勾選上圖中的System Generator for DSP,我這邊是已經安裝好了,因此是顯示打了勾的框,若是沒安裝是空白的,而後點擊NEXT,再Install,慢慢等待安裝完成就好了。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
由於System Generator是在MATLAB上使用Simulink進行的,因此要和MATLAB一塊兒運行,這就關係到其版本的問題了,根據本身下的VIVADO版本對應ug973這個文檔中查看兼容哪些版本,在文檔的配置的第三方工具這一項。
![](http://static.javashuo.com/static/loading.gif)
個人VIVADO是2018.2的版本,從下方的圖能夠看到MATLAB版本能夠兼容R2017a,R2017b和R2018a,不過更高版本的固然也能夠了,我用的就是R2019b,舊版本的不太清楚在使用的時候會不會出什麼問題,能夠本身嘗試,固然要兼容ug973這個文件裏沒有的版本還須要對一個文件作下修改,否則SystemGenerator會不支持本身版本的MATLAB。
![](http://static.javashuo.com/static/loading.gif)
在改文件前,要先知道本身MATLAB的版本信息,網上說的是在卸載軟件的地方能夠看到,好比這個樣子,不過個人R2019b的版本不是3.1這個,用3.1去改文件一直沒成功,我還鬱悶了很久爲何別人的跟我不同
,不過折騰了下仍是找到真實的版本信息了。
![](http://static.javashuo.com/static/loading.gif)
我是這樣操做獲得版本信息的,先找到MATLAB這個EXE所在的路徑(直接找安裝路徑或者其餘方式打開位置所在),而後直接看它屬性,再點詳細信息,就能夠看到版本信息了,個人就是9.7版本而不是上面看到的3.1。
![](http://static.javashuo.com/static/loading.gif)
知道本身MATLAB的版本信息後就能夠更改
Vivado
安裝目錄下的文件ml_supported.xml,而後編輯,往裏面添加你本身MATLAB版本的信息,如下紅色框框裏的就是要添加的版本信息。
![](http://static.javashuo.com/static/loading.gif)
添加完後,保存,而後打開
System Generator 2018.2 MATLAB Configurator
,在開始菜單中的Xilinx Design Tools下能夠找到,我這邊是由於還裝了ISE的版本,因此會看到有四個,若是隻裝了一個XILINX的開發工具,只會有兩個System Generator的相關。
![](http://static.javashuo.com/static/loading.gif)
打開配置後,會看到如下的圖中這個樣子,由於R2016a的MATLAB版本信息我沒加在剛剛的文件中,因此會顯示不支持的字樣,R2019b則是未配置,按下方紅箭頭依次點擊。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
點OK就行了,而後會發現狀態變成已配置,這時候至關於配置成功,再點OK結束就行了。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
準備完成後,開始使用System Generator進行一個簡單的設計流程
一、運行SystemGenerator 2018.2(按本身的版本打開便可),而後就會調用MATLAB的運行程序,等待打開完成後,MATLAB會有一段加載System Generator庫的時間,當命令窗口出現以下圖所示的狀況就能夠下一步操做;
注:從圖中的表述可知道在命令窗口輸入「xlDoc」可以打開System Generator的幫助文檔,輸入「demo blocksetxilinx」可查閱官方示例(感受有點耗時,不知道是否是網絡的緣由)。
![](http://static.javashuo.com/static/loading.gif)
二、打開Simulink,能夠在命令窗口輸入simulink或者單機MATLAB工具欄的Simulink按鈕,以下圖所示
![](http://static.javashuo.com/static/loading.gif)
三、打開後,先創建一個空白模型而且保存到要存的位置上
![](http://static.javashuo.com/static/loading.gif)
四、打開Library Browser,這個打開就是Simulink的仿真庫
![](http://static.javashuo.com/static/loading.gif)
五、在仿真庫界面能夠看到有Xilinx的仿真庫「Xilinx Blockset」和「Xilinx Reference Blockset」
![](http://static.javashuo.com/static/loading.gif)
六、放置仿真模塊並仿真,找到庫界面中的Simulink,將該目錄中的Source中的Constant模塊和Sinks中的Scope模塊放到剛剛創建的空白模型的窗口,而且鏈接起來,能夠先仿真看此時的結果。
Constant模塊中的Sample time默認爲inf的,須要先將其改成你想要的採樣時間,否則仿真的結果只有一個點。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
七、放置SystemGenerator的仿真模塊並仿真,打開Xilinx Blockset下的Basic Elements,將圖中的四個模塊放到模型文件中,看到這些名字,或許你就知道我要實現的是一個什麼功能。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
九、運行10s的仿真,結果以下,能夠看到在等待1s之後,信號才持續輸出,這也是用到Delay的那個延遲做用所致;
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
原本還想把生成VIVADO工程的也繼續寫出來,可是在生成工程的時候遇到一個奇怪的bug
,看看明天發以前能不能解決掉
,我把相關的軟件都傳到了網盤,沒有MATLAB或者VIVADO的能夠自行獲取來安裝使用,設計文件我就不傳上去了,感受沒什麼實際意義,這篇也主要就是對這個工具的使用流程有個瞭解先。
閱讀本文共使用
秒網絡
軟件
獲取
方式以下
:
🔥更多精彩等你發現🔥
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
⇈長按識別二維碼關注電子狂人⇈工具
![](http://static.javashuo.com/static/loading.gif)
本文分享自微信公衆號 - 電子狂人(DZKR666)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。開發工具