/*** * debouncer.sv - generates a debounced button press and turns it into * a single pulse. * * @author: Waylon Cude, Dilanthi Prentice * @date: 6-12-25 * * */ //NOTE: you should drive this with a slow clock to actually debounce input module debouncer(input logic clk, input reset, input source, output logic out); logic pressed; always_ff @(posedge clk) begin if (reset) pressed <= 0; if (!source) begin pressed <= 0; out <= 0; end else if (pressed) out <= 0; else begin pressed <= 1; out <= 1; end end endmodule