版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
西北工業(yè)大學(xué)《FPGA》實驗報告學(xué)院:軟件與微電子學(xué)院學(xué)號:2011303596姓名:楊清山專業(yè):微電子學(xué)實驗時間:2013/11/11實驗地點:毅字樓335指導(dǎo)教師:韓兵西北工業(yè)大學(xué)2013年11月大作業(yè)設(shè)計一個交通燈信號控制電路一、實驗?zāi)康募耙髮嶒災(zāi)康模和ㄟ^交通燈的設(shè)計與仿真綜合,體會復(fù)雜時序的實現(xiàn)方法,學(xué)會用框圖表示程序的設(shè)計思想,掌握中小規(guī)模集成電路的系統(tǒng)綜合設(shè)計方法。實驗要求:設(shè)計一個交通燈信號控制電路。具體要求為:輸入為50MHz的時鐘和復(fù)位信號,輸出為紅、綠、黃三個信號(高電平為亮)。復(fù)位信號(高電平)有效,紅、綠、黃燈滅;接著進(jìn)行如下循環(huán):綠燈亮1分鐘,黃燈閃爍10秒,紅燈亮1分鐘。在此基礎(chǔ)上再加兩個數(shù)碼管,對倒計時的數(shù)顯示。二、實驗設(shè)備(環(huán)境)及要求實驗EDA工具為:預(yù)裝了和的PC機(jī)。三、實驗內(nèi)容與步驟1.設(shè)計思路概述總體上分為三個大模塊,即:頂層模塊、分頻模塊、控制模塊、譯碼顯示模塊。作用如下:頂層及控制模塊:此模塊做例化,和控制,是本程序的主體,對底層的分頻模塊和譯碼顯示模塊進(jìn)行例化,并且做控制設(shè)計??刂圃O(shè)計如下:采用同步時序邏輯。包括一個循環(huán)計數(shù)器,三個比較器,always控制。通過分頻后的CLK1新號(1Hz),進(jìn)行對一個循環(huán)變量“k”的周期為130的循環(huán),進(jìn)而控制三個燈的控制;具體循環(huán)為:clk1每進(jìn)行一次跳變,k值減1;當(dāng)K=0時,重新復(fù)值為129。通過比較器,每個燈的條件不同,當(dāng)129>=k>=70時綠燈亮,69>=k>=60黃燈閃爍,59>=k>=0紅燈亮。對于數(shù)碼管輸出,當(dāng)129>=k>=70時,數(shù)碼管個位輸出=(k-70)%10,十位輸出為(k-70-個位)/10;當(dāng)69>=k>=60數(shù)碼管個位輸出=(k-60)%10,十位輸出為(k-60-個位)/10,當(dāng)59>=k>=0時,數(shù)碼管個位輸出=k%10十位輸出為(k-個位)/10。分頻模塊:分頻模塊用以把輸入的50MHz的信號轉(zhuǎn)換為1Hz信號,便于其后的交通燈控制及數(shù)碼管輸出。譯碼模塊:考慮到數(shù)字顯示需要兩個七段譯碼器,且在數(shù)字系統(tǒng)中,數(shù)字的表示都是采用二進(jìn)制,因為兩個管子分別輸入,所以需要把循環(huán)變量k轉(zhuǎn)換為有用的十位和各位輸出。為了方便,把循環(huán)變量k減去各狀態(tài)的基數(shù)值后,用數(shù)學(xué)方法取十位和各位分別做輸入。如綠燈時,129>=k>=70時,數(shù)碼管個位輸出=(k-70)%10,十位輸出為(k-70-個位)/10。七段譯碼器的設(shè)計原理如圖:設(shè)計框圖及說明:Clk50HzrstbluClk50Hzrstblu循環(huán)變量k129~0yel控制Clk1循環(huán)變量k129~0yel控制Clk11Hzredred圖一輸入:clk全局時鐘信號,50MHzrst全局復(fù)位端,高電平有效輸出:ctrl_1s倒計時個位上數(shù)字ctrl_10s倒計時十位上數(shù)字blu,yel,red各個燈狀態(tài)框圖說明:狀態(tài)機(jī)的輸入,只有時鐘信號clk和復(fù)位信號reset.輸出為數(shù)碼管十位和個位的二進(jìn)制顯示狀態(tài)以及三個燈的顏色顯示(blu,yel,red,分別是綠黃紅燈,“1”表示燈亮,“0”表示滅)。輸入clk的頻率很大,需要通過計數(shù)器對其進(jìn)行分頻。首先計數(shù)產(chǎn)生一個1Hz的輸出,通過該輸出再次循環(huán)計數(shù),產(chǎn)生周期為130的計數(shù)變量,從而控制各個燈的亮滅。而控制黃燈閃爍的分頻,為方便起見,仍以1s為單位,每秒鐘改變一次。用if嵌套語句來控制三燈亮與滅,同時間接地進(jìn)行倒計時的過程,輸出個位和十位上的數(shù),直接用兩個七段譯碼顯示倒計時數(shù)。Rst信號是清零用的,為“1”時,三個信號燈及循環(huán)變量k復(fù)位置“0”。流程圖開始開始輸入50MHz輸入50MHzclk1:1Hzclk1:1Hz循環(huán)變量k計數(shù)循環(huán)變量k計數(shù)70≤70≤k≤12960≤k60≤k≤69blu=1yel=~yelyel=~yelred=10≤red=10≤k≤59圖四顯示輸出顯示輸出3.時序說明:整段程序共有四個狀態(tài):初始狀態(tài)、綠燈狀態(tài)、黃燈狀態(tài)、紅燈狀態(tài)。如果有rst的“1”狀態(tài),則要進(jìn)行清零,恢復(fù)到初始狀態(tài);這是在控制模塊的計數(shù)器會清零,倒計時不再進(jìn)行,三個燈都是滅的狀態(tài),Rst為“1”狀態(tài)跳轉(zhuǎn)為初始狀態(tài)的,等待著清零結(jié)束,開始工作;此時七段譯碼也不會顯示。清零結(jié)束后,系統(tǒng)開始正常工作。首先是分頻時鐘開始工作,此時循環(huán)變量開始循環(huán),綠燈亮60s,譯碼器開始顯示倒計時的輸出,直到k=70。當(dāng)循環(huán)變量k<=69時,黃燈閃爍10s,同時譯碼倒計時,直到k=60;當(dāng)循環(huán)變量k<=59時,紅燈亮,同時譯碼倒計時直到k=0。至此一個周期已經(jīng)完成,沿此過程循環(huán)進(jìn)行,直到reset信號的出現(xiàn)。初始初始K=K-1K=K-1綠燈狀態(tài)綠燈狀態(tài)K≤69K≤69K<0使K=129K<0使K=129K=K-1黃燈狀態(tài)紅燈狀態(tài)K=K-1黃燈狀態(tài)紅燈狀態(tài)K=K-1KK=K-1K≤59圖二4.模塊設(shè)計框圖、相關(guān)時序本程序分為三個模塊,頂層模塊、控制模塊、譯碼模塊,各模塊的設(shè)計框圖以及相關(guān)時序說明如下:頂層及控制模塊框圖頂層控制頂層控制譯碼顯示塊分頻譯碼顯示塊分頻圖三輸入:clk全局時鐘信號,50MHzrst全局復(fù)位端,高電平有效輸出:led1個位七段譯碼led10十位七段譯碼時序說明:加上時鐘信號之后,首先用reset清零,然后分頻模塊會分頻產(chǎn)生分頻時鐘clk1,根據(jù)分頻時鐘的高與低,進(jìn)而進(jìn)行變量循環(huán),然后會控制3個狀態(tài)之間的跳轉(zhuǎn),譯碼顯示模塊會同步通過數(shù)碼管來顯示倒計時數(shù);燈控信號blu,yel,red同時輸出對交通燈的控制。分頻模塊:輸入50MHz的信號,rst為“1”時,計數(shù)器j置“0”,并在以后每經(jīng)歷一個系統(tǒng)時鐘周期時加1,知道k=49999999時,clk1=~clk1,同時k=0.到此分頻完成。(在實際代碼編寫中,為了代碼的精簡,此模塊已經(jīng)集成入頂層及控制模塊)J=49999999J=49999999計數(shù)器顯示計數(shù)clk50MHz計數(shù)器顯示計數(shù)clk50MHzclk=~clkrstclk=~clkrst圖四譯碼顯示模塊:輸入端口:din_1s顯示器個位數(shù)據(jù),由控制模塊輸入din_10s顯示器十位數(shù)據(jù),由控制模塊輸入輸出端口:led_data_1s顯示器個位數(shù)據(jù)的譯碼led_data_10s顯示器十位數(shù)據(jù)的譯碼時序說明:此模塊接受主模塊輸出的個位和十位的數(shù)值控制,并間接受(系統(tǒng)時鐘)clk(50MHz)和(全局復(fù)位)rst,及分頻時鐘clk1的控制,均為上升沿觸發(fā),當(dāng)rst為高電平時,電路復(fù)位,重新開始工作。當(dāng)rst為低電平時,電路正常。表1仿真結(jié)果信號解釋說明信號解釋備注clk系統(tǒng)時鐘,50MHz為了方便,這里取2nsblu,yel,red最終三燈狀態(tài)分別綠紅燈,“1”為亮“0”為滅k循環(huán)計數(shù)變量用以狀態(tài)判斷控制led10倒計時十位七段譯碼數(shù)碼管十位顯示led1倒計時個位七段譯碼數(shù)碼管個位顯示out1倒計時個位上的數(shù)字控制模塊的輸出out10倒計時十位上的數(shù)字控制模塊的輸出rst系統(tǒng)控制變量高電平有效上圖中blu,yel,red,三個信號反映的綠黃紅交通燈的狀態(tài),其中包括綠燈亮60秒,黃燈以2HZ為周期閃爍,紅燈亮60s,總周期為130s。上圖為循環(huán)控制變量的值隨分頻后信號從129到0的循環(huán)計數(shù)。綜合結(jié)果:頂層及控制,分頻模塊的綜合RTL級電路如圖:譯碼顯示模塊的綜合如下:RTL級門級代碼及注釋此為頂層及控制模塊代碼:`include"./decode.v"modulebulb(clk,rst,red,blu,yel,led1,led10);inputclk,rst;outputblu,yel,red,led1,led10;regred,yel,blu;wire[6:0]led1; wire[6:0]led10;reg[3:0]out10,out1;reg[5:0]j;reg[7:0]k;//j,kregclk1;//initialbegin k='d129; blu<=0; yel<=0; red<=0; //j=0; //clk1<=0;end//******************************************//這是分頻部分功能實現(xiàn)//**************??**************************always@(posedgeclkorposedgerst)begin if(rst) begin clk1<=0; j<=0; end else if(j==4)// begin j<=0; clk1<=~clk1; end else begin j<=j+1; endendalways@(posedgeclk1) begin if(k=='d0)k='d129; elsek=k-1; end //****************************************************//此為控制部分//**************??**************************always@(posedgeclk1)if(!rst)//??res???1???????begin if(k>='d70&&k<='d129) begin red<=0; blu<=1; out1=(k-70)%10; out10=(k-70-out1)/10; end elseif(k>='d60&&k<='d69) begin yel<=~yel;//黃燈閃爍 blu<=0; out1=(k-60)%10; out10=(k-60-out1)/10; end else red<=1; //yel<=0; out1=k%10; out10=(k-out1)/10;endelse begin blu<=0; yel<=0; red<=0;enddecoded(.din_1s(out1),.din_10s(out10),.led_data_1s(led1),.led_data_10s(led10));Endmodule以下是譯碼及顯示模塊代碼:moduledecode( din_1s,//個位輸入 din_10s,//十位輸入 led_data_1s,//數(shù)碼管個位輸出 led_data_10s//數(shù)碼管十位輸出 );inputdin_1s;inputdin_10s;output[6:0]led_data_1s;output[6:0]led_data_10s;reg[6:0]led_data_1s;reg[6:0]led_data_10s; always@(din_1s)begincase(din_1s)0:led_data_1s=7'b0001000;1:led_data_1s=7'b1101101;2:led_data_1s=7'b0100010;3:led_data_1s=7'b0100100;4:led_data_1s=7'b1000101;5:led_data_1s=7'b0010100;6:led_data_1s=7'b0010000;7:led_data_1s=7'b0101101;8:led_data_1s=7'b0000000;9:led_data_1s=7'b0000100;default:led_data_1s=7'b1111111;endcaseendalways@(din_10s)begincase(din_10s)0:led_data_10s=7'b0001000;1:led_data_10s=7'b1101101;2:led_data_10s=7'b0100010;3:led_data_10s=7'b0100100;4:led_data_10s=7'b1000101;5:led_data_10s=7'b0010100;6:led_data_10s=7'b0010000;7:led_data_10s=7'b0101101;8:led_data_10s=7'b0000000;9:led_data_10s=7'b0000100;default:led_data_10s=7'b111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年蕪湖辦理客運從業(yè)資格證版試題
- 2024年山西客運駕駛員考試試卷及答案詳解
- 2024年哈爾濱客運資格證考試題庫答案
- 2024年廣東客運從業(yè)資格證
- 人教部編版二年級語文上冊第7課《媽媽睡了》精美課件
- 吉首大學(xué)《功能材料》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉首大學(xué)《散打格斗運動5》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉林藝術(shù)學(xué)院《素描實訓(xùn)II》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年供應(yīng)貨品合作合同范本
- 吉林師范大學(xué)《中小學(xué)書法課程與教學(xué)論》2021-2022學(xué)年第一學(xué)期期末試卷
- 平面直角坐標(biāo)系(單元教學(xué)設(shè)計)大單元教學(xué)人教版七年級數(shù)學(xué)下冊
- 江蘇省泰州市海陵區(qū)2023-2024學(xué)年七年級上學(xué)期期中語文試卷
- 培養(yǎng)小學(xué)生的邏輯思維能力
- 駕駛員技能比武方案
- 赫茲伯格雙因素理論(正式版)課件
- 合同的權(quán)益和權(quán)力轉(zhuǎn)移
- 建設(shè)工程報建流程表課件
- 院感病例(講稿)
- 蔬菜出口基地備案管理課件
- 高考英語單詞3500記憶短文40篇
- 北京市商業(yè)地產(chǎn)市場細(xì)分研究
評論
0/150
提交評論