同步有限状态机
同步有限状态机
同步有限状态机(Finit State Machine, FSM)用于FPGA处理具有时间上先后顺序的事件。同步指的是所有状态转移都在时钟作用下进行,有限指的是状态有限。
分类
Mealy型状态机:输出取决于当前状态与输入;
Moore型状态机:输出取决于当前状态,与输入无关;
写法
- 一段式状态机:一个
always
模块中既描述状态转移,又描述输入和输出;不推荐 - 二段式状态机:两个
always
模块,一个用同步时序逻辑描述状态转移,另一个用组合逻辑判断转移条件和输出。定义两个状态(现态和次态);组合逻辑容易产生毛刺,不利于约束,不推荐 - 三段式状态机:三个
always
模块,一个用同步时序逻辑描述状态转移,一个用组合逻辑判断转移条件,一个用时序逻辑描述状态输出;
1 | // 1. state 去哪里(时序逻辑) |
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 科海拾零!