版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第頁(yè)EDA綜合設(shè)計(jì)與實(shí)踐一、設(shè)計(jì)目的與要求II軟件的使用方法與系統(tǒng)總體設(shè)計(jì)。2.學(xué)會(huì)設(shè)計(jì)較復(fù)雜的數(shù)字系統(tǒng),用VerilogHDL描述語(yǔ)言編寫設(shè)計(jì)代碼,并綜合仿真驗(yàn)證設(shè)計(jì),用FPGA試驗(yàn)箱驗(yàn)證設(shè)計(jì)。3.學(xué)習(xí)FPGA試驗(yàn)箱的使用,各種電路圖的引腳接法及其功能。4.本實(shí)驗(yàn)要求學(xué)生以FPGA器件為目標(biāo)器件,設(shè)計(jì)典型的數(shù)字系統(tǒng)。本設(shè)計(jì)選題為交通燈控制系統(tǒng)設(shè)計(jì)。二、設(shè)計(jì)方案:方案一:(1)明確系統(tǒng)的功能圖1-1所示為位于主干道與支干道的十字路口交通燈系統(tǒng),支干道兩邊是安裝傳感器S,要求優(yōu)先保證主干道的暢通。平時(shí)處于主干道綠燈、支干道紅燈的狀態(tài)。當(dāng)支干道有車時(shí),傳感器發(fā)出信號(hào)S=1,主干道綠燈先轉(zhuǎn)換成黃燈再轉(zhuǎn)換成紅燈,支干道由紅燈轉(zhuǎn)換為綠燈,支干道綠燈亮不超過(guò)30s,主干道每次通行不少于60s(在此期間,不管S是否有信號(hào),都不改狀態(tài))。(2)畫狀態(tài)轉(zhuǎn)換圖說(shuō)明:1)Tl:主干道綠燈亮的最短時(shí)間間隔,不少于60s;2)Ts:支干道綠燈亮的最長(zhǎng)時(shí)間間隔不多于30s。3)Ty:主干道或支干道黃燈亮的時(shí)間間隔為5s4)HR、HY、HG分別表示主干道紅黃綠燈;5)FR、FY、FG分別表示支干道紅黃綠燈。注:H表示Header,F(xiàn)表示Follower,R表示Red,Y表示Yellow,G表示Green交通燈控制單元控制過(guò)程分四個(gè)階段:分別用S0,S1,S2,S3表示:S0:主干道綠燈亮,支干道紅燈亮,此時(shí)若支干道有車等待,且主干道已亮足時(shí)間Tl,則控制器發(fā)出狀態(tài)轉(zhuǎn)換信號(hào),輸出從S0轉(zhuǎn)換到S1。S1:主干道黃燈亮,支干道紅燈亮,進(jìn)入此狀態(tài),黃燈亮足規(guī)定時(shí)間間隔Ty時(shí),控制器發(fā)出狀態(tài)轉(zhuǎn)換信號(hào)St,輸出從此狀態(tài)S1到S2。S2:支干道綠燈亮,主干道紅燈亮,若此時(shí)支干道繼續(xù)有車,則繼續(xù)保持此狀態(tài),但支干道綠燈亮?xí)r間不超過(guò)Ts時(shí)間間隔,否則控制單元發(fā)出狀態(tài)轉(zhuǎn)換信號(hào)St,使輸出轉(zhuǎn)換到S3狀態(tài)。S3:支干道黃燈亮,主干道紅燈亮,此時(shí)狀態(tài)與S1狀態(tài)持續(xù)時(shí)間間隔相同,均為Ty,時(shí)間到時(shí),控制器發(fā)出St信號(hào),輸出從狀態(tài)S3回到S0狀態(tài)。對(duì)四種狀態(tài)用格雷碼編碼分別為00,01,11,10。由此得圖1-2交通燈控制單元狀態(tài)圖。方案二:本方案相對(duì)上一個(gè)方案加入了人工監(jiān)督,且采用模塊化設(shè)計(jì)。(1)明確系統(tǒng)的功能,進(jìn)行邏輯抽象如圖2-1本方案可實(shí)現(xiàn)在確定時(shí)刻,倒計(jì)數(shù)數(shù)字顯示能夠及時(shí)變化,紅黃綠燈能準(zhǔn)確變化,考慮到實(shí)際應(yīng)用,加入人工監(jiān)督功能,當(dāng)固定開關(guān)SW=0時(shí),實(shí)現(xiàn)交警人為控制交通秩序,當(dāng)SW=1時(shí),為自動(dòng)控制模式,默認(rèn)為SW=1。本設(shè)計(jì)采用模塊化設(shè)計(jì),圖2-2為本設(shè)計(jì)十字路口交通等系統(tǒng)的層次結(jié)構(gòu)框圖。(2)模塊功能說(shuō)明1.主控制模塊control:控制系統(tǒng)輸入輸出之間聯(lián)系。2.倒計(jì)時(shí)模塊時(shí)間選擇模塊couterselect:選擇不同的倒計(jì)時(shí)時(shí)間。3.倒計(jì)時(shí)時(shí)間驅(qū)動(dòng)模塊scan:驅(qū)動(dòng)倒計(jì)時(shí)時(shí)間長(zhǎng)短選擇模塊電路。4.數(shù)碼管分時(shí)顯示模塊datamux,倒計(jì)時(shí)間分時(shí)送入用于顯示。5.倒計(jì)55s模塊counter55,55s為綠燈點(diǎn)亮?xí)r間。6.倒計(jì)5s模塊counter5,5s為黃燈點(diǎn)亮?xí)r間。7.頂層模塊trafficlight,連接各模塊設(shè)計(jì),使之成為一個(gè)有機(jī)體。前6個(gè)模塊分別進(jìn)行仿真測(cè)試,成功后把所有.v文件包含在工程trafficlight,實(shí)現(xiàn)模塊化設(shè)計(jì)。三、特殊要求(需要實(shí)驗(yàn)室提供的儀器設(shè)備、元器件與材料)PC機(jī),windows系統(tǒng),QuartusII4.0軟件,基于Cyclone型EP16Q240C8的實(shí)驗(yàn)箱。四、設(shè)計(jì)及仿真綜合兩個(gè)方案考慮,方案二比較實(shí)用,但因?yàn)榉桨敢蝗菀讓?shí)現(xiàn),所以一開始做了方案一的設(shè)計(jì),后來(lái)有時(shí)間,又完成了方案二。具體如下設(shè)計(jì)。方案一:(1)代碼見附錄1。(2)仿真結(jié)果及數(shù)據(jù)處理:分析說(shuō)明:全局復(fù)位R=1無(wú)效,進(jìn)入系統(tǒng)工作,先是主干道綠燈亮足60個(gè)時(shí)鐘周期,因S=1,支干道有車等待,轉(zhuǎn)入主干道黃燈亮5個(gè)時(shí)鐘周期,然后進(jìn)入支干道綠燈亮,30個(gè)時(shí)鐘周期內(nèi)支干道沒車等待,所以S=0時(shí)轉(zhuǎn)入主干道綠燈亮狀態(tài)。通過(guò)仿真,可以看出本設(shè)計(jì)的邏輯上時(shí)序上是正確的。圖1-3方案一設(shè)計(jì)Functional仿真圖1-3方案一設(shè)計(jì)Timing仿真圖1-3方案一設(shè)計(jì)RTL(3)下載測(cè)試編程下載與硬件測(cè)試的步驟如下:1、打開下載窗口。選擇菜單“Tool“項(xiàng)的”programmer“,便可打開下載窗口。2、設(shè)置下載電纜。將ByteBlaster電纜的一端與微機(jī)的并行口相連,另一端10針插頭與裝有目標(biāo)器件的PCB板上的插座相連。并在”HardwareSetup”中設(shè)置下載電纜。3、設(shè)置JTAG鏈。Altera器件基本都支持JTAG在系統(tǒng)編程方式,這種方式簡(jiǎn)單易行,不需要專門的編程器。4、(見附錄3)如圖1-4分配引腳,并編譯后,把生成*.sof文件下載到基于Cyclone型EP16Q240C8的FPGA實(shí)驗(yàn)箱開發(fā)板上,成功查看結(jié)果,CLK時(shí)鐘頻率用1Hz,可通過(guò)實(shí)驗(yàn)箱上“鍵3”控制Reset全局復(fù)位,用“鍵5”可模擬傳感器S圖1-4配置引腳方案二(1)代碼見附錄2。(2)各模塊RTL電路及功能仿真、時(shí)序仿真各模塊分別建立工程文件,并進(jìn)行功能仿真、時(shí)序仿真,前六個(gè)模塊成功編譯,得到正確仿真結(jié)果后,建立頂層模塊。模塊一:控制模塊(control.v)圖2-3控制模塊RTL圖2-4控制模塊control的Functional仿真圖2-5控制模塊control的Timing仿真2)模塊二:5s倒計(jì)時(shí)模塊(counter5.v)圖2-65s倒計(jì)時(shí)模塊RTLunctional仿真分析說(shuō)明:通過(guò)功能仿真,可以看出5s倒計(jì)時(shí)模塊不存在邏輯上錯(cuò)誤,可以通過(guò);通過(guò)時(shí)序仿真,可以看到結(jié)果存在毛刺,但是結(jié)合實(shí)際應(yīng)用,可以接受,所以通過(guò)這一模塊的設(shè)計(jì)。3)模塊三:55s倒計(jì)時(shí)模塊(counter55.v)圖2-955s倒計(jì)時(shí)unctional仿真分析說(shuō)明:通過(guò)功能仿真與時(shí)序仿真,可以看出55s倒計(jì)時(shí)模塊不存在邏輯、時(shí)序上錯(cuò)誤,所以通過(guò)這一模塊的設(shè)計(jì)。4)模塊四:倒計(jì)時(shí)選擇(couterselect.v)unctional仿真分析說(shuō)明:D_OUT1選擇高位輸出,用于選擇驅(qū)動(dòng)55秒倒計(jì)時(shí)計(jì)時(shí)器,分別在狀態(tài)輸入為“00”“10D_OUT0:時(shí)間低位輸出,用于選擇驅(qū)動(dòng)5秒倒計(jì)時(shí)計(jì)時(shí)器,分別在輸入為“01”“11通過(guò)功能仿真與時(shí)序仿真,可以看出倒計(jì)時(shí)選擇模塊不存在邏輯、時(shí)序上錯(cuò)誤(雖然時(shí)序仿真有毛刺顯現(xiàn),但是結(jié)合實(shí)際應(yīng)用,可以接受),所以通過(guò)這一模塊的設(shè)計(jì)。5)模塊五:數(shù)據(jù)選擇顯示(datamux.v)圖2-15數(shù)據(jù)選擇顯示RTLunctional仿真分析說(shuō)明:倒計(jì)時(shí)模塊主要完成的工作是:倒計(jì)時(shí)長(zhǎng)短時(shí)間選擇的功能,輸入信號(hào)來(lái)自兩個(gè)倒計(jì)時(shí)模塊counter55與counter5,當(dāng)?shù)褂?jì)數(shù)完成時(shí)產(chǎn)生一個(gè)脈沖用于驅(qū)動(dòng)此模塊產(chǎn)生00,01,10,11序列來(lái)驅(qū)動(dòng)倒計(jì)時(shí)時(shí)間模塊選擇。D_in1:高位驅(qū)動(dòng)信號(hào),來(lái)源于55秒計(jì)時(shí)到信號(hào),當(dāng)計(jì)數(shù)器計(jì)時(shí)完成后,產(chǎn)生這個(gè)信號(hào)驅(qū)動(dòng)狀態(tài)變化。D_in0:低位驅(qū)動(dòng)信號(hào),來(lái)源于5秒計(jì)時(shí)到信號(hào),當(dāng)計(jì)數(shù)器計(jì)時(shí)完成后,產(chǎn)生這個(gè)脈沖來(lái)驅(qū)動(dòng)狀態(tài)的變化。通過(guò)功能仿真與時(shí)序仿真,可以看出數(shù)據(jù)選擇顯示模塊不存在邏輯、時(shí)序上錯(cuò)誤(雖然時(shí)序仿真有毛刺顯現(xiàn),但是結(jié)合實(shí)際應(yīng)用,可以接受),所以通過(guò)這一模塊的設(shè)計(jì)。6)模塊六:時(shí)間選擇驅(qū)動(dòng)(scan.v)圖2-18時(shí)間選擇驅(qū)動(dòng)scan.v的RTLunctional仿真圖2-20分析說(shuō)明:此模塊用于驅(qū)動(dòng)倒計(jì)時(shí)時(shí)間長(zhǎng)短選擇。模塊七:頂層模塊(trafficlight.v)圖2-21方案二設(shè)計(jì)RTL圖2-22方案二設(shè)計(jì)的Functional仿真(SW=1,自動(dòng)控制模式)圖2-23方案二設(shè)計(jì)的Functional仿真(SW=0,人工監(jiān)督模式)圖2-24方案二設(shè)計(jì)的Timing仿真(SW=1,自動(dòng)控制模式)圖2-25方案二設(shè)計(jì)的Timing仿真(SW=0,人工控制模式)分析說(shuō)明:建立trafficlight項(xiàng)目,并設(shè)計(jì)頂層模塊trafficlight.v,成功編譯。通過(guò)功能仿真與時(shí)序仿真,可以看出本設(shè)計(jì)已經(jīng)成功完成。達(dá)到目標(biāo):實(shí)現(xiàn)在確定時(shí)刻,倒計(jì)數(shù)數(shù)字顯示能夠及時(shí)變化,紅黃綠燈能準(zhǔn)確變化,當(dāng)固定開關(guān)SW=0時(shí),實(shí)現(xiàn)交警人為控制交通秩序,當(dāng)SW=1時(shí),為自動(dòng)控制模式,默認(rèn)為SW=1。(3)下載測(cè)試編程下載與硬件測(cè)試的步驟如下:1、打開下載窗口。選擇菜單“Tool“項(xiàng)的”programmer“,便可打開下載窗口。2、設(shè)置下載電纜。將ByteBlaster電纜的一端與微機(jī)的并行口相連,另一端10針插頭與裝有目標(biāo)器件的PCB板上的插座相連。并在”HardwareSetup”中設(shè)置下載電纜。3、設(shè)置JTAG鏈。Altera器件基本都支持JTAG在系統(tǒng)編程方式,這種方式簡(jiǎn)單易行,不需要專門的編程器。(見附錄3),如圖2-26分配引腳,并編譯后,把生成*.sof文件下載到基于Cyclone型EP16Q240C8的FPGA實(shí)驗(yàn)箱開發(fā)板上,成功查看結(jié)果,CLK時(shí)鐘頻率用1Hz,可通過(guò)實(shí)驗(yàn)箱上“鍵7”控制Reset全局復(fù)位,用“鍵8”圖2-26五、設(shè)計(jì)總結(jié)經(jīng)過(guò)此次課程設(shè)計(jì),可以說(shuō)收獲良多,現(xiàn)總結(jié)為以下幾點(diǎn):1、熟悉掌握了Quartus這個(gè)軟件。雖然上課時(shí)候已經(jīng)看教師展示過(guò)這個(gè)軟件的用法,但是沒有親力親為始終對(duì)這個(gè)軟件的掌握是很不夠的。此次通過(guò)設(shè)計(jì)以上兩個(gè)方案,我對(duì)QuartusII這個(gè)軟件已經(jīng)掌握的比較好了。2、通過(guò)以上兩個(gè)方案的設(shè)計(jì),我對(duì)正規(guī)的設(shè)計(jì)流程已經(jīng)有了深刻的體會(huì),相信以后遇到這種設(shè)計(jì)可以自如地應(yīng)對(duì)了。3、通過(guò)設(shè)計(jì)代碼過(guò)程中遇到編譯錯(cuò)誤的問(wèn)題,經(jīng)過(guò)一次次的排錯(cuò),我對(duì)VerilogHDL描述語(yǔ)言的掌握得到一定的鍛煉。4、設(shè)計(jì)工程中,讓我感慨最多的是功能仿真與時(shí)序仿真,通過(guò)看仿真圖,理解系統(tǒng)運(yùn)行,優(yōu)化系統(tǒng),這是一個(gè)艱巨的任務(wù),也是一個(gè)最有意義的任務(wù)。因?yàn)檫@一步的工作,我們不僅要把原理理解透徹,而且要聯(lián)系FPGA試驗(yàn)箱開發(fā)板,所以對(duì)開發(fā)板的各種工作模式也要理解。5、由于試驗(yàn)箱有限,所以我是提前一天在實(shí)驗(yàn)室試驗(yàn)過(guò)程序的了。很多同學(xué)在答辯當(dāng)天才下載程序試驗(yàn),結(jié)果很多完成不了。下載到板上,也出現(xiàn)了一些問(wèn)題,如引腳接錯(cuò),選用模式不對(duì),還有就是實(shí)驗(yàn)箱壞了。通過(guò)認(rèn)真的思考,最終完成測(cè)試。附錄1本系統(tǒng)采用用硬件描述語(yǔ)言VerilogHDL描述。分為四部分,第一部分定義系統(tǒng)輸入輸出及所用寄存器。第二部分,控制單元狀態(tài)轉(zhuǎn)換的描述。第三部分,定時(shí)器工作的描述。第四部分,輸出譯碼電路的描述。moduleTraffic(CLK,S,RESET,HG,HY,HR,FG,FY,FR);//第一部分,定義輸入輸出端口,以及系統(tǒng)內(nèi)部信號(hào)變量及其類型inputCLK,S,RESET;outputHG,HY,HR,FG,FY,FR;regHG,HY,HR,FG,FY,FR;reg[3:0]TimerH,TimerL;wireT1,Ts,Ty;regSt;reg[1:0]CurrentState,NextState;//對(duì)狀態(tài)進(jìn)行編碼parameterS0=2'b00,S1=2'b01,S2=2'b11,S3=2'b10;//第二部分,控制單元狀態(tài)轉(zhuǎn)換的描述always@(posedgeCLKornegedgeRESET)beginif(~RESET)CurrentState<=S0;elseCurrentState<=NextState;endalways@(SorCurrentStateorT1orTsorTy)begincase(CurrentState)S0:beginNextState=(T1&&S)?S1:S0;St=(T1&&S)?1:0;endS1:beginNextState=(Ty)?S2:S1;St=(Ty)?1:0;endS2:beginNextState=(Ts||~S)?S3:S2;St=(Ts||~S)?1:0;endS3:beginNextState=(Ty)?S0:S3;St=(Ty)?1:0;endendcaseend//第三部分,定時(shí)器工作的描述always@(posedgeCLKornegedgeRESET)beginif(~RESET){TimerH,TimerL}<=8'b0;elseif(St){TimerH,TimerL}<=8'b0;elseif((TimerH==5)&(TimerL==9))begin{TimerH,TimerL}<={TimerH,TimerL};endelseif(TimerL==9)beginTimerH<=TimerH+1;TimerL<=8'b0;endelsebeginTimerH<=TimerH;TimerL<=TimerL+1;endendassignTy=(TimerH==0)&(TimerL==4);assignTs=(TimerH==2)&(TimerL==9);assignT1=(TimerH==5)&(TimerL==9);//第四部分,輸出譯碼電路的描述always@(CurrentState)begincase(CurrentState)S0:begin{HG,HY,HR}<=3'b100;//主干道綠燈亮{FG,FY,FR}<=3'b001;//支干道紅燈亮endS1:begin{HG,HY,HR}<=3'b010;//主干道黃燈亮{FG,FY,FR}<=3'b001;//支干道綠燈亮endS2:begin{HG,HY,HR}<=3'b001;//主干道紅燈亮{FG,FY,FR}<=3'b100;//支干道綠燈亮endS3:begin{HG,HY,HR}<=3'b001;//主干道紅燈亮{FG,FY,FR}<=3'b010;//支干道黃燈亮endendcaseendendmodule/**************************************程序結(jié)束***********************************************/附錄2模塊一:/********************************主控制模塊control.v******************************************/modulecontrol(EN_in,RST,SW1,Red1,Red2,Yellow1,Yellow2,Green1,Green2);//定義輸入輸出口outputRed1;outputRed2;outputYellow1;outputYellow2;outputGreen1;outputGreen2;input[1:0]EN_in;inputSW1;inputRST;//定義數(shù)據(jù)類型regRed1,Red2,Yellow1,Yellow2,Green1,Green2,D_out;always@(EN_in,RST,SW1)//always語(yǔ)句實(shí)現(xiàn)交通燈的總體工作控制begin//系統(tǒng)復(fù)位if(SW1==0||RST==0){Red1,Red2,Yellow1,Yellow2,Green1,Green2}=6'b0;else//系統(tǒng)自動(dòng)運(yùn)行begincase(EN_in)2'b00:{Red1,Red2,Yellow1,Yellow2,Green1,Green2}<=6'b010010;//方向1綠燈亮,方向2紅燈亮2'b01:{Red1,Red2,Yellow1,Yellow2,Green1,Green2}<=6'b011000;//方向1黃燈亮,方向2紅燈亮2'b10:{Red1,Red2,Yellow1,Yellow2,Green1,Green2}<=6'b100001;//方向1紅燈亮,方向2綠燈亮2'b11:{Red1,Red2,Yellow1,Yellow2,Green1,Green2}<=6'b100100;//方向1紅燈亮,方向2黃燈亮default:{Red1,Red2,Yellow1,Yellow2,Green1,Green2}<=6'b0;//方向1方向2等全滅endcaseendendendmodule模塊二:/*********************************5秒的倒計(jì)時(shí)模塊counter5.v***********************************/modulecounter05(C_CLK,RST,C_EN,D_OUT1,D_OUT0,C_OUT);//輸出輸入的定義outputC_OUT;output[3:0]D_OUT1,D_OUT0;inputC_CLK;inputRST;inputC_EN;//數(shù)據(jù)類型定義reg[3:0]D_OUT1,D_OUT0;regC_OUT;reg[3:0]CData1,CData0;reg[7:0]DATA;always@(posedgeC_CLK)//always語(yǔ)句塊實(shí)現(xiàn)5秒自動(dòng)循環(huán)倒計(jì)數(shù),用加計(jì)數(shù)器begin//系統(tǒng)復(fù)位或者未工作if(RST==0||C_EN==0)beginC_OUT<=1'b0;CData1<=4'b0000;CData0<=4'b0000;endelsebeginif(CData0!=4'b0101)beginCData0<=CData0+4'b0001;C_OUT<=1'b0;endelse//防止生成鎖相環(huán)beginCData1<=4'b0000;CData0<=4'b0000;C_OUT<=1'b1;endendendalways//加計(jì)數(shù)器的計(jì)數(shù)值到倒計(jì)時(shí)的數(shù)值轉(zhuǎn)換beginDATA<=8'b00000101-((CData1<<4)+CData0);D_OUT1<=4'b0000;if((DATA&4'b1111)>4'b0101)D_OUT0<=DATA&4'b1111-4'b1011;elseD_OUT0<=DATA&4'b1111;endendmodule/*********************************5秒的倒計(jì)時(shí)模塊counter5.v***********************************/模塊三:/********************************55秒的倒計(jì)時(shí)模塊counter55.v**********************************/modulecounter55(C_CLK,RST,C_EN,D_OUT1,D_OUT0,C_OUT);//輸出輸入的定義outputC_OUT;output[3:0]D_OUT1,D_OUT0;inputC_CLK,RST,C_EN;//數(shù)據(jù)類型定義reg[3:0]D_OUT1,D_OUT0;regC_OUT;reg[3:0]CData1,CData0;reg[7:0]DATA;always@(posedgeC_CLK)//always語(yǔ)句塊實(shí)現(xiàn)55秒自動(dòng)循環(huán)倒計(jì)數(shù),用加計(jì)數(shù)器begin//系統(tǒng)復(fù)位或者未工作if(RST==0||C_EN==0)beginC_OUT<=1'b0;CData1<=4'b0000;CData0<=4'b0000;end//加計(jì)數(shù)器elsebeginif(CData0==4'b0101&&CData1==4'b0101)beginCData1<=4'b0000;CData0<=4'b0000;C_OUT<=1'b1;endelseif(CData0!=4'b1001)beginCData0<=CData0+4'b0001;C_OUT<=1'b0;endelseif(CData0==4'b1001&&CData1!=4'b0101)beginCData1<=CData1+4'b0001;CData0<=4'b0000;C_OUT<=1'b0;endelse//防止生成鎖相環(huán)beginCData1<=4'b0000;CData0<=4'b0000;C_OUT<=1'b1;endendendalways//加計(jì)數(shù)器的計(jì)數(shù)值到倒計(jì)時(shí)的數(shù)值轉(zhuǎn)換beginDATA<=8'b01010101-((CData1<<4)+CData0);if(((DATA>>4)&4'b1111)>4'b0101)D_OUT1<=(DATA>>4)&4'b1111-4'b1111;elseD_OUT1<=(DATA>>4)&4'b1111;if((DATA&4'b1111)>4'b1001)D_OUT0<=DATA&4'b1111-4'b0110;elseD_OUT0<=DATA&4'b1111;endendmodule/********************************55秒的倒計(jì)時(shí)模塊counter55.v***********************************/模塊四:/******************************倒計(jì)時(shí)時(shí)間選擇模塊模塊couterselect.v******************************/modulecouterselect(D_IN,D_OUT1,D_OUT0);//輸入輸出端口定義outputD_OUT1;outputD_OUT0;input[1:0]D_IN;//數(shù)據(jù)類型定義regD_OUT1;regD_OUT0;alwaysbegincase(D_IN)2'b00:{D_OUT1,D_OUT0}<=2'b10;2'b01:{D_OUT1,D_OUT0}<=2'b01;2'b10:{D_OUT1,D_OUT0}<=2'b10;2'b11:{D_OUT1,D_OUT0}<=2'b00;default:{D_OUT1,D_OUT0}<=2'b00;endcaseendendmodule/******************************倒計(jì)時(shí)時(shí)間選擇模塊模塊couterselect.v******************************/模塊五:/*****************************倒計(jì)時(shí)時(shí)間選擇輸出顯示模塊datamux.v*****************************/moduledatamux(D_IN3,D_IN2,D_IN1,D_IN0,SEL,D_OUT1,D_OUT0);//輸入輸出端口定義output[3:0]D_OUT1;output[3:0]D_OUT0;input[3:0]D_IN3;input[3:0]D_IN2;input[3:0]D_IN1;input[3:0]D_IN0;input[1:0]SEL;//數(shù)據(jù)類型定義reg[3:0]D_OUT1;reg[3:0]D_OUT0;alwaysbegincase(SEL)2'b00:beginD_OUT0<=D_IN0;D_OUT1<=D_IN1;end2'b01:beginD_OUT0<=D_IN2;D_OUT1<=D_IN3;end2'b10:beginD_OUT0<=D_IN0;D_OUT1<=D_IN1;end2'b11:beginD_OUT0<=D_IN2;D_OUT1<=D_IN3;enddefault:beginD_OUT0<=4'b0000;D_OUT1<=4'b0000;endendcaseendendmodule/*****************************倒計(jì)時(shí)時(shí)間選擇輸出顯示模塊datamux.v*****************************/模塊六:/*******************************倒計(jì)時(shí)時(shí)間選擇驅(qū)動(dòng)模塊sc*******************************/modulescan(EN_in1,EN_in0,sdata);//輸入輸出端口定義output[1:0]sdata;inputEN_in1;inputEN_in0;//數(shù)據(jù)類型定義reg[1:0]sdata;wireEN_in;assignEN_in=EN_in1|EN_in0;always@(posedgeEN_in)beginsdata<=sdata+1'b1;endendmodule模塊七:/************************************頂層模塊trafficlight.v***********************************/moduletrafficlight(Reset,SW,CLK,Red1,Red2,Yellow1,Yellow2,Green1,Green2,D_OUT1,D_OUT0);//輸入輸出端口定義inputReset;inputSW;inputCLK;outputRed1;outputRed2;outputYellow1;outputYellow2;outputGreen1;outputGreen2;output[3:0]D_OUT1;output[3:0]D_OUT0;//數(shù)據(jù)類型定義reg[3:0]D_OUT1;reg[3:0]D_OUT0;wireSYNTHESIZED_WIRE_0;wireSYNTHESIZED_WIRE_1;wireSYNTHESIZED_WIRE_2;wireSYNTHESIZED_WIRE_3;wire[3:0]SYNTHESIZED_WIRE_4;wire[3:0]SYNTHESIZED_WIRE_5;wire[3:0]SYNTHESIZED_WIRE_6;wire[3:0]SYNTHESIZED_WIRE_7;wire[1:0]SYNTHESIZED_WIRE_8;//倒計(jì)時(shí)選擇驅(qū)動(dòng)scanU0(.EN_in1(SYNTHESIZED
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陳傳感器課程設(shè)計(jì)
- 2024版融資業(yè)務(wù)咨詢服務(wù)協(xié)議書
- 觀賞水禽課程設(shè)計(jì)思路
- 鍋爐原理課程設(shè)計(jì)題目
- 清單計(jì)價(jià)課程設(shè)計(jì)實(shí)例
- 課程設(shè)計(jì)用紙規(guī)范標(biāo)準(zhǔn)
- 2024知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同轉(zhuǎn)讓標(biāo)的與權(quán)益保障
- 軟件工程課程設(shè)計(jì)基于uml
- 2025年度智能財(cái)產(chǎn)分割離婚協(xié)議書4篇
- 2025年度場(chǎng)監(jiān)管合作協(xié)議(智慧社區(qū)建設(shè))4篇
- 保潔服務(wù)崗位檢查考核評(píng)分標(biāo)準(zhǔn)
- 稱量與天平培訓(xùn)試題及答案
- 超全的超濾與納濾概述、基本理論和應(yīng)用
- 2020年醫(yī)師定期考核試題與答案(公衛(wèi)專業(yè))
- 2022年中國(guó)育齡女性生殖健康研究報(bào)告
- 各種靜脈置管固定方法
- 消防報(bào)審驗(yàn)收程序及表格
- 教育金規(guī)劃ppt課件
- 呼吸機(jī)波形分析及臨床應(yīng)用
- 常用緊固件選用指南
- 私人借款協(xié)議書新編整理版示范文本
評(píng)論
0/150
提交評(píng)論