verilog里实现时钟分频有很多种方法,比如用计数器计数,或状态机也行,下面我讲下自己常用的以同一个计数器的方式实现的多种2次方的分频方法。
例:
input clk;
reg [23:0]count;
clk2=count[0];//2分频
clk4=count[1];//4分频
clk8=count[2];//8分频
clk16=count[3]://16分频
always @(posedge clk)
count<=count+1;
总结也就是:count[N]是2的(N+1)次方分频