版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2020/8/21,1,計算機EDA設(shè)計實驗教程,實驗五 交通紅綠燈控制器,北航計算機學(xué)院 艾明晶,2020/8/21,2,內(nèi)容概要,實驗?zāi)康?實驗要求 實驗原理 實驗方案 實驗內(nèi)容 實驗報告,2020/8/21,3,了解交通紅綠燈控制器的工作原理。 掌握建立狀態(tài)機的邏輯模型的方法。 掌握狀態(tài)機的實現(xiàn)和多個狀態(tài)機的組合使用方法,實驗?zāi)康?2020/8/21,4,假定十字路口馬路的A方向和B方向各有一組紅、黃、綠三個燈組成的交通燈,要求設(shè)計一個交通紅綠燈控制器,實現(xiàn)對這兩組交通燈的管理。正常時,交替放行十字交叉路的兩個方向,放行時間相等;交通堵塞時,由交通警察人工控制某方向的放行時間,以便按照交
2、通負(fù)荷疏導(dǎo)阻塞車輛。 具體功能要求如下 :,實驗要求,2020/8/21,5,在正常運行狀態(tài)下,兩組交通燈按以下規(guī)律自動進(jìn)行轉(zhuǎn)換,在不同時刻分別放行不同方向上的車輛: (綠,紅)50s(黃綠,紅)5s(黃,紅)20s(紅黃,紅)20s(紅,黃)10s (紅,綠)50s(紅,黃綠)5s(紅,黃)20s(紅,紅黃)20s(黃,紅)10s (綠,紅)50s,2020/8/21,6,人工放行:若某一方向發(fā)生交通阻塞,則交通警察按下該方向的放行按鈕來人工控制放行該方向,則紅綠燈自動將相應(yīng)方向的道路放行,此后不會自動放行另一個方向的道路,直到疏通后,按“恢復(fù)到正常狀態(tài)”按鈕,重新進(jìn)入正常運行狀態(tài)。 如果某
3、方向處于人工放行的狀態(tài),應(yīng)有指示燈指示這一情況。,2020/8/21,7,人工控制放行遵循如下限制規(guī)則: 有黃燈亮?xí)r,不允許立刻改變放行方向,必須按正常運行到所需放行的方向時,才保持放行該方向; 每個方向的放行時間不得小于某一最小值(假定為30秒鐘),以免車輛頻繁起停。 只有在(綠,紅)20s和(紅,綠)20s狀態(tài)下,可以人工控制改變放行方向,即直接跳轉(zhuǎn)到下一狀態(tài)。,2020/8/21,8,基于狀態(tài)機的設(shè)計 有限狀態(tài)機 有限狀態(tài)機(FSM,F(xiàn)inite State machine)是時序電路設(shè)計中經(jīng)常采用的一種方式,尤其適合于設(shè)計數(shù)字系統(tǒng)的控制模塊。在Verilog HDL中采用case、if
4、-else語句可以很好地描述基于狀態(tài)機的設(shè)計。 狀態(tài)機包括組合邏輯部分和寄存器部分。組合邏輯部分又包括次態(tài)邏輯和輸出邏輯,分別用于狀態(tài)譯碼和產(chǎn)生輸出信號;寄存器部分用于存儲狀態(tài)。,實驗原理,2020/8/21,9,狀態(tài)機的次態(tài)是現(xiàn)態(tài)及輸入信號的函數(shù),輸出信號根據(jù)狀態(tài)機的現(xiàn)態(tài)或輸入信號而定。 狀態(tài)機可分為兩類:摩爾(Moore)型狀態(tài)機和米里(Mealy)型狀態(tài)機。Moore型狀態(tài)機,其輸出只為狀態(tài)機當(dāng)前狀態(tài)的函數(shù),而與輸入無關(guān)。Mealy型狀態(tài)機,其輸出不僅與狀態(tài)機當(dāng)前狀態(tài)有關(guān),而且與輸入有關(guān)。,2020/8/21,10,2020/8/21,11,狀態(tài)機的3種表示方法 狀態(tài)圖、狀態(tài)表和流程圖,
5、Mealy型狀態(tài)圖的表示,Moore型狀態(tài)圖的表示,2020/8/21,12,起始狀態(tài)的選擇 起始狀態(tài)指電路復(fù)位后所處的狀態(tài),選擇一個合理的起始狀態(tài)將使整個系統(tǒng)簡捷高效。對于有限狀態(tài)機,必須有時鐘信號和復(fù)位信號! 狀態(tài)編碼 采用log2N個觸發(fā)器來表示這N個狀態(tài) 采用N個觸發(fā)器來表示這N個狀態(tài)稱為一位熱碼狀態(tài)機編碼(One-Hot State Machine Encoding)。,2020/8/21,13,采用Verilog HDL語言實現(xiàn)基于狀態(tài)機的設(shè)計,就是在時鐘信號的觸發(fā)下,完成兩項任務(wù): (1)用case或if-else語句描述出狀態(tài)的轉(zhuǎn)移; (2)描述狀態(tài)機的輸出信號。,2020/8
6、/21,14,輸入信號和輸出信號 輸入信號 clk:時鐘信號(fclk = 50MHz); f1:人工放行A方向的控制信號(由“放行A”按鈕產(chǎn)生,高有效); f2:人工放行B方向的控制信號(由“放行B”按鈕產(chǎn)生,高有效); reset:復(fù)位信號(由“恢復(fù)到正常狀態(tài)”按鈕產(chǎn)生,高有效)。,2020/8/21,15,輸出信號 f1s、f2s:人工控制時A方向、B方向的放行狀態(tài),驅(qū)動LED,高電平時點亮; s12.0、s22.0:交通燈信號輸出,分別用于控制A方向和B方向的紅、黃、綠燈的亮或滅,驅(qū)動LED,高電平時點亮。,2020/8/21,16,設(shè)計思路 根據(jù)其功能要求(如正常運行狀態(tài)下的交通燈自
7、動轉(zhuǎn)換規(guī)律,人工放行功能及限制規(guī)則),確定其輸出信號,以便控制兩組交通燈的亮或滅,并在交通崗內(nèi)向交通警察顯示人工放行的狀態(tài)。 該控制器的邏輯模型可分為三個部分:工作狀態(tài)控制器、操作規(guī)則實現(xiàn)電路以及紅綠燈信號生成器。,2020/8/21,17,(1)工作狀態(tài)控制器 功能:根據(jù)輸入信號(f1、f2和reset)確定系統(tǒng)當(dāng)前的工作狀態(tài)是為“正常運行”狀態(tài)或“A一直放行”或“B一直放行”狀態(tài)。 工作狀態(tài)控制器是一個簡單的具有三狀態(tài)(normal,fr1,fr2)的有限狀態(tài)機。其輸入分別為人工放行A方向的控制信號f1、人工放行B方向的控制信號f2及復(fù)位信號reset(均為高有效),其輸出為人工控制時A方
8、向、B方向的放行狀態(tài) .,預(yù)習(xí)時請畫出其狀態(tài)轉(zhuǎn)移圖。 想一想,工作狀態(tài)控制器為Mealy型狀態(tài)機還是Moore型狀態(tài)機,為什么?,2020/8/21,18,(2)操作規(guī)則實現(xiàn)電路 功能:根據(jù)交通紅綠燈控制器的功能要求,確定不同工作狀態(tài)下計時器的計數(shù)值??捎?位計數(shù)器來實現(xiàn)定時計數(shù)。 正常運行時,計數(shù)器按照規(guī)定的定時要求加1計數(shù);若要人工放行某方向,只要使計時器運行到該放行狀態(tài)的最后一刻時,計時器保持此時的計數(shù)值,使紅綠燈信號生成器暫停狀態(tài)的轉(zhuǎn)移即可。,2020/8/21,19,設(shè)計技巧:將放行某方向的整個時間(50s)分為兩段,前30s為正常運行狀態(tài)下的最小放行時間,計時器正常計數(shù);后20s為
9、允許人工放行時間,可根據(jù)工作狀態(tài)控制器的狀態(tài)機(f1s和f2s)進(jìn)行判斷,是否欲人工放行另一方向,或是繼續(xù)放行原方向,或是正常運行,然后根據(jù)判斷結(jié)果來確定計時器的計數(shù)值。,限制規(guī)則示意圖,2020/8/21,20,(3)紅綠燈信號生成器 功能:根據(jù)定時計數(shù)器的計數(shù)值來確定紅綠燈信號的輸出。 這是一個簡單的狀態(tài)機,共有10個不同狀態(tài),有6個輸出,為s12.0和s22.0,分別用于控制A、B兩個方向的紅、黃、綠燈的亮或滅。 可以對照圖5-1“正常運行狀態(tài)下兩組交通燈自動轉(zhuǎn)換規(guī)律”,根據(jù)計時器的計數(shù)值來確定紅綠燈信號生成器的輸出。注意計時器的一個工作循環(huán)為一個正常的紅綠燈工作周期,即210秒。,預(yù)習(xí)
10、時請畫出其狀態(tài)轉(zhuǎn)移圖。,2020/8/21,21,設(shè)計方案的選擇 圖文混合設(shè)計方法:先將電路劃分為幾個子模塊,每個子模塊由Verilog HDL語言描述實現(xiàn),然后生成邏輯符號,頂層文件采用圖形文件來實現(xiàn)。 純文本描述方法:每個子模塊和頂層電路的連接關(guān)系都采用Verilog HDL語言描述實現(xiàn),對子模塊的調(diào)用采用模塊元件例化的方法。,2020/8/21,22,實驗方案,方案一 1. 設(shè)計思路 根據(jù)控制器的邏輯模型,將整個電路分為3個子模塊,即工作狀態(tài)控制器state_ctrl.v、操作規(guī)則實現(xiàn)電路rule.v和紅綠燈信號生成器sig_gen.v,它們均采用Verilog HDL語言實現(xiàn)。然后形成
11、頂層圖形設(shè)計文件trgl_top.bdf。,2020/8/21,23,工作狀態(tài)控制器state_ctrl.v,2020/8/21,24,操作規(guī)則實現(xiàn)電路rule.v,2020/8/21,25,紅綠燈信號生成器sig_gen.v,2020/8/21,26,頂層圖形設(shè)計文件trgl_top.bdf,2020/8/21,27,2. 對trgl_top.bdf進(jìn)行時序仿真。 3. 創(chuàng)建下載用頂層文件 將trgl_top.bdf另起名保存(如trgl_top_p.bdf),并在其時鐘輸入引腳后增加時鐘分頻模塊clkdiv_50MHz_to_1Hz,將輸入時鐘fclk = 50MHz分頻為f = 1Hz,
12、即T =1s。 編譯,引腳鎖定。,2020/8/21,28,編程下載文件trgl_top_p.bdf,2020/8/21,29,方案二 1. 設(shè)計思路 將控制器的三部分電路有機地結(jié)合到一起,用一個文件采用Verilog HDL語言實現(xiàn),文件名為trgl2.v。其中用到了兩個reg型中間變量: (1)state:工作狀態(tài)控制狀態(tài)機,具有3個狀態(tài)(normal, fr1, fr2)。 (2)8位寄存器cnt7.0:用于紅綠燈信號生成器的定時計數(shù)。 采用3個always模塊來實現(xiàn)這三部分電路(實際上就是將方案一中的3個子模塊的Verilog HDL描述放到一個文本文件中)。,2020/8/21,30
13、,2. 在Quartus中進(jìn)行時序仿真 3. 設(shè)計下載用頂層文件,編程下載 采用Verilog HDL語言設(shè)計頂層文件 引腳鎖定,編程下載 .,2020/8/21,31,分別畫出工作狀態(tài)控制器和紅綠燈信號生成器的狀態(tài)轉(zhuǎn)移圖,操作規(guī)則實現(xiàn)電路的程序流程圖 采用方案一或方案二(有余力的同學(xué)也可以兩種方案都采用),按實驗要求給出的功能要求設(shè)計交通紅綠燈控制器。,實驗內(nèi)容,2020/8/21,32,仿真 使輸入信號均無效,仿真至少一個循環(huán)周期的正常運行狀態(tài)。觀察狀態(tài)機state1.0以及輸出信號f1s、f2s、s12.0和s22.0的變化。將仿真結(jié)果保存為trgl_top(normal).vwf。 正
14、常運行時的仿真參考波形一:,2020/8/21,33,正常運行時的仿真參考波形二(210秒為一周期):,2020/8/21,34,在不同的時段給定不同的輸入信號,在每種情況下觀察狀態(tài)機state1.0以及輸出信號f1s、f2s、s12.0和s22.0的變化.,2020/8/21,35,設(shè)計下載用頂層文件 仿真完全正確后,在原設(shè)計基礎(chǔ)上增加時鐘分頻模塊,將輸入時鐘fclk = 50MHz分頻為f = 1Hz,即T = 1s,形成下載用頂層文件(可以為圖形設(shè)計文件或.v文本設(shè)計文件)。對下載用頂層文件進(jìn)行全編譯。,2020/8/21,36,引腳鎖定 本實驗采用模式3所有按鍵為琴鍵式按鍵,即當(dāng)按下鍵
15、時,輸出為高電平;當(dāng)松開鍵時,輸出為低電平。可通過按下鍵的時間的長短來控制正脈沖的寬度。 clk:系統(tǒng)時鐘信號,50MHz,接FPGA引腳Pin28。注意應(yīng)將下圖中的J6插到Clock0的位置,并將實驗箱右下角“時鐘頻率選擇”區(qū)域Clock0的時鐘選擇跳線接到50MHz的位置。,2020/8/21,37,編程下載 利用GW48-SOPC+開發(fā)系統(tǒng)實現(xiàn)設(shè)計的編程下載。編程器件為EP1C12Q240C8。使用開發(fā)系統(tǒng)上的晶振提供的全局時鐘信號(fclk = 50MHz)(Pin28),用琴鍵式按鈕開關(guān)鍵1、鍵2和鍵3(均為高有效)實現(xiàn)人工控制放行A方向和B方向、復(fù)位功能,用8個發(fā)光二極管(高有效)
16、D1D8,分別顯示輸出信號s12.0、s22.0、f1s和f2s。,2020/8/21,38,在線校驗 下載后,仔細(xì)觀察:紅綠燈應(yīng)按設(shè)定的時間規(guī)律自動切換,D1D8八個LED分別對應(yīng)的是:A方向的紅黃綠,B方向的紅黃綠,A方向的放行狀態(tài),B方向的放行狀態(tài)。 然后按下鍵1,表示欲人工放行A方向,則相應(yīng)LED有顯示;同時兩個方向的紅綠燈按正常運行規(guī)律自動切換,當(dāng)運行到放行A方向時,則保持放行該方向。 再按下鍵2,表示欲人工放行B方向,則相應(yīng)LED有顯示;同時兩個方向的紅綠燈按正常運行規(guī)律自動切換,當(dāng)運行到放行B方向時,則保持放行該方向。 再按下鍵3,表示清除人工方向的控制,則交通燈開始自動轉(zhuǎn)換紅黃綠燈的狀態(tài)。,2020/8/21,39,給出紅綠燈信號生成器和工作狀態(tài)控制器的狀態(tài)轉(zhuǎn)移圖,以及操作規(guī)則實現(xiàn)電路的程序流程圖。 給出控制器邏輯模型的仿真波形的截圖,并根據(jù)仿真結(jié)果詳細(xì)分析交
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南醫(yī)學(xué)院《英語閱讀與思辨》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級語文上冊第二單元6散步教案新人教版
- 七年級道德與法治上冊第四單元生命的思考第八課探問生命第1課時誤區(qū)警示新人教版
- 三年級數(shù)學(xué)上冊7長方形和正方形第3課時周長導(dǎo)學(xué)案新人教版
- 三年級數(shù)學(xué)上冊第2單元兩三位數(shù)乘一位數(shù)2.8解決問題課時練冀教版
- 慢性胃炎培訓(xùn)課件
- 《先芥蒂與麻醉》課件
- 人教版八年級物理下冊全冊教案
- 函數(shù)的圖象課件
- 涂料調(diào)色完整版本
- 《電化學(xué)儲能系統(tǒng)艙大件運輸特殊要求》
- 2025年采購部工作計劃
- 期末檢測卷(一)(試卷)-2024-2025學(xué)年外研版(三起)英語六年級上冊(含答案含聽力原文無音頻)
- 《防范于心反詐于行》中小學(xué)防范電信網(wǎng)絡(luò)詐騙知識宣傳課件
- 2023-2024學(xué)年北京市通州區(qū)九年級(上)期末語文試卷
- 2023-2024學(xué)年廣東省深圳市龍崗區(qū)八年級(上)期末英語試卷
- DB23-T 3768-2024北方種鵝節(jié)水生態(tài)旱養(yǎng)管理技術(shù)規(guī)程
- 勘察工作質(zhì)量及保證措施
- 事業(yè)單位招聘《綜合基礎(chǔ)知識》考試試題及答案
- 2024年電工(高級技師)考前必刷必練題庫500題(含真題、必會題)
- 墊江縣中醫(yī)院2018年11月份臨床技能中心教學(xué)設(shè)備招標(biāo)項目招標(biāo)文件
評論
0/150
提交評論