版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、探2008級學生EDA課程設(shè)計探 探 探 探 探 探EDA課程設(shè)計報告書課題名稱交通燈控制器的設(shè)計姓名胡偉明學號0812201 -46院系物理與電信工程系專業(yè)電子信息工程指導教師周來秀講師2011年6月10日一、設(shè)計任務(wù)及要求:(1 )十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態(tài)。用 LED燈表示當 前的交通狀態(tài)。(2) 能實現(xiàn)正常的倒計時功能。用兩組七段數(shù)碼管倒計時顯示當前交通狀態(tài)剩余秒數(shù)。(3) 該交通燈的亮滅順序如下:東西綠燈40秒黃燈5秒東西紅燈25秒南北紅燈45秒南北綠燈20秒黃燈5秒(4 )能實現(xiàn)特殊狀態(tài)的功能。例如消防車、救護車或其他需要優(yōu)先放行的車輛通過時實現(xiàn)下列功能:
2、按下特殊狀態(tài)鍵后,能實現(xiàn)特殊狀態(tài)功能; 顯示倒計時的兩組數(shù)碼管閃爍; 計數(shù)器停止計數(shù)并保持在原來的狀態(tài); 東西、南北路口均顯示紅燈狀態(tài); 特殊狀態(tài)解除后能繼續(xù)計數(shù);(5)能實現(xiàn)總體清零功能。按下清零鍵后,系統(tǒng)實現(xiàn)總體清零,計數(shù)器由初始狀態(tài)計數(shù),對應狀態(tài)的指示燈亮。(6 )用VHDL語言設(shè)計符合上述要求的交通燈控制器,并用層次化設(shè)計方法設(shè)計該電路。指導教師簽名:年 月日T、指導教師評語:指導教師簽名:年 月 日二、成績驗收蓋章年 月 日交通燈控制器的設(shè)計1 設(shè)計目的通過設(shè)計交通燈控制器,了解 EDA 技術(shù),了解并掌握 VHDL 硬件描述語 言的設(shè)計方法和思想,鞏固和綜合運用所學過的 EDA 原理
3、知識,提高分析、 解決實際問題的獨立工作能力。2 設(shè)計的主要內(nèi)容和要求交通燈控制器的設(shè)計, 設(shè)計了主干道的交叉路口交通信號燈無人自動管理的 控制系統(tǒng)。將路口紅綠燈的各種亮燈情況定義不同的狀態(tài) ,路口狀況定義為觸發(fā) 條件,組成有限狀態(tài)機。交通控制器能完成以下功能:1 能顯示十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態(tài),用兩組紅、 黃、綠三色 LED 燈作為兩個方向的紅、黃、綠燈;2 南北向為主干道,每次通行時間為 45S ,東西向為支干道,每次通行時間為 25S ;3 能實現(xiàn)正常的倒計時功能,用兩組數(shù)碼管作為東西、南北向的倒計時顯示。 其中,黃燈: 5S 。4 能實現(xiàn)特殊狀態(tài)的功能。按下
4、SP 鍵后,能實現(xiàn)以下特殊功能:(1)顯示倒計時的兩組數(shù)碼管閃爍;(2)計數(shù)器停止計數(shù)并保持在原來的狀態(tài);(3)東西、南北路口均顯示紅燈狀態(tài);(4)特殊狀態(tài)解除后能繼續(xù)計數(shù);5. 能實現(xiàn)全清零功能。 按下 reset 鍵后,系統(tǒng)實現(xiàn)全清零, 計數(shù)器由初狀態(tài)計數(shù),對應狀態(tài)的指示燈亮;6. 用VHDL語言設(shè)計上述功能的交通燈控制器,并用層次化方法設(shè)計該電路;7. 仿真、驗證設(shè)計的正確性。3 整體設(shè)計方案3.1 方案分析通過分析課程設(shè)計的要求可以知道,所要設(shè)計的交通信號燈控制電路要能 夠適用于由一條主干道和一條支干道的匯合點形成的十字交叉路口,其主要功 能是:主干道處于常允許通行的狀態(tài),支干道有車來
5、時才允許通行;當支干道 沒有車通行時,主干道亮綠燈,而支干道亮紅燈,主、支干道的倒計時數(shù)碼管 不顯示數(shù)字;當支干道有車通行時,進入了主干道和支干道交替通行的情況。當進入到交替通行時,主干道每次放行 45 秒,支干道每次放行 25 秒。首 先主干道通行 45 秒,并且主干道顯示 45 秒的倒計時,此 45 秒內(nèi)主干道亮綠 燈,當 45 秒計時結(jié)束,主干道亮黃燈 5 秒,而且顯示 5 秒倒計時,用于綠燈 轉(zhuǎn)為紅燈作為過渡,使行駛中的車輛有時間停到禁行線外,在主干道亮綠燈和 黃燈的 50 秒內(nèi),支干道亮紅燈 50 秒,而且支干道顯示 50 秒的倒計時。 然后, 當支干道亮紅燈 50 秒結(jié)束時,主干道
6、由黃燈轉(zhuǎn)為紅燈,并且主干道的紅燈亮 30 秒,顯示 30 秒的倒計時,在此過程中,支干道先亮綠燈 25 秒,顯示 25 秒的倒計時, 25 秒過后綠燈轉(zhuǎn)為黃燈,而且黃燈亮 5 秒,顯示 5 秒倒計時, 用于綠燈轉(zhuǎn)為紅燈作為過渡,使行駛中的車輛有時間停到禁行線外。支干道通 行結(jié)束后,主干道通行,以此交替。3.2 方案狀態(tài)機控制設(shè)計將十字路口分成東西走向和南北走向的主干道和支干道。交通燈的工作明顯可以分成 5 個狀態(tài),如下表 3.1 所示:表3.1工作狀態(tài)表支干道是否有車狀態(tài)實現(xiàn)功能支干道沒車St0支干道亮紅燈,主干道亮綠燈,數(shù)碼管不顯示。支干道有車St1主干道亮綠燈 45秒,數(shù)碼管顯示 45秒倒
7、計時;支干道亮紅燈,數(shù)碼管顯示從49秒倒計時到05秒。St2主干道亮黃燈5秒,數(shù)碼管顯示5秒倒計時;支干道 亮紅燈,數(shù)碼管顯示從 04秒倒計時到00秒。St3支干道亮綠燈 25秒,數(shù)碼管顯示 25秒倒計時;主干道亮紅燈,數(shù)碼管顯示從29秒倒計時到05秒。St4支干道亮黃燈5秒,數(shù)碼管顯示5秒倒計時;主干道亮紅燈,數(shù)碼管顯示從 04秒倒計時到00秒。3.3整體設(shè)計方案根據(jù)交通燈控制器的功能與要求,可以把整體設(shè)計分為三個模塊:分頻模塊,把2kHz的頻率分成1Hz,1Hz用于倒計時計數(shù)的時鐘信號,而 2kHz則可以用于數(shù)碼管掃描顯示的片選時鐘信號;交通燈控制及倒計時(五個狀態(tài)的控制)模塊;數(shù)碼管譯碼
8、掃描顯示模塊。整體的系統(tǒng)框圖如圖3.1所示:圖3.1系統(tǒng)框架圖分頻模塊就是把輸入的2kHz時鐘頻率2000分頻得到1Hz的頻率用于數(shù)碼管倒計時的時鐘信號,其原理就是設(shè)計一個0到999循環(huán)計數(shù)的的計數(shù)器,當計數(shù)溢出,即計數(shù)到999時使輸出量取反,則輸出為0.5秒的高電平和0.5 秒的低電平交替出現(xiàn),就得到了 1Hz的方波,作為秒倒計時的時鐘信號。交通燈控制及倒計時模塊就是五個狀態(tài)的轉(zhuǎn)換模塊,是整個系統(tǒng)的核心模塊,其五個狀態(tài)分別 st0、st1、st2、st3、st4。其中st0是當支干道沒有車 通行的狀態(tài),st1是主干道綠燈亮45秒的狀態(tài),st2是主干道亮黃燈5秒的狀 態(tài),st3是支干道亮綠燈2
9、5秒的狀態(tài),st4是支干道亮黃燈5秒的狀態(tài)。當主 干道亮綠燈和黃燈時,支干道都是亮紅燈,當支干道亮綠燈和黃燈時,主干道 都是亮紅燈,并且主、支干道都會顯示亮燈的倒計時時間,主、支干道的紅黃 綠燈用六個LED發(fā)光二極管代替。五個狀態(tài)圖如下圖3.2所示:圖3.2狀態(tài)圖數(shù)碼管倒計時顯示,是用四個一體的數(shù)碼管,分別表示主干道和支干道的秒倒計時,所以是動態(tài)掃描顯示,掃描的頻率直接用2KHz的輸入時鐘頻率。4軟硬件電路的設(shè)計4.1各模塊的原理及其程序時鐘模塊設(shè)計時鐘分頻模塊就是把輸入的2kHz時鐘頻率2000分頻得到1Hz的頻率用 于數(shù)碼管倒計時的時鐘信號,其原理就是設(shè)計一個0到999循環(huán)計數(shù)的的計數(shù) 器
10、,當計數(shù)溢出,即計數(shù)到999時使輸出量取反,則輸出為0.5秒的高電平和 0.5秒的低電平交替出現(xiàn),就得到了 1Hz的方波,作為秒倒計時的時鐘信號。時鐘分頻模塊生成的元件符號如下圖4.1所示:' div!Clk2kli2 elklhzTnhj inaOJ= r is i 1. i n ninr-iirurwn!tbmrad圖4.1時鐘分頻模塊clk2khz 是頻率為為2khz的輸入時鐘信號,clk1hz是經(jīng)過2000分頻后得到的頻率為1hz方波的輸出信號。交通燈控制及計時模塊此模塊是整個系統(tǒng)的核心部分,主要功能是完成五個狀態(tài)的轉(zhuǎn)換,并且在 每個狀態(tài)里完成相應的控制作用,即控制主干道和支干
11、道的紅黃綠燈的點亮和 各自數(shù)碼管倒計時顯示。編程時主要是用一個進程語句,其敏感信號是時鐘分頻模塊產(chǎn)生的1Hz時 鐘信號,進程里主要用 case語句完成五個狀態(tài)的控制,在每個狀態(tài)里要控制 主干道和支干道的紅黃綠燈的點亮,而且要控制各自數(shù)碼管倒計時的顯示,并 為掃描顯示譯碼模塊提供倒計時時間,同時要使每個狀態(tài)結(jié)束時能順利進入下 一個狀態(tài)。五個狀態(tài)及相應的功能是:StO,支干道亮紅燈,主干道亮綠燈,數(shù)碼管 不顯示;St1,主干道亮綠燈45秒,數(shù)碼管顯示45秒倒計時;支干道亮紅燈, 數(shù)碼管顯示從49秒倒計時到05秒;St2,主干道亮黃燈5秒,數(shù)碼管顯示5 秒倒計時;支干道亮紅燈,數(shù)碼管顯示從 04秒倒
12、計時到00秒;St3,支干道 亮綠燈25秒,數(shù)碼管顯示25秒倒計時;主干道亮紅燈,數(shù)碼管顯示從 29秒 倒計時到05秒;St4,支干道亮黃燈5秒,數(shù)碼管顯示5秒倒計時;主干道 亮紅燈,數(shù)碼管顯示從04秒倒計時到00秒。狀態(tài)轉(zhuǎn)換條件參照圖3.2。此模塊生成的元件符號如下圖4.2所示:t 曰 1“* elk 1 h-7cartanl 3|T-:口 rue二門.Ci|Cl-:r_by_lat :L :l_«r-r "sr圖4.2交通燈控制及計時模塊clklhz是分頻模塊輸出的1Hz的時鐘信號,car是支干道是否有車的判 斷信號, one1 、ten1 、one2 、ten2 分別
13、是主干道倒計時的個位和十位,支干 道倒計時的個位和十位。 r_a 、g_a、y_a、r_b 、g_b、y_b 分別是主干道和支 干道的紅、綠、黃燈控制信號。掃描顯示譯碼模塊此模塊中含有七段數(shù)碼管譯碼和掃描顯示兩個部分。七段譯碼可以使用case語句,將數(shù)碼管要顯示的數(shù)譯成對應的七位二進制數(shù),用來控制數(shù)碼管的 a、b、c、d、e、f、g的導通。主干道和支干道倒計時要用到 4個數(shù)碼管,且 是四位一體的,則要使用掃描顯示的方法:設(shè)計一個00到11循環(huán)計數(shù)的計數(shù) 器,而且計數(shù)的時鐘要比較大,選用輸入的2KHz的時鐘信號;當計數(shù)器計數(shù)為00時,選通第一個數(shù)碼管,給它主干道倒計時個位的七段譯碼,當計數(shù)器 計
14、數(shù)為01時,選通第二個數(shù)碼管,給它主干道倒計時十位的七段譯碼,當計 數(shù)器計數(shù)為10時,選通第三個數(shù)碼管,給它支干道倒計時個位的七段譯碼, 當計數(shù)器計數(shù)為11時,選通第四個數(shù)碼管,給它支干道倒計時十位的七段譯 碼,并以此循環(huán)掃描顯示,達到人眼看上去四個數(shù)碼管全顯示的效果。此模塊生成的元件符號如下圖4.3所示:. "T *b t r e k -rimr dii splaysr»-r? : ?« ! e-re»«T" , rwE ra t -s t e s1Iscan1.O|1jseg_76 0i-tenip O|iIor>e23.0
15、3iterflp 一期r = r5-j insif?圖4.3掃描顯示譯碼模塊元件符號其中clk2khz是輸入的掃描時鐘信號。one1、ten1分別是主干道倒計時 的個位和十位,one2、ten2分別是支干道倒計時的個位和十位,這四個信號 都是有交通燈控制及倒計時模塊輸出的。Scan是四個數(shù)碼管的片選信號,seg_7是七段譯碼輸出信號。頂層文件的編寫頂層文件就是將上述的三個模塊進行例化,把它們連接起來組成一個整體元件例化語句由兩部分組成,第一部分是將一個現(xiàn)成的設(shè)計實體定義為一個元件,它的最簡單表達式如下:component 元件名 isport (端口名表);end component 文件名;
16、元件例化語句的第二部分是此元件與當前設(shè)計實體中元件間及端口的連接 說明,語句的表達式如下:例化名:元件名 port map(端口名=連接端口名,);由頂層文件生成的元件符號如下圖 4.4所示:oik 2ik.O1o-a. r呂曰呂產(chǎn)石ra.日口沖4ybI11ii-卡1" 口Fr圖4.4頂層文件生成元件符號clk_2k是外部輸入的頻率為2khz的時鐘信號,car是判斷支干道是否有 車的輸入信號。scan 1.0是四位一體數(shù)碼管的片選輸出信號,seg_76.O是 數(shù)碼管的七段譯碼輸出信號,ra、ga、ya、rb、gb、yb分別是主干道和支干 道紅、綠、黃燈的輸出控制信號。4.2頂層原理圖
17、系統(tǒng)原理圖如下圖4.5所示:ctin:one13.1ter13 Ojtnlpi.pCSfT,<可醪0:ten2r mnstTscarl C;s«_7K<CLITJ|一)scn1J_->.f 琵g平 JJ I v v -sr -11 -=ni sgr -ije vrtfr*OTFT|r_lIIIWkA >*imiHT fN FWR I MkljCL TP亍|、; gytG JTPIiT ;丁5弋.;亍圖4.5頂層原理圖系統(tǒng)工作原理:把car置為低電平,系統(tǒng)處于 stO狀態(tài),即表示支干道沒 有車來時,主干道亮綠燈,支干道亮紅燈,四個倒計時數(shù)碼管都是滅的。當把 ca
18、r置為高電平并不變后,主干道和支干道分別進入狀態(tài) st1,st2,st3,st4, 并分別正常顯示四個狀態(tài)的內(nèi)容,實現(xiàn)主干道每次放行45秒,支干道每次放行 25秒,從而正確實現(xiàn)交叉路口交通燈的控制。5系統(tǒng)仿真5.1時鐘分頻模塊仿真仿真波形圖如下圖5.1所示:波形分析:開始時clklhz為低電平,當計數(shù)器第一次計滿時,clklhz由 低電平轉(zhuǎn)為高電平,當計數(shù)器第二次計滿時,clklhz轉(zhuǎn)為低電平。在這一過程 中,clklhz先后經(jīng)歷了 500ms的低電平和高電平,恰好為一個周期 1s,之后 依次高低交替,得到頻率為1Hz的方波。5.2交通燈控制及計時模塊仿真仿真波形如下圖5.2所示:設(shè)置的end
19、 time為100ms ,clk1hz為周期是1ms的方波(把周期縮小 為的是可以縮小仿真的時間,方便波形的仿真)。放大之后(4 t3X2*1 ''i !j ; i ! 4 i ; i i ! ! ! i ! J ; iX ;01l lj J圖5.2交通燈控制及倒計時模塊仿真波形圖波形分析:當car為0時,狀態(tài)為stO,此狀態(tài)中主干道亮綠燈,支干道亮紅燈,當car為1不變時,變?yōu)闋顟B(tài)st1,之后進入st1-st2-st3-st4-st1 的循環(huán)狀態(tài),在相應的狀態(tài)里面也能正確地控制紅黃綠燈點亮。將上圖中下面太 密的地方放大一段后,可以清楚地看到,在狀態(tài) st1中,主干道進行著45
20、秒 的倒計時,而支干道進行著 50秒的倒計時,兩個倒計時在 st0的狀態(tài)中始終 相差5秒。5.3掃描顯示譯碼模塊仿真仿真波形如下圖5.3所示:方便仿真設(shè)設(shè)置的end time 為6ms, clk2khz 周期為500us 。D-oX.L.-Ild-I3 3 s a H >3丘"一回rI *jJ0:y azc0/ T YD十. 一。: ?. x.cc北;.0.p X i r 2 Xis t )L i :ur i: jJim j in'mit ii;1 - HIM Jn:ini X O'on ii "Iin;1腳11:當one和ten為10時對應的七段譯碼
21、是 0000000 ,使數(shù)碼管不顯示,用于支干道沒有車的情況!-P-粥 3& 03l.X BS11.9T iiIt2.52 ls自滋耐1 115 .24 HIHiicL3. L is1_1 1 1|J1J1_-_11 1圖5.3掃描顯示譯碼模塊的波形仿真圖波形仿真說明:為方便觀祭 on el、tenl、one2、ten2及scan用的是無 符號十進制數(shù),當sean=0 時顯示onel ,當sean=1時顯示tenl ,當scan=2 時顯示one2,當scan=3時顯示ten2。Seg_7的從高到低七位分別對應數(shù)碼 管gfedeba七段。5.4頂層文件的仿真頂層文件的波形仿真圖如下圖
22、5.4 所示:為了方便波形仿真,設(shè)置 end time 為 1.2s , clk_2k 是周期為 5us 的方 波。圖5.4頂層文件波形仿真圖虹甲屛卩口因?qū)Э谶\令中細申“呵* 賦2巾甲”愀卩“暨爭Rl.CSiI L17 11、st=stO時放大的波形如下圖5.5所示:WffI 1riHt VIML . HO段iir«1 0艸10竊 10lb 11w 10Q ICDL T 3S Mfr i waam仿真波形分析:當car為0時,為狀態(tài)stO , ga、rb為高電平,即主干道 亮綠燈,支干道亮紅燈;當car由0變?yōu)?且不變時,狀態(tài)轉(zhuǎn)為st1,ga、rb 為高電平,即主干道亮綠燈,支干道亮
23、紅燈;當 st1倒計時結(jié)束,則轉(zhuǎn)為st2, ya、rb為高電平,即主干道亮黃燈,支干道亮紅燈;當 st2倒計時結(jié)束,則轉(zhuǎn) 為st3,ra、gb為高電平,即主干道亮紅燈,支干道亮綠燈;當st3倒計時結(jié)束, 則轉(zhuǎn)為st4,ra、yb為高電平,即主干道亮紅燈,支干道亮黃燈;當 st4倒計 時結(jié)束,貝U轉(zhuǎn)為st1 o當在狀態(tài)st1,大約在1s處car由高電平變?yōu)榈碗娖綍r, 狀態(tài)則會轉(zhuǎn)為stO o鑒于圖5.4中的scan和seg7太密而看不出其中的變化,所以要把其中幾 段放大才能便于觀察。圖5.5 st=stO時放大的一段波形圖5.5波形分析:通過圖5.5可以清晰地觀察到當st=st0時,主干道和支干道
24、的數(shù)碼管都是滅的,即 seg7= ” 0000000fflal-tflCTCTm一沖M&&TdutC29.S.2L.5& is甲 HElL.sa !£ Jfli! >nr1g 3 SL £SLillBO JQ BOS3BOV3JxX13T:*i koiL10DL10KDinl伽】Ll、aiociio2、st=st1時放大的一段波形如下圖5.6所示:SLlLeS9 bduS «cT圖5.6 st=st1 時放大的一段波形圖5.6波形分析:由于要經(jīng)過clk_2k兩千分頻后才能得到1hz的倒計時 時鐘信號,則要經(jīng)過 clk_2k兩千個周期后
25、主干道和支干道的數(shù)碼管秒倒計時才減一秒,所以在頂層文件波形仿真時不好看到倒計時的變化。在圖5-6中可以看到在st為st1時主干道的數(shù)碼管顯示為44,支干道的數(shù)碼管顯示為49,即 scan 為 0 時,seg7 是 “1100110 ”,scan 為 1 時,seg7 是“ 1100110 ”,scan 為 2 時,seg7 是“ 1101111 ”,scan 為 3 時,seg7 是“ 1100110 ”。而st2、st3、st4放大后的波形和圖5.6相似。實驗結(jié)果開始時把car置為低電平,即表示支干道沒有車來時,主干道亮綠燈,支 干道亮紅燈,四個倒計時數(shù)碼管都是滅的。當把car置為高電平并不
26、變后,主干道和支干道分別繼續(xù)亮綠燈和紅燈,同時主干道的數(shù)碼管從44開始一秒一秒地倒計時顯示直至倒計時到 00 ,而支 干道的數(shù)碼管從49開始一秒一秒地倒計時顯示,并且主、支干道的數(shù)碼管顯 示值始終相差 5。當主干道的倒計時到 00(支干道倒計時到 05 )后的下一秒, 主干道的綠燈滅,亮起了黃燈,而且主干道的數(shù)碼管從 04 開始秒倒計時直至 00 ,支干道的紅燈在這一過程中始終是亮的,而且數(shù)碼管正常倒計時,和主干 道的數(shù)碼管顯示。當主、支干道數(shù)碼管倒計時到 00 后的下一秒,主干道的黃 燈滅,紅燈亮,數(shù)碼管從 29 開始一秒一秒地倒計時,而支干道的紅燈滅,綠 燈亮,數(shù)碼管開始從 24 一秒一秒
27、地倒計時,始終和主干道的數(shù)碼管少 5, 直至 倒計時到 00 。當支干道數(shù)碼管倒計時到 00 (主干道為 05 )的下一秒后,支干 道的綠燈滅,黃燈亮,數(shù)碼管開始從 04 一秒一秒地倒計時直至 00 ,而主干道 在這一過程中繼續(xù)亮紅燈,數(shù)碼管繼續(xù)正常地倒計時,而和支干道數(shù)碼管顯示 相同。當主、支干道倒計時到 00 的下一秒,則進入到主干道亮綠燈,支干道 亮紅燈的狀態(tài),只要 car 依然維持在高電平,就會不斷循環(huán)支干道有車通信的 四個狀態(tài)。當 car 從高電平變?yōu)榈碗娖胶螅?不管之前處于 st1 、 st2 、 st3 、st4 中的任 何一個狀態(tài)都會進入到 st0 狀態(tài),即主干道亮綠燈,支干道
28、亮紅燈,四個數(shù)碼 管都不會顯示。6 使用說明把 car 置為低電平, 系統(tǒng)處于 st0 狀態(tài) ,即表示支干道沒有車來時, 主干 道亮綠燈,支干道亮紅燈,四個倒計時數(shù)碼管都是滅的。當把 car 置為高電平 并不變后,主干道和支干道分別進入狀態(tài) st1 ,st2 , st3 ,st4 ,并分別正常顯 示四個狀態(tài)的內(nèi)容。 實現(xiàn)主干道每次放行 45 秒,支干道每次放行 25 秒。從而 正確實現(xiàn)交叉路口交通燈的控制。7 設(shè)計總結(jié)通過的緊張工作,完成了我的設(shè)計任務(wù)交通燈控制器設(shè)計。通過本次 課程設(shè)計的學習,我深深的體會到設(shè)計課的重要性和目的性。本次設(shè)計課不僅 僅培養(yǎng)了我們實際操作能力, 也培養(yǎng)了我們靈活運
29、用課本知識, 理論聯(lián)系實際, 獨立自主的進行設(shè)計的能力。它不僅僅是一個學習新知識新方法的好機會,同 時也是對我所學知識的一次綜合的檢驗和復習,使我明白了自己的缺陷所在, 從而查漏補缺。 希望學校以后多安排一些類似的實踐環(huán)節(jié), 讓同學們學以致用。在設(shè)計中要求我要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤 就會導致結(jié)果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次設(shè) 計和設(shè)計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設(shè)計工作 會有一定的幫助。 在應用 VHDL 的過程中讓我真正領(lǐng)會到了其并行運行與其他 軟件順序執(zhí)行的差別及其在電路設(shè)計上的優(yōu)越性。 用 VHDL 硬件描述語言
30、的形 式來進行數(shù)字系統(tǒng)的設(shè)計方便靈活,利用 EDA 軟件進行編譯優(yōu)化仿真極大地 減少了電路設(shè)計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計方法必將 在未來的數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用。參考文獻1 潘松,黃繼業(yè) .EDA 技術(shù)使用教程 M. 北京:科學出版社 ,2006:320-332.2 黃任 .VHDL 入門 . 解惑 . 經(jīng)典實例 . 經(jīng)驗總結(jié) M. 北京:北京航空航天大學出版 社,2005:64-88.3 徐 志 軍 , 徐 光 輝 .CPLD/FPGA 的 開 發(fā) 與 應 用 M. 北 京 : 電 子 工 業(yè) 出 版 社,2002:208-218.4 褚振勇 .FPGA 設(shè)計
31、與應用 M. 西安:西安電子科技大學出版社 ,2003:218-230. 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計教程M.北京:北京航空航天大學出版社,2008:302-325.6 夏宇聞 . 復雜數(shù)字電路與系統(tǒng)的Verilog HDL 設(shè)計技術(shù) D. 北京清華大學出版社,1998:28-56.附錄1 、時鐘分頻模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div isport(clk2khz:in std_logic;-2khz的輸入時鐘clk1hz:out std_logic)
32、;-經(jīng) 2000 分頻后的 1hz 時鐘輸出信號end;architecture one of div isbeginprocess(clk2khz)2KHz to 1Hzvariable count:integer range 0 to 999;-0到 999 計數(shù)器variable clk1:std_logic;beginif clk2khz'event and clk2khz='1' thenif count=999 then clk1:=not clk1;count:=0;else count:=count+1;end if;end if;clk1hz<=
33、clk1;end process;end;2 、掃描顯示譯碼模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity display isport(clk2khz:in std_logic;-掃描時鐘信號one1,ten1,one2,ten2:in integer range 0 to 10; scan:out std_logic_vector(1 downto 0);- seg_7:out std_logic_vector(6 downto 0);- end entity display
34、;architecture three of display issignal data:integer range 0 to 10;signal seg77:std_logic_vector(6 downto 0); signal cnt:std_logic_vector(1 downto 0);beginprocess(data) 七段譯碼begincase data iswhen 0=>seg77<="0111111"when 1=>seg77<="0000110"when 2=>seg77<="101
35、1011"when 3=>seg77<="1001111"when 4=>seg77<="1100110"when 5=>seg77<="1101101"when 6=>seg77<="1111101"when 7=>seg77<="0000111"when 8=>seg77<="1111111"when 9=>seg77<="1101111"when 10=&g
36、t;seg77<="0000000"end case;end process;片選輸出信號七段譯碼輸出數(shù)碼管動態(tài)掃描計數(shù)seg_7<=seg77; process(clk2khz,one1,ten1,one2,ten2) beginif clk2khz'event and clk2khz='1' then -00到 11 循環(huán)計數(shù)器if cnt="11" then cnt<="00"else cnt<=cnt+1;end if;end if;end process;process(cnt
37、,one1,ten1,one2,ten2) 數(shù)碼管動態(tài)掃描顯示begincase cnt iswhen "00"=>data<=one1;scan<="00"when "01"=>data<=ten1;scan<="01"when "10"=>data<=one2;scan<="10"when "11"=>data<=ten2;scan<="11"when othe
38、rs=>null;end case;end process;end three;3 、交通燈控制及計時模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity state5 isport(clk1hz,car:in std_logic;-1hz倒計時時鐘信號one1,ten1,one2,ten2:out integer range 0 to 10;-倒計時數(shù)r_a,g_a,y_a,r_b,g_b,y_b:out std_logic);-主支干道紅黃綠燈end;architecture
39、 two of state5 issignal st:std_logic_vector(2 downto 0);signal r1,g1,y1,r2,g2,y2:std_logic;beginprocess(clk1hz)5 statesvariable eoc:std_logic;-倒計時結(jié)束標志位variable h1,l1,h2,l2:integer range 0 to 10;beginif clk1hz'event and clk1hz='1' thencase st iswhen "000"=>if car='0'
40、then 支干道沒車經(jīng)過g1<='1'r1<='0'y1<='0'g2<='0'r2<='1'y2<='0' h1:=10;l1:=10;h2:=10;l2:=10;st<="000"else st<="001"h1:=4;l1:=4;h2:=4;l2:=9;end if;when "001"=>if car='0' then st<="000"
41、 主干道綠燈亮 45 秒elseif eoc='0' thenh1:=4;l1:=4;h2:=4;l2:=9;eoc:='1' g1<='1'r1<='0'y1<='0'g2<='0'r2<='1'y2<='0'elseif h1=0 and l1=1 then st<="010"eoc:='0'h1:=0;l1:=0;h2:=0;l2:=5;elsif l1=0 then l1:=9;h1
42、:=h1-1;l2:=l2-1;elsif l2=0 thenl2:=9;h2:=h2-1;l1:=l1-1;else l1:=l1-1;l2:=l2-1;end if;end if;end if;when "010"=>if car='0' then st<="000" 主干道黃燈亮 5 秒elseif eoc='0' then h1:=0;l1:=4; h2:=0;l2:=4;eoc:='1' g1<='0'r1<='0'y1<='1
43、'g2<='0'r2<='1'y2<='0'elseif l1=1 then st<="011"eoc:='0'h1:=0;l1:=0;h2:=0;l2:=0;else l1:=l1-1;l2:=l2-1;end if;end if;end if;when "011"=>if car='0' then st<="000" 支干道綠燈亮 25 秒elseif eoc='0' then h1:=2;l
44、1:=9; h2:=2;l2:=4;eoc:='1' g1<='0'r1<='1'y1<='0'g2<='1'r2<='0'y2<='0'else if h2=0 and l2=1 then st<="100"eoc:='0'h2:=0;l2:=0;h1:=0;l1:=5;elsif l2=0 thenl2:=9;h2:=h2-1;l1:=l1-1;elsif l1=0 thenl1:=9;h1:=h1-1;l2:=l2-1;else l2:=l2-1;l1:=l1-1;end if;end if;end if;when "100"=>if car='0' then st<="000" 支干道黃燈亮 5 秒elseif eoc='0' then h1:=0;l1:=4; h2:=0;l2:=4;eoc:='1' g1<='0'r1<='1'y1<='0'g2<='0'r2<='
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《穴位敷貼技術(shù)》課件
- 民政局二零二五年度離婚合同規(guī)范范本12篇
- 2025年農(nóng)藥企業(yè)環(huán)保合規(guī)咨詢與服務(wù)合同2篇
- 2025年度苗圃基地與林業(yè)部門合作項目合同4篇
- 2025年二手房地產(chǎn)交易合同
- 二零二五年度綠化養(yǎng)護設(shè)備租賃合同3篇
- 2025年代理墊資合同
- 人員聘用合同范本
- 二零二五年度有機農(nóng)產(chǎn)品農(nóng)場租賃合同模板詳解3篇
- 二零二五年度定制化豪華門樓施工與維護服務(wù)合同4篇
- 廣東省佛山市2025屆高三高中教學質(zhì)量檢測 (一)化學試題(含答案)
- 人教版【初中數(shù)學】知識點總結(jié)-全面+九年級上冊數(shù)學全冊教案
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學2023-2024學年七上期末數(shù)學試題(解析版)
- 2024-2025學年人教版七年級英語上冊各單元重點句子
- 2025新人教版英語七年級下單詞表
- 公司結(jié)算資金管理制度
- 2024年小學語文教師基本功測試卷(有答案)
- 未成年入職免責協(xié)議書
- 項目可行性研究報告評估咨詢管理服務(wù)方案1
- 5歲幼兒數(shù)學練習題
- 2024年全國體育單招英語考卷和答案
評論
0/150
提交評論