




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章常用EDA工具軟件操作指南本章首先概括地闡述了常用EDA工具軟件安裝指南,接著介紹了用于講解常用EDA工具軟件操作的用例VHDL源程序和VHDL仿真測(cè)試程序,最后以實(shí)例的形式重點(diǎn)闡述了AlteraQuartusⅡ8.0、XilinxISESuite10.1、SynplicitySynplifyPRO7.6、MentorGraphicsModelSimSE6.0等常用EDA工具軟件的使用,包括源程序的輸入,有關(guān)仿真,管腳的鎖定,邏輯綜合與適配,編程下載等操作步驟與方法。目錄4.1常用EDA工具軟件安裝指南4.2常用EDA工具軟件操作用例4.3AlteraQuartusⅡ操作指南4.4XilinxISEDesignSuite操作指南4.5SynplicitySynplifyPRO操作指南4.6MentorGraphicsModelSim操作指南4.1常用EDA工具軟件安裝指南
1.硬件配置的選擇EDA軟件隨著功能越來越多,性能越來越好,相應(yīng)地對(duì)計(jì)算機(jī)的硬件配置越來越高,包括硬盤容量、內(nèi)存容量、顯示器、通訊接口、操作系統(tǒng)等。如果安裝軟件的計(jì)算機(jī)硬件配置低于軟件安裝于運(yùn)行的最低要求,就會(huì)使系統(tǒng)無法完成安裝或無法正常運(yùn)行。因此在安裝計(jì)算機(jī)軟件前,先要閱讀有關(guān)說明,應(yīng)滿足系統(tǒng)安裝與運(yùn)行的最低配置要求。雖然現(xiàn)在計(jì)算機(jī)有包括USB接口在內(nèi)的很多通訊接口方式,但是很多EDA實(shí)驗(yàn)開發(fā)系統(tǒng)仍然需要計(jì)算機(jī)的并行打印機(jī)接口進(jìn)行編程下載,因此為了自己的使用方便,購買計(jì)算機(jī)時(shí)選擇含并行打印機(jī)接口的主板是必需的。
2.按說明進(jìn)行安裝有關(guān)EDA軟件的安裝方法一般在readme文件中。根據(jù)說明運(yùn)行安裝程序,并依照提示進(jìn)行安裝過程中的各種選擇,最后完成軟件的程序安裝。
3.授權(quán)文件的準(zhǔn)備EDA軟件的授權(quán),除了傳統(tǒng)的軟件序列號(hào)進(jìn)行授權(quán)外,更多的是采用授權(quán)文件的形式進(jìn)行合法使用,因此EDA軟件購買時(shí)請(qǐng)索取授權(quán)文件,或通過網(wǎng)絡(luò)獲取授權(quán)。對(duì)于EDA軟件的網(wǎng)絡(luò)版或浮動(dòng)授權(quán),必須根據(jù)需要修改授權(quán)文件中的有關(guān)參數(shù)。例如安裝QuartusⅡ網(wǎng)絡(luò)版時(shí),需要先進(jìn)行網(wǎng)絡(luò)版授權(quán)文件的修改。修改方法就是將license.dat以文本方式打開,再把文件中的【HOSTID=xxxxxxxxxxxx】的主機(jī)網(wǎng)卡物理地址使用替換的方式替換為自己網(wǎng)卡物理地址(如:00E04C1EA996),替換完畢將license.dat重新存盤。網(wǎng)卡物理地址的查找方法:【程序】→【附件】→【C:\命令提示符】→【X:\IPconfig/all↙】。圖4.1是網(wǎng)卡物理地址獲取示意圖。軟件安裝好后,需要將獲得的授權(quán)文件license.dat等拷貝到安裝系統(tǒng)的指定目錄下,為后續(xù)的授權(quán)文件的設(shè)置做準(zhǔn)備。(a)進(jìn)入DOS操作狀態(tài)圖4.1網(wǎng)卡物理地址獲取示意圖(b)網(wǎng)卡物理地址獲取操作及結(jié)果圖4.1網(wǎng)卡物理地址獲取示意圖4.軟件授權(quán)的設(shè)置軟件授權(quán)的設(shè)置,就是根據(jù)系統(tǒng)的要求選擇授權(quán)方式,設(shè)定授權(quán)文件。授權(quán)方式一般有評(píng)估授權(quán),固定授權(quán)和浮動(dòng)授權(quán)三種。軟件安裝好后,運(yùn)行軟件,根據(jù)提示進(jìn)行授權(quán)設(shè)置,或選擇授權(quán)的子菜單項(xiàng)進(jìn)行授權(quán)設(shè)置。圖4.2是QuartusⅡ安裝時(shí)選擇授權(quán)類型的示意圖,圖4.3是QuartusⅡ安裝時(shí)設(shè)置授權(quán)文件的示意圖。5.環(huán)境變量的設(shè)置有的EDA軟件安裝好后必須設(shè)置環(huán)境變量才能正常使用。同時(shí)安裝有多個(gè)EDA軟件,必須修改環(huán)境變量才能正常使用。因此安裝好EDA軟件后,需要設(shè)置或修改環(huán)境變量。環(huán)境變量的設(shè)置/修改方法是:首先選中【我的電腦】,用鼠標(biāo)右點(diǎn)彈出【屬性】設(shè)置框,并選擇【高級(jí)】屬性;接著在彈出的高級(jí)屬性設(shè)置框中點(diǎn)擊【環(huán)境變量】設(shè)置項(xiàng),在彈出【環(huán)境變量】設(shè)置框選擇新建環(huán)境變量或編輯【環(huán)境變量】;最后輸入變量名、變量值。若系統(tǒng)需設(shè)置多個(gè)授權(quán)文件,編輯系統(tǒng)變量值時(shí)應(yīng)用“;”分隔各個(gè)授權(quán)文件。圖4.4是設(shè)置環(huán)境變量操作示意圖。6.驅(qū)動(dòng)程序的安裝有的EDA軟件,在安裝時(shí)就把有關(guān)硬件的驅(qū)動(dòng)程序一起安裝了,但是有的EDA軟件安裝好后還要單獨(dú)進(jìn)行有關(guān)硬件的驅(qū)動(dòng)程序的安裝。驅(qū)動(dòng)程序安裝好后,還要運(yùn)行EDA軟件進(jìn)行有關(guān)硬件的設(shè)置后,硬件才能真正使用。圖4.2QuartusⅡ安裝時(shí)選擇授權(quán)類型示意圖圖4.3QuartusⅡ安裝時(shí)設(shè)置授權(quán)文件示意圖圖4.4設(shè)置環(huán)境變量操作示意圖為了節(jié)約篇幅,本節(jié)先闡述后續(xù)五個(gè)常用EDA工具軟件的操作指南中將要用到的操作用例VHDL源程序及其仿真測(cè)試程序。4.2.1四位十進(jìn)制計(jì)數(shù)器電路【例4.1】用VHDL設(shè)計(jì)一個(gè)計(jì)數(shù)范圍為0~9999的四位十進(jìn)制計(jì)數(shù)器電路CNT9999。為了簡化設(shè)計(jì)并便于顯示,該計(jì)數(shù)器分為兩個(gè)層次,其中底層電路包括四個(gè)十進(jìn)制計(jì)數(shù)器模塊CNT10,再由這四個(gè)模塊按照?qǐng)D4.5所示的原理圖構(gòu)成頂層電路CNT9999。其中底層和頂層電路均采用VHDL文本輸入。有關(guān)VHDL程序如下:4.2常用EDA工具軟件操作用例圖4.5CNT9999電路原理圖1.CNT10的VHDL源程序--CNT10.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO:OUTSTD_LOGIC);ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);--定義保存計(jì)數(shù)值的信號(hào)CQIBEGINPROCESS(CLK,CLR,ENA)IS--計(jì)數(shù)控制進(jìn)程BEGINIFCLR='1'THENCQI<="0000";ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI="1001"THENCQI<="0000";ELSECQI<=CQI+'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,CQI)IS--進(jìn)位控制進(jìn)程BEGINIFCLK'EVENTANDCLK='1'THENIFCQI<"1001"THENCO<='0';ELSECO<='1';ENDIF;ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;2.CNT9999的VHDL源程序--CNT9999.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCNT9999ISPORT(CLR:INSTD_LOGIC;CLK:INSTD_LOGIC;ENA:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYCNT9999;ARCHITECTUREARTOFCNT9999ISCOMPONENTCNT10ISPORT(CLK,CLR,ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO:OUTSTD_LOGIC);ENDCOMPONENTCNT10;SIGNALS0,S1,S2,S3:STD_LOGIC;--定義模塊間連接信號(hào)BEGINU0:CNT10PORTMAP(CLK,CLR,ENA,DOUT(3DOWNTO0),S0);U1:CNT10PORTMAP(S0,CLR,ENA,DOUT(7DOWNTO4),S1);U2:CNT10PORTMAP(S1,CLR,ENA,DOUT(11DOWNTO8),S2);U3:CNT10PORTMAP(S2,CLR,ENA,DOUT(15DOWNTO12),S3);ENDARCHITECTUREART;4.2.2計(jì)數(shù)動(dòng)態(tài)掃描顯示電路【例4.2】用VHDL設(shè)計(jì)一個(gè)計(jì)數(shù)范圍為0~9999的計(jì)數(shù)器,并將計(jì)數(shù)結(jié)果使用動(dòng)態(tài)掃描的方式進(jìn)行顯示。圖4.60-9999計(jì)數(shù)動(dòng)態(tài)顯示電路原理圖為了簡化設(shè)計(jì)并便于顯示,該計(jì)數(shù)動(dòng)態(tài)掃描顯示電路分為兩個(gè)層次,其中底層電路包括四個(gè)十進(jìn)制計(jì)數(shù)器模塊CNT10、動(dòng)態(tài)顯示控制信號(hào)產(chǎn)生模塊CTRLS、數(shù)據(jù)動(dòng)態(tài)顯示控制模塊DISPLAY等三個(gè)模塊,再由這六個(gè)模塊按照?qǐng)D4.6所示的原理圖構(gòu)成頂層電路DTCNT9999。其中底層的六個(gè)模塊是用VHDL文本輸入,頂層的電路系統(tǒng)則采用原理圖輸入。DTCNT9999中的CLK1是計(jì)數(shù)時(shí)鐘信號(hào);CLK2是動(dòng)態(tài)掃描控制時(shí)鐘信號(hào),要求在24Hz以上;CLR為清零信號(hào);ENA為計(jì)數(shù)時(shí)鐘信號(hào);COM為數(shù)碼管公共端控制信號(hào);SEG為數(shù)碼管的顯示驅(qū)動(dòng)端,分別接a~g。十進(jìn)制計(jì)數(shù)器模塊CNT10的VHDL程序見例題4.1,其余兩個(gè)模塊的VHDL程序如下:1.CTRLS的VHDL源程序
--CTRLS.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYCTRLS;ARCHITECTUREARTOFCTRLSISSIGNALCNT:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK)IS--產(chǎn)生000-111周期性變化的控制信號(hào)BEGINIFCLK'EVENTANDCLK='1'THENIFCNT="111"THENCNT<="000";ELSECNT<=CNT+'1';ENDIF;ENDIF;ENDPROCESS;SEL<=CNT;ENDARCHITECTUREART;2.DISPLAY的VHDL源程序--DISPLAY.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDISPLAYISPORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYDISPLAY;ARCHITECTUREARTOFDISPLAYISSIGNALDATA:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP1:PROCESS(SEL)IS
--根據(jù)控制信號(hào)進(jìn)行數(shù)碼管公共端的控制譯碼BEGINCASESELISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN"100"=>COM<="11101111";WHEN"101"=>COM<="11011111";WHEN"110"=>COM<="10111111";WHEN"111"=>COM<="01111111";WHENOTHERS=>COM<="11111111";ENDCASE;ENDPROCESSP1;
--LEDW<=SEL;P2:PROCESS(SEL)BEGINCASESELIS--根據(jù)控制信號(hào)進(jìn)行顯示數(shù)據(jù)選擇WHEN"000"=>DATA<=DATAIN(3DOWNTO0);WHEN"001"=>DATA<=DATAIN(7DOWNTO4);WHEN"010"=>DATA<=DATAIN(11DOWNTO8);WHEN"011"=>DATA<=DATAIN(15DOWNTO12);WHENOTHERS=>DATA<="0000";ENDCASE;
CASEDATAIS--根據(jù)顯示數(shù)據(jù)進(jìn)行顯示驅(qū)動(dòng)譯碼WHEN"0000"=>SEG<="00111111";--3FHWHEN"0001"=>SEG<="00000110";--06HWHEN"0010"=>SEG<="01011011";--5BHWHEN"0011"=>SEG<="01001111";--4FHWHEN"0100"=>SEG<="01100110";--66HWHEN"0101"=>SEG<="01101101";--6DHWHEN"0110"=>SEG<="01111101";--7DHWHEN"0111"=>SEG<="00000111";--07HWHEN"1000"=>SEG<="01111111";--7FHWHEN"1001"=>SEG<="01101111";--6FHWHENOTHERS=>SEG<="00000000";--00HENDCASE;ENDPROCESSP2;ENDARCHITECTUREART;;圖4.7EDA仿真測(cè)試模型4.2.3EDA仿真測(cè)試模型及程序1.EDA仿真測(cè)試模型使用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)仿真測(cè)試的模型如圖4.7所示。仿真的基本步驟如下:(1)分析系統(tǒng)設(shè)計(jì)要求和設(shè)計(jì)思想,弄懂系統(tǒng)的工作原理/工作流程;(2)了解各種輸入信號(hào)及要求,設(shè)置各種輸入激勵(lì)信號(hào):各輸入信號(hào)本身的要求,相互之間的要求(如輸入的先后,時(shí)間間隔的大小,上升沿/下降沿等);各種輸入信號(hào)的設(shè)置有兩種:仿真波形直接設(shè)置,測(cè)試程序文本設(shè)置;測(cè)試用例應(yīng)盡可能覆蓋整個(gè)系統(tǒng)的各種可能情況。(3)估計(jì)各種輸出的期望值:對(duì)應(yīng)各種可能的輸入,估計(jì)其輸出期望值;(4)進(jìn)行實(shí)際仿真及結(jié)果分析:執(zhí)行仿真操作,進(jìn)行實(shí)際仿真,并將仿真結(jié)果與期望值進(jìn)行比較與分析;(5)仿真改進(jìn)與完善:若仿真結(jié)果與期望值不一致,則查找原因,進(jìn)行程序和仿真設(shè)置值修改,直到完全達(dá)到要求為止。2.EDA仿真測(cè)試程序
EDA仿真測(cè)試程序就是通過以文本編程的方式給被測(cè)試的設(shè)計(jì)實(shí)體提供輸入信號(hào)和輸出顯示信號(hào),一般包括兩個(gè)部分:①根據(jù)測(cè)試的各種要求,通過各種賦值語句給被測(cè)試系統(tǒng)提供各種測(cè)試輸入信號(hào);②通過元件例化語句建立被測(cè)試系統(tǒng)與測(cè)試平臺(tái)內(nèi)輸入信號(hào)和輸出信號(hào)的映射關(guān)系。下面給出例4.1中CNT10和CNT9999的VHDL仿真測(cè)試程序?!纠?.3】0~9999的四位十進(jìn)制計(jì)數(shù)器電路的的VHDL仿真測(cè)試程序。1.CNT10的仿真測(cè)試程序--CNT10_TB.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10_TBISENDENTITYCNT10_TB;ARCHITECTUREARTOFCNT10_TBISCOMPONENTCNT10ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO:OUTSTD_LOGIC);ENDCOMPONENTCNT10;
--定義連接被測(cè)系統(tǒng)輸入端口的信號(hào)SIGNALCLK:STD_LOGIC;SIGNALCLR:STD_LOGIC;SIGNALENA:STD_LOGIC;
--定義連接被測(cè)系統(tǒng)輸出端口的信號(hào)SIGNALCQ:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALCO:STD_LOGIC;BEGINUUT:CNT10PORTMAP(CLK=>CLK,CLR=>CLR,ENA=>ENA,CQ=>CQ,CO=>CO);PROCESS(CLK)--產(chǎn)生時(shí)鐘信號(hào)CLK進(jìn)程BEGINCLK<='0';LOOPCLK<='1','0'AFTER5NS;WAITFOR10NS;ENDLOOP;ENDPROCESS;CLR<='1','0'AFTER20NS,'1'AFTER1000NS;--設(shè)置清零信號(hào)CLRENA<=‘0’,‘1’AFTER40NS,‘0’AFTER1000NS;--設(shè)置使能信號(hào)ENAENDARCHITECTUREART;2.CNT9999的仿真測(cè)試程序--CNT9999_TB.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT9999_TBISENDENTITYCNT9999_TB;ARCHITECTUREARTOFCNT9999_TBISCOMPONENTCNT9999ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;ENA:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDCOMPONENTCNT9999;--定義連接被測(cè)系統(tǒng)輸入端口的信號(hào)SIGNALCLK:STD_LOGIC;SIGNALCLR:STD_LOGIC;SIGNALENA:STD_LOGIC;--定義連接被測(cè)系統(tǒng)輸出端口的信號(hào)SIGNALDOUT:STD_LOGIC_VECTOR(15DOWNTO0);BEGINUUT1:CNT9999PORTMAP(CLK=>CLK,CLR=>CLR,ENA=>ENA,DOUT=>DOUT);PROCESS(CLK)--產(chǎn)生時(shí)鐘信號(hào)CLK進(jìn)程BEGINCLK<='0';LOOPCLK<='1','0'AFTER5NS;WAITFOR10NS;ENDLOOP;ENDPROCESS;CLR<='1','0'AFTER20NS,'1'AFTER1600NS;--設(shè)置清零信號(hào)CLRENA<=‘0’,‘1’AFTER40NS,‘0’AFTER1600NS;--設(shè)置使能信號(hào)ENAENDARCHITECTUREART;4.3AlteraQuartusⅡ操作指南
QuartusⅡ是Altera公司新近推出的EDA軟件工具,其設(shè)計(jì)工具完全支持VHDL、Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。第三方的綜合工具,如SynplifyPro、FPGACompilerⅡ有著更好的綜合效果。QuartusⅡ可以直接調(diào)用這些第三方工具。同樣,QuartusⅡ具備仿真功能,也支持第三方的仿真工具。此外,QuartusⅡ?yàn)锳lteraDSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境,它與MATLAB和DSPBuilder結(jié)合可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。QuartusⅡ還可與SOPCBuilder結(jié)合,實(shí)現(xiàn)SOPC系統(tǒng)開發(fā)。QuartusⅡ10.0以前的版本,可通過直接設(shè)置波形的形式進(jìn)行仿真,對(duì)于初學(xué)者比較有利,而對(duì)于QuartusⅡ10.0及其以上的高版本,其仿真只能通過調(diào)用第三方仿真軟件Modsim、使用仿真測(cè)試程序的方式進(jìn)行仿真。本節(jié)先講解典型的QuartusⅡ8.0的各種使用,最后以QuartusⅡ13.0SP為例,介紹其調(diào)用Modsim進(jìn)行仿真的方法。4.3.1QuartusⅡ的初步認(rèn)識(shí)1.QuartusⅡ的主界面介紹QuartusⅡ8.0的主菜單包括:【File】菜單,主要功能是新建、打開和保存一個(gè)工程或者資源文件;【Edit】菜單,主要包含了一些與文本編輯相關(guān)的功能選項(xiàng);【View】菜單,主要功能是隱藏或顯示工程管理器、管腳查找器等操作視圖;【Project】菜單,主要功能是工程的一些操作;【Assignment】菜單,主要功能是對(duì)工程進(jìn)行設(shè)置的相關(guān)操作;【Processing】菜單,包含了對(duì)工程的一些操作命令或子菜單項(xiàng);【Tools】菜單,包含了進(jìn)行設(shè)計(jì)的一些操作工具;【W(wǎng)indow】菜單,主要功能是排列規(guī)劃窗口,使讀者容易閱讀和管理。圖4.8是QuartusⅡ8.0的主界面及工程信息分布圖。圖4.8QuartusⅡ8.0的主界面及工程信息分布圖2.文件及工程建立先執(zhí)行【File】→【New】,新建源程序,新建文件類型的選擇界面如圖4.9所示。再執(zhí)行【File】→【NewProjectWizard】,如圖4.10所示,打開新建工程向?qū)В鶕?jù)提示進(jìn)行有關(guān)設(shè)置或選擇,創(chuàng)建一個(gè)新的工程,并要求工程名與頂層文件名一致。對(duì)于已經(jīng)建立的文件或工程,需要使用時(shí)打開即可。3.工程實(shí)現(xiàn)的設(shè)置工程實(shí)現(xiàn)設(shè)置主要包括指定目標(biāo)器件;編譯過程設(shè)置;EDA工具選擇;Analysis&Synthesis設(shè)置;Fitter(適配)設(shè)置;仿真設(shè)置等。工程設(shè)置既可在建立工程的過程中根據(jù)提示進(jìn)行設(shè)置,也可在建立工程的過程中跳過某些設(shè)置項(xiàng),而在工程建立后對(duì)工程實(shí)現(xiàn)進(jìn)行設(shè)置或修改。圖4.11是在已建立工程的基礎(chǔ)上對(duì)工程實(shí)現(xiàn)設(shè)置的一個(gè)操作界面。圖4.9新建文件類型的選擇界面圖4.10新建工程向?qū)Р僮鲌D4.11工程實(shí)現(xiàn)設(shè)置的一個(gè)操作界面4.工程編譯及分析工程編譯及分析包括編譯方式選擇;啟動(dòng)編譯器;查看編譯結(jié)果。而查看編譯結(jié)果包括查看邏輯適配資源報(bào)告、RTL視圖、時(shí)序分析結(jié)果等。圖4.12是工程編譯的形式的操作選擇圖。5.工程仿真及分析工程仿真及分析步驟為:①建立仿真波形文件或仿真測(cè)試文本程序;②設(shè)置仿真器;③運(yùn)行有關(guān)仿真器進(jìn)行仿真;④進(jìn)行仿真結(jié)果分析(包括查看仿真波形報(bào)告,分析仿真波形)。圖4.13是仿真操作選擇界面。圖4.12工程編譯的形式的操作選擇圖圖4.13仿真操作選擇界面6.芯片的管腳鎖定芯片的管腳鎖定就是將設(shè)計(jì)實(shí)體的管腳與目標(biāo)芯片特定的可輸入輸出管腳建立一一映射的過程。它包括兩個(gè)方面:一是需設(shè)定未用的管腳;二是根據(jù)需要進(jìn)行管腳的鎖定。圖4.14是管腳鎖定的操作界面。7.編程下載及驗(yàn)證編程下載及驗(yàn)證步驟包括:①編程下載硬件準(zhǔn)備;②打開編程器窗口;③建立被動(dòng)串行配置鏈;④器件編程下載。圖4.15是編程下載的操作界面。對(duì)含有多個(gè)模塊多個(gè)層次的設(shè)計(jì)與測(cè)試,通常按照自底向上的方法進(jìn)行設(shè)計(jì)與測(cè)試,因此往往是2~5步交錯(cuò)在一起先進(jìn)行低層次各模塊的設(shè)計(jì),待低層次各模塊的設(shè)計(jì)與測(cè)試完畢后,再按照2~7步進(jìn)行頂層模塊的設(shè)計(jì)與測(cè)試。圖4.14管腳鎖定操作界面圖4.15編程下載的操作界面4.3.2QuartusⅡ的基本操作【例4.4】使用QuartusⅡ設(shè)計(jì)和測(cè)試?yán)?.1中的CNT9999。1.文件及工程建立首先為該設(shè)計(jì)(工程)建立一目錄,如F:\EDA115\EDA115CX\4.3\CNT9999,然后運(yùn)行QuartusⅡ8.0,進(jìn)入QuartusⅡ8.0集成環(huán)境。
1)新建文件在QuartusⅡ8.0集成環(huán)境屏幕上方選擇“新建文件”按鈕,或選擇菜單【File】→【New】,出現(xiàn)如圖4.16所示的對(duì)話框,在框中選中【VHDLFile】,按【OK】按鈕,即選中了文本編輯方式。在出現(xiàn)的文本編輯窗口中輸入例4.1所示的CNT10.VHD源程序。輸入完畢后,選擇菜單【Flie】→【SaveAs】,即出現(xiàn)文件保存對(duì)話框。首先選擇存放本文件的目錄F:\EDA115\EDA115CX\4.3\CNT9999,然后在【文件名】框中輸入文件名CNT10,然后按【保存】按鈕,即把輸入的文件保存在指定的目錄中。圖4.17是新建的文件CNT10.VHD。根據(jù)同樣的方法輸入并保存CNT9999.VHD。圖4.16QuartusⅡ8.0新建文件類型的選擇框2)新建工程
QuartusⅡ?qū)⒚宽?xiàng)設(shè)計(jì)均看成是一個(gè)工程。由于本設(shè)計(jì)分為兩個(gè)層次,根據(jù)自底向上的設(shè)計(jì)與調(diào)試原則,因此需要先將底層的模塊設(shè)計(jì)分別建立各自的工程并將其調(diào)試好,最后才進(jìn)行頂層的電路系統(tǒng)的設(shè)計(jì)。下面以CNT9999模塊工程的建立來說明工程建立方法。執(zhí)行【File】→【NewProjectWizard】,打開新建工程向?qū)Вㄒ妶D4.18),將出現(xiàn)如圖4.19所示的對(duì)話框。圖4.19中最上面一欄指示工作目錄,可單擊最上面一欄右側(cè)的【】按鈕,找到相應(yīng)的目錄下的文件(一般為頂層設(shè)計(jì)文件),這里選擇CNT9999.VHD,將其打開,圖中的第二欄為項(xiàng)目名稱,可以為任何名字,推薦為頂層設(shè)計(jì)的文件名。第三欄為頂層設(shè)計(jì)的實(shí)體名。設(shè)置完后,可直接單擊【Finish】按鈕結(jié)束工程建立。若單擊【Next】按鈕,接著會(huì)出現(xiàn)添加項(xiàng)目文件、器件選擇、EDA工具選擇等操作選擇提示框,根據(jù)需要進(jìn)行有關(guān)設(shè)置。圖4.17新建的文件CNT10.VHD圖4.18新建工程——操作子菜單圖4.19新建工程——工程參數(shù)設(shè)置3)將文件添加到對(duì)應(yīng)的工程圖4.20添加文件到工程操作子菜單圖4.21選擇文件添加到工程執(zhí)行圖4.20所示的添加文件到工程操作子菜單,彈出如圖4.21所示的添加文件操作界面,最上面的一欄【FileName】用于加入設(shè)計(jì)文件,可單擊右鍵【】按鈕,找到相應(yīng)的目錄下的文件并加入。單擊【AddAll】按鈕,將設(shè)定目錄下的所有VHDL文件加入到此工程。設(shè)置完成后,單擊【OK】按鈕即可。2.工程實(shí)現(xiàn)的設(shè)置在對(duì)工程進(jìn)行編譯前,需要進(jìn)行有關(guān)工程實(shí)現(xiàn)的設(shè)置。若工程編譯后對(duì)工程有關(guān)設(shè)置進(jìn)行了修改,需重新進(jìn)行編譯,有關(guān)修改設(shè)計(jì)才能真正有效。1)目標(biāo)器件設(shè)置(1)選擇目標(biāo)芯片單擊【Assignments】菜單下的【Device】,打開如圖4.22所示的對(duì)話框,先選擇目標(biāo)芯片系列,再選擇目標(biāo)芯片型號(hào)規(guī)格。首先在【Family】欄中選擇CycloneⅡ系列;然后在【Targetdevice】選項(xiàng)框中選擇【Specificdeviceselectedin‘Availabledevices’list】,即選擇一個(gè)確定的目標(biāo)芯片。再在【Availabledevices】列表中選擇具體芯片EP2C8Q208C8N。圖4.22目標(biāo)芯片選擇(2)選擇配置器件的工作方式單擊圖4.22中的【Device&PinOptions…】按鈕,進(jìn)入如圖4.23所示的選擇窗口。首先選擇【General】項(xiàng),在【Options】欄中選中【Auto-restartconfigurationaftererror】,使對(duì)FPGA配置失敗后能自動(dòng)重新配置,并加入JTAG用戶編碼。當(dāng)鼠標(biāo)選中相應(yīng)的項(xiàng)目時(shí),下面的【Description】欄將有相應(yīng)的說明。(3)選擇配置器件的編程方式PC機(jī)對(duì)FPGA的在系統(tǒng)編程通常采用JTAG下載方式。如果應(yīng)用系統(tǒng)需要脫離PC機(jī)工作時(shí),則需要將配置數(shù)據(jù)存放在FLASH中,通過主動(dòng)串行模式(ASMode)和被動(dòng)串行模式(PSMode)進(jìn)行配置。按照?qǐng)D4.24所示選擇合適的配置器件的編程方式。(4)選擇輸出設(shè)置單擊圖4.24中的【ProgrammingFiles】欄,打開【ProgrammingFiles】頁,選中【Hexadecimal(Intel-Format)outputFiles】,此時(shí)在生成下載文件的同時(shí),產(chǎn)生二進(jìn)制配置文件*.hexout。此文件用于單片機(jī)與EPROM構(gòu)成的FPGA配置電路系統(tǒng)。(5)選擇目標(biāo)芯片的閑置引腳的狀態(tài)點(diǎn)擊圖4.24中的【UnusedPins】欄,出現(xiàn)如圖4.25所示的窗口。對(duì)設(shè)計(jì)中未用到的器件引腳,有三種處理方式:輸入引腳(呈高組態(tài))、輸出引腳(呈低電平)或輸出引腳(輸出不定狀態(tài))。為了避免未用到的引腳對(duì)應(yīng)用系統(tǒng)產(chǎn)生影響,甚至損壞芯片會(huì)配置器件,通常情況下我們選擇第一項(xiàng)。圖4.23選擇配置器件的工作方式圖4.24選擇配置器件的編程方式圖4.25目標(biāo)芯片未用引腳的設(shè)置2)編譯過程設(shè)置根據(jù)圖4.26所示的編譯過程設(shè)置選項(xiàng)進(jìn)行合適的選擇。圖4.26編譯過程設(shè)置3)EDA工具選擇根據(jù)圖4.27所示的EDA工具設(shè)置選項(xiàng)進(jìn)行合適的選擇。圖4.27EDA工具選擇圖4)Analysis&Synthesis設(shè)置根據(jù)圖4.28所示的Analysis&Synthesis設(shè)置選項(xiàng)進(jìn)行合適的選擇。4.28Analysis&Synthesis設(shè)置5)Fitter(適配)設(shè)置根據(jù)圖4.29所示的Fitter設(shè)置選項(xiàng)進(jìn)行合適的選擇。圖4.29Fitter(適配)設(shè)置6)仿真設(shè)置根據(jù)圖4.30所示的仿真設(shè)置選項(xiàng)進(jìn)行合適的選擇。圖4.30仿真設(shè)置
3.工程編譯及分析QuartusⅡ的編譯器由一系列處理模塊構(gòu)成,這些模塊完成對(duì)設(shè)計(jì)項(xiàng)目的檢錯(cuò)、邏輯綜合、結(jié)構(gòu)綜合、輸出結(jié)果的編譯配置、時(shí)序分析等功能。在這個(gè)過程中將設(shè)計(jì)項(xiàng)目適配到FPGA/CPLD目標(biāo)器件中,同時(shí)產(chǎn)生各種輸出文件編譯報(bào)告,包括器件使用統(tǒng)計(jì)、編譯設(shè)置、RTL級(jí)電路顯示、期間資源利用率、狀態(tài)機(jī)的實(shí)現(xiàn)、方程式、延時(shí)分析結(jié)構(gòu)、CPU使用資源等。編譯器首先從工程設(shè)計(jì)文件間的層次結(jié)構(gòu)描述中提取信息,包括每個(gè)低層次文件中的錯(cuò)誤信息,供設(shè)計(jì)者排除。然后將這些層次構(gòu)建產(chǎn)生一個(gè)結(jié)構(gòu)化的、以網(wǎng)表文件表達(dá)的電路原理圖文件,并把各層次中所有的文件結(jié)合成一個(gè)數(shù)據(jù)包,以便更有效地處理。在編譯前,設(shè)計(jì)者可以通過各種不同的設(shè)置,指導(dǎo)編譯器使用各種不同的綜合和適配技術(shù),以便提高設(shè)計(jì)項(xiàng)目的工作速度,優(yōu)化器件的資源利用率。在編譯過程中及編譯成后,可以從編譯報(bào)告窗口中獲得所有相關(guān)的詳細(xì)編譯結(jié)果,以利于設(shè)計(jì)者及時(shí)調(diào)整設(shè)計(jì)方案。1)編譯操作的種類對(duì)工程的編譯,我們可以選擇三種操作形式:①全編譯形式;②分步編譯形式;③流程編譯形式,如圖4.31所示。
圖4.31三種編譯形式的操作選擇2)編譯結(jié)果的查看(1)編譯結(jié)果報(bào)告:全編譯后,先后執(zhí)行主菜單【Processing】下的【Compilationreport】和【ClassicTimingAnalyzerTool】子菜單,會(huì)分別出現(xiàn)編譯結(jié)果報(bào)告窗口和典型時(shí)序分析窗口,可選擇查看有關(guān)編譯結(jié)果或執(zhí)行【Start】進(jìn)行典型時(shí)序分析。再執(zhí)行主菜單【W(wǎng)indow】下的級(jí)聯(lián)、水平、垂直等多窗口排列方式子菜單項(xiàng),就會(huì)出現(xiàn)圖4.32所示的編譯結(jié)果報(bào)告和時(shí)序分析報(bào)告。
(2)電路網(wǎng)表結(jié)果經(jīng)過邏輯綜合適配后,可以使用網(wǎng)表查看器有關(guān)電路網(wǎng)表信息。圖4.33是使用網(wǎng)表查看器查看有關(guān)網(wǎng)表信息的操作子菜單。圖4.34是有關(guān)網(wǎng)表查看結(jié)果。圖4.32編譯結(jié)果報(bào)告和時(shí)序分析報(bào)告圖4.33查看有關(guān)網(wǎng)表信息的操作子菜單圖4.34RTL視圖和工藝映射視圖
4.工程仿真及分析對(duì)工程編譯通過之后,必須對(duì)其功能和時(shí)序進(jìn)行仿真測(cè)試,以了解設(shè)計(jì)結(jié)果是否滿足原設(shè)計(jì)要求。1)打開波形編輯器執(zhí)行【File】→【New】,在彈出的窗口中選擇【VectorWaveformFile】項(xiàng),打開空白的波形編輯器,如圖4.35所示。2)設(shè)置仿真時(shí)間區(qū)域和最小時(shí)間周期將仿真時(shí)間設(shè)置在一個(gè)比較合理的時(shí)間區(qū)域。選擇【Edit】菜單中的【EndTime…】項(xiàng),在彈出的窗口中的【Time】欄處輸入【100】,單位選擇【ms】,將多個(gè)仿真區(qū)域的時(shí)間按設(shè)為100ms,單擊【OK】按鈕,結(jié)束設(shè)置。選擇【Edit】菜單中的【GridSize…】項(xiàng),在彈出的窗口中的【TimePeriod】欄處輸入【20】,單位選擇【ns】。圖4.35新建仿真波形文件操作3)在波形編輯器中引入信號(hào)節(jié)點(diǎn)在新建的波形窗口空白處,用鼠標(biāo)左鍵雙擊,彈出插入節(jié)點(diǎn)或總線的操作窗口,再點(diǎn)擊【NodeFinder】按鈕,彈出【NodeFinder】窗口。在此窗口的【Filter】框中選擇【Pins:all】,然后單擊【List】按鈕,于是在下面的【NodesFound】窗口中出現(xiàn)了工程CNT9999中的所有端口引腳名,如果此時(shí)沒有出現(xiàn)端口引腳名,則可以重新編譯一下。選擇我們需要仿真觀察的信號(hào)波形并移到窗口右邊。在這里,把所有的端口引腳名CLK、CLR、ENA、DOUT[15..0]全部插入,如圖4.36所示。或者執(zhí)行【View】→【UtilityWindows】→【NodeFinder】命令,彈出【NodeFinder】對(duì)話框。在此窗口中的【
Filter】框中選擇【Pins:all】,然后單擊】List【按鈕,于是在下面的【NodesFound】窗口中出現(xiàn)了工程CNT9999中的所有端口引腳名,如果此時(shí)沒有出現(xiàn)端口引腳名,則可以重新編譯一下。用鼠標(biāo)將我們需要仿真觀察的信號(hào)拖到波形編輯器窗口。在這里把所有的端口引腳名【CLK】、【CLR】、【ENA】、【DOUT[15..0]】全部插入,如圖4.37所示。圖4.36引入信號(hào)節(jié)點(diǎn)操作方法之一示意圖圖4.37引入信號(hào)節(jié)點(diǎn)操作方法之二示意圖4)編輯輸入波形波形觀察窗左排按鈕是用于設(shè)置輸入信號(hào)的,使用時(shí)只要先用鼠標(biāo)在輸入波形上拖一下需要改變的黑色區(qū)域,或選中整個(gè)信號(hào),然后點(diǎn)擊左排相應(yīng)按鈕,根據(jù)彈出的設(shè)置選擇框進(jìn)行有關(guān)設(shè)置即可。選中【】按鈕,按鼠標(biāo)左鍵或右鍵可以放大或縮小波形顯示,以便在仿真時(shí)能夠?yàn)g覽波形全貌。波形設(shè)置過程如圖4.38所示。5)設(shè)定數(shù)據(jù)格式單擊信號(hào)【CLK】、【CLR】、【ENA】、【DOUT[15..0]】旁邊的【+】號(hào),可以打開該信號(hào)的各個(gè)分量,查看信號(hào)的每一位。如果雙擊【+】號(hào)左邊的信號(hào)標(biāo)記,可以打開信號(hào)格式設(shè)置的對(duì)話框,如圖4.38所示。通過【Radix】窗口可以設(shè)置信號(hào)的格式。我們將信號(hào)【CLK】、【CLR】、【ENA】、【DOUT[15..0]】全部設(shè)定為十六進(jìn)制。圖4.38編輯輸入波形及設(shè)置數(shù)據(jù)格式6)波形文件存盤選擇【File】菜單下的【Save】命令,以默認(rèn)名為CNT9999.vwf的波形文件存入當(dāng)前程所在文件夾中。本操作根據(jù)要求將各輸入信號(hào)【CLK】、【CLR】、【ENA】的波形設(shè)置成如圖4.39所示的波形。圖4.39設(shè)置好并存盤的波形圖7)仿真器參數(shù)設(shè)置選擇【Assignment】菜單下的【Settings…】項(xiàng),在【Settings】窗口中左側(cè)【Category】欄中選擇【SimulatorSettings】項(xiàng),打開如圖4.40所示的窗口。在【Simulationmode】項(xiàng)目下選擇【Timing】,即時(shí)序仿真,在【Simulationinput】欄中,單擊按鈕,找到并選擇仿真激勵(lì)文件【CNT9999.vwf】。在【Simulationperiod】欄中選擇【Runsimulationuntilallvectorstimuliareused】,即全程仿真。根據(jù)仿真的要求還可選擇功能仿真等其它仿真形式以及進(jìn)行其它的設(shè)置。8)啟動(dòng)仿真器選中【Processing】菜單下的【StartSimulation】,如圖4.41所示,或者直接單擊工具欄上的快捷方式,直到出現(xiàn)【Simulationwassuccessful】對(duì)話框?yàn)橹?。圖4.40仿真器參數(shù)設(shè)置圖4.41啟動(dòng)仿真器9)觀察仿真結(jié)果仿真成功后,仿真波形文件【SimulationReport】通常會(huì)自動(dòng)彈出。CNT9999的時(shí)序仿真結(jié)果如圖4.42所示。注意,QuartusⅡ的波形編輯文件(*.vwf)與波形仿真報(bào)告文件(SimulationReport)是分開的。如果沒有彈出仿真完成后的波形文件,可以通過【Processing】菜單下的【SimulationReport】命令,打開波形報(bào)告。如果無法在窗口展開顯示時(shí)間軸上的所有波形圖,可以在仿真報(bào)告窗口中單擊鼠標(biāo)右鍵,選擇【Zoom】項(xiàng)下的【FitinWindow】選項(xiàng),并通過【】按鈕,調(diào)節(jié)波形的比例。通過觀察我們的仿真結(jié)果,達(dá)到了我們預(yù)定的要求。按照同樣的方法進(jìn)行其它模塊的仿真。圖4.42CNT9999的時(shí)序仿真結(jié)果
5.芯片管腳的鎖定工程編譯和有關(guān)仿真都通過后,就可以將配置數(shù)據(jù)下載到應(yīng)用系統(tǒng)進(jìn)行驗(yàn)證。下載之前首先要對(duì)系統(tǒng)頂層模塊進(jìn)行引腳鎖定,保證鎖定的引腳與實(shí)際的應(yīng)用系統(tǒng)相吻合。1)目標(biāo)芯片的確認(rèn)及閑置引腳的設(shè)定管腳鎖定前,先進(jìn)行芯片的確定或修改,如圖4.43所示。單擊圖4.43中的【Device&PinOptions…】按鈕,在彈出的【UnusedPins】設(shè)置框中進(jìn)行閑置引腳的設(shè)定,詳見前述的圖4.25所示。對(duì)設(shè)計(jì)中未用到的器件引腳,有三種處理方式:輸入引腳(呈高組態(tài))、輸出引腳(呈低電平)或輸出引腳(輸出不定狀態(tài))。通常情況下我們選擇第一項(xiàng),避免未用到的引腳對(duì)應(yīng)用系統(tǒng)產(chǎn)生影響。圖4.43管腳鎖定前目標(biāo)芯片的確認(rèn)或修改2)引腳鎖定本設(shè)計(jì)系統(tǒng)的頂層模塊CNT9999,擬選用EP2C8Q208C8芯片,根據(jù)需使用的EDA實(shí)驗(yàn)開發(fā)系統(tǒng)(板)的有關(guān)輸入和輸出的資源情況進(jìn)行引腳鎖定(一般應(yīng)事先列出一個(gè)管腳鎖定表,表格格式可參考第5章關(guān)于EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的使用實(shí)例中的引腳鎖定表格式樣),并將閑置引腳設(shè)定為三態(tài)門狀態(tài)。引腳的鎖定方法有三種:一是使用引腳鎖定窗口進(jìn)行鎖定;二是使用計(jì)事本或其他文本編輯工具直接編輯.qsf文件進(jìn)行引腳鎖定;三是通過輸入TCL腳本語言文件進(jìn)行。下面介紹前兩種方法。打開【Assignments】菜單下的【Pins】命令,打開引腳鎖定窗口,如圖4.44所示。先用鼠標(biāo)指到要鎖定的端口信號(hào)名與【Location】欄交匯的地方,這時(shí)此處呈藍(lán)色,然后雙擊對(duì)應(yīng)的該交匯處,在出現(xiàn)的下拉欄中選擇對(duì)應(yīng)端口信號(hào)名的器件引腳號(hào)(例如對(duì)應(yīng)ENA,選擇PIN_99),引腳鎖定后將下拉菜單復(fù)原,則系統(tǒng)自動(dòng)保存該鎖定。在如圖4.44所示的窗口中,還能對(duì)引腳作進(jìn)一步的設(shè)定,如在Reserved欄,可對(duì)某些空閑的I/O引腳的電氣特性進(jìn)行設(shè)置。按前面提到的引腳信息添加鎖定引腳,直到全部輸入完畢。鎖定引腳后必須再編譯一次,才能將引腳鎖定信息應(yīng)用到最終的下載文件中,此后就可以將編譯好的SOF文件下載到實(shí)驗(yàn)系統(tǒng)的FPGA中去了。使用引腳鎖定窗口進(jìn)行鎖定圖4.44引腳鎖定窗口的打開及管腳的鎖定(2)直接編輯.qsf文件進(jìn)行引腳鎖定。引腳的鎖定信息保存在工程文件夾中與工程同名的*.qsf文件中,可以通過編寫*.qsf文件夾來改變或設(shè)定引腳。本例子中,關(guān)于引腳的鎖定信息就存在F:\EDA115\EDA115CX\4.3\CNT9999(工程CNT9999目錄)下的CNT9999.qsf文件中。我們可以用計(jì)事本或其他文本編輯工具打開CNT9999.qsf,輸入以下信息并保存,如圖4.45所示。圖4.45編輯.qsf文件進(jìn)行引腳鎖定
6.編程下載及驗(yàn)證1)編程下載硬件準(zhǔn)備先閱讀有關(guān)EDA實(shí)驗(yàn)開發(fā)系統(tǒng)(板)手冊(cè),了解EDA實(shí)驗(yàn)開發(fā)系統(tǒng)(板)到計(jì)算機(jī)的連接方式。在斷電的情況將有關(guān)硬件設(shè)備進(jìn)行正確的物理連接,經(jīng)檢查無誤后打開EDA實(shí)驗(yàn)開發(fā)系統(tǒng)(板)電源開關(guān)。2)FPGA的編程下載連接好下載電纜,打開電源。在菜單【Tool】中選擇【Programmer】,或直接單擊工具欄上的快捷鍵,可以打開如圖4.46所示的編程下載窗口。若是初次安裝的QuartusⅡ,在下載編程前需要選擇下載接口方式。在圖4.47所示窗口中單擊【HardwareSetup】,在打開的設(shè)置窗口根據(jù)實(shí)際情況進(jìn)行設(shè)置。在這里,選擇【ByteBlasterⅡ】,雙擊鼠標(biāo)后,關(guān)閉該窗口。
在圖4.46所示的【Mode】欄中有4種編程模式可以選擇:JTAG,PassiveSerial,ActiveSerial和In-Socket。為了直接對(duì)FPGA進(jìn)行配置,在編程窗的編程模式【Mode】中選擇【JTAG】。并選中下載文件右側(cè)的第一個(gè)小方框Program/Configure。核對(duì)下載路徑與文件名,如果此文件沒有出錯(cuò)或者有錯(cuò),單擊左側(cè)的【AddFile】按鈕,找到要下載的文件CNT9999.sof。單擊【Start】按鈕,即進(jìn)入對(duì)目標(biāo)器件FPGA的配置下載操作。當(dāng)【Progress】顯示為100%時(shí),編譯成功,可以觀察實(shí)驗(yàn)面板,進(jìn)行硬件測(cè)試驗(yàn)證。
3)對(duì)配置器件編程為了使應(yīng)用系統(tǒng)能在脫離計(jì)算機(jī)的情況下工作,就必須將配置數(shù)據(jù)存放在非易失的器件中,通常我們將配置數(shù)據(jù)存放在專用的配置器件中,如EPCS1,EPCS4等。EPCS1和EPCS4等是Cyclone系列器件的專用配置器件,F(xiàn)lash存儲(chǔ)結(jié)構(gòu),重復(fù)編程可達(dá)10萬次。先選擇編程模式和編程目標(biāo)文件。在圖4.46所示窗口的【Mode】欄中,選擇【ActiveSerialProgramming】編程模式。添加編程文件CNT9999.pof,并選中Program/Configure。再將下載電纜連至AS模式端口并加電。接著單擊【Start】按鈕,當(dāng)【Progress】顯示為100%時(shí),編譯成功。此后每次實(shí)驗(yàn)裝置加電后,配置數(shù)據(jù)將自動(dòng)從EPCS1加載,之后FPGA開始工作,而不需要重新下載配置數(shù)據(jù)。最后保存編程信息。編程完畢后,如果希望將此次設(shè)置的所有結(jié)果保存起來,以便能夠很快調(diào)出進(jìn)行編程,可以選擇保存。所有的信息都存在ChainDescriptionFile(.cdf)文件CNT9999.cdf中。以后編程只需打開此文件即可。圖4.46編程下載設(shè)置及過程4.3.3QuartusⅡ的綜合操作
【例4.5】使用QuartusⅡ設(shè)計(jì)和測(cè)試?yán)?.2中的計(jì)數(shù)器,并將計(jì)數(shù)結(jié)果使用動(dòng)態(tài)掃描的方式進(jìn)行顯示。要求底層的模塊是用VHDL文本輸入,頂層的電路系統(tǒng)則采用原理圖輸入。
1.文件及工程建立1)新建文件(1)三個(gè)底層模塊圖形符號(hào)的建立首先建立存放本工程文件的文件夾F:\EDA115\EDA115CX\4.3\DTCNT9999。按照第4.3.2節(jié)闡述的方法分別輸入CNT10、CTRLS和DISPLAY三個(gè)模塊的VHDL程序,并保存在指定的文件夾中。為了生成模塊圖形符號(hào)供后述的頂層原理圖設(shè)計(jì)文件的使用,應(yīng)將這三個(gè)模塊建立對(duì)應(yīng)的工程,并進(jìn)行工程設(shè)置、工程編譯,然后按照?qǐng)D4.47的操作選擇創(chuàng)建元件圖形符號(hào)。圖4.47創(chuàng)建元件圖形符號(hào)操作(2)頂層原理圖模塊的建立DTCNT999.GDF是4位十進(jìn)制計(jì)數(shù)動(dòng)態(tài)顯示電路設(shè)計(jì)中頂層的圖形設(shè)計(jì)文件,需調(diào)用CNT10、CTRL、DISPLAY三個(gè)功能元件,用原理圖的方式組裝成一個(gè)完整的設(shè)計(jì)實(shí)體。執(zhí)行【File】→【New】,在彈出的對(duì)話框中選擇【BlockDiagram/SchematicFile】,按【OK】按鈕,即出現(xiàn)原理圖編輯器窗口。再根據(jù)例4.2中的圖4.6或后續(xù)的圖4.49進(jìn)行原理圖的設(shè)計(jì),并將該原理圖文件DTCNT9999.GDF存放在指定位置。圖4.48是原理圖繪制的主要操作示意圖,圖4.49是計(jì)數(shù)動(dòng)態(tài)顯示電路頂層設(shè)計(jì)原理圖。注意圖4.49中的輸出端口SD[15..0]和SEL[2..0]是為了便于仿真觀察有關(guān)內(nèi)部的計(jì)數(shù)結(jié)果和動(dòng)態(tài)掃描控制信號(hào)的變化而臨時(shí)增加的仿真觀測(cè)端口,仿真完后在生成編程下載文件時(shí)應(yīng)將這些端口去掉。圖4.48原理圖繪制的主要操作示意圖圖4.49計(jì)數(shù)動(dòng)態(tài)顯示電路頂層設(shè)計(jì)原理圖原理圖的設(shè)計(jì)主要操作有:添加元件;添加連線;移動(dòng)元件;添加網(wǎng)絡(luò)名;添加輸入輸出端口,其操作方法如下:添加元件:先點(diǎn)擊添加元件快捷工具,在彈出的操作對(duì)話框中選擇欲添加的元件,或直接在【Name】框中輸入元件符號(hào)名(已設(shè)計(jì)的元件符號(hào)名與原VHDL文件名相同),按【OK】按鈕再按【OK】關(guān)閉操作對(duì)話框,將出現(xiàn)的元件移動(dòng)到欲放置的位置,點(diǎn)擊鼠標(biāo)左鍵即可。添加連線:將鼠標(biāo)箭頭移到元件的輸入/輸出引腳上,鼠標(biāo)箭頭形狀會(huì)變成【+】字形,然后可以按著鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo),繪出一條線,松開鼠標(biāo)按鍵完成一次操作。將鼠標(biāo)箭頭放在連線的一端,鼠標(biāo)光標(biāo)也會(huì)變成【+】字,此時(shí)可以接著畫這條線。細(xì)線表示單根線,粗線表示總線。改變連線的性質(zhì)的方法是:先點(diǎn)擊該線,使其變紅,然后選頂行的選項(xiàng)【Options】→【LineStyle】,即可在彈出的窗口中選所需的線段。移動(dòng)元件:選中需移動(dòng)的元件,按住鼠標(biāo)左鍵把它拖到指定的位置松手即可。添加網(wǎng)絡(luò)名:先用鼠標(biāo)左鍵點(diǎn)擊欲添加網(wǎng)絡(luò)名的連線,再在彈出操作子菜單中選擇屬性,最后在彈出的屬性設(shè)置操作對(duì)話框中輸入節(jié)點(diǎn)網(wǎng)絡(luò)名并關(guān)閉該對(duì)話框即可。添加輸入輸出端口:先點(diǎn)擊添加元件快捷工具,在彈出的操作對(duì)話框中,直接在【Name】文本框中輸入【Input】或【Output】,或是在【Primitives】庫中,找出【Input】或【Output】元件,再按【OK】關(guān)閉操作對(duì)話框,將出現(xiàn)的端口符號(hào)移動(dòng)到欲放置的位置,點(diǎn)擊鼠標(biāo)左鍵即可。
2)新建工程并添加源程序執(zhí)行【File】→【NewProjectWizard】,打開新建工程向?qū)В⒚譃镈TCNT9999的工程,并根據(jù)需要進(jìn)行有關(guān)設(shè)置,并將工程中的CNT10.VHD,CTRS.VHD,DISPLAY.VHD和DTCNT9999.GDF等文件添加到DTCNT9999工程中。
2.工程實(shí)現(xiàn)的設(shè)置在對(duì)工程進(jìn)行編譯前,需要進(jìn)行有關(guān)工程實(shí)現(xiàn)設(shè)置,其中目標(biāo)芯片為EP2C8Q208C8N,如圖4.50所示。若工程編譯后對(duì)工程有關(guān)設(shè)置進(jìn)行了修改,需重新進(jìn)行編譯,有關(guān)修改設(shè)計(jì)才能真正有效。
3.工程編譯及分析執(zhí)行全編譯成功后,查看有關(guān)結(jié)果。圖4.51是編譯結(jié)果報(bào)告和時(shí)序分析報(bào)告。圖4.52是RTL視圖和工藝映射視圖。圖4.50目標(biāo)芯片選擇圖4.51編譯結(jié)果報(bào)告和時(shí)序分析報(bào)告圖4.52RTL視圖和工藝映射視圖4.工程仿真及分析本設(shè)計(jì)有多個(gè)模塊,并分為兩個(gè)層次,應(yīng)采用自底向上的方式進(jìn)行調(diào)試與仿真。圖4.53DTCNT9999的時(shí)序仿真結(jié)果。為了保證掃描時(shí)鐘變化8次,計(jì)數(shù)結(jié)果才變化一次,以便進(jìn)行有關(guān)仿真結(jié)果的判別與分析,計(jì)數(shù)時(shí)鐘信號(hào)CLK1的周期應(yīng)設(shè)定為等于或大于動(dòng)態(tài)掃描顯示時(shí)鐘CLK2周期的8倍。圖中的DOUT是仿真時(shí)增加的中間結(jié)果觀測(cè)點(diǎn)。5.芯片管腳的鎖定本設(shè)計(jì)系統(tǒng)的頂層模塊DTCNT9999,擬選用EP2C8Q208C8芯片,根據(jù)需使用的EDA實(shí)驗(yàn)開發(fā)系統(tǒng)(板)的有關(guān)輸入和輸出的資源情況進(jìn)行引腳鎖定(一般應(yīng)事先列出一個(gè)管腳鎖定表,表格格式可參考第5章關(guān)于EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的使用實(shí)例中的引腳鎖定表格式樣),并將閑置引腳設(shè)定為三態(tài)門狀態(tài)。圖4.54是管腳鎖定后的結(jié)果。圖4.53DTCNT9999的時(shí)序仿真結(jié)果圖4.54管腳鎖定后的結(jié)果
6.編程下載及驗(yàn)證連接好下載電纜,打開電源。執(zhí)行【Tool】→【Programmer】,或直接單擊工具欄上的快捷鍵,可以打開編程下載窗口,進(jìn)行有關(guān)選擇設(shè)置后執(zhí)行編程下載,結(jié)果如圖4.55所示。圖4.55編程下載設(shè)置及過程4.3.4QuartusⅡ的SOPC開發(fā)
1.SOPC及Nios內(nèi)核簡介可編程片上系統(tǒng)SOPC是一種通用器件,是基于FPGA的可重構(gòu)SOC,它集成了硬核或軟核CPU、DSP、存儲(chǔ)器、外圍I/O及可編程邏輯,是更加靈活、高效的SOC解決方案。使用可配置的軟核嵌入式處理器設(shè)計(jì)開發(fā)SOPC,其主要優(yōu)勢(shì)是:①合理的性能組合;②提升系統(tǒng)的性能;③降低系統(tǒng)的成本;④更好地滿足產(chǎn)品生命周期的要求。20世紀(jì)60年代末,可編程邏輯器件(PLD)的復(fù)雜度已經(jīng)能夠在單個(gè)可編程器件內(nèi)實(shí)現(xiàn)整個(gè)系統(tǒng),即在一個(gè)芯片中實(shí)現(xiàn)用戶定義的系統(tǒng),它通常包括片內(nèi)存儲(chǔ)器和外設(shè)的微處理器。2000年,Altera發(fā)布了Nios處理器,這是AlteraExcalibur嵌入式處理器計(jì)劃中的第一個(gè)產(chǎn)品,是第一款用于可編程邏輯器件的可配置的軟核處理器。Altera公司的Nios是基于RISC技術(shù)的通用嵌入式處理器芯片軟內(nèi)核,它特別為可編程邏輯進(jìn)行了優(yōu)化設(shè)計(jì),也為可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)了一套綜合解決方案。第一代Nios嵌入式處理器性能高達(dá)50MIPS,采用16位指令集,16/32位數(shù)據(jù)通道,5級(jí)流水線技術(shù),可在一個(gè)時(shí)鐘內(nèi)完成一條指令的處理。它可以與各種各樣的外設(shè)、定制指令和硬件加速單元相結(jié)合,構(gòu)成一個(gè)定制的SOPC。在Nios之后,Altera公司于2003年3月又推出了Nios的升級(jí)版Nios3.0版,它有16位和32位兩個(gè)版本。兩個(gè)版本均使用16位的RISC指令集,其差別主要在于系統(tǒng)總線帶寬,它能在高性能的Stratix或低成本的Cyclone芯片實(shí)現(xiàn)。2004年6月,Altera公司在繼全球范圍內(nèi)推出CycloneⅡ和StratixⅡ器件系列后又推出了支持這些新款FPGA系列的NiosⅡ嵌入式處理器。它與2000年上市的原產(chǎn)品Nios相比,最大處理性能提高3倍,CPU內(nèi)核部分的面積最大可縮小1/2。NiosⅡ系列嵌入式處理器使用32位的指令集結(jié)構(gòu)(ISA),完全與二進(jìn)制代碼兼容,它是建立在第一代16位Nios處理器的基礎(chǔ)上,定位于廣泛的嵌入式應(yīng)用。NiosⅡ處理器系列包括了快速的(NiosⅡ/f)、經(jīng)濟(jì)的(NiosⅡ/e)和標(biāo)準(zhǔn)的(NiosⅡ/s)三種內(nèi)核,每種都針對(duì)不同的性能范圍和成本。使用Altera的QuartusⅡ軟件、SOPCbuilder工具以及NiosⅡ集成開發(fā)環(huán)境(IDE),用戶可以輕松地將NiosⅡ處理器嵌入到它們的系統(tǒng)中。
2.SOPC硬件開發(fā)的基本步驟
基于NiosⅡ的SOPC系統(tǒng)設(shè)計(jì)開發(fā)包括硬件的設(shè)計(jì)開發(fā)和軟件的設(shè)計(jì)開發(fā)兩個(gè)方面。SOPC硬件設(shè)計(jì)開發(fā)的基本步驟如下:(1)創(chuàng)建一個(gè)QuartusⅡ工程。(2)創(chuàng)建Nios系統(tǒng)模塊:①啟動(dòng)SOPCBuilder;②添加CPU及外圍器件;③指定基地址;④系統(tǒng)設(shè)置;⑤生成系統(tǒng)模塊。(3)將圖標(biāo)添加到BDF原理圖文件中。(4)編譯QuartusⅡ的工程設(shè)計(jì)文件。(5)配置FPGA。圖4.56~圖4.67給出了設(shè)計(jì)開發(fā)某個(gè)基于NiosⅡ的SOPC系統(tǒng)硬件設(shè)計(jì)開發(fā)的主要操作界面。圖4.56選擇執(zhí)行SOPCBuilder圖4.57SOPCBuilder啟動(dòng)過程中的屏幕圖4.58SOPCBuilder啟動(dòng)完成后的屏幕圖4.50選擇CPU的屏幕圖4.60CPU的設(shè)置屏幕之一圖4.61CPU的設(shè)置屏幕之二圖4.62進(jìn)入CPU配置窗口圖4.63Flash的配置圖4.64最終的NiosⅡ系統(tǒng)配置及其地址映射表圖4.65系統(tǒng)生成結(jié)果圖4.66完成原理圖編輯后的結(jié)果圖4.67系統(tǒng)邏輯綜合成功3.SOPC軟件設(shè)計(jì)基本步驟SOPC軟件設(shè)計(jì)開發(fā)的基本步驟如下:(1)啟動(dòng)NiosⅡIDE。(2)建立新的源程序和軟件工程或?qū)胍呀ㄔ闯绦蚝蛙浖こ?。?duì)于已經(jīng)設(shè)計(jì)好的軟件工程的使用,必須先導(dǎo)入有關(guān)工程文件和系統(tǒng)庫文件。導(dǎo)入文件的方式是,在工程源文件空白處用鼠標(biāo)右點(diǎn),在彈出的操作對(duì)話界面上,選擇Import,再依提示進(jìn)行有關(guān)操作。(3)編譯工程。(4)運(yùn)行程序或調(diào)試程序。調(diào)試程序時(shí)可使用單步運(yùn)行,并觀察寄存器或變量中有關(guān)參數(shù)的變化。(5)將程序下載到FLASH中。圖4.68~圖4.82給出了設(shè)計(jì)開發(fā)某個(gè)基于NiosⅡ的SOPC系統(tǒng)軟件設(shè)計(jì)開發(fā)的主要操作界面。
圖4.68啟動(dòng)NIOSⅡIDE圖4.69啟動(dòng)后的NIOSⅡIDE界面圖4.70導(dǎo)入已建工程文件操作圖4.71導(dǎo)入工程文件類型選擇圖4.72選擇已建工程文件的目錄圖4.73導(dǎo)入工程文件選擇圖4.74導(dǎo)入工程文件hello_led_0后的界面圖4.75導(dǎo)入系統(tǒng)庫文件夾選擇圖4.76導(dǎo)入系統(tǒng)庫文件選擇圖4.77導(dǎo)入系統(tǒng)庫文件后的界面圖4.78工程文件編譯操作界面圖4.79工程文件編譯操作過程界面圖4.80工程文件編譯成功后的結(jié)果界面圖4.81工程操作調(diào)試界面圖4.82工程編程下載界面對(duì)于QuartusⅡ10.0及其以上的高版本,其仿真不能通過直接設(shè)置波形的形式進(jìn)行仿真,而只能通過調(diào)用第三方仿真軟件Modsim、使用仿真測(cè)試程序的方式進(jìn)行仿真。下面以QuartusⅡ13.0SP為例,介紹其調(diào)用Modsim進(jìn)行仿真的方法。1.設(shè)置仿真工具在QuartusⅡ的主菜單下,執(zhí)行【Tools】→【Options】命令,進(jìn)入設(shè)置仿真工具的操作界面(見圖4.83),將出現(xiàn)如圖4.84所示的仿真工具設(shè)置操作界面,根據(jù)Modsim的安裝路徑進(jìn)行設(shè)置。4.3.5高版本QuartusⅡ的仿真圖4.83進(jìn)入設(shè)置仿真工具的操作界面圖4.84仿真工具設(shè)置操作界面
2.設(shè)置仿真平臺(tái)在QuartusⅡ的主菜單下,執(zhí)行【Assignments】→【Settings】命令,進(jìn)入設(shè)置仿真平臺(tái)的操作界面(見圖4.85),將出現(xiàn)如圖4.86所示的仿真平臺(tái)設(shè)置操作界面,根據(jù)實(shí)際情況進(jìn)行設(shè)置,設(shè)置項(xiàng)目包括仿真工具、輸出網(wǎng)表的格式、編譯的測(cè)試平臺(tái)(testbench),具體設(shè)置方式是通過下拉菜單進(jìn)行選擇或通過點(diǎn)擊瀏覽器【】的方式改變路徑進(jìn)行選擇。仿真測(cè)試平臺(tái)的設(shè)置操作包括測(cè)試平臺(tái)名、頂層模塊名、例化元件名、測(cè)試平臺(tái)文件,如圖4.87所示。仿真測(cè)試平臺(tái)的編輯操作界面,測(cè)試平臺(tái)名、頂層模塊名、例化元件名、測(cè)試平臺(tái)文件,如圖4.88所示。圖4.85設(shè)置仿真平臺(tái)操作界面界面圖4.86仿真平臺(tái)設(shè)置操作界面圖4.87仿真測(cè)試平臺(tái)的設(shè)置操作界面圖4.88仿真測(cè)試平臺(tái)的編輯操作界面3.仿真類型選擇在QuartusⅡ的主菜單下,執(zhí)行【Tools】→【RunSimulationTool】命令,進(jìn)入進(jìn)行RTL仿真和門級(jí)仿真的操作界面,根據(jù)需要選擇RTL仿真(RTLSimulation)和門級(jí)仿真(GateLevelSimulation),如圖4.89所示。4.實(shí)際仿真結(jié)果根據(jù)需要選擇RTL仿真和門級(jí)仿真進(jìn)行仿真,其仿真運(yùn)行結(jié)果分別如圖4.90和如圖4.91所示,從仿真圖中可以看出,RTL仿真結(jié)果的輸出相對(duì)輸入是同時(shí)的,而門級(jí)仿真結(jié)果的輸出相對(duì)輸入有一定的器件延遲。圖4.89
RTL仿真和門級(jí)仿真的設(shè)置操作界面圖4.90
RTL仿真結(jié)果圖4.91門級(jí)仿真結(jié)果4.4XilinxISEDesignSuite操作指南XilinxISEDesignSuite是Xilinx公司新近推出的EDA集成軟件開發(fā)環(huán)境(IntegratedSoftwareEnvironment,簡稱為ISE)。XilinxISE操作簡易方便,其提供的各種最新改良功能能解決以往各種設(shè)計(jì)上的瓶頸,加快了設(shè)計(jì)與檢驗(yàn)的流程,如ProjectNavigator(先進(jìn)的設(shè)計(jì)流程導(dǎo)向?qū)I(yè)管理程式)讓顧客能在同一設(shè)計(jì)工程中使用Synplicity與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨床醫(yī)院護(hù)理部護(hù)士脫帽儀式方案1
- 新高考化學(xué)實(shí)驗(yàn)新考法專項(xiàng)復(fù)習(xí):接口順序選擇(解析版)
- 小學(xué)二年級(jí)數(shù)學(xué)下冊(cè)應(yīng)用題專項(xiàng)練習(xí)2(每日一練)
- 2025年保密在線教育培訓(xùn)題庫(帶答案)
- 2025年“安全生產(chǎn)月”知識(shí)主題測(cè)題及答案
- 信息安全意識(shí)測(cè)評(píng)與反饋系統(tǒng)考核試卷
- 定制化營銷方案開發(fā)考核試卷
- 健身器材智能運(yùn)動(dòng)損傷預(yù)防系統(tǒng)考核試卷
- 電子設(shè)備抗干擾性能測(cè)試方法研究考核試卷
- 抗菌纖維敷料應(yīng)用領(lǐng)域考核試卷
- 基于項(xiàng)目反應(yīng)理論的生物統(tǒng)計(jì)學(xué)課程教學(xué)質(zhì)量評(píng)價(jià)
- 2025年天翼云高級(jí)運(yùn)維工程師認(rèn)證參考試題庫(含答案)
- 光伏安全施工方案范本
- 2025年廣東惠州市惠州大亞灣石化應(yīng)急管理有限公司招聘筆試參考題庫附帶答案詳解
- 住院患者靜脈血栓的預(yù)防及護(hù)理
- 醫(yī)療保險(xiǎn)基金管理?xiàng)l例
- 會(huì)展行業(yè)策劃與執(zhí)行作業(yè)指導(dǎo)書
- 新《工會(huì)基礎(chǔ)知識(shí)》考試題及答案
- 中醫(yī)治療胃腸道疾病
- 2024年國家電網(wǎng)公司電力安全工作規(guī)程題庫及答案(共196題)
- 健康體檢醫(yī)療服務(wù)投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論