本文介绍常见的电路——计数器,然后我们由计数器电路讲解到分频电路。
一、计数器
(1)计数器代码
计数器,顾名思义就是在时钟的节拍下进行计数,一个简单的N位计数器的代码如下所示,这个计数器从0计数到2^N - 1(共计数了2^N个数,也就是N位计数器):
1 module count#(parameter N=8)( 2 input clk, 3 input clear, 4 output[N-1:0] cnt_Q 5 ); 6 reg[N-1:0] cnt; 7 assign cnt_Q = cnt; 8 9 always@(posedge clk)10 if(clear)11 cnt <= 'h0; //同步清 0,高电平有效12 else13 cnt <= cnt+1'b1; //加法计数14 15 endmodule
上述描述的计数器通过 clear 信号清除计数值,然后下一周期开始加 1 计数;当计数器计到能够存储的最大数值时, 例如本例为 8 个 1,即 8'hff 就会自动回到 0,然后开始下一轮计数。
综合得带的电路如下所示:
网友评论