// counter.v
/********************************文件信息***********************************
**文件名字: counter.v
**创建日期: 2008.07.10
**版本号: v1.0
**功能描述: 计数
**
****************************************************************************/
module counter(
rst,
clock,
key,
led
);
input rst; //复位信号
input clock; //时钟
input key; //计数器复位键
output[3:0] led; //四位LED
reg [3:0] led;
reg [3:0] counter; //四位计数器
reg [24:0] cnt; //对时钟进行计数分频
wire clk_equ;
//wire clk;
parameter count=22000000; //分频系数
/**************************************************************************************
**模块名称:分频
parameter count=24000000; //分频系数
**功能描述:利用计数器分频想要的时钟
**************************************************************************************/
clock)
begin
if(!rst) //低电平复位
cnt<=25'd0;
else
if(clk_equ)
cnt<=25'd0;
else
cnt<=cnt+1'b1;
end
assign clk_equ=(cnt==count);//当cnt=count时clk_equ=1;
//assign clk=clk_equ;
/*************************************************************************************
**模块名称:LED输出
**功能描述:当计数器每增加一个值的时候,对应的值输出给LED输出管脚
*************************************************************************************/
clk_equ) //分频的时钟为敏感信号
begin
if(!key)
counter<=4'b0000;
else
begin
counter<=counter+1'b1;
led<=~counter;
end
end
endmodule
阅读(793) | 评论(0) | 转发(0) |