使用Quartus設計FPGA,簡單包括以下流程:
- 新建工程,寫代碼
- 編譯工程,找錯誤
- 分配引腳,重編譯
- 下載配置,到硬件
爲保證設計的正確性,在編譯後,一般還需要做仿真驗證,然後下載至硬件,有兩種仿真方式:
- 功能仿真
- 時序仿真
新建工程,寫代碼
-創建工程文件夾
在電腦上新建一個文件夾,例如E:\Lianxi_1。工程的文件將全都存在這個文件夾內,便於管理。一個工程對應一個文件夾。
-新建工程
打開QuartusII,File->New Project Wizard…如下圖:
第1個,選擇工作目錄:選剛纔建立的空文件夾.
第2個,填入工程名稱。要有意義,比如要做一個38譯碼器,工程名就叫decoder3_8,不要使用中文。
第3個,頂層設計實體名,默認。
↓
Next… 下圖,添加已有的源代碼文件,沒有的話,點Next
↓
下圖,選FPGA型號,根據你FPGA芯片上印刷的型號選擇。
比如,我使用的芯片型號如下:
Family: Cyclone II
Device:EP2C5T144C8
↓
Next…下圖,選擇綜合、仿真、時序分析工具. 此處如果全部選擇None,表示用Quartus自帶的工具。
注:Quartus 9.1以後的版本不再自帶仿真工具,需要安裝Modelsim之類的軟件來仿真。
↓
Next.. 下圖,是前面設置的信息的總覽,檢查無誤就點Finish
- 寫代碼
↑
新建VerilogHDL文件,寫代碼,保存時,文件名要與module後面定義的實體名一致。即,保存decoder3_8.v到你的工程文件夾內。
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
將此源文件設置爲頂層文件,如下圖:
導航窗口Project Navigator下邊→點Files
右擊文件decoder3_8.v
設爲頂層實體Set Top-Level Entity
再點擊工程架構Hierachy,檢查頂層架構是否爲當前頂層文件。
說明:一個工程內,可以有多個源代碼文件。但只有一個是頂層文件,代表最頂層設計,它可以引用工程目錄內的其他源文件。
編譯工程,找錯誤
編譯:Processing–>Start Compilation
編譯不成功時,下方會有紅色提示信息,請仔細檢查語法,雙擊紅色提示信息,可以直接定位到錯誤代碼附近位置。
修改後重新編譯,直至修改完所有錯誤。
編譯成功,只是語法沒有錯誤,但並不代表設計就是完全正確的。
我們可以通過仿真來檢查設計是否符合預計的功能。
分配引腳,重編譯
前面的設計完成後,開始分配引腳
說明:FPGA引腳衆多,大部分引腳都可以任意設置爲輸入或輸出,我們可以將本工程中輸入輸出分配到任意可分配的引腳上。當然,對於已經做好的硬件開發版來說,有些按鍵、顯示燈等已經事先與FPGA連接好了,所以分配引腳的時候要根據硬件電路原理圖正確分配引腳。
分配引腳操作:Assignment -> Pin Planner,如圖。分配完引腳,關閉窗口,重新編譯工程。
下載配置,到硬件
下載程序到FPGA,有多種方式,我們一般用USB-Blaster。
-連接下載器
• 將USB-Blaster的USB端插電腦上,另一端10針接頭接FPGA板上的JTAG插座。
• 用一根USB線給FPGA板供電。
如果你的電腦第一次使用USB-Blaster下載器,需要爲它安裝驅動:
方法:我的電腦右鍵->設備管理器->USB-Blaster右鍵->更新驅動->定位到Quartus安裝目錄C:\altera\9.0\quartus\drivers\usb-blaster,等待安裝完成。
-下載
菜單Tools -> Programmer,下圖
左上方,點Hardware Setup…->下拉選擇USBBlaster->Close.
界面頂部中間選下載方式,Mode: JTAG
左側,按Start下載 .sof文件。
OK,測試硬件功能是否正確吧。