EDA實(shí)驗(yàn)教程-紅綠燈ppt課件_第1頁
EDA實(shí)驗(yàn)教程-紅綠燈ppt課件_第2頁
EDA實(shí)驗(yàn)教程-紅綠燈ppt課件_第3頁
EDA實(shí)驗(yàn)教程-紅綠燈ppt課件_第4頁
EDA實(shí)驗(yàn)教程-紅綠燈ppt課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)計(jì)算機(jī)EDA設(shè)計(jì)設(shè)計(jì)實(shí)驗(yàn)教程實(shí)驗(yàn)教程實(shí)驗(yàn)五實(shí)驗(yàn)五 交通紅綠燈控制器交通紅綠燈控制器北航計(jì)算機(jī)學(xué)院北航計(jì)算機(jī)學(xué)院 艾明晶艾明晶內(nèi)容概要v實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康膙實(shí)驗(yàn)要求實(shí)驗(yàn)要求v實(shí)驗(yàn)原理實(shí)驗(yàn)原理v實(shí)驗(yàn)方案實(shí)驗(yàn)方案v實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容 v實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告n了解交通紅綠燈控制器的工作原理。了解交通紅綠燈控制器的工作原理。n掌握建立狀態(tài)機(jī)的邏輯模型的方法。掌握建立狀態(tài)機(jī)的邏輯模型的方法。n掌握狀態(tài)機(jī)的實(shí)現(xiàn)和多個(gè)狀態(tài)機(jī)的組合使掌握狀態(tài)機(jī)的實(shí)現(xiàn)和多個(gè)狀態(tài)機(jī)的組合使用方法用方法 實(shí)驗(yàn)?zāi)康?假定十字路口馬路的假定十字路口馬路的A方向和方向和B方向各有一方向各有一組紅、黃、綠三個(gè)燈組成的交通燈,要求組紅、黃、綠三

2、個(gè)燈組成的交通燈,要求設(shè)計(jì)一個(gè)交通紅綠燈控制器,實(shí)現(xiàn)對(duì)這兩設(shè)計(jì)一個(gè)交通紅綠燈控制器,實(shí)現(xiàn)對(duì)這兩組交通燈的管理。正常時(shí),交替放行十字組交通燈的管理。正常時(shí),交替放行十字交叉路的兩個(gè)方向,放行時(shí)間相等;交通交叉路的兩個(gè)方向,放行時(shí)間相等;交通堵塞時(shí),由交通警察人工控制某方向的放堵塞時(shí),由交通警察人工控制某方向的放行時(shí)間,以便按照交通負(fù)荷疏導(dǎo)阻塞車輛。行時(shí)間,以便按照交通負(fù)荷疏導(dǎo)阻塞車輛。 具體功能要求如下具體功能要求如下 :實(shí)驗(yàn)要求在正常運(yùn)行狀態(tài)下,兩組交通燈按以下規(guī)律自動(dòng)進(jìn)在正常運(yùn)行狀態(tài)下,兩組交通燈按以下規(guī)律自動(dòng)進(jìn)行轉(zhuǎn)換,在不同時(shí)刻分別放行不同方向上的車輛:行轉(zhuǎn)換,在不同時(shí)刻分別放行不同方向上

3、的車輛:(綠,紅(綠,紅50s(黃綠,紅(黃綠,紅5s(黃,紅(黃,紅20s(紅黃,紅(紅黃,紅20s(紅,黃(紅,黃10s(紅,綠(紅,綠50s(紅,黃綠(紅,黃綠5s(紅,(紅,黃黃20s(紅,紅黃(紅,紅黃20s(黃,紅(黃,紅10s(綠,紅(綠,紅50s 人工放行:若某一方向發(fā)生交通阻塞,則交通人工放行:若某一方向發(fā)生交通阻塞,則交通警察按下該方向的放行按鈕來人工控制放行該警察按下該方向的放行按鈕來人工控制放行該方向,則紅綠燈自動(dòng)將相應(yīng)方向的道路放行,方向,則紅綠燈自動(dòng)將相應(yīng)方向的道路放行,此后不會(huì)自動(dòng)放行另一個(gè)方向的道路,直到疏此后不會(huì)自動(dòng)放行另一個(gè)方向的道路,直到疏通后,按通后,按

4、“恢復(fù)到正常狀態(tài)恢復(fù)到正常狀態(tài)按鈕,重新進(jìn)入按鈕,重新進(jìn)入正常運(yùn)行狀態(tài)。正常運(yùn)行狀態(tài)。如果某方向處于人工放行的狀態(tài),應(yīng)有指示燈如果某方向處于人工放行的狀態(tài),應(yīng)有指示燈指示這一情況。指示這一情況。v人工控制放行遵循如下限制規(guī)則:人工控制放行遵循如下限制規(guī)則:v有黃燈亮?xí)r,不允許立刻改變放行方向,有黃燈亮?xí)r,不允許立刻改變放行方向,必須按正常運(yùn)行到所需放行的方向時(shí),才必須按正常運(yùn)行到所需放行的方向時(shí),才保持放行該方向;保持放行該方向;v每個(gè)方向的放行時(shí)間不得小于某一最小值每個(gè)方向的放行時(shí)間不得小于某一最小值假定為假定為30秒鐘),以免車輛頻繁起停。秒鐘),以免車輛頻繁起停。v只有在綠,紅只有在綠,

5、紅20s和紅,綠和紅,綠20s狀態(tài)下,可以人工控制改變放行方向,即狀態(tài)下,可以人工控制改變放行方向,即直接跳轉(zhuǎn)到下一狀態(tài)。直接跳轉(zhuǎn)到下一狀態(tài)。n基于狀態(tài)機(jī)的設(shè)計(jì)基于狀態(tài)機(jī)的設(shè)計(jì)n有限狀態(tài)機(jī)有限狀態(tài)機(jī) n有限狀態(tài)機(jī)有限狀態(tài)機(jī)FSM,F(xiàn)inite State machine是時(shí)序電路設(shè)計(jì)中經(jīng)常采用的是時(shí)序電路設(shè)計(jì)中經(jīng)常采用的一種方式,尤其適合于設(shè)計(jì)數(shù)字系統(tǒng)的控制一種方式,尤其適合于設(shè)計(jì)數(shù)字系統(tǒng)的控制模塊。在模塊。在Verilog HDL中采用中采用case、if-else語句可以很好地描述基于狀態(tài)機(jī)的設(shè)計(jì)。語句可以很好地描述基于狀態(tài)機(jī)的設(shè)計(jì)。 n狀態(tài)機(jī)包括組合邏輯部分和寄存器部分。組狀態(tài)機(jī)包括組合

6、邏輯部分和寄存器部分。組合邏輯部分又包括次態(tài)邏輯和輸出邏輯,分合邏輯部分又包括次態(tài)邏輯和輸出邏輯,分別用于狀態(tài)譯碼和產(chǎn)生輸出信號(hào);寄存器部別用于狀態(tài)譯碼和產(chǎn)生輸出信號(hào);寄存器部分用于存儲(chǔ)狀態(tài)。分用于存儲(chǔ)狀態(tài)。實(shí)驗(yàn)原理 狀態(tài)機(jī)的次態(tài)是現(xiàn)態(tài)及輸入信號(hào)的函數(shù),狀態(tài)機(jī)的次態(tài)是現(xiàn)態(tài)及輸入信號(hào)的函數(shù),輸出信號(hào)根據(jù)狀態(tài)機(jī)的現(xiàn)態(tài)或輸入信號(hào)而輸出信號(hào)根據(jù)狀態(tài)機(jī)的現(xiàn)態(tài)或輸入信號(hào)而定。定。 狀態(tài)機(jī)可分為兩類:摩爾狀態(tài)機(jī)可分為兩類:摩爾Moore型狀型狀態(tài)機(jī)和米里態(tài)機(jī)和米里Mealy型狀態(tài)機(jī)。型狀態(tài)機(jī)。Moore型狀態(tài)機(jī),其輸出只為狀態(tài)機(jī)當(dāng)前狀態(tài)的型狀態(tài)機(jī),其輸出只為狀態(tài)機(jī)當(dāng)前狀態(tài)的函數(shù),而與輸入無關(guān)。函數(shù),而與輸入

7、無關(guān)。Mealy型狀態(tài)機(jī),型狀態(tài)機(jī),其輸出不僅與狀態(tài)機(jī)當(dāng)前狀態(tài)有關(guān),而且其輸出不僅與狀態(tài)機(jī)當(dāng)前狀態(tài)有關(guān),而且與輸入有關(guān)。與輸入有關(guān)。 輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)次態(tài)次態(tài)現(xiàn)態(tài)現(xiàn)態(tài)輸入輸入次態(tài)邏次態(tài)邏輯輯形狀形狀寄存器寄存器輸出邏輸出邏輯輯輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)次態(tài)次態(tài)現(xiàn)態(tài)現(xiàn)態(tài)輸入輸入次態(tài)邏次態(tài)邏輯輯形狀形狀寄存器寄存器輸出邏輸出邏輯輯(1Moore型狀態(tài)機(jī)型狀態(tài)機(jī)(2Mealy型狀態(tài)機(jī)型狀態(tài)機(jī)狀態(tài)機(jī)的狀態(tài)機(jī)的3種表示方法種表示方法 狀態(tài)圖、狀態(tài)表和流程圖狀態(tài)圖、狀態(tài)表和流程圖 輸入輸入/輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)次態(tài)次態(tài)輸入輸入現(xiàn)態(tài)現(xiàn)態(tài)輸出輸出次態(tài)次態(tài)輸出輸出Mealy型狀態(tài)圖的表示型狀態(tài)圖的表示 Moore型狀態(tài)圖的表

8、示型狀態(tài)圖的表示 起始狀態(tài)的選擇起始狀態(tài)的選擇 起始狀態(tài)指電路復(fù)位后所處的狀態(tài),起始狀態(tài)指電路復(fù)位后所處的狀態(tài),選選 擇一個(gè)合理的起始狀態(tài)將使整個(gè)系統(tǒng)簡(jiǎn)擇一個(gè)合理的起始狀態(tài)將使整個(gè)系統(tǒng)簡(jiǎn)捷高效。對(duì)于有限狀態(tài)機(jī),必須有時(shí)鐘捷高效。對(duì)于有限狀態(tài)機(jī),必須有時(shí)鐘信號(hào)和復(fù)位信號(hào)!信號(hào)和復(fù)位信號(hào)!狀態(tài)編碼狀態(tài)編碼 采用采用log2N個(gè)觸發(fā)器來表示這個(gè)觸發(fā)器來表示這N個(gè)狀態(tài)個(gè)狀態(tài) 采用采用N個(gè)觸發(fā)器來表示這個(gè)觸發(fā)器來表示這N個(gè)狀態(tài)個(gè)狀態(tài)稱為稱為一位熱碼狀態(tài)機(jī)編碼一位熱碼狀態(tài)機(jī)編碼One-Hot State Machine Encoding)。)。 采用采用Verilog HDLVerilog HDL語言實(shí)現(xiàn)

9、基于狀態(tài)機(jī)的設(shè)語言實(shí)現(xiàn)基于狀態(tài)機(jī)的設(shè)計(jì),就是在時(shí)鐘信號(hào)的觸發(fā)下,完成兩項(xiàng)任務(wù):計(jì),就是在時(shí)鐘信號(hào)的觸發(fā)下,完成兩項(xiàng)任務(wù):(1 1用用casecase或或if-elseif-else語句描述出狀態(tài)的轉(zhuǎn)移;語句描述出狀態(tài)的轉(zhuǎn)移;(2 2描述狀態(tài)機(jī)的輸出信號(hào)。描述狀態(tài)機(jī)的輸出信號(hào)。 n輸入信號(hào)和輸出信號(hào)輸入信號(hào)和輸出信號(hào) n輸入信號(hào)輸入信號(hào)nclk:時(shí)鐘信號(hào):時(shí)鐘信號(hào)fclk = 50MHz););nf1:人工放行:人工放行A方向的控制信號(hào)由方向的控制信號(hào)由“放行放行A按鈕產(chǎn)生,高有效);按鈕產(chǎn)生,高有效);nf2:人工放行:人工放行B方向的控制信號(hào)由方向的控制信號(hào)由“放行放行B按鈕產(chǎn)生,高有效);

10、按鈕產(chǎn)生,高有效);nreset:復(fù)位信號(hào)由:復(fù)位信號(hào)由“恢復(fù)到正常狀態(tài)恢復(fù)到正常狀態(tài)按鈕產(chǎn)生,高有效)。按鈕產(chǎn)生,高有效)。 輸出信號(hào)輸出信號(hào) f1s、f2s:人工控制時(shí):人工控制時(shí)A方向、方向、B方向的放方向的放行狀態(tài),驅(qū)動(dòng)行狀態(tài),驅(qū)動(dòng)LED,高電平時(shí)點(diǎn)亮;,高電平時(shí)點(diǎn)亮;s12.0、s22.0:交通燈信號(hào)輸出,:交通燈信號(hào)輸出,分別用于控制分別用于控制A方向和方向和B方向的紅、黃、綠方向的紅、黃、綠燈的亮或滅,驅(qū)動(dòng)燈的亮或滅,驅(qū)動(dòng)LED,高電平時(shí)點(diǎn)亮。,高電平時(shí)點(diǎn)亮。 n設(shè)計(jì)思路設(shè)計(jì)思路n根據(jù)其功能要求如正常運(yùn)行狀態(tài)下的交根據(jù)其功能要求如正常運(yùn)行狀態(tài)下的交通燈自動(dòng)轉(zhuǎn)換規(guī)律,人工放行功能及

11、限制通燈自動(dòng)轉(zhuǎn)換規(guī)律,人工放行功能及限制規(guī)則),確定其輸出信號(hào),以便控制兩組規(guī)則),確定其輸出信號(hào),以便控制兩組交通燈的亮或滅,并在交通崗內(nèi)向交通警交通燈的亮或滅,并在交通崗內(nèi)向交通警察顯示人工放行的狀態(tài)。察顯示人工放行的狀態(tài)。n該控制器的邏輯模型可分為三個(gè)部分:工該控制器的邏輯模型可分為三個(gè)部分:工作狀態(tài)控制器、操作規(guī)則實(shí)現(xiàn)電路以及紅作狀態(tài)控制器、操作規(guī)則實(shí)現(xiàn)電路以及紅綠燈信號(hào)生成器。綠燈信號(hào)生成器。 (1)(1)工作狀態(tài)控制器工作狀態(tài)控制器 功能:根據(jù)輸入信號(hào)功能:根據(jù)輸入信號(hào)f1f1、f2f2和和resetreset確定確定系統(tǒng)當(dāng)前的工作狀態(tài)是為系統(tǒng)當(dāng)前的工作狀態(tài)是為“正常運(yùn)行正常運(yùn)行狀

12、狀態(tài)或態(tài)或“A A一直放行一直放行或或“B B一直放行一直放行形狀。形狀。 工作狀態(tài)控制器是一個(gè)簡(jiǎn)單的具有三狀態(tài)工作狀態(tài)控制器是一個(gè)簡(jiǎn)單的具有三狀態(tài)normal,fr1,fr2normal,fr1,fr2的有限狀態(tài)機(jī)。其輸?shù)挠邢逘顟B(tài)機(jī)。其輸入分別為人工放行入分別為人工放行A A方向的控制信號(hào)方向的控制信號(hào)f1f1、人、人工放行工放行B B方向的控制信號(hào)方向的控制信號(hào)f2f2及復(fù)位信號(hào)及復(fù)位信號(hào)resetreset均為高有效),其輸出為人工控制均為高有效),其輸出為人工控制時(shí)時(shí)A A方向、方向、B B方向的放行狀態(tài)方向的放行狀態(tài) . .預(yù)習(xí)時(shí)請(qǐng)畫出其狀態(tài)轉(zhuǎn)移圖。預(yù)習(xí)時(shí)請(qǐng)畫出其狀態(tài)轉(zhuǎn)移圖。想一想,

13、工作狀態(tài)控制器為想一想,工作狀態(tài)控制器為MealyMealy型狀態(tài)機(jī)型狀態(tài)機(jī)還是還是MooreMoore型狀態(tài)機(jī),為什么?型狀態(tài)機(jī),為什么? (2 2操作規(guī)則實(shí)現(xiàn)電路操作規(guī)則實(shí)現(xiàn)電路 功能:根據(jù)交通紅綠燈控制器的功能要求,確定不同功能:根據(jù)交通紅綠燈控制器的功能要求,確定不同工作狀態(tài)下計(jì)時(shí)器的計(jì)數(shù)值。可用工作狀態(tài)下計(jì)時(shí)器的計(jì)數(shù)值??捎? 8位計(jì)數(shù)器來實(shí)位計(jì)數(shù)器來實(shí)現(xiàn)定時(shí)計(jì)數(shù)。現(xiàn)定時(shí)計(jì)數(shù)。正常運(yùn)行時(shí),計(jì)數(shù)器按照規(guī)定的定時(shí)要求加正常運(yùn)行時(shí),計(jì)數(shù)器按照規(guī)定的定時(shí)要求加1 1計(jì)數(shù);計(jì)數(shù);若要人工放行某方向,只要使計(jì)時(shí)器運(yùn)行到該放行若要人工放行某方向,只要使計(jì)時(shí)器運(yùn)行到該放行狀態(tài)的最后一刻時(shí),計(jì)時(shí)器保持

14、此時(shí)的計(jì)數(shù)值,使?fàn)顟B(tài)的最后一刻時(shí),計(jì)時(shí)器保持此時(shí)的計(jì)數(shù)值,使紅綠燈信號(hào)生成器暫停狀態(tài)的轉(zhuǎn)移即可。紅綠燈信號(hào)生成器暫停狀態(tài)的轉(zhuǎn)移即可。 設(shè)計(jì)技巧:將放行某方向的整個(gè)時(shí)間設(shè)計(jì)技巧:將放行某方向的整個(gè)時(shí)間50s50s分為兩段,前分為兩段,前30s30s為正常為正常運(yùn)行狀態(tài)下的最小放行時(shí)間,計(jì)時(shí)器正常計(jì)數(shù);后運(yùn)行狀態(tài)下的最小放行時(shí)間,計(jì)時(shí)器正常計(jì)數(shù);后20s20s為允許人工為允許人工放行時(shí)間,可根據(jù)工作狀態(tài)控制器的狀態(tài)機(jī)放行時(shí)間,可根據(jù)工作狀態(tài)控制器的狀態(tài)機(jī)f1sf1s和和f2sf2s進(jìn)行判進(jìn)行判斷,是否欲人工放行另一方向,或是繼續(xù)放行原方向,或是正常斷,是否欲人工放行另一方向,或是繼續(xù)放行原方向,或

15、是正常運(yùn)行,然后根據(jù)判斷結(jié)果來確定計(jì)時(shí)器的計(jì)數(shù)值。運(yùn)行,然后根據(jù)判斷結(jié)果來確定計(jì)時(shí)器的計(jì)數(shù)值。 (綠,紅綠,紅)正常運(yùn)行正常運(yùn)行正常運(yùn)行正常運(yùn)行可人工放行可人工放行可人工放行可人工放行30s50s135s155s210s105s0s(紅,綠紅,綠)(紅,綠紅,綠)(綠,紅綠,紅)正常運(yùn)行正常運(yùn)行限制規(guī)則示意圖限制規(guī)則示意圖 (3 3紅綠燈信號(hào)生成器紅綠燈信號(hào)生成器 功能:根據(jù)定時(shí)計(jì)數(shù)器的計(jì)數(shù)值來確定紅綠燈信號(hào)的功能:根據(jù)定時(shí)計(jì)數(shù)器的計(jì)數(shù)值來確定紅綠燈信號(hào)的輸出。輸出。這是一個(gè)簡(jiǎn)單的狀態(tài)機(jī),共有這是一個(gè)簡(jiǎn)單的狀態(tài)機(jī),共有1010個(gè)不同狀態(tài),有個(gè)不同狀態(tài),有6 6個(gè)個(gè)輸出,為輸出,為s12.0s1

16、2.0和和s22.0s22.0,分別用于控制,分別用于控制A A、B B兩個(gè)方向的紅、黃、綠燈的亮或滅。兩個(gè)方向的紅、黃、綠燈的亮或滅??梢詫?duì)照?qǐng)D可以對(duì)照?qǐng)D5-1“5-1“正常運(yùn)行狀態(tài)下兩組交通燈自動(dòng)轉(zhuǎn)正常運(yùn)行狀態(tài)下兩組交通燈自動(dòng)轉(zhuǎn)換規(guī)律換規(guī)律”,根據(jù)計(jì)時(shí)器的計(jì)數(shù)值來確定紅綠燈信號(hào),根據(jù)計(jì)時(shí)器的計(jì)數(shù)值來確定紅綠燈信號(hào)生成器的輸出。注意計(jì)時(shí)器的一個(gè)工作循環(huán)為一個(gè)生成器的輸出。注意計(jì)時(shí)器的一個(gè)工作循環(huán)為一個(gè)正常的紅綠燈工作周期,即正常的紅綠燈工作周期,即210210秒。秒。 預(yù)習(xí)時(shí)請(qǐng)畫出其狀態(tài)轉(zhuǎn)移圖。預(yù)習(xí)時(shí)請(qǐng)畫出其狀態(tài)轉(zhuǎn)移圖。n設(shè)計(jì)方案的選擇設(shè)計(jì)方案的選擇 n圖文混合設(shè)計(jì)方法:先將電路劃分為幾個(gè)圖

17、文混合設(shè)計(jì)方法:先將電路劃分為幾個(gè)子模塊,每個(gè)子模塊由子模塊,每個(gè)子模塊由Verilog HDL語言語言描述實(shí)現(xiàn),然后生成邏輯符號(hào),頂層文件描述實(shí)現(xiàn),然后生成邏輯符號(hào),頂層文件采用圖形文件來實(shí)現(xiàn)。采用圖形文件來實(shí)現(xiàn)。 n純文本描述方法:每個(gè)子模塊和頂層電路純文本描述方法:每個(gè)子模塊和頂層電路的連接關(guān)系都采用的連接關(guān)系都采用Verilog HDL語言描述語言描述實(shí)現(xiàn),對(duì)子模塊的調(diào)用采用模塊元件例化實(shí)現(xiàn),對(duì)子模塊的調(diào)用采用模塊元件例化的方法。的方法。 實(shí)驗(yàn)方案n方案一方案一n1. 設(shè)計(jì)思路設(shè)計(jì)思路n根據(jù)控制器的邏輯模型,將整個(gè)根據(jù)控制器的邏輯模型,將整個(gè)電路分為電路分為3個(gè)子模塊,即工作狀態(tài)控制器

18、個(gè)子模塊,即工作狀態(tài)控制器state_ctrl.v、操作規(guī)則實(shí)現(xiàn)電路、操作規(guī)則實(shí)現(xiàn)電路rule.v和紅綠燈信號(hào)生成器和紅綠燈信號(hào)生成器sig_gen.v,它們均,它們均采用采用Verilog HDL語言實(shí)現(xiàn)。然后形成頂語言實(shí)現(xiàn)。然后形成頂層圖形設(shè)計(jì)文件層圖形設(shè)計(jì)文件trgl_top.bdf。 工作狀態(tài)控制器工作狀態(tài)控制器state_ctrl.v 操作規(guī)則實(shí)現(xiàn)電路操作規(guī)則實(shí)現(xiàn)電路rule.v 紅綠燈信號(hào)生成器紅綠燈信號(hào)生成器sig_gen.v 頂層圖形設(shè)計(jì)文件頂層圖形設(shè)計(jì)文件trgl_top.bdf2. 對(duì)對(duì)trgl_top.bdf進(jìn)行時(shí)序仿真。進(jìn)行時(shí)序仿真。 3. 創(chuàng)建下載用頂層文件創(chuàng)建下載用

19、頂層文件將將 t r g l _ t o p . b d f 另 起 名 保 存 如另 起 名 保 存 如trgl_top_p.bdf),并在其時(shí)鐘輸入引),并在其時(shí)鐘輸入引腳后增加時(shí)鐘分頻模塊腳后增加時(shí)鐘分頻模塊clkdiv_50MHz_to_1Hz,將輸入時(shí)鐘,將輸入時(shí)鐘fclk = 50MHz分頻為分頻為f = 1Hz,即,即T =1s。編譯,引腳鎖定。編譯,引腳鎖定。 編程下載文件編程下載文件trgl_top_p.bdf n方案二方案二n1. 設(shè)計(jì)思路設(shè)計(jì)思路 n將控制器的三部分電路有機(jī)地結(jié)合到一起,將控制器的三部分電路有機(jī)地結(jié)合到一起,用一個(gè)文件采用用一個(gè)文件采用Verilog HD

20、L語言實(shí)現(xiàn),語言實(shí)現(xiàn),文件名為文件名為trgl2.v。其中用到了兩個(gè)。其中用到了兩個(gè)reg型型中間變量:中間變量:n (1state:工作狀態(tài)控制狀態(tài)機(jī),:工作狀態(tài)控制狀態(tài)機(jī),具有具有3個(gè)狀個(gè)狀態(tài)態(tài)normal, fr1, fr2)。)。n (28位寄存器位寄存器cnt7.0:用于紅:用于紅綠燈信號(hào)生成器的定時(shí)計(jì)數(shù)。綠燈信號(hào)生成器的定時(shí)計(jì)數(shù)。n采用采用3個(gè)個(gè)always模塊來實(shí)現(xiàn)這三部分電路模塊來實(shí)現(xiàn)這三部分電路實(shí)際上就是將方案一中的實(shí)際上就是將方案一中的3個(gè)子模塊的個(gè)子模塊的Verilog HDL描述放到一個(gè)文本文件中)。描述放到一個(gè)文本文件中)。2. 在在Quartus中進(jìn)行時(shí)序仿真中進(jìn)行

21、時(shí)序仿真 3. 設(shè)計(jì)下載用頂層文件,編程下載設(shè)計(jì)下載用頂層文件,編程下載 采用采用Verilog HDL語言設(shè)計(jì)頂層文件語言設(shè)計(jì)頂層文件 引腳鎖定,編程下載引腳鎖定,編程下載 .n分別畫出工作狀態(tài)控制器和紅綠燈信號(hào)生分別畫出工作狀態(tài)控制器和紅綠燈信號(hào)生成器的狀態(tài)轉(zhuǎn)移圖,操作規(guī)則實(shí)現(xiàn)電路的成器的狀態(tài)轉(zhuǎn)移圖,操作規(guī)則實(shí)現(xiàn)電路的程序流程圖程序流程圖 n采用方案一或方案二有余力的同學(xué)也可采用方案一或方案二有余力的同學(xué)也可以兩種方案都采用),按實(shí)驗(yàn)要求給出的以兩種方案都采用),按實(shí)驗(yàn)要求給出的功能要求設(shè)計(jì)交通紅綠燈控制器。功能要求設(shè)計(jì)交通紅綠燈控制器。 實(shí)驗(yàn)內(nèi)容n仿真仿真 n使輸入信號(hào)均無效,仿真至少一

22、個(gè)循環(huán)周使輸入信號(hào)均無效,仿真至少一個(gè)循環(huán)周期的正常運(yùn)行狀態(tài)。觀察狀態(tài)機(jī)期的正常運(yùn)行狀態(tài)。觀察狀態(tài)機(jī)state1.0以及輸出信號(hào)以及輸出信號(hào)f1s、f2s、s12.0和和s22.0的變化。將仿真結(jié)的變化。將仿真結(jié)果保存為果保存為trgl_top(normal).vwf。 n正常運(yùn)行時(shí)的仿真參考波形一:正常運(yùn)行時(shí)的仿真參考波形一:正常運(yùn)行時(shí)的仿真參考波形二正常運(yùn)行時(shí)的仿真參考波形二210秒為秒為一周期):一周期):在不同的時(shí)段給定不同的輸入信號(hào),在每種情況下在不同的時(shí)段給定不同的輸入信號(hào),在每種情況下觀察狀態(tài)機(jī)觀察狀態(tài)機(jī)state1.0以及輸出信號(hào)以及輸出信號(hào)f1s、f2s、s12.0和和s22

23、.0的變化的變化.n設(shè)計(jì)下載用頂層文件設(shè)計(jì)下載用頂層文件 n仿真完全正確后,在原設(shè)計(jì)基礎(chǔ)上增加仿真完全正確后,在原設(shè)計(jì)基礎(chǔ)上增加時(shí)鐘分頻模塊,將輸入時(shí)鐘時(shí)鐘分頻模塊,將輸入時(shí)鐘fclk = 50MHz分頻為分頻為f = 1Hz,即,即T = 1s,形,形成下載用頂層文件可以為圖形設(shè)計(jì)文件成下載用頂層文件可以為圖形設(shè)計(jì)文件或或.v文本設(shè)計(jì)文件)。對(duì)下載用頂層文件文本設(shè)計(jì)文件)。對(duì)下載用頂層文件進(jìn)行全編譯。進(jìn)行全編譯。 n引腳鎖定引腳鎖定 n本實(shí)驗(yàn)采用模式本實(shí)驗(yàn)采用模式3所有按鍵為琴鍵式按所有按鍵為琴鍵式按鍵,即當(dāng)按下鍵時(shí),輸出為高電平;當(dāng)松鍵,即當(dāng)按下鍵時(shí),輸出為高電平;當(dāng)松開鍵時(shí),輸出為低電平

24、??赏ㄟ^按下鍵的開鍵時(shí),輸出為低電平。可通過按下鍵的時(shí)間的長(zhǎng)短來控制正脈沖的寬度。時(shí)間的長(zhǎng)短來控制正脈沖的寬度。 nclk:系統(tǒng)時(shí)鐘信號(hào),:系統(tǒng)時(shí)鐘信號(hào),50MHz,接,接FPGA引腳引腳Pin28。注意應(yīng)將下圖中的。注意應(yīng)將下圖中的J6插到插到Clock0的位置,并將實(shí)驗(yàn)箱右下角的位置,并將實(shí)驗(yàn)箱右下角“時(shí)鐘時(shí)鐘頻率選擇頻率選擇區(qū)域區(qū)域Clock0的時(shí)鐘選擇跳線接的時(shí)鐘選擇跳線接到到50MHz的位置。的位置。 n編程下載編程下載 n利用利用GW48-SOPC+開發(fā)系統(tǒng)實(shí)現(xiàn)設(shè)開發(fā)系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)的編程下載。編程器件為計(jì)的編程下載。編程器件為EP1C12Q240C8。使用開發(fā)系統(tǒng)上的晶。使用開發(fā)系統(tǒng)

25、上的晶振提供的全局時(shí)鐘信號(hào)振提供的全局時(shí)鐘信號(hào)fclk = 50MHz)(Pin28),用琴鍵式按鈕開關(guān)鍵),用琴鍵式按鈕開關(guān)鍵1、鍵、鍵2和鍵和鍵3均為高有效實(shí)現(xiàn)人工控制放行均為高有效實(shí)現(xiàn)人工控制放行A方向和方向和B方向、復(fù)位功能,用方向、復(fù)位功能,用8個(gè)發(fā)光二極個(gè)發(fā)光二極管高有效管高有效D1D8,分別顯示輸出信號(hào),分別顯示輸出信號(hào)s12.0、s22.0、f1s和和f2s。 n在線校驗(yàn)在線校驗(yàn) n下載后,仔細(xì)觀察:紅綠燈應(yīng)按設(shè)定的時(shí)間規(guī)律自下載后,仔細(xì)觀察:紅綠燈應(yīng)按設(shè)定的時(shí)間規(guī)律自動(dòng)切換,動(dòng)切換,D1D8八個(gè)八個(gè)LED分別對(duì)應(yīng)的是:分別對(duì)應(yīng)的是:A方向方向的紅黃綠,的紅黃綠,B方向的紅黃綠,方向的紅黃綠,A方向的放行狀態(tài),方向的放行狀態(tài),B方向的放行狀態(tài)。方向的放行狀態(tài)。 n然后按下鍵然后按下鍵1,表示欲人工放行,表示欲人工放行A方向,則相應(yīng)方向,則相應(yīng)LED有顯示;同時(shí)兩個(gè)方向的紅綠燈按正常運(yùn)行規(guī)有顯示;同時(shí)兩個(gè)方向的紅綠燈按正常運(yùn)行規(guī)律自動(dòng)切換,當(dāng)運(yùn)行到放行律自動(dòng)切換,當(dāng)運(yùn)行到放行A方向時(shí),則保持放行方向時(shí),則保持放行該方向。該方向。n再按下鍵再按下鍵2,表示欲

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論