Reformat Counter
This commit is contained in:
33
Counter.sv
33
Counter.sv
@ -11,27 +11,28 @@ module Counter
|
|||||||
|
|
||||||
var logic[WIDTH-1:0] countervalue;
|
var logic[WIDTH-1:0] countervalue;
|
||||||
|
|
||||||
always @(posedge clock or posedge reset)
|
always @(posedge clock or posedge reset) begin
|
||||||
if (reset) begin
|
if (reset) begin
|
||||||
// Reset the counter to 0
|
// Reset the counter to 0
|
||||||
countervalue <= '0;
|
countervalue <= '0;
|
||||||
end else if (~decrement) begin
|
end else if (~decrement) begin
|
||||||
// Increment the counter
|
// Increment the counter
|
||||||
if (countervalue == 10**DIGITS-1) begin
|
if (countervalue == 10**DIGITS-1) begin
|
||||||
// Overflow
|
// Overflow
|
||||||
countervalue <= '0;
|
countervalue <= '0;
|
||||||
end else begin
|
end else begin
|
||||||
countervalue <= countervalue + 1;
|
countervalue <= countervalue + 1;
|
||||||
end
|
end
|
||||||
end else if (decrement) begin
|
end else if (decrement) begin
|
||||||
// Decrement the Counter
|
// Decrement the Counter
|
||||||
if (countervalue == 0) begin
|
if (countervalue == 0) begin
|
||||||
// Underflow
|
// Underflow
|
||||||
countervalue <= '{10**DIGITS-1};
|
countervalue <= '{10**DIGITS-1};
|
||||||
end else begin
|
end else begin
|
||||||
countervalue <= countervalue - 1;
|
countervalue <= countervalue - 1;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
assign binout = countervalue;
|
assign binout = countervalue;
|
||||||
endmodule
|
endmodule
|
Reference in New Issue
Block a user