diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-11-10 20:16:05 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-11-13 05:54:44 -0600 |
| commit | 7d171c1e3ae6dab855ee264e7926281c3a4d25ca (patch) | |
| tree | a76910c97fcebc9cbbd39994ae7ca50bfad13346 /rtl/debounce.sv | |
| parent | fb572d6cfb54ce212d2f43de00cb2702f0f433ce (diff) | |
Add reset debounce
Diffstat (limited to 'rtl/debounce.sv')
| -rw-r--r-- | rtl/debounce.sv | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/rtl/debounce.sv b/rtl/debounce.sv new file mode 100644 index 0000000..dff9e9e --- /dev/null +++ b/rtl/debounce.sv @@ -0,0 +1,25 @@ +module debounce +( + input logic clk, + dirty, + output logic clean +); + + logic last; + logic[15:0] clean_for; + + always @(posedge clk) begin + last <= dirty; + clean_for <= last == dirty ? clean_for + 1 : 0; + + if(&clean_for) + clean <= last; + end + + initial begin + last = 0; + clean = 0; + clean_for = 0; + end + +endmodule |
