This module synchronizes transition to a clock by generating a single-period pulse in response to an incoming pulse of arbitrary duration. No further pulses are generated until the input goes low. The figure shows the state diagram.

Ports | Parameters | Notes | Example
| clk | input | The clock input. |
| in | input | The pulse input from which to generate the output pulse. |
| out | output | The output-pulse port. It is the same as state == pulse; |
There are no configurable parameters.
Debounce db (.clk(clk), .in(in), .out(out));