module rise_pulse(
input wire clk,
input wire rst, // synchronous active-high reset
input wire sig_in,
output reg pulse
);
reg prev; // previous sampled value of sig_in
always @(posedge clk) begin
if (rst)
{prev, pulse} <= 2'b00;
else
{prev, pulse} <= {sig_in, (~prev & sig_in)};
end
endmodule