名称:Quartus循环彩灯设计VHDL代码
软件:Quartus
语言:VHDL
代码功能:
循环彩灯控制
设备及软件:装有Quartus II软件完成设计数字系统的计算机
目的:
1.了解系统相关功能电路图与印刷电路图的设计、绘制,并完成相关流程的设计以及硬件描述语言VHDL程序的编写、设计与综合和调试仿真工作;
2.学会Quartus II软件完成设计系统的设计与综合;
3.掌握该数字电路系统的仿真调试,分析系统功能实现的可行性等。
1.共有红、绿、黄3色彩灯各9个;
2.动作类型:1)先红灯,后绿灯,再黄灯,分别按0.5S的速度跑动一次;2)全部红灯亮5S;3)黄灯5S;4)绿灯5S;5)前四种类型连续运行;
3.要求使用7段数码管显示当前显示的类型;使用键盘电路选择类型。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. 总体框图
5. 仿真图
整体仿真图
分频模块
控制模块
数码管显示模块
部分代码展示:
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--计数0~99 ????????????cnt?<=?"00000000"; ?????????ELSE ????????????cnt?<=?cnt?+?"00000001";--计数 ?????????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
								
								
								
618