名稱:Quartus循環(huán)彩燈設(shè)計VHDL代碼
軟件:Quartus
語言:VHDL
代碼功能:
循環(huán)彩燈控制
設(shè)備及軟件:裝有Quartus II軟件完成設(shè)計數(shù)字系統(tǒng)的計算機
目的:
1.了解系統(tǒng)相關(guān)功能電路圖與印刷電路圖的設(shè)計、繪制,并完成相關(guān)流程的設(shè)計以及硬件描述語言VHDL程序的編寫、設(shè)計與綜合和調(diào)試仿真工作;
2.學會Quartus II軟件完成設(shè)計系統(tǒng)的設(shè)計與綜合;
3.掌握該數(shù)字電路系統(tǒng)的仿真調(diào)試,分析系統(tǒng)功能實現(xiàn)的可行性等。
任務:用EDA技術(shù)設(shè)計一循環(huán)彩燈控制電路,具體要求如下:
1.共有紅、綠、黃3色彩燈各9個;
2.動作類型:1)先紅燈,后綠燈,再黃燈,分別按0.5S的速度跑動一次;2)全部紅燈亮5S;3)黃燈5S;4)綠燈5S;5)前四種類型連續(xù)運行;
3.要求使用7段數(shù)碼管顯示當前顯示的類型;使用鍵盤電路選擇類型。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 總體框圖
5. 仿真圖
整體仿真圖
分頻模塊
控制模塊
數(shù)碼管顯示模塊
部分代碼展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --分頻模塊 ENTITY?clk_div?IS ???PORT?( ??????clk_in???:?IN?STD_LOGIC;--輸入時鐘 ??????clk_2Hz??:?OUT?STD_LOGIC--輸出2Hz ???); END?clk_div; ARCHITECTURE?behave?OF?clk_div?IS ???SIGNAL?clk?:?STD_LOGIC?:=?'0'; ???SIGNAL?cnt?:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000"; BEGIN ???PROCESS?(clk_in) ???BEGIN ??????IF?(clk_in'EVENT?AND?clk_in?=?'1')?THEN ?????????IF?(cnt?>=?"01100011")?THEN--計數(shù)0~99 ????????????cnt?<=?"00000000"; ?????????ELSE ????????????cnt?<=?cnt?+?"00000001";--計數(shù) ?????????END?IF; ??????END?IF; ???END?PROCESS; ??? ??? ???PROCESS?(clk_in) ???BEGIN ??????IF?(clk_in'EVENT?AND?clk_in?=?'1')?THEN ?????????IF?(cnt?>=?"00110001")?THEN--大于49 ????????????clk?<=?'1';--高電平 ?????????ELSE ????????????clk?<=?'0';--低電平 ?????????END?IF; ??????END?IF; ???END?PROCESS; ??? ??? ???clk_2Hz?<=?clk;--輸出2Hz(0.5s) ??? END?behave;
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=427