• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

24led流水灯程序设计VHDL代码Quartus仿真

08/15 08:06
893
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240RQR103c6.doc

共1个文件

名称: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

  • 2-240RQR103c6.doc
    下载

相关推荐