[札记][FPGA]有限状态机FSM学习笔记(三)

[笔记][FPGA]有限状态机FSM学习笔记(三)

1. 简介

  在数电FPGA中,FSM是一个重要的部分,藉此可以完成一些复杂算法的硬件实现等。其中有关于FSM的写法按照always块的个数来划分,又分为一段式、两段式、三段式状态机。顾名思义,一段式就是状态机由一个always块组成;同理,两段式为两个always块,三段式为三个always块组成。

  我们以Mealy状态机来进行一段、两段、三段式状态机的讨论,Mealy状态机的结构如图1所示。

[札记][FPGA]有限状态机FSM学习笔记(三)

            图1  时钟同步的Mealy状态机结构

2. 一段式状态机

  上文中我们说道一段式状态机为一个always块,那么根据图1我们可以知道,一段式状态机要同时包含状态跳转和信号输出,即如图2中红色框线所示。

[札记][FPGA]有限状态机FSM学习笔记(三)

            图2  一段式always块

  其中F和G为组合逻辑,状态寄存器R为时序逻辑,所以其中应该使用非阻塞赋值(non-blocking),

 

3. 两段式状态机

 

 

4. 三段式状态机