module counter_div_100M( input clk, output reg cnt ); reg[27:0] tmp; always @(posedge clk) begin if(tmp>=28'd50000000) begin tmp <= 28'd0; cnt <= ~cnt; end else tmp <= tmp + 1'b1; end endmodule
时间: 2024-02-14 08:36:08 浏览: 97
CLK_DIV_7_quartusII_verilog_modelsim_时钟奇分频_
这是一个基于时钟的计数器,每个时钟周期加1,当计数器达到50000000时,输出反转一次。具体来说,输入时钟信号clk,输出是一个寄存器cnt,用于输出计数器的状态。在计数器模块中,有一个寄存器tmp,它的宽度为28位,用于存储当前的计数值。每个时钟周期,tmp加1,当tmp达到50000000时,计数器清零,输出反转一次。
阅读全文