版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
任務(wù)7.1項(xiàng)目預(yù)備知識(shí)
任務(wù)7.2門(mén)電路的VHDL程序設(shè)計(jì)
任務(wù)7.3全加器的原理圖輸入法設(shè)計(jì)
任務(wù)7.4交通燈控制器的設(shè)計(jì)、仿真與調(diào)試任務(wù)7.1項(xiàng)目預(yù)備知識(shí)7.1.1可編程邏輯器件可編程邏輯器件(ProgrammableLogicDevice,PLD),是一種由用戶(hù)根據(jù)自己要求來(lái)構(gòu)造邏輯功能的數(shù)字集成電路,主要包括FPGA和CPLD兩大類(lèi)。FPGA和CPLD分別是現(xiàn)場(chǎng)可編程門(mén)陣列和復(fù)雜可編程邏輯器件的簡(jiǎn)稱(chēng)。FPGA在結(jié)構(gòu)上主要分為三個(gè)部分:可編程邏輯單元、可編程輸入/輸出單元和可編程連線(xiàn)。CPLD在結(jié)構(gòu)上主要分為三個(gè)部分:可編程邏輯宏單元、可編程輸入/輸出單元和可編程內(nèi)部連線(xiàn)。PLD適宜于小批量生產(chǎn)的系統(tǒng)或在系統(tǒng)開(kāi)發(fā)研制中采用,在計(jì)算機(jī)硬件、自動(dòng)化控制、智能儀表、數(shù)字電路系統(tǒng)領(lǐng)域得到了廣泛的應(yīng)用?;诳删幊踢壿嬈骷臄?shù)字系統(tǒng)EDA設(shè)計(jì)是指利用計(jì)算機(jī)輔助設(shè)計(jì),即用原理圖、狀態(tài)機(jī)、硬件描述語(yǔ)言(HardwareDescriptionLanguage,HDL)等方法來(lái)表示設(shè)計(jì)思想,經(jīng)編譯或轉(zhuǎn)換程序,生成目標(biāo)文件,最后由編程器或下載電纜將設(shè)計(jì)文件配置到目標(biāo)可編程邏輯器件
中,來(lái)
實(shí)
現(xiàn)
數(shù)
字
系
統(tǒng)
的
邏
輯
功
能。本
項(xiàng)
目
采
用Altera公
司
開(kāi)
發(fā)
的
型
號(hào)
為EPM7128SLC8415的CPLD芯片進(jìn)行設(shè)計(jì)。7.1.2軟件開(kāi)發(fā)工具QuartusⅡPLD的開(kāi)發(fā)工具一般由器件生產(chǎn)廠家提供,但隨著器件規(guī)模的不斷增加,軟件的復(fù)雜性也隨之提高。主要的PLD生
產(chǎn)
廠
家
和
開(kāi)
發(fā)
工
具
有Altera公
司
的MAX+PLUSⅡ
和QuartusⅡ開(kāi)發(fā)軟件,Xilinx公司的Foundation,ISE開(kāi)發(fā)軟件和Lattice公司的ispLEVER開(kāi)發(fā)軟件等。本項(xiàng)目使用Altera公司的QuartusⅡ設(shè)計(jì)軟件進(jìn)行設(shè)計(jì)。QuartusⅡ設(shè)計(jì)軟件提供完整的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿(mǎn)足特定設(shè)計(jì)需要,為可編程芯片系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境。7.1.3硬件描述語(yǔ)言VHDL硬件描述語(yǔ)言是用文本形式來(lái)描述數(shù)字電路的內(nèi)部結(jié)構(gòu)和信號(hào)連接關(guān)系的一類(lèi)語(yǔ)言,類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言的語(yǔ)言形式和結(jié)構(gòu)形式。其中最具代表性的、使用最廣泛的是VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)語(yǔ)
言
和VerilogHDL語(yǔ)言。1.VHDL的基本結(jié)構(gòu)1)VHDL程序基本結(jié)構(gòu)VHDL程序基本結(jié)構(gòu)如圖72所示。第一部分是程序包,程序包是用VHDL語(yǔ)言編寫(xiě)的共享文件,定義在設(shè)計(jì)結(jié)構(gòu)體和實(shí)體中用到的常數(shù)、數(shù)據(jù)類(lèi)型、子程序和設(shè)計(jì)好的電路單元等,放在文件目錄名稱(chēng)為IEEE的程序包庫(kù)中。第二部分是程序的實(shí)體,定義電路單元的輸入/輸出引腳信號(hào)。程序的實(shí)體名稱(chēng)是任意取的,但是必須與VHDL程序的文件名稱(chēng)相同。實(shí)體的標(biāo)識(shí)符是ENTITY,實(shí)體以ENTITY開(kāi)頭,以END結(jié)束。第三部分是程序的結(jié)構(gòu)體,具體描述電路的內(nèi)部結(jié)構(gòu)和邏輯功能。結(jié)構(gòu)體以標(biāo)識(shí)符ARCHITECTURE開(kāi)頭,以END結(jié)尾。結(jié)構(gòu)體的名稱(chēng)也是任意取的。2)庫(kù)和程序包VHDL程序中常用的庫(kù)有STD庫(kù)、IEEE庫(kù)和WORK庫(kù)等。其中STD庫(kù)和IEEE庫(kù)中的標(biāo)準(zhǔn)程序包是由EDA工具的廠商提供的,用戶(hù)在設(shè)計(jì)程序時(shí)可以用相應(yīng)的語(yǔ)句調(diào)用。庫(kù)、程序包調(diào)用的格式為L(zhǎng)IBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;3)VHDL語(yǔ)言的實(shí)體實(shí)體是VHDL程序設(shè)計(jì)中最基本的組成部分,實(shí)體定義了所設(shè)計(jì)芯片需要的輸入/輸出信號(hào)引腳。實(shí)體說(shuō)明語(yǔ)句的格式為4)VHDL語(yǔ)言的結(jié)構(gòu)體結(jié)構(gòu)體描述設(shè)計(jì)實(shí)體的功能,建立設(shè)計(jì)的輸入與輸出之間的聯(lián)系。結(jié)構(gòu)體的一般格式為2.VHDL的基本要素與其他高級(jí)語(yǔ)言相似,VHDL語(yǔ)言也是由標(biāo)識(shí)符、數(shù)據(jù)對(duì)象、數(shù)據(jù)類(lèi)型、運(yùn)算符等基本要素組成的。1)標(biāo)識(shí)符標(biāo)識(shí)符用來(lái)表示常量、變量、信號(hào)、子程序、結(jié)構(gòu)體和實(shí)體等名稱(chēng),由26個(gè)英文字母、數(shù)字0,1,2,…,9及下畫(huà)線(xiàn)“_”組成。標(biāo)識(shí)符組成的規(guī)則如下:(1)標(biāo)識(shí)符必須以英文字母開(kāi)頭;(2)標(biāo)識(shí)符中不能有兩個(gè)連續(xù)的下畫(huà)線(xiàn)“_”,標(biāo)識(shí)符的最后一個(gè)字符不能是下畫(huà)線(xiàn);(3)標(biāo)識(shí)符中的英文字母不區(qū)分大小寫(xiě);(4)VHDL的保留字不能作為標(biāo)識(shí)符使用。2)數(shù)據(jù)對(duì)象在VHDL中,定義了三種數(shù)據(jù)對(duì)象,即常量、信號(hào)和變量。(1)常量的說(shuō)明格式為CONSTANT常量名:數(shù)據(jù)類(lèi)型[∶=設(shè)置值];(2)信號(hào)的說(shuō)明格式為SIGNAL信號(hào)名:數(shù)據(jù)類(lèi)型[∶=設(shè)置值];(3)變量的說(shuō)明格式為VARIABLE變量名:數(shù)據(jù)類(lèi)型[∶=設(shè)置值];3)數(shù)據(jù)類(lèi)型VHDL的數(shù)據(jù)類(lèi)型使得VHDL能夠創(chuàng)建高層次的系統(tǒng)和算法模型。VHDL數(shù)據(jù)類(lèi)型主要分為基本數(shù)據(jù)類(lèi)型和其他數(shù)據(jù)類(lèi)型兩部分。在數(shù)字電路里的信號(hào)大致可分為邏輯信號(hào)和數(shù)值信號(hào),與之相對(duì)應(yīng)的VHDL基本數(shù)據(jù)類(lèi)型如圖73所示。4)運(yùn)算符與高級(jí)語(yǔ)言一樣,VHDL語(yǔ)言的表達(dá)式也是由運(yùn)算符和操作數(shù)組成的。VHDL中定義的運(yùn)算符主要有關(guān)系運(yùn)算符、關(guān)聯(lián)運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符及其他運(yùn)算符。運(yùn)算符符號(hào)、功能及適用的數(shù)據(jù)類(lèi)型如表71所示。3.VHDL語(yǔ)句VHDL常用語(yǔ)句可以分為兩大類(lèi),即并行語(yǔ)句和順序語(yǔ)句。順序語(yǔ)句必須放在進(jìn)程中,順序語(yǔ)句是按照語(yǔ)句的前后排列的方式順序執(zhí)行的。結(jié)構(gòu)體中的并行語(yǔ)句總是處于進(jìn)程的外部,所有并行語(yǔ)句都是一次同時(shí)執(zhí)行的,與它們?cè)诔绦蛑信帕械南群蟠涡驘o(wú)關(guān)。常用的并行語(yǔ)句有:(1)并行信號(hào)賦值語(yǔ)句,用“<=”運(yùn)算符;(2)條件賦值語(yǔ)句,WHEN-ELSE;(3)選擇信號(hào)賦值語(yǔ)句,WITH-SELECT;(4)方塊語(yǔ)句,BLOCK。常用的順序語(yǔ)句有:(1)信號(hào)賦值語(yǔ)句和變量賦值語(yǔ)句;(2)IF-ELSE語(yǔ)句;(3)CASE-WHEN語(yǔ)句;(4)FOR-LOOP。下面介紹本項(xiàng)目用到的幾個(gè)語(yǔ)句的基本格式。1)進(jìn)程語(yǔ)句進(jìn)程語(yǔ)句描述順序事件,包含在結(jié)構(gòu)體中,一個(gè)結(jié)構(gòu)體可以包含多個(gè)進(jìn)程語(yǔ)句,進(jìn)程語(yǔ)句之間是并行的,而進(jìn)程內(nèi)部語(yǔ)句之間是順序關(guān)系。進(jìn)程語(yǔ)句的基本格式為2)簡(jiǎn)單信號(hào)賦值語(yǔ)句簡(jiǎn)單信號(hào)賦值語(yǔ)句位于進(jìn)程語(yǔ)句的外部,語(yǔ)句的一般格式為:賦值對(duì)象<=表達(dá)式;3)IF-ELSE語(yǔ)句4)CASE-WHEN語(yǔ)句CASE-WHEN語(yǔ)句屬于順序語(yǔ)句,只能在進(jìn)程中使用,常用來(lái)選擇有明確描述的信號(hào),語(yǔ)句格式為7.1.4試驗(yàn)板硬件原理圖本項(xiàng)目所采用的實(shí)驗(yàn)開(kāi)發(fā)板原理圖如圖74所示。本項(xiàng)目采用的實(shí)驗(yàn)開(kāi)發(fā)板實(shí)物圖如圖75所示。PLD芯片與外圍元件的引腳連接對(duì)照表如表72所示。任務(wù)7.2門(mén)電路的VHDL程序設(shè)計(jì)1.實(shí)驗(yàn)?zāi)康?1)掌握2輸入與門(mén)的VHDL語(yǔ)言程序編寫(xiě)。(2)掌握QuartusⅡ軟件的VHDL程序輸入法。(3)掌握波形文件的建立和波形仿真。2.實(shí)驗(yàn)內(nèi)容與原理利用QuartusⅡ軟件,編寫(xiě)2輸入與門(mén)的VHDL程序,進(jìn)行編譯和仿真,并根據(jù)波形圖列出其真值表,驗(yàn)證與門(mén)的邏輯功能。2輸入與門(mén)的VHDL程序如下:3.實(shí)驗(yàn)步驟1)新建一個(gè)文件夾【工程創(chuàng)建與VHDL輸入設(shè)計(jì)掃一掃】本項(xiàng)設(shè)計(jì)的文件夾取名為and_gate,存在D盤(pán)中,路徑為D:\and_gate。注意,文件夾名不能用中文,也最好不要用數(shù)字。2)新建工程(1)打開(kāi)建立新工程管理窗。選擇菜單“File”→“NewProjectWizard”命令,彈出“工程設(shè)置”對(duì)話(huà)框。單擊此對(duì)話(huà)框最上一欄右側(cè)的“…”按鈕,找到文件夾D:\and_gate,再單擊“打開(kāi)”按鈕,即出現(xiàn)如圖76所示的設(shè)置情況。其中,第一行的D:\and_gate表示工程所在的工作庫(kù)文件夾;第二行的and_gate表示此項(xiàng)工程的工程名,工程名可以取任何其他的名,也可直接用頂層文件的實(shí)體名作為工程名,在此就是按這種方式取的名;第三行是當(dāng)前工程頂層文件的實(shí)體名,這里即為and_gate。(2)選擇目標(biāo)芯片。單擊“Next”按鈕彈出選擇目標(biāo)芯片的窗口,用戶(hù)必須選擇開(kāi)發(fā)板上的FPGA器件型號(hào)。本項(xiàng)設(shè)
計(jì)“Family”選
擇MAX7000S系
列,然
后
選
擇
封
裝“Package”為PLCC,管
腳
數(shù)“Pincount”為84,速度等級(jí)“Speedgrade”為15,鼠標(biāo)選擇EPM7128SLC8415,如圖77所示。(3)單擊“Next”按鈕后進(jìn)入下一步,彈出“工程概要”顯示窗口,如圖78所示。3)新建VHDL文件(1)輸入源程序。打開(kāi)QuartusⅡ軟件,選擇菜單“File”→“New”命令。在“New”窗口中的“DeviceDesignFiles”選項(xiàng)卡下選擇編譯文件的語(yǔ)言類(lèi)型,本項(xiàng)設(shè)計(jì)選擇“VHDLFile”(如圖79所示)。然后在VHDL文本編譯窗中編寫(xiě)VHDL程序。(2)保存文件,文件名為and_gate。(3)編譯文件:點(diǎn)擊“?”按鈕進(jìn)行編譯,若編譯無(wú)誤將彈出編譯成功對(duì)話(huà)框;若編譯有錯(cuò)誤,請(qǐng)根據(jù)“調(diào)試信息”框中的錯(cuò)誤提示修改,直至編譯通過(guò)。4)時(shí)序仿真【門(mén)電路波形仿真掃一掃】程序編譯通過(guò)后,必須對(duì)其功能和時(shí)序性質(zhì)進(jìn)行仿真測(cè)試,以了解設(shè)計(jì)結(jié)果是否滿(mǎn)足原設(shè)計(jì)要求。以VWF文件方式的仿真流程為例,其詳細(xì)步驟如下:(1)打開(kāi)波形編輯器。選擇菜單“File”→“New”命令,在“New”窗口中選擇“OtherFiles”選項(xiàng)卡下的“VectorWaveformFile”項(xiàng)(如圖710所示),單擊“OK”按鈕,即出現(xiàn)空白的波形編輯器(如圖711所示)。(2)點(diǎn)擊菜單命令“Edit”→“Insert”→“InsertNodesorBus
”,進(jìn)入圖712,單擊“NodeFinder
”,進(jìn)入圖713,在“Filter”下拉列表中選擇“Pins:all”,點(diǎn)擊“List”,此時(shí)“NodesFound”框格中出現(xiàn)節(jié)點(diǎn),雙擊所要觀測(cè)的節(jié)點(diǎn),使節(jié)點(diǎn)名出現(xiàn)在選中的節(jié)點(diǎn)框格“SelectedNodes”中。點(diǎn)擊“OK”返回圖712,再點(diǎn)擊“OK”完成節(jié)點(diǎn)的添加。(3)點(diǎn)擊菜單命令“Edit”→“EndTime”,出現(xiàn)圖714,將時(shí)間設(shè)定為2.0μs。(4)點(diǎn)擊菜單命令“Edit”→“GridSize”,出現(xiàn)圖715,將網(wǎng)格大小設(shè)定為100ns。(5)點(diǎn)擊節(jié)點(diǎn)a,使其成為高亮狀態(tài),點(diǎn)擊左側(cè)欄中的,進(jìn)入圖716(a),將開(kāi)始值“Startvalue”設(shè)為0,點(diǎn)擊“Timing”,將開(kāi)始時(shí)間“Starttime”設(shè)為0,結(jié)束時(shí)間“Endtime”設(shè)為2.0us,“Countevery”設(shè)為100ns,“Multipliedby”設(shè)為“1”,如圖716(b)所示。點(diǎn)擊“確定”輸入信號(hào)激勵(lì)。(6)同理將節(jié)點(diǎn)b的周期設(shè)為200ns,其他設(shè)置為默認(rèn)值。(7)點(diǎn)擊菜單“View”→“Zoomout”命令縮小波形顯示,至波形為適合大小;最后設(shè)置好的激勵(lì)信號(hào)波形如圖717所示。(8)點(diǎn)擊菜單命令“File”→“Saveas”,以“.vwf”為擴(kuò)展名存盤(pán)文件,命名為“and_gate.vwf”,保存時(shí)勾選“Addfiletocurrentfile”選項(xiàng)。(9)啟動(dòng)仿真器。在菜單“Processing”項(xiàng)下選擇“StartSimulation”。(10)觀察仿真結(jié)果,如圖718所
示,符
合
與
門(mén)
的
邏
輯
功
能,即“有0則0,全1則1”任務(wù)7.3全加器的原理圖輸入法設(shè)計(jì)1.實(shí)驗(yàn)?zāi)康?1)掌握全加器的原理。(2)掌握全加器的原理圖輸入法。(3)觀察全加器的波形現(xiàn)象并記錄和分析。(4)掌握程序下載、功能調(diào)試的方法和步驟。2.實(shí)驗(yàn)內(nèi)容與原理利用QuartusⅡ軟件的圖形輸入方式,設(shè)計(jì)一位二進(jìn)制加法器,完成編譯和波形仿真后,下載到實(shí)驗(yàn)板驗(yàn)證電路功能。根據(jù)前面組合邏輯電路的設(shè)計(jì)過(guò)程,列出全加器的真值表,根據(jù)真值表列出邏輯表達(dá)式,設(shè)計(jì)邏輯電路,一位全加器的原理圖如圖719所示。3.實(shí)驗(yàn)步驟【原理圖輸入法設(shè)計(jì)掃一掃】(1)新建一個(gè)文件夾。(2)新建工程。(3)新建原理圖文件。①
點(diǎn)擊菜單命令“File”→“New”,在彈出的“New”窗口中選擇“DeviceDesignFiles”選項(xiàng)卡下的“BlockDiagram/SchematicFile”項(xiàng),如圖720所示。②
放置元件。在原理圖空白處雙擊鼠標(biāo),彈出“Symbol”選擇窗口(或單擊右鍵選擇“Insert”→“Symbol
”),出
現(xiàn)
元
件
對(duì)
話(huà)
框,如
圖721所
示。分
別
調(diào)
入
元
件INPUT、OUTPUT、AND2、XOR、OR2,并進(jìn)行連線(xiàn)。然后對(duì)輸入端和輸出端進(jìn)行重新命名,分別在INPUT和OUTPUT的PINNAME上雙擊使其變黑,再用鍵盤(pán)分別輸入各引腳名,分別為A、B、Ci、S、C,如圖722所示。③
文件存盤(pán)。將設(shè)計(jì)好的原理圖文件取名為f_add(注意后綴是.bdf),保存在當(dāng)前的工程下。(4)編譯文件。(5)時(shí)序仿真。時(shí)序仿真報(bào)告如圖723所示,符合全加器的邏輯功能。(6)管腳分配。在程序下載到芯片之前,首先將設(shè)計(jì)好的全加器的5個(gè)端口映射到目標(biāo)器件EPM7128SLC8415具體管腳上,即管腳分配。在進(jìn)行實(shí)物驗(yàn)證時(shí),全加器的A、B、Ci三個(gè)邏輯電平輸入用開(kāi)關(guān)來(lái)設(shè)置,輸出S和C的邏輯電平用LED指示燈來(lái)顯示,因此根據(jù)前面的實(shí)驗(yàn)板元件與EPM7128SLC84芯片引腳對(duì)照表,管腳配置參考表73。其次進(jìn)行管腳分配,點(diǎn)擊菜單命令“Assignments”→“Pins”,如圖724所示,出現(xiàn)所選目標(biāo)芯片的管腳分布圖。為每個(gè)端口選擇所配置的引腳,如圖725所示。(7)全編譯。管腳分配完成后,選擇菜單命令“Processing”→“StartCompilation”啟動(dòng)全編譯過(guò)程。(8)器件編程。①
連上實(shí)驗(yàn)板的USB電源線(xiàn)。②
連接好USB-Blaster下載電纜。初次連接需要為其安裝驅(qū)動(dòng),驅(qū)動(dòng)文件路徑為:C:\programfiles\altera\quartus60\drivers\usb-blaster。選擇菜單命令“Tools”→“Programmer”,打開(kāi)編程器窗口,其中包括當(dāng)前f_add.pof編程文件及所選目標(biāo)器件等信息。④在編程器窗口的Mode列表中選擇JTAG模式。⑤
單擊“HardwareSetup”,在彈出的硬件設(shè)置對(duì)話(huà)框中選擇“USB”→“Blaster”,然后單擊“Close”按鈕關(guān)閉硬件設(shè)置對(duì)話(huà)框,設(shè)置完成。⑥
單擊編程器窗口的“Start”按鈕開(kāi)始編程,直至出現(xiàn)提示編程完成的對(duì)話(huà)框時(shí),單擊“OK”完成器件編程。(9)功能檢驗(yàn)。撥動(dòng)板子上所對(duì)應(yīng)的三個(gè)開(kāi)關(guān),觀察對(duì)應(yīng)指示燈的亮滅情況,驗(yàn)證是否符合全加器的邏輯功能。任務(wù)7.4交通燈控制器的設(shè)計(jì)、
仿真與調(diào)試7.4.1項(xiàng)目設(shè)計(jì)要求設(shè)計(jì)一個(gè)十字路口的交通燈控制器,用實(shí)驗(yàn)板上的LED燈指示車(chē)輛通過(guò)的方向(東西和南北方向各一組),用數(shù)碼管指示該方向的剩余時(shí)間。設(shè)東西方向和南北方向的車(chē)流量大致相同,因此兩個(gè)方向上紅燈、黃燈、綠燈的時(shí)長(zhǎng)也相同,定為紅燈45秒、黃燈5秒、綠燈40秒,同時(shí)數(shù)碼管指示當(dāng)前狀態(tài)(紅燈、黃燈、綠燈)剩余時(shí)間。另外設(shè)置一個(gè)緊急信號(hào),緊急信號(hào)發(fā)生時(shí),東西和南北方向都顯示紅燈,并停止計(jì)數(shù)(顯示為“00”),緊急狀態(tài)解除后,重新計(jì)數(shù)并指示時(shí)間。7.4.2設(shè)計(jì)原理交通燈控制器是狀態(tài)機(jī)的一個(gè)典型應(yīng)用,除了計(jì)數(shù)器是狀態(tài)機(jī)外,還有東西方向、南北方向的不同組合(紅綠、紅黃、綠紅、黃紅4個(gè)狀態(tài)),如表74所示??梢院?jiǎn)單地將該電路看成兩個(gè)(東西、南北)減1計(jì)數(shù)的計(jì)數(shù)器,通過(guò)檢測(cè)兩個(gè)方向的計(jì)數(shù)值,可以檢測(cè)紅、黃、綠組合的跳變。這樣使一個(gè)較復(fù)雜的狀態(tài)機(jī)設(shè)計(jì)變成一個(gè)簡(jiǎn)單的計(jì)數(shù)器設(shè)計(jì)。假設(shè)東西方向和南北方向的黃燈時(shí)間均為5秒,在設(shè)計(jì)交通燈控制器時(shí),可在簡(jiǎn)單的計(jì)數(shù)器基礎(chǔ)上增加一些狀態(tài)檢測(cè),即通過(guò)檢測(cè)兩個(gè)方向上的計(jì)數(shù)值判斷交通燈應(yīng)處于4種可能狀態(tài)中的哪種狀態(tài),需要檢測(cè)的狀態(tài)跳變點(diǎn)如表75所示。對(duì)于緊急情況,只需設(shè)計(jì)一個(gè)異步時(shí)序電路即可解決,當(dāng)緊急信號(hào)發(fā)生時(shí),東西方向、南北方向都為紅燈,計(jì)數(shù)值都為零;緊急狀態(tài)解除后,恢復(fù)到狀態(tài)1,即東西方向紅燈45秒,南北方向綠燈40秒,重新計(jì)數(shù)并指示時(shí)間。程序中還應(yīng)防止出現(xiàn)非法狀態(tài),即程序運(yùn)行后應(yīng)判斷東西方向和南北方向的計(jì)數(shù)值是否超出范圍,若超出范圍,也恢復(fù)成狀態(tài)1,即東西方向紅燈45秒,南北方向綠燈40秒,開(kāi)始計(jì)數(shù)并指示時(shí)間。此電路在電路啟動(dòng)運(yùn)行時(shí)和緊急狀態(tài)解除時(shí)有效,一旦兩個(gè)方向的計(jì)數(shù)值正確后,就不會(huì)再計(jì)數(shù)到非法狀態(tài)。7.4.3VHDL語(yǔ)言程序設(shè)計(jì)為節(jié)省I/O引腳和內(nèi)部資源,實(shí)驗(yàn)板提供的8個(gè)LED數(shù)碼管是動(dòng)態(tài)掃描顯示,因此引進(jìn)一個(gè)掃描信號(hào),將時(shí)間分為4個(gè)掃描周期,每個(gè)掃描周期只選通一個(gè)數(shù)碼管,利用人眼的視覺(jué)殘留效應(yīng),只要掃描信號(hào)的頻率足夠高,人眼感覺(jué)就像四個(gè)數(shù)碼管同時(shí)顯示。該程序可以分解成計(jì)數(shù)、動(dòng)態(tài)掃描和數(shù)碼管顯示譯碼三大功能模塊設(shè)計(jì)。采用動(dòng)態(tài)掃描顯示的交通燈控制器外部接口如圖726所示。7.4.4項(xiàng)目實(shí)施過(guò)程1.創(chuàng)建工程首先在計(jì)算機(jī)中建立一個(gè)文件夾作為工程項(xiàng)目目錄,如d:\traffic。打開(kāi)QuartusⅡ軟件,選擇菜單命令“File”,在下拉菜單中選擇“NewProjectWizard”選項(xiàng),根據(jù)工程向?qū)?chuàng)建工程,選擇工程項(xiàng)目目錄,填寫(xiě)工程項(xiàng)目名稱(chēng)和頂層設(shè)計(jì)實(shí)體名稱(chēng)如圖727所示,器件選擇如圖728所示。最后創(chuàng)建的工程信息概況如圖729所示。
單擊“Finish”按鈕就建立了一個(gè)空白的工程項(xiàng)目,如
圖730所示。2.建立編輯VHDL設(shè)計(jì)文件本項(xiàng)設(shè)計(jì)采用VHDL語(yǔ)言輸入法,因此選擇新建的文件類(lèi)型為VHDLFile,在文本編輯器中編寫(xiě)程序,并將文件保存為traffic.vhd。3.編譯單擊
軟
件
工
具
條
上
的“?”按
鈕
進(jìn)
行
編
譯,查
看
有
無(wú)
錯(cuò)
誤,如
果
出
現(xiàn)
報(bào)
錯(cuò),可
以
在Messages信息欄中單擊“Error”,此時(shí)信息欄將出現(xiàn)所有的錯(cuò)誤提示,通過(guò)鼠標(biāo)左鍵雙擊錯(cuò)誤提示,找到錯(cuò)誤所在行,進(jìn)行修改。4.管腳分配將設(shè)計(jì)好的交通燈控制器的端口映射到目標(biāo)下載器件EPM7128SLC8415具體管腳上,管腳配置參考表76。點(diǎn)擊菜單命令“Assignments”→“Pins”,為每個(gè)端口選擇所配置的引腳,如圖731所示。注意:JP1(83腳)、JP2(2腳)跳線(xiàn)帽閉合。5.全編譯選擇菜單命令“Processing”→“StartCompilation”啟動(dòng)全編譯過(guò)程。編譯過(guò)程中如果出現(xiàn)錯(cuò)誤,可以在消息窗口中雙擊錯(cuò)誤信息,找到錯(cuò)誤所在地方,進(jìn)行修改,直到全部編譯成功為止。6.仿真驗(yàn)證全部編譯成功后,通過(guò)仿真驗(yàn)證所設(shè)計(jì)的功能是否正確。1)創(chuàng)建波形文件(1)首先建立仿真波形文件。選擇菜單“File”→“New”命令,在彈出的“New”對(duì)話(huà)框中選擇“OtherFiles”標(biāo)
簽,從
中
選
擇“VectorWaveformFile”,創(chuàng)
建
一
個(gè)
空
的
波
形
文
件waveform1.vwf。(2)設(shè)計(jì)仿真結(jié)束時(shí)間、網(wǎng)格信息。選擇菜單命令“Edit”→“EndTime”,設(shè)置仿真結(jié)束時(shí)間。選擇菜單命令“Edit”
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年陽(yáng)泉市口腔醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年江西環(huán)境工程職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年楊凌職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年撫順師范高等專(zhuān)科學(xué)校高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年常州信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年山西戲劇職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年安徽電子信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年南通師范高等專(zhuān)科學(xué)校高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 二零二五年新能源儲(chǔ)能技術(shù)開(kāi)發(fā)合同樣本3篇
- 2024年蘭州石化職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 民間借貸利息計(jì)算表
- 酒店保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- 《白描花卉妙筆生》 課件 2024-2025學(xué)年嶺南美版(2024) 初中美術(shù)七年級(jí)上冊(cè)
- 2025年公務(wù)員考試申論試題與參考答案
- 2024年秋季新人教PEP版三年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案
- 蘇教版四年級(jí)上冊(cè)四則混合運(yùn)算練習(xí)200道及答案
- 2024耐張線(xiàn)夾技術(shù)規(guī)范
- 2024年中考英語(yǔ)語(yǔ)法感嘆句100題精練
- 《海洋與人類(lèi)》導(dǎo)學(xué)案
- 挑戰(zhàn)杯紅色賽道計(jì)劃書(shū)
- 第十五屆全國(guó)石油和化工行業(yè)職業(yè)技能競(jìng)賽(化工總控工)考試題庫(kù)-上(單選題)
評(píng)論
0/150
提交評(píng)論