// led.v
/**************************************************************
** 模块名称:LED
** 功能描述:流水灯
**************************************************************/
module led(
clk_48M, //时钟
reset, //复位信号
LedOut //LED输出
);
input clk_48M; //48M系统时钟
input reset; //复位信号
output [3:0] LedOut; //LED输出控制
reg [20:0] Count; //计数器
reg [3:0] led_reg; //LED输出缓冲区
wire led_clk; //LED显示时钟控制
assign led_clk=Count[20]; //LED显示时间控制
clk_48M or negedge reset) //节拍计数器
begin
if(!reset)
Count<=21'd0;
else
Count<=Count+21'd1; //Count每一个Clk_48M上升沿加一
end
led_clk or negedge reset) //控制LED的循环输出
begin
if(!reset)
led_reg<=4'd0;
else
begin
if(led_reg==4'd0)
led_reg<=4'd1;
else
led_reg<=led_reg<<1'd1; //循环移动
end
end
assign LedOut=~led_reg; //LED输出控制
endmodule