上面两种计数器分别对应的代码如下
一、从一开始计数
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)
cnt1<=0;
else if(en==1'b1)
cnt1<=cnt1+1'b1;
else
cnt1<=cnt1;
end
二、从零开始计数
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)
cnt2<=3;
else if(en==1'b1)
if(cnt==3)
cnt2<=0;
else
cnt2<=cnt2+1'b1;
else
cnt2<=cnt2;
end