打印
[FPGA]

求助,问一个关于消抖电路的问题

[复制链接]
1217|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nm2012|  楼主 | 2014-4-6 19:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这是我在网上搜到的消抖电路verilog代码
  reg key0, key1, key2, key3;
  reg [19:0] cnt;
  
  wire keyy0;
  
  always @(posedge clk, negedge rst)
  begin
    if(!rst)
    begin
      key0<=1;
      key1<=1;
    end
    else
    begin
      key0<=indata;
      key1<=key0;
    end
  end
  
  always @(posedge clk, negedge rst)
  begin
    if(!rst) cnt<=0;
    else if(keyy0) cnt<=0;
    else cnt<=cnt+1;
  end
  
  assign keyy0=key1&(~key0);
  
  always @(posedge clk, negedge rst)
  begin
    if(!rst)
    begin
      key2<=1;
    end
    else if(cnt==20'hfffff)
    begin
      key2<=indata;
    end
  end
  
  always @(posedge clk, negedge rst)
  begin
    if(!rst)
    begin
      key3<=1;
    end
    else
    begin
      key3<=key2;
    end
  end
  
  assign outdata=key3&(~key2);

我怎么感觉有点问题啊
如果出现了下面的时序,结果不就错了吗,求解,谢谢

相关帖子

沙发
nm2012|  楼主 | 2014-4-6 19:15 | 只看该作者

使用特权

评论回复
板凳
GoldSunMonkey| | 2014-4-7 22:02 | 只看该作者
兄弟,所有东西都是以你的实际结果为向导。

使用特权

评论回复
地板
GoldSunMonkey| | 2014-4-7 22:02 | 只看该作者
他的例子,不一定是你的应用

使用特权

评论回复
5
nm2012|  楼主 | 2014-4-7 22:42 | 只看该作者
GoldSunMonkey 发表于 2014-4-7 22:02
他的例子,不一定是你的应用

猴哥,那请问这个程序有木有错呢,我现在在做一个波形发生器的东西,按键都需要消抖,还有,请问reset键如何消抖呢

使用特权

评论回复
6
GoldSunMonkey| | 2014-4-8 08:49 | 只看该作者
nm2012 发表于 2014-4-7 22:42
猴哥,那请问这个程序有木有错呢,我现在在做一个波形发生器的东西,按键都需要消抖,还有,请问reset键 ...

现在消抖都没有什么固定的说法。
你可以把应用给我说一下。然后分析看如何写。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

212

帖子

0

粉丝