如何使用QuartusⅡ軟件來編寫FPGA
1、首先現(xiàn)在桌面上找到Quartus II軟件,之后雙擊打開。打卡之后會有一個(gè)初始界面(如圖)。
2、在此界面左上方找到File點(diǎn)擊,出現(xiàn)菜單選擇New Progect wizard選項(xiàng)點(diǎn)擊。
3、彈出新的界面之后,點(diǎn)擊下方的下一步即可。新界面選好自己事先準(zhǔn)備的文件夾,之后給工程起名字。點(diǎn)擊下方下一步。此時(shí)會彈出一個(gè)英文框點(diǎn)擊其中的No.
4、之后彈出的界面就可以不加改動(dòng)直接選擇下方的下一步知道下圖界面出現(xiàn),按圖選擇選項(xiàng)(Cyclone IV E),芯片類型選擇EP4CE6E22C8芯片之后點(diǎn)擊下一步之后按圖三選擇(ModelSim-Altera和Verilog HDL這兩個(gè)選項(xiàng)),點(diǎn)擊下一步。
5、最后在新界面點(diǎn)擊完成。再次點(diǎn)擊左上角的File,在菜單中選擇第一項(xiàng)New,之后彈出新界面選擇Verilog HDL File選項(xiàng)之后點(diǎn)擊下方的OK,就可以在空白處填寫你要練習(xí)的程序了。
Quartus II仿真入門教程
一、建立工作庫文件和編輯設(shè)計(jì)文文件
任何一項(xiàng)設(shè)計(jì)都是一項(xiàng)Project(工程),而把一個(gè)工程下的所有文件放在一個(gè)文件夾內(nèi)是一個(gè)非常好的習(xí)慣,以便于我們整理,利用和提取不同工程下的文件,而此文件夾將被EDA軟件默認(rèn)為Work Library(工作庫),所以第一步先根據(jù)自己的習(xí)慣,建立個(gè)新的文件夾。
下來進(jìn)入正題:
(1)新建文件夾:我的習(xí)慣在D盤建立并保存工程,我將文件夾取名addition counter,路徑為D:addition counter
(2)輸入源程序:打開Quartus II,選擇菜單File--》New--》Design Files--》VHDL File--》OK(如圖1所示)
在VHDL文件編譯器窗口鍵入程序,如圖2所示,源程序附在文章的最后,可以直接復(fù)制粘貼
(3)保存文件:完成一步就保存一步是一個(gè)好習(xí)慣,這樣即使出現(xiàn)意外情況,也不至于以前的努力付諸東流。選擇File--》Save as,選擇保存路徑,即剛才新建的文件夾D:addition counter,文件名應(yīng)與實(shí)體名保持一致,即CNT10.vhd,點(diǎn)擊保存后會跳出“Do you want to create a new project with this file?”選擇“是”,則進(jìn)入如下界面
點(diǎn)擊Next,進(jìn)入“工程設(shè)置”對話框,如圖所示
第一行 表示工程所在的文件夾即D:addition counter,第二行為工程名,可以與頂層文件的實(shí)體名保持一致,也可以另取別的名字,第三行為當(dāng)前工程頂層文件的實(shí)體名。
點(diǎn)擊next,進(jìn)入ADD FILE對話框,如圖所示,單擊Add All 按鈕,將工程相關(guān)的所有VHDL文件加進(jìn)工程,也可以單擊“Add 。。?!边x擇性加入,按此步驟建立工程,工程已經(jīng)自動(dòng)將所有文件加進(jìn)去了,可以直接點(diǎn)擊next,當(dāng)先直接建立工程時(shí),需要自己添加
(4)選擇目標(biāo)芯片:我們選用的是飛思卡爾的Cyclone系列的EP1C6Q240C8,在Family欄選擇芯片系列——Cyclone,然后軟件會在Avalable devices欄中該系列的所有芯片,尋找EP1C6Q240C8并選中,點(diǎn)擊Next,如圖所示
(5)工具設(shè)置:進(jìn)入EDA工具設(shè)置窗口,有三個(gè)選項(xiàng),分別是選擇輸入的HDL類型和綜合工具、選擇仿真工具、選擇時(shí)序分析工具,這是除Quartus II自含的所有設(shè)計(jì)工具以外的外加的工具,如果不作選擇的,表示僅選擇Quartus II自含的所有設(shè)計(jì)工具,本次不需要其他的設(shè)計(jì)工具,可以直接點(diǎn)擊Next
(6)結(jié)束設(shè)置:進(jìn)入“工程設(shè)置統(tǒng)計(jì)”窗口,列出了與此工程相關(guān)的設(shè)置情況,設(shè)置完成,點(diǎn)擊Finish
二、編譯前設(shè)置
1、選擇目標(biāo)芯片并選擇配置器件的工作方式
在菜單欄選擇Assignments--》Device,彈出對話框,因?yàn)閯偛旁诮⒐こ痰臅r(shí)候已經(jīng)選擇了目標(biāo)芯片,所以直接進(jìn)入選擇配置器件的工作方式,點(diǎn)擊Device & Pin Options,如圖所示
彈出Device & Pin Options窗口,分別對General、Configuration(配置器件)、Programming File、Unused Pins(不用的引腳)項(xiàng)進(jìn)行設(shè)置,如圖所示
General項(xiàng)中,在Options欄中選擇Auto-restart configuration after error,使對FPGA的配置失敗后能自動(dòng)重新配置,每當(dāng)選中Options欄中的任一項(xiàng)時(shí),下方的Description欄中有對該選項(xiàng)的描述供參考。
Configuration項(xiàng)中將Generate compressed bitstreams處打鉤,產(chǎn)生壓縮配置文件
Programming File選項(xiàng)保持默認(rèn)即可
Unusual Pins項(xiàng)把不用的引腳全部置高,即As Input tri-stated
點(diǎn)擊確定
三、編譯
配置好后就可以進(jìn)行編譯了,點(diǎn)擊
啟動(dòng)全程編譯
編譯成功后的界面如圖所示
四、時(shí)序仿真
(1)打開波形編輯器:File--》New--》Verification/Debugging Files--》Vector Waveform--》OK,即出現(xiàn)空白的波形編輯器,如圖所示
(2)設(shè)置仿真時(shí)間區(qū)域:Edit--》End Time在Time欄中輸入50,單位選擇“us”,點(diǎn)擊確定并保存波形文件
(3)將工程CNT10的端口信號名選入波形編輯器中:View--》Utility windows--》Node Finder,在Filter框中選Pins:all(通常是默認(rèn)選項(xiàng)),然后點(diǎn)擊List,則顯示出了所有引腳,如圖所示
將重要的端口名拖進(jìn)波形編輯器后關(guān)閉窗口
(5)編輯輸入波形:
單擊窗口的時(shí)鐘信號名CLK使之變藍(lán),再單擊左列的時(shí)鐘設(shè)置鍵,如圖所示
Duty Cycle(占空比)默認(rèn)50,時(shí)鐘周期Period為2us,點(diǎn)擊OK,如圖所示
在最初設(shè)計(jì)的時(shí)候可能默認(rèn)的時(shí)間間隔比較小,沒有顯示出方波,而是一條直線,這時(shí)需要調(diào)整時(shí)間軸,單擊左列放大鏡的圖標(biāo),將鼠標(biāo)放在波形上,左鍵放大,右鍵縮小,點(diǎn)擊幾下右鍵即可看見明顯的方波了。其他的輸入端口的波形界面上圈出需要置高的地方,點(diǎn)擊左列的“1”,按照此方法編輯輸入波形,如圖所示
(6)啟動(dòng)仿真器:Processing--》Start Simulation ,直至出現(xiàn)Simulation was successful,仿真結(jié)束,然后會自動(dòng)彈出
“Simulation Report”,點(diǎn)擊輸出信號“CQ”旁邊的“+”,展開總線中的所有信號,可以更利于我們觀察和分析波形,如圖所示
五、應(yīng)用RTL電路圖觀察器
Tools--》Netlist Viewers--》RTL Viewer,結(jié)果如圖所示
附件1:源代碼
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN:IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT:OUT STD_LOGIC);
END CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK,RST,EN)
VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST=‘1’ THEN CQI:=(OTHERS=》‘0’);
ELSIF CLK‘EVENT AND CLK=’1‘ THEN
IF EN=’1‘ THEN
IF CQI 《 9 THEN CQI:=CQI+1;
ELSE CQI:=(OTHERS=》’0‘);
END IF;
END IF ;
END IF;
IF CQI = 9 THEN COUT 《=’1‘;
ELSE COUT 《=’0‘;
END IF;
CQ 《= CQI;
END PROCESS;
END behav;
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
605771 -
QuartusⅡ
+關(guān)注
關(guān)注
2文章
3瀏覽量
2477
發(fā)布評論請先 登錄
相關(guān)推薦
評論