20 lines
393 B
Verilog
20 lines
393 B
Verilog
/**
|
|
* A 16-bit counter with reset control bits.
|
|
* if (reset[t] == 1) out[t+1] = 0
|
|
* else if (inc[t] == 1) out[t+1] = out[t] + 1 (integer addition)
|
|
* else out[t+1] = out[t]
|
|
*/
|
|
|
|
`default_nettype none
|
|
module Counter(
|
|
input clk,
|
|
input inc,
|
|
input reset,
|
|
output [15:0] out
|
|
);
|
|
reg [15:0] out=0;
|
|
always @(posedge clk)
|
|
out <= reset?0:(inc?out+1:out);
|
|
|
|
endmodule
|