文章目录
前言:新两段式状态机基本理论
老三段式状态机:
- 第一段中采用时序逻辑描述状态转移;(用时序逻辑描述当前状态)
- 第二段中采用组合逻辑判断状态转移条件,描述状态转移规律;(用组合逻辑描述下一状态)
- 第三段中描述状态输出,可以用组合电路输出,也可以时序电路输出。
如果把第一段和第二段进行合并而第三段状态机保持不变,就是我们现在最新的二段式状态机了。这种新的写法在现在不同综合器中都可以被识别出来,这样既消除了组合逻辑可能产生的毛刺,又减小了代码量,还更加容易上手,不必再去关心理论模型是怎样的,仅仅根据状态转移图就非常容易实现。
我们习惯性的使用两个均采用时序逻辑的 always 块,第一个 always 块描述状态的转移为第一段状态机,第二个 always 块描述数据的输出为第二段状态机。
本质上新两段式状态机中的state,就是老三段式中的curr_state。进一步理解该句话,可以参考:https://blog.youkuaiyun.com/ReCclay/article/details/124232536