引言:工欲善其事必先利其器,歡迎大家一起交流,Q群:912014800。
在fpga學習中,熟悉一個工具的使用是很有必要的,可以加快開發進度或者幫助我們更好的定位問題。本文總結一些quaruts的常用技巧以供大家參考,不是非常全面,如有更好的技巧,請留言討論。
使用版本:quartus prime standard 17.1 (win 10建議裝15.0版本以上的,因為低版本的NIOS使用會有bug)
(1)查看RTL view(可以查看綜合后的視圖,可以幫助分析錯誤以及建立整個工程的架構)
1)方法一
2)方法二
(2)查看chip plan(可以查看最終fpga怎么實現邏輯)
第一步:
第二步:之后會看到這個:
第三步:雙擊上圖的藍色塊,然后會看到最終fpga實現的方式(注:高端器件可能是6輸入lut或者兩個6輸入lut,且D觸發器(有時候稱為FF)不止一個):
(3)一個工程加入多個編譯選項(我們在開發的時候用的是資源比較大的fpga,而實際產品是一個資源比較小的fpga,則需要多個編譯選項)
正常狀態下,編譯選項(我的叫法)只有一個,如下圖所示:
有時候需要在兩個器件上綜合同一份代碼,那么應該怎么辦呢?
第一步:
第二步:
第三步:
第四步:
第五步:選擇my_qsys_t1,然后如圖5操作,之后便可以在另一個器件上綜合了。
(4)smart 編譯(快速智能編譯),可以提高編譯速度
第一步:
第二步:
(5)查看狀態機
方法一:
方法二:
(6)設置字體,調用第三方編輯器(自帶的不好用或者其他原因)
第一步:
第二步:
(7)安裝器件庫(用其他器件發現沒有庫怎么辦)
(8)clean project(如果編譯到一半,突然電腦關機了等類似的問題,再次編譯出現一些奇怪的錯誤,該功能可能幫你解決問題)
(9)產生/使用tcl管腳配置文件(快速配置管腳,建議新工程的頂層信號定義和舊工程相同)
產生TCL管腳配置:
使用TCL配置管腳:
(10)工程版本整理
1)copy 工程,之后自己選擇目錄然后確定即可。
2)打包工程(可生成.qar文件,然后發給別人,別人可直接用quartus打開)
3)生成.qxp(網表,比如自定義IP核,自己寫的程序不想給別人看,這里要注意的要是用signal tap觀察的話,需要把這些信號例化后在觀察,否則觀察不到信號的)文件給別人使用
第一步:
第二步:之后在其他工程中點擊 file -> open 選擇xx.qxp,會看到如下信息,然后可以去例化該模塊或設置為頂層直接使用。
(11)主界面窗口調整(不小心把某些窗口關掉了,怎么找回來)
(12)轉換固化文件(最終固化到器件的flash中)
第一步:
第二步:
(13)手動加入IP核(有時候生成IP后,由於某種原因IP核並沒有加入到工程中,那怎么辦呢)
加入xx.qip的文件即可,IP核的其他xx.v文件都不用加。
(14)signal tap 觀察信號時,某些被優化怎么辦?
把中間信號改為該模塊的output類型,然后重新編譯一遍嗎,再次加入該信號即可。
(15)設置第三方仿真或者綜合等工具
(16)沒有用的管腳設置
第一步:
第二步:
第三步:
(16)設置管腳上拉[比如IIC需要等]
打開Pin Planer,然后如下圖所示:
(17)通過usb-baster 查看ram中的數據
首先在生成ram的時候需要做一些設置,如下:
然后在下載xx.sof后,點擊這里:
最后呢,我們可以看到ram中的數據如下所示: