Make a decade counter that counts 1 through 10, inclusive. The reset input is synchronous, and should reset the counter to 1.
前言
两个输入,包括一个时钟clk,一个高电平有效的同步置位信号reset;一个输出信号q。
代码
module top_module (
input clk,
input reset,
output [3:0] q);
always@(posedge clk)begin
if(reset) q<=4'h1;
else if(q<4'ha) q<=q+1'b1;
else q<=4'h1;
end
endmodule
总结
要求从1计数到10,因此置位值q应该为4’h1,不能为4’h0,并且循环结束的else值也为4‘h1,才能保证计数范围从0→9变为1→10。