Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1023846
  • 博文数量: 159
  • 博客积分: 4079
  • 博客等级: 上校
  • 技术积分: 2373
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-24 13:35
个人简介

诚实守信!

文章分类

全部博文(159)

文章存档

2015年(2)

2014年(18)

2013年(9)

2012年(57)

2011年(31)

2009年(42)

分类:

2009-09-08 14:30:25

// lled.v
/********************************文件信息***********************************
**文件名字: led.v
**创建日期: 2008.07.10
**版本号: v1.0
**功能描述: 实现流水灯功能
**
****************************************************************************/
module led(
sysclk,
reset,
ledout
);
input sysclk; //系统时钟
input reset; //复位
output[3:0] ledout; //LED输出
reg [3:0] ledout;
reg [3:0]state; //状态机
reg divclk; //分频时钟
reg [25:0]divclk_cnt; //分频计数寄存器
/****************************************************************************
**模块名称:分频模块
**功能描述:把系统时钟分频,产生0.5S的时钟
*****************************************************************************/
sysclk)
begin
if(divclk_cnt==26'd12000000)
begin
divclk=~divclk;
divclk_cnt=0;
end
else
begin
divclk_cnt=divclk_cnt+1'b1;
end
end
/****************************************************************************
**模块名称:
**功能描述:利用状态机转换产生流水灯效果
*****************************************************************************/
divclk or negedge reset)
begin
if(reset==0)
begin
ledout<=4'b0000;
state<=4'b0001;
end
else
begin
case(state)
4'b0001:
begin
ledout<=4'b0001;
state<=4'b0010;
end
4'b0010:
begin
ledout<=4'b0010;
state<=4'b0100;
end
4'b0100:
begin
ledout<=4'b0100;
state<=4'b1000;
end
4'b1000:
begin
ledout<=4'b1000;
state<=4'b0001;
end
default:
begin
ledout<=4'b0000;
state<=4'b0001;
end
endcase
end
end
endmodule
阅读(647) | 评论(0) | 转发(0) |
0

上一篇:流水灯3

下一篇:二选一两路选择器

给主人留下些什么吧!~~