Quartus ii是針對Altera FPGA的一款EDA軟件,在此以一個led閃爍工程來簡單說一下基本操作:
一、注意事項
Quartus ii最大的注意事項就一點:工程名稱以及工程里面的文件名稱,都不能出現中文!
二、工程建立
1.新建一個文件夾,並在里面按照自己習慣新建一些常用的文件夾,以后查看時會很方便。我的建立如下:
doc : 相關資料
img : 圖片文件
prj : 工程文件
rtl : 代碼文件
test : 測試文件
2.代碼編寫。因為quartus ii自帶編譯器不是很好用,建議用第三方編譯器寫好代碼,再用quartus ii進行綜合編譯。
1 //====================================================================== 2 //--名稱 : led_flash 3 //--作者 : xianyu_FPGA 4 //--日期 : 2018-10-10 5 //--描述 : led燈每隔1s亮滅1次 6 //====================================================================== 7 8 module led_flash 9 ( 10 input clk , 11 input rst_n , 12 output reg led 13 ); 14 15 //== 參數定義 16 //====================================================================== 17 parameter TIME = 50_000_000 ; 18 19 //== 信號定義 20 //====================================================================== 21 reg [24:0] cnt ; 22 wire add_cnt ; 23 wire end_cnt ; 24 25 //== 1s計數 26 //====================================================================== 27 always @(posedge clk or negedge rst_n)begin 28 if(!rst_n) 29 cnt <= 0; 30 else if(add_cnt)begin 31 if(end_cnt) 32 cnt <= 0; 33 else 34 cnt <= cnt + 1; 35 end 36 end 37 38 assign add_cnt = 1; 39 assign end_cnt = add_cnt && cnt== TIME-1; 40 41 //== led閃爍 42 //====================================================================== 43 always @(posedge clk or negedge rst_n)begin 44 if(!rst_n) 45 led <= 1; 46 else if(end_cnt) 47 led <= ~led; 48 else 49 led <= led; 50 end 51 52 53 endmodule
3.開始建立工程,打開quartus ii,點擊左上角File --- New Project Wizard,出現下圖界面:
4.點擊Next >,出現下圖界面。第一行是設置工程的文件夾,我們打開剛剛建立的文件夾:led_flash --- prj,將這個路徑復制到這就可以了。第二是工程名稱,第三行是top文件名稱,這兩行會自動保持一致,就讓他和我們建立的文件夾命名保持一致吧。
5.點擊Next >,出現以下界面,是否添加文件。如果我們之前寫好了代碼文件,就可以在此處添加,如果沒有就直接Next >。如果誤點,后面也還是可以添加文件的,不慌。
6.Next >之后出現以下界面,FPGA的器件選擇,按照手上有的FPGA選擇正確的器件就行了。
7.Next >之后出現以下界面,EDA工具選擇,一般來說我們把VHDL改成Verilog就行。
8.Next > 之后出現以下界面,把之前的選擇再陳列給你看,如果沒有問題點擊Finish即可,這樣一個工程就建好了。
9.回到了quartus ii主頁面,點擊左上角的New圖標即可新建各種文件,沒什么好說的。
10.在工程欄中選擇Files,點擊此處可以繼續添加文件。
三、常用設置
1.quartus ii自帶文本編輯器的設置,一次設置成功以后都會默認如此。
在打開了代碼文件的情況下,點擊Tools --- Options --- Text Editor,出現以下界面。Tab size默認是3我們改成4,后面的Tab符轉空格符打上勾,這樣代碼就不會因為Tab符和其他編譯器不同而導致看上去沒對齊了。下面還有一個Save backup file,我們不打勾,不然每次都出現備份文件其實挺煩的。
同時看到Text Editor下還有Colors設置,我們可以調整成自己喜歡的風格。我的設置如下:
2.建立工程后,不用引腳設置成三態:Assignment --- Device --- Device and Pin Options... --- Unused Pins --- As input tri-stated
3.建立工程后,多功能引腳全設置成I/O口,或者只把nCEO設置成I/O口,關於這個我不是很明白。Assignment --- Device --- Device and Pin Options... --- Dual-Purpose Pins --- Use as regular I/O
四、VWF仿真的使用
1.仿真我們一般是用modelsim,但如果是簡單的設計可以直接使用VWF。點擊New --- University Prgram VWF,出現以下界面。
2.雙擊空白處,添加信號,點擊Node Finder
3.點擊list,把信號添加進去。然后OK --- OK
5.設置一下結束時間,Edit --- Set End Time,默認是1us,最大只能到100us,比modelsim弱爆了,為了配合這個工程,我把代碼里的50_000_000改成了50。
4.將輸入信號手動添加激勵,點擊上面的快捷圖標就行了。
5.進行保存,然后點擊那兩個仿真圖標,它會自動編譯,自動彈出仿真結果。
6.如果你打開別人的工程,發現波形無法仿真出現,可以這樣試試:點擊simulation --- Options,更改一下這個選項試試。
Quartus ii真的很強大,我才剛入門,以后遇到問題再記錄下來吧。