使用QuartusII 9.1版本筛璧,簡單包括以下流程:
新建工程
編譯工程
分配引腳
下載配置
為保證設(shè)計(jì)的正確性逸绎,在編譯后惹恃,一般還需要做仿真驗(yàn)證夭谤,然后下載至硬件,有兩種仿真方式:- 功能仿真- 時(shí)序仿真
1巫糙、新建工程朗儒,寫代碼
-創(chuàng)建工程文件夾
在電腦上新建一個(gè)文件夾,例如E:\Lianxi_1参淹。
工程的文件將全都存在這個(gè)文件夾內(nèi)醉锄,便于管理。一個(gè)工程使用一個(gè)文件夾浙值。
-新建工程
打開QuartusII恳不,F(xiàn)ile->New Project Wizard…
如下圖:
第1個(gè),選擇工作目錄开呐。選剛才建立的空文件夾.
第2個(gè)烟勋,填入工程名稱。要有意義筐付,比如要做一個(gè)38譯碼器卵惦,工程名就叫decoder3_8,不要使用中文瓦戚。
第3個(gè)沮尿,頂層設(shè)計(jì)實(shí)體名,默認(rèn)较解。
↓Next… 下圖畜疾,添加你寫完的的源代碼文件赴邻,還沒有寫的話,點(diǎn)Next
↓下圖庸疾,選FPGA型號(hào)乍楚,根據(jù)你FPGA芯片上印刷的型號(hào)選擇。比如届慈,我使用的芯片型號(hào)如下:
Family: Cyclone II
Device:EP2C5T144C8
↓Next…下圖徒溪,選擇綜合、仿真金顿、時(shí)序分析工具. 此處全部選擇None臊泌,表示用Quartus自帶的工具。
注:Quartus 9.1以后的版本不再自帶仿真工具揍拆,需要安裝Modelsim之類的軟件來仿真渠概。
↓Next.. 下圖,是前面設(shè)置的信息的總覽嫂拴,點(diǎn)Finish
寫代碼
↑新建VerilogHDL文件播揪,寫代碼,保存時(shí)筒狠,文件名要與module后面定義的實(shí)體名一致猪狈。
即,保存decoder3_8.v到你的工程文件夾內(nèi)辩恼。
module decoder3_8 (data_out, data_in ) ;
input [2:0] data_in;
output [7:0] data_out;
reg [7:0] data_out;
always @(data_in)
begin
case (data_in )
3'b000: data_out=8'b11111110;
3'b001: data_out=8'b11111101;
3'b010: data_out=8'b11111011;
3'b011: data_out=8'b11110111;
3'b100: data_out=8'b11101111;
3'b101: data_out=8'b11011111;
3'b110: data_out=8'b10111111;
3'b111: data_out=8'b01111111;
default: data_out=8'bxxxxxxxx;
endcase
end
endmodule
保存為 decoder3_8.v將此源文件設(shè)置為頂層文件雇庙,如下圖:
導(dǎo)航窗口Project Navigator下邊→點(diǎn)Files
右擊文件decoder3_8.v設(shè)為頂層文件Set Top-Level Entity
導(dǎo)航窗口Project Navigator下邊選項(xiàng)卡:Hierachy(架構(gòu)),檢查頂層架構(gòu)是否為當(dāng)前頂層文件灶伊。說明:一個(gè)工程內(nèi)疆前,可以有多個(gè).v源代碼文件。但只有一個(gè)是頂層文件聘萨,代表最頂層設(shè)計(jì)竹椒,它可以引用工程目錄內(nèi)的其他源文件。
2米辐、編譯工程胸完,找錯(cuò)誤
編譯:Processing–>Start Compilation編譯不成功時(shí),下方會(huì)有紅色提示信息儡循,請(qǐng)仔細(xì)檢查語法舶吗,雙擊紅色提示信息,可以直接定位到錯(cuò)誤代碼附近位置择膝。修改后重新編譯誓琼,直至修改完所有錯(cuò)誤。編譯成功,只是語法沒有錯(cuò)誤腹侣,但并不代表設(shè)計(jì)就是完全正確的叔收。可以通過Quartus仿真功能來檢查設(shè)計(jì)是否符合預(yù)計(jì)的功能傲隶。
3饺律、分配引腳,重編譯
前面的設(shè)計(jì)完成后跺株,開始分配引腳并重新編譯复濒。即,將頂層文件的輸入輸出信號(hào)配置在FPGA的引腳上乒省。說明:FPGA引腳可設(shè)置為輸入或輸出巧颈,我們可以將本工程中輸入輸出信號(hào)分配到任意引腳上。當(dāng)然袖扛,對(duì)于已經(jīng)做好的硬件開發(fā)版來說砸泛,有些按鍵、顯示燈等已經(jīng)事先與FPGA連接好了蛆封,所以分配引腳的時(shí)候要根據(jù)硬件"電路原理圖"正確分配引腳唇礁。
分配引腳操作:Assignment -> Pin Planner,如圖惨篱。
分配完有用引腳后盏筐,將未使用到的引腳設(shè)置為三態(tài)輸入。
點(diǎn)【確定】妒蛇,記得要再一次編譯工程机断。
4楷拳、下載配置绣夺,到硬件
下載程序到FPGA,有多種下載器欢揖,我們一般用USB-Blaster
-連接下載器? 將USB-Blaster的USB端插電腦上陶耍,另一端10針接頭接FPGA板上的JTAG插座。? 用一根USB線給FPGA板供電她混。如果你的電腦第一次使用USB-Blaster下載器烈钞,需要為它安裝驅(qū)動(dòng):
USB-Blaster驅(qū)動(dòng)安裝方法:我的電腦右鍵->設(shè)備管理器->USB-Blaster右鍵->更新驅(qū)動(dòng)->定位到Quartus安裝目錄C:\altera\9.0\quartus\drivers\usb-blaster,等待安裝完成坤按。步驟圖如下:
設(shè)備管理器:黃色嘆號(hào)圖標(biāo)表示未安裝驅(qū)動(dòng)程序
USB-Blaster右鍵->更新驅(qū)動(dòng)
彈出提示窗口后毯欣,定位到Quartus安裝目錄C:\altera\9.0\quartus\drivers\usb-blaster
驅(qū)動(dòng)安裝成功
-下載:菜單Tools -> Programmer
左上方,點(diǎn)Hardware Setup…->下拉選擇USB-Blaster->Close.
選下載方式Mode: JTAG臭脓。
界面左側(cè)酗钞,按Start下載 .sof文件。
OK,測(cè)試硬件功能是否正確吧砚作。