資源描述:
《EDA_流水燈設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、EDA課程設(shè)計(jì)報(bào)告設(shè)計(jì)課題:流水燈姓名:專業(yè):電子信息工程學(xué)號(hào):流水燈1.設(shè)計(jì)的任務(wù)與要求此次設(shè)計(jì)彩燈控制系統(tǒng)就是為了了解如何運(yùn)用VHDL語(yǔ)言來(lái)實(shí)現(xiàn)彩燈的循環(huán)控制,并且能改變彩燈循環(huán)的模式。從而能為以后制作跑馬燈,花樣燈等打下基礎(chǔ)。更好的掌握對(duì)日常各式各樣變幻燈的認(rèn)識(shí)。1.畫出仿真波形圖2.寫出VHDL語(yǔ)言3.編寫設(shè)計(jì)報(bào)告,寫出設(shè)計(jì)的全過(guò)程,附上有關(guān)資料和圖紙(也可直接寫在相關(guān)章節(jié)中),有心得體會(huì)。2.方案2.1彩燈控制系統(tǒng)的方案彩燈是由實(shí)驗(yàn)箱上的LED燈代替,有一下四種循環(huán)模式 (1)彩燈從左
2、到右逐次閃亮。然后從右到左逐次熄滅。 (2)彩燈兩邊同時(shí)各亮一個(gè),然后逐次向中間點(diǎn)亮?! ?3)彩燈從左到右兩個(gè)兩個(gè)點(diǎn)亮,然后從右到左兩個(gè)兩個(gè)逐次熄滅。(4)彩燈中間兩個(gè)點(diǎn)亮。然后同時(shí)向兩邊散開(kāi)。(5)彩燈最后一個(gè)開(kāi)始亮一次,結(jié)束亮一次,其他的兩個(gè)兩個(gè)逐次亮(6)彩燈在開(kāi)始和結(jié)束時(shí)候,最后兩個(gè)燈亮起,其他從左到右逐次亮(7)彩燈第七個(gè)在第三次,其他的兩個(gè)兩個(gè)逐次亮(8)彩燈第五個(gè)和第八個(gè)在第一次亮,第八個(gè)在第二次亮,其他的兩個(gè)兩個(gè)逐次亮本控制電路采用VHDL語(yǔ)言設(shè)計(jì)。運(yùn)用自頂而下的設(shè)計(jì)思想,按功
3、能逐層分割實(shí)現(xiàn)層次化設(shè)計(jì)。根據(jù)多路彩燈控制器的設(shè)計(jì)原理,將整個(gè)控制器分為四個(gè)部分,分別對(duì)應(yīng)彩燈的四種變化模式、利用VHDL語(yǔ)言實(shí)現(xiàn)該功能2.2仿真后的波形圖以下為選取四種循環(huán)模式的仿真波形圖:3.系統(tǒng)的VHDL編譯語(yǔ)言LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;USEIEEE.std_logic_ARITH.ALL;USEIEEE.std_logic_UNSIGNED.ALL;ENTITYCaiDengISport(CLK:INstd_logic;RST:inst
4、d_logic;SelMode:instd_logic_vector(2downto0);--彩燈花樣控制Light:outstd_logic_vector(7downto0));ENDCaiDeng;ARCHITECTUREcontrolOFCaiDengISSIGNALclk1ms:std_logic:='0';SIGNALcnt1:std_logic_vector(3downto0):="0000";SIGNALcnt2:std_logic_vector(1downto0):="00";SI
5、GNALcnt3:std_logic_vector(3downto0):="0000";SIGNALcnt4:std_logic_vector(1downto0):="00";SIGNALcnt5:std_logic_vector(3downto0):="0000";SIGNALcnt6:std_logic_vector(3downto0):="0000";SIGNALcnt7:std_logic_vector(3downto0):="0000";SIGNALcnt8:std_logic_vect
6、or(3downto0):="0000";BEGINP1:PROCESS(clk)BEGINif(clk'EVENTANDclk='1')thenifselmode="000"then--第一種彩燈花樣的程序ifcnt1="1111"thencnt1<="0000";elsecnt1<=cnt1+1;endif;casecnt1iswhen"0000"=>light<="10000000";when"0001"=>light<="11000000";when"0010"=>light<="1110
7、0000";when"0011"=>light<="11110000";when"0100"=>light<="11111000";when"0101"=>light<="11111100";when"0110"=>light<="11111110";when"0111"=>light<="11111111";when"1000"=>light<="11111110";when"1001"=>light<="11111100";when"1010"=>light<="11111000";when"
8、1011"=>light<="11110000";when"1100"=>light<="11100000";when"1101"=>light<="11000000";when"1110"=>light<="10000000";whenothers=>light<="00000000";endcase;elsifselmode="001"then--第二種彩燈花樣的程序ifcnt2="11"thencnt2<="00";elsecnt2<=cnt2+1;endif;casecnt