// Latch pulse to level, until cleared module pulse_to_level ( input wire clock, input wire clear, input wire pulse_in, output reg level_out ); initial begin level_out = 1'b0; end always @(posedge clock) begin level_out = pulse_in | level_out; level_out = (clear == 1'b1) ? 1'b0 : level_out; end endmodule