找回密码
 注册
关于网站域名变更的通知
查看: 262|回复: 1
打印 上一主题 下一主题

 关于按键消抖的问题请教大神?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-5 11:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
 关于按键消抖的问题请教大神?
; [; H+ e) A  V" @& ?2 D! W8 L! ?! r% i- g; K8 w
reg[2:0] key_rst;9 |2 s6 M! G1 R* C: n* ]7 [/ L
  N3 B/ m$ h4 j1 K( b# M
always @(posedge clk  or negedge rst_n)
3 g! e; ~! W" _4 d    if (!rst_n) key_rst <= 3'b111;  \, U$ n8 @5 m: W
    else key_rst <= {sw3_n,sw2_n,sw1_n};
' j( x; h0 \) W+ ^9 M8 n" R
# J3 l5 T4 Y8 Yreg[2:0] key_rst_r;       //每个时钟周期的上升沿将low_sw信号锁存到low_sw_r中
1 E' O* r6 |0 @, W+ R5 Q( T3 X! A0 P- N
always @( posedge clk  or negedge rst_n)
7 V* D2 l% u. j$ W6 W( K( z    if (!rst_n) key_rst_r <= 3'b111;
% b4 E4 J5 q. g! k; _    else key_rst_r <= key_rst;* e' n7 a& \+ I9 q
   - l4 G; S) F6 k9 }8 }! `% C
//当寄存器key_rst由1变为0时,led_an的值变为高,维持一个时钟周期 8 K% s- ?1 z5 L3 a) W
wire[2:0] key_an = key_rst_r & ( ~key_rst);
, N. U/ ^7 o$ X+ Q: d9 q$ j  o, x! l; E
由于相差一个时钟周期最终key_an变为1,但是两个always之间是并行的啊,怎么会相差一个时钟周期呢?( E" U# D# Y; [$ H
请教大神,非常干感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-13 20:12 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表