`default_nettype none

module modify_count #(
    parameter MOD_VALUE = 10
) (
    input wire logic clk,
    reset,
    increment,
    output logic rolling_over,
    output logic [3:0] count = 0
);

  always_ff @(posedge clk) begin
    if (reset) count <= 4'b0000;
    else if (increment) begin
      if (rolling_over) count <= 4'b0000;
      else count <= count + 4'b0001;
    end
  end

  always_comb begin
    if (increment && (count == MOD_VALUE - 1)) rolling_over = 1'b1;
    else rolling_over = 1'b0;
  end

endmodule