名称:花样彩灯控制器设计VHDL代码Quartus DE2-115开发板
软件:Quartus
语言:VHDL
代码功能:
1.第一种花样:彩灯按顺时针方向逐次点。
2.第二种花样:彩灯按逆时针方向逐次点亮,然后全灭全亮。
3.第三种花样:彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开
4.第三种花样:彩灯连续交叉闪烁。
本控制电路采用VHDL语言设计。运用自顶而下的设计思想,按功能逐层分割实现层次化设计。
根据多路彩灯控制器的设计原理,分别对应彩灯的四种变化模式、利用VHDL语言实现该功能。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. 管脚分配
5. RTL图
6. 仿真图
整体仿真图
分频模块仿真图
流水灯控制模块仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --分频模块 ENTITY div IS PORT ( clk_in : IN STD_LOGIC;--50M clk_div : OUT STD_LOGIC--2Hz ); END div; ARCHITECTURE behave OF div IS SIGNAL clk_2Hz : STD_LOGIC := '0'; SIGNAL cnt_2Hz : integer := 0; BEGIN --分频 PROCESS (clk_in) BEGIN IF (clk_in'EVENT AND clk_in = '1') THEN--仿真将12500000改为125 ,上板改为12500000 IF (cnt_2Hz >= 12500000) THEN--50MHz分频到2Hz,计数12500_000为半个周期 cnt_2Hz <= 0; clk_2Hz <= NOT(clk_2Hz);--计数到后翻转 ELSE cnt_2Hz <= cnt_2Hz + 1;--计数 END IF; END IF; END PROCESS;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1196
793