名称:24led流水灯程序设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
24led流水灯程序设计
一共24个led灯,流水灯流水模块分为5种,每种模式下灯变化方式不同。其中流水灯的变化快慢可以通过按键控制,按下按键速度变快。模块分为分频模块和流水灯控制模块,再通过顶层模块将两个模块连接起来。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 功能描述
流水灯程序设计,一共24个led灯,流水灯流水模块分为5种,每种模式下灯变化方式不同。其中流水灯的变化快慢可以通过按键控制,按下按键速度变快。模块分为分频模块和流水灯控制模块,再通过顶层模块将两个模块连接起来。
2. 工程文件
3. 程序文件
4. 程序编译
5. RTL图
6. 仿真文件
Testbench
7. 仿真图
一共5种不同的流水灯变化模块式
控制模块仿真
分频模块
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --流水灯控制 ENTITY caideng IS PORT ( clk : IN STD_LOGIC;--输入时钟 reset_p : IN STD_LOGIC;--复位信号高电平复位 key : IN STD_LOGIC;--speed led : OUT STD_LOGIC_VECTOR(23 DOWNTO 0)--输出24个灯 ); END caideng; ARCHITECTURE top_module OF caideng IS --例化控制模块 component caideng_ctrl IS PORT ( clk_div : IN STD_LOGIC; reset_p : IN STD_LOGIC; led : OUT STD_LOGIC_VECTOR(23 DOWNTO 0) ); END component; --例化分频模块 component div_2Hz IS PORT ( clk : IN STD_LOGIC; key : IN STD_LOGIC;--speed reset_p : IN STD_LOGIC; clk_div : OUT STD_LOGIC ); END component; --定义中间中间信号 SIGNAL clk_div : STD_LOGIC; BEGIN --调用分频模块 i_div_2Hz : div_2Hz PORT MAP ( clk => clk, reset_p => reset_p, key => key, clk_div => clk_div ); --调用控制模块 i_caideng_ctrl : caideng_ctrl PORT MAP ( clk_div => clk_div, reset_p => reset_p, led => led ); END top_module;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=986
阅读全文
893