gpt4 book ai didi

verilog - 为什么每次按下按钮时都使用这种 2 DFF 方法?

转载 作者:行者123 更新时间:2023-12-02 12:07:35 25 4
gpt4 key购买 nike

我一直在网上阅读 verilog 代码,并在许多代码示例中注意到这一点。每当需要来自硬件源的输入(例如按下按钮)时,输入都会被复制到触发器,然后与输入的反转进行“与”运算。我不知道这是否有意义,但在代码中它是:

input btn;
reg dff1, dff2;
wire db_tick;

always @ (posedge clock) dff1 <= btn;
always @ (posedge clock) dff2 <= dff1;

assign db_tick = ~dff1 & dff2;

然后使用db_tick作为按钮按下。

在某些情况下,这也用作上升沿检测器,但上升沿检测器不能通过 always@(posedge signal) 轻松实现

最佳答案

它被称为单稳态多谐振荡器,或者,特别是对于数字电路,称为单稳态多谐振荡器。该电路的目的是将边沿变为单周期脉冲。

当直接连接到物理开关时,它可以是一种实现开关去抖的方法,但这并不是真正的好用途。如果没有更多上下文,很难说出代码的意图。

关于verilog - 为什么每次按下按钮时都使用这种 2 DFF 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com