資源描述:
《EDA試驗(yàn)設(shè)計(jì)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、EDA試驗(yàn)設(shè)計(jì)報(bào)告----------之交通燈學(xué)院:電子工程學(xué)院班級(jí):021052學(xué)號(hào):02105123姓名:阿鵬仁一、選題目的:交通燈作為現(xiàn)代十字路口對(duì)交通信號(hào)燈進(jìn)行管理,在我們的出行方面起很大的作用,防止了很多交通事故的發(fā)生,是現(xiàn)代交通建設(shè)方面不可缺少的一部分。本次試驗(yàn)是基于EDA技術(shù)實(shí)現(xiàn)對(duì)交通燈設(shè)計(jì),因?yàn)榻煌舯容^好實(shí)現(xiàn),各自之間的模塊分明,還能掌握在設(shè)計(jì)交通燈過程中的一些模塊,使我更加深刻的理解EDA這門將軟件和硬件結(jié)合起來的技術(shù)。讓我對(duì)VHDL語言有了更深一步的了解,跟C語言和其他的語言比起來,VHDL語言呈現(xiàn)了它獨(dú)特的性質(zhì),它是并行運(yùn)行
2、的一種語言。此外,通過本次試驗(yàn),使我熟悉掌握了用EDA技術(shù)實(shí)現(xiàn)某一工程的全過程,在以后的運(yùn)用中,能更熟練的操作。二、設(shè)計(jì)目標(biāo):一個(gè)十字路口交通控制系統(tǒng),其東西,南北兩個(gè)方向除了有紅、黃、綠燈指示是否允通行外,還設(shè)有時(shí)鐘,以倒計(jì)時(shí)方式顯示每一路允許通行的時(shí)間,綠燈,黃燈,紅燈的持續(xù)時(shí)間分別是40、5和45秒。當(dāng)東西或南北兩路中任一道上出現(xiàn)特殊情況,例如有消防車,警車要去執(zhí)行任務(wù),此時(shí)交通控制系統(tǒng)應(yīng)可由交警手動(dòng)控制立即進(jìn)入特殊運(yùn)行狀態(tài),即兩條道上的所有車輛皆停止通行,紅燈全亮,時(shí)鐘停止計(jì)時(shí),且其數(shù)字在閃爍。當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,管理系統(tǒng)恢復(fù)原來的狀態(tài),
3、繼續(xù)正常運(yùn)行。通過VHDL語言的編寫,生成元器件,然后手動(dòng)連接電路,再對(duì)整個(gè)過程進(jìn)行調(diào)式,如果正確的話進(jìn)行波形仿真,波形符合理論上的波形的話,最后一步在把整個(gè)程序燒進(jìn)板子里面,實(shí)現(xiàn)對(duì)交通燈的模擬。一、實(shí)現(xiàn)方案:原理框圖:A紅燈亮B紅燈亮hold=0A綠燈亮B紅燈亮40sA黃燈亮B紅燈亮5A紅燈亮B綠燈亮40A紅燈亮B黃燈亮5hold=1hold=1hold=1設(shè)計(jì)流程圖:一、設(shè)計(jì)過程設(shè)計(jì)交通燈需要四個(gè)模塊,分別是:分頻器、倒計(jì)時(shí)計(jì)數(shù)器、控制器、7字段譯碼器,其對(duì)應(yīng)的實(shí)體名為:devide、M45、control、seg7。將程序編寫好以后,以實(shí)體名
4、為名的文件進(jìn)行保存各模塊代碼:devide模塊:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydevideisport(clk:instd_logic;clk_out:outstd_logic);enddevide;architecturearc_devideofdevideissignalcount:std_logic_vector(21downto0);beginprocessbeginwaituntilclk'eventandclk='1
5、';if(count<4)thencount<=count+1;clk_out<='0';elsecount<=(others=>'0');clk_out<='1';endif;endprocess;endarchitecturearc_devide;M45模塊:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitym45isport(CLK:instd_logic;EN:instd_logic;CR:instd_logic;QL,QH:outstd_
6、logic_vector(3downto0);OC:outstd_logic);endm45;architecturebehavofm45issignalcouL,couH:std_logic_vector(3downto0);beginprocess(CR,CLK,EN)beginifCR='0'thencouL<="0000";couH<="0000";elsifclk'eventandclk='1'thenifEN='1'thenif(couL=0andcouH=0)thencouL<="0100";couH<="0100";elsifcou
7、L=0thencouL<="1001";couH<=couH-1;elsecouL<=couL-1;endif;endif;endif;endprocess;process(couL,couH)beginif(couL=0andcouH=0)thenOC<='1';elseOC<='0';endif;endprocess;QL<=couL;QH<=couH;endbehav;control模塊:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityco
8、ntrolisport(clk,hold:instd_logic;ared,agreen,ayellow,bred,bgr