版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.EDA實(shí)驗(yàn)報(bào)告一、課程設(shè)計(jì)題目及要求題目: 十字路口交通燈具體要求: 設(shè)計(jì)一個(gè)十字路口的交通燈控制器,能顯示十字路口東西、南北兩個(gè)方向紅、黃、綠燈的指示狀態(tài)。用兩組紅、黃、 綠三種顏色的燈分別作為東西、南北兩個(gè)方向 紅、黃、綠等。變化規(guī)律為:東西綠燈亮,南北紅燈亮東西黃燈亮,南北紅燈亮東西紅燈亮,南北綠燈亮東西紅燈亮,南北黃燈亮東西綠燈亮,南北紅燈亮······,這樣循環(huán)下去。南北方向每次通行時(shí)間為45秒,東西方向每次通行時(shí)間為45秒,要求兩條交叉道路上的車輛交替運(yùn)行,時(shí)間可設(shè)置修改。綠燈轉(zhuǎn)為紅燈時(shí),要求黃燈先亮5秒鐘,才能變換運(yùn)行
2、車道。并要求所有交通燈的狀態(tài)變化在時(shí)鐘脈沖上升沿處。二、實(shí)驗(yàn)編程環(huán)境QuartusII 8.0 三、課程設(shè)計(jì)的詳細(xì)設(shè)計(jì)方案(一)、總體設(shè)計(jì)方案的描述1.1、根據(jù)交通燈系統(tǒng)設(shè)計(jì)要求,可以用一個(gè)有限狀態(tài)機(jī)來實(shí)現(xiàn)這個(gè)交通燈控制器。首先根據(jù)功能要求,明確兩組交通燈的狀態(tài),這兩組交通燈總共共有四種狀態(tài),我們用ST0,ST1,ST2,ST3 來表示: St0表示東西路綠燈亮,南北路紅燈亮; St1表示東西路黃燈亮,南北路紅燈亮; St2表示東西路紅燈亮,南北路綠燈亮; St3表示東西路紅燈亮,南北路黃燈亮;1.2、根據(jù)上述四種狀態(tài)描述列出的狀態(tài)轉(zhuǎn)換表 表9-1 交通燈控制器狀態(tài)轉(zhuǎn)換表當(dāng)前狀態(tài)下一狀態(tài)轉(zhuǎn)換條
3、件St0St1主路綠燈亮了40秒St1St2主路黃燈亮了5 秒St2St3主路綠燈亮了 40秒St3St0支路黃燈亮了5秒1.3、根據(jù)狀態(tài)轉(zhuǎn)換表得到交通燈控制器的狀態(tài)轉(zhuǎn)移圖如圖所示。 St0St3St1St2 交通燈控制器的狀態(tài)轉(zhuǎn)移圖(二)各個(gè)模塊設(shè)計(jì)2.1、控制器模塊控制器模塊示意圖其中,clk為時(shí)鐘信號(hào),時(shí)鐘上升沿有效。hold為緊急制動(dòng)信號(hào),低電平有效。ared,agreen,ayellow分別表示東西方向的紅燈,黃燈,綠燈顯示信號(hào),高電平有效。bred,bgreen,byellow分別表示南北方向的紅燈,黃燈,綠燈顯示信號(hào),高電平有效。用于控制紅綠黃燈的亮暗情況。2.2、45秒倒計(jì)時(shí)計(jì)
4、數(shù)器模塊 CLKENCRQL3.0QH3.0OCm45inst245秒倒計(jì)時(shí)計(jì)數(shù)器模塊示意圖 其中,CLK為時(shí)鐘信號(hào),時(shí)鐘上升沿有效。EN為使能端,高電平有效。CR為緊急制動(dòng)信號(hào)低電平有效。QL3.0是計(jì)數(shù)低位。QH3.0是計(jì)數(shù)高位。用于45秒的倒計(jì)時(shí)計(jì)數(shù)。2.3、7位譯碼器模塊7位譯碼器模塊示意圖其中dat3.0為要譯碼的信號(hào)。a,b,c,d,e,f,g為譯碼后的信號(hào)。用于將45秒倒計(jì)時(shí)計(jì)數(shù)的信號(hào)譯碼成數(shù)碼管可以識(shí)別的信號(hào)。2.4、50MHZ分頻器模塊50MHZ分頻器模塊示意圖其中clk為50MHZ時(shí)鐘信號(hào),時(shí)鐘上升沿有效。輸出clk_out為1HZ時(shí)鐘信號(hào),時(shí)鐘上升沿有效。用于將50MHZ
5、的時(shí)鐘信號(hào)轉(zhuǎn)變成1HZ的時(shí)鐘信號(hào)。(三)結(jié)構(gòu)圖設(shè)計(jì)(四)仿真電路時(shí)序仿真圖從圖中可看到首先進(jìn)入st0狀態(tài),此時(shí)東西路綠燈亮,南北路紅燈亮;計(jì)數(shù)器計(jì)數(shù)到40秒時(shí),交通燈控制器進(jìn)入st1狀態(tài),此時(shí)東西路黃燈亮,南北路紅燈亮;在st1狀態(tài)計(jì)數(shù)器又開始計(jì)數(shù),計(jì)數(shù)器計(jì)數(shù)到5秒后,交通燈控制器狀態(tài)進(jìn)入st2,此時(shí)東西路紅燈亮,南北路綠燈亮;在st2狀態(tài)計(jì)數(shù)器又開始計(jì)數(shù),計(jì)數(shù)器計(jì)數(shù)到40秒后,交通燈控制器狀進(jìn)入st3狀態(tài),此時(shí)東西路紅燈亮,南北路綠燈亮;在st3狀態(tài)計(jì)數(shù)器又開始計(jì)數(shù),計(jì)數(shù)器計(jì)數(shù)到5秒后,交通燈控制器狀態(tài)進(jìn)入st0狀態(tài),此時(shí)東西路綠燈亮,南北路紅燈亮,如些循環(huán)反復(fù),完成十字交通路口的紅綠燈控制
6、。A0-G0,A1-G1分別為45到0的譯碼。(五)分配引腳為了對(duì)此工程進(jìn)行硬件測(cè)試,應(yīng)將編譯成功后的程序下載到目標(biāo)芯片上,并指定輸入輸出信號(hào)的管腳,以便添加激勵(lì)信號(hào)和測(cè)試輸出信號(hào)。 在下載編譯成功的文件之前,需要制定器件的管腳,選擇Assignments|Pins命令,在隨后出現(xiàn)的下拉列表框中選擇對(duì)應(yīng)端口信號(hào)名的器件引腳號(hào),如下圖:四、設(shè)計(jì)總結(jié)和心得通過此次EDA設(shè)計(jì),我系統(tǒng)性的學(xué)習(xí)了課本上相關(guān)的知識(shí),對(duì)課堂上的知識(shí)更加了解。通過認(rèn)真研究課本,使我對(duì)EDA程序設(shè)計(jì)有了一定思路;通過實(shí)驗(yàn)課的學(xué)習(xí),在程序的設(shè)計(jì),程序的調(diào)試方面都學(xué)到了很多東西,在這幾天時(shí)間里,實(shí)驗(yàn)室的氛圍對(duì)我們的影響很大,大家一
7、起努力,這也是我們能完成課設(shè)的動(dòng)力。其中在編程中也出現(xiàn)了很多的問題,但通過老師和同學(xué)的幫助下,把問題一一解決。其實(shí)只要我們自己認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會(huì)發(fā)下錯(cuò)誤,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)EDA更是如此,程序只有經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。五、源代碼控制器模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity control is port(clk,hold:in std_logic; are
8、d,agreen,ayellow,bred,bgreen,byellow:out std_logic);end control;architecture behavior of control is type state_type is (s0,s1,s2,s3,s4); signal current_state,next_state : state_type; signal counter : std_logic_vector(6 downto 0); beginsynch : processbegin wait until clk'event and clk ='1'
9、; if hold='0' then counter<=counter; else if counter<89 then counter<=counter+1; else counter<=(others=>'0'); end if; end if; end process; processbegin wait until clk'event and clk='1' current_state<=next_state;end process;state_trans:process(current_sta
10、te)begin case current_state iswhen s0=> if hold='0' then next_state<=s4; else if counter<39 then next_state<=s0; else next_state<=s1; end if; end if;when s1=> if hold='0' then next_state<=s4; else if counter<44 then next_state<=s1; else next_state<=s2; e
11、nd if; end if;when s2=> if hold='0' then next_state<=s4; else if counter<84 then next_state<=s2; else next_state<=s3; end if; end if;when s3=> if hold='0' then next_state<=s4; else if counter<89 then next_state<=s3; else next_state<=s0; end if; end if;wh
12、en s4=> if hold='0' then next_state<=s4; else if counter<39 then next_state<=s0; elsif counter<44 then next_state<=s1; elsif counter<84 then next_state<=s2; elsif counter<89 then next_state<=s3; end if; end if; end case;end process;output:process(current_state)b
13、egincase current_state iswhen s0 => ared<='0' agreen<='1' ayellow<='0' bred<='1' bgreen<='0' byellow<='0'when s1 => ared<='0' agreen<='0' ayellow<='1' bred<='1' bgreen<='0'
14、byellow<='0'when s2 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen<='1' byellow<='0'when s3 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen<='0' by
15、ellow<='1'when s4 => ared<='1' agreen<='0' ayellow<='0' bred<='1' bgreen<='0' byellow<='0'end case;end process;end behavior;45秒倒計(jì)時(shí)計(jì)數(shù)器模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity m45
16、isport( CLK :in std_logic; EN :in std_logic; CR :in std_logic; QL,QH :out std_logic_vector(3 downto 0); OC :out std_logic );end m45;architecture behav of m45 is signal couL,couH:std_logic_vector(3 downto 0);begin process(CR,CLK,EN) begin if CR='0' thencouL<="0000"couH<="
17、0000"elsif clk'event and clk='1' thenif EN='1' thenif(couL=0 and couH=0)thencouL<="0100"couH<="0100"elsif couL=0 thencouL<="1001"couH<=couH-1;else couL<=couL-1;end if;end if;end if;end process;process(couL,couH)beginif(couL=0 and
18、couH=0) thenOC<='1'elseOC<='0'end if;end process;QL<=couL;QH<=couH;end behav;7位譯碼器模塊:library ieee;use ieee.std_logic_1164.all;entity seg7 isport(dat : in std_logic_vector(3 downto 0);a,b,c,d,e,f,g : out std_logic);end seg7;architecture arc of seg7 issignal tmp :std_logic_
19、vector(6 downto 0);beginprocess(dat)begincase dat iswhen"0000"=>tmp<="0000001"when"0001"=>tmp<="1001111"when"0010"=>tmp<="0010010"when"0011"=>tmp<="0000110"when"0100"=>tmp<="1
20、001100"when"0101"=>tmp<="0100100"when"0110"=>tmp<="0100000"when"0111"=>tmp<="0001111"when"1000"=>tmp<="0000000"when"1001"=>tmp<="0000100"when"1010"=>tmp<="0001000"when"1011"=>tmp<="1100000"when"1100"=>tmp<="0110001"when"1101"=>tmp<="1000010"when"
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版瓷磚行業(yè)展會(huì)贊助合同3篇
- 2024泰州旅游行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)范本2篇
- 2024標(biāo)的為800萬元的物流服務(wù)合同
- 2025年度綠色節(jié)能產(chǎn)品展銷會(huì)參展服務(wù)合同書3篇
- 二零二五年度高層管理人才派遣服務(wù)合同2篇
- 2025年度集裝箱金融服務(wù)合同含融資與結(jié)算3篇
- 2024版紗窗訂購合同范本
- 2025年度鋼材企業(yè)兼并收購合同2篇
- 2024版擔(dān)保個(gè)人借款協(xié)議
- 二手房一次性付款買賣合同版
- 高職《勞動(dòng)教育》指導(dǎo)綱要
- XX公司年會(huì)活動(dòng)報(bào)價(jià)單
- 鋼鐵生產(chǎn)企業(yè)溫室氣體核算與報(bào)告案例
- 農(nóng)業(yè)合作社全套報(bào)表(已設(shè)公式)-資產(chǎn)負(fù)債表-盈余及盈余分配表-成員權(quán)益變動(dòng)表-現(xiàn)金流量表
- 貝利嬰幼兒發(fā)展量表BSID
- 人教部編版八年級(jí)歷史下冊(cè)第7課 偉大的歷史轉(zhuǎn)折課件(共25張PPT)
- SB/T 10863-2012家用電冰箱維修服務(wù)技術(shù)規(guī)范
- 偏癱患者的臨床護(hù)理及康復(fù)評(píng)估課件
- 公路施工期環(huán)保課件
- 檢驗(yàn)科危急值項(xiàng)目范圍考核試題與答案
- 3Q模板 IQOQPQ驗(yàn)證方案模版
評(píng)論
0/150
提交評(píng)論