该程序实现了按键去抖动功能。具体实现步骤如下:

  1. 采样:将输入的按键状态i_key采集至key_samp1中。

  2. 锁存:将key_samp1锁存至key_samp1_locked中。

  3. 判断按键变化:当key_samp1由1变为0时,key_changed1由0变为1,只维持一个时钟周期。

  4. 计数:一旦有按键按下,cnt立即被清零;当key_changed1为0且cnt计数值达到20ms(50M时钟下),即认为按键不抖动,开始采集按键状态。

  5. 采样:将i_key采集至key_samp2中。

  6. 锁存:将key_samp2锁存至key_samp2_locked中。

  7. 判断按键变化:当key_samp2由1变为0时,key_changed2由0变为1,只维持一个时钟周期。

  8. 输出键值:每次按键稳定后,输出键值。按下为0,松开为1。

因此,仿真测试结果应该是按下按键后,经过一段时间的去抖动处理,输出相应的键值。


原文地址: https://www.cveoy.top/t/topic/fD08 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录