生成脉冲模块-clk_500ms

来源:互联网 发布:c语言 超级马里奥 编辑:程序博客网 时间:2024/04/30 20:19
原理是将板载时钟进行改变。
module timer_500ms(input clk,output reg clk_500ms);
reg [24:0] cnt;//要表示的最大的数是12500500
initial begin//initial语句:此语句只执行一次。
cnt [24:0] <=0;//<=是非阻塞性赋值
clk_500ms <= 0;
end
always@(posedge clk)//上升沿触发循环,板载时钟是50MHz
if(cnt>=12_500_000) begin//忽略下划线,12_500_000/50MHZ=0.25s
cnt<=0;
clk_500ms <= ~clk_500ms;//0.25S发生一次变化,产生脉冲信号
end
else begin
     cnt<=cnt+1;
end
endmodule