基于Verilog的按键控制LED灯

按键控制LED灯

原理图
在这里插入图片描述程序设计

`timescale 1ns / 1ps

module key_led(
input sys_clk,
input sys_rst_n,
input [3:0] key,
output reg [3:0] led
    );
 reg [23:0] cnt;
 reg [1:0] led_control;
 //定义一个计数器 计算led变化的时间
 always@(posedge sys_clk or negedge sys_rst_n)
 begin
    if(!sys_rst_n)
    cnt <= 24'b0;
    else if(cnt < 24'd9)
    cnt <= cnt + 1'b1;
    else
    cnt <= 24'b0;
 end
 //用于设置LED的状态
 always@(posedge sys_clk or negedge sys_rst_n)
 begin
    if(!sys_rst_n)
        led_control <= 2'b00;
    else if(cnt < 24'd9)
        led_control <= led_control + 1'b1;
    else
        led_control <= led_control;
 end 
  
 always