
### Mealy FSM（按键脉冲生成）

按键消抖与单次触发脉冲生成（Mealy FSM）

实现按键的消抖处理和单次触发脉冲输出功能。当按键按下时，产生一个时钟周期的脉冲信号。

输入：
- clk：时钟信号
- reset：异步复位信号，高电平有效
- key_in：按键输入信号，0表示按下（低电平有效）

输出：
- pulse_out：输出脉冲信号，高电平有效，单次触发

状态机设计：
- IDLE（空闲状态）：等待按键按下
- PRESSED（按下状态）：检测到按键按下，产生脉冲并返回空闲状态

工作原理：
1. 复位时进入IDLE状态
2. 在IDLE状态检测到按键按下（key_in=0）时，转换到PRESSED状态
3. 在PRESSED状态时，如果按键仍然按下，输出一个时钟周期的脉冲（pulse_out=1），然后立即返回IDLE状态
4. 这样设计确保每次按键按下只产生一个脉冲，实现单次触发功能

### 验证目标

主要验证有限状态机的功能：
1. 验证状态转换的正确性（IDLE ↔ PRESSED）
2. 验证按键检测功能（key_in=0时的响应）
3. 验证脉冲输出的单次触发特性
4. 验证复位功能（reset时返回IDLE状态）
5. 验证Mealy机特性（输出依赖于当前状态和输入）

不需要验证其他功能，例如波形、接口时序等。

### 其他

所有的文档和注释都用中文编写

### bug分析

在bug分析时，请参考源码：FSM/FSM.v

