设计一个从 1 到 10 的计数器
Function:设计一个从 1 到 10 的计数器,从1开始计到10
1.design code
module top_module ( input clk, input reset, // Synchronous active-high reset output reg [3:0] q); always @(posedge clk) begin if (reset || q == 4'd10) begin q <= 4'd1; end else begin q <= q + 1'b1; end end endmodule
2.testbench code
module top_module_testbench(); reg clk; reg reset; wire [3:0] q; top_module instance1( .clk(clk), .reset(reset), .q(q) ); initial begin #0 clk = 0; reset = 0; #4 reset = 1; #12 reset = 0; #400 $stop; end always #5 clk = ~clk; endmodule