名称:花样彩灯控制器设计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
606