如何在verilog中实现去抖动

时间:2013-11-06 01:26:23

标签: verilog debouncing

我使用DE2板的按钮作为异步复位,但它无法正常工作。 这是我的n位寄存器模块:

module regne (D, Clock, Resetn, Q);

    parameter n;
    input [n-1:0] D;
    input Clock, Resetn;
    output reg [n-1:0] Q;

    always @ (posedge Clock or negedge Resetn)
    begin
        if (Resetn == 0)
            Q[n-1:0] <= 'b0;
        else
            Q[n-1:0] <= D[n-1:0];
    end
endmodule

但是,重置无法正常工作。按下按钮时它什么也没做。我认为这是由按钮弹跳引起的。那么如何在Verilog中实现去抖动呢?

1 个答案:

答案 0 :(得分:0)

您不需要为DE2按钮实施去抖动。它的按钮(按钮和开关按钮)本身就具有去抖动功能。

替换

always @ (posedge Clock or negedge Resetn)

always @ (posedge Clock)

如果它不起作用且您确定您的引脚分配,请确保您的电路板工作正常。