[札记][FPGA]有限状态机FSM学习笔记(三)
[笔记][FPGA]有限状态机FSM学习笔记(三)
1. 简介
在数电FPGA中,FSM是一个重要的部分,藉此可以完成一些复杂算法的硬件实现等。其中有关于FSM的写法按照always块的个数来划分,又分为一段式、两段式、三段式状态机。顾名思义,一段式就是状态机由一个always块组成;同理,两段式为两个always块,三段式为三个always块组成。
我们以Mealy状态机来进行一段、两段、三段式状态机的讨论,Mealy状态机的结构如图1所示。
图1 时钟同步的Mealy状态机结构
2. 一段式状态机
上文中我们说道一段式状态机为一个always块,那么根据图1我们可以知道,一段式状态机要同时包含状态跳转和信号输出,即如图2中红色框线所示。
图2 一段式always块
其中F和G为组合逻辑,状态寄存器R为时序逻辑,所以其中应该使用非阻塞赋值(non-blocking),
3. 两段式状态机
4. 三段式状态机