verilog学习()关于同步状态机

          状态机是许多数字系统的核心部件,是一类重要的时序逻辑电路。通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。通常,状态机的状态数量有限,称为有限状态机(FSM)。由于状态机所有触发器的时钟由同一脉冲边沿触发,故也称之为同步状态机。

          根据状态机的输出信号是否与电路的输入有关分为Mealy 型状态机和Moore 型状态机。电路的输出信号不仅与电路当前状态有关,还与电路的输入有关,称为Mealy 型状态机,而电路的输出仅仅与各触发器的状态,不受电路输入信号影响或无输入,称为
Moore 型状态机。其标准模型如下所示:

verilog学习()关于同步状态机_第1张图片

状态机的描述通常有三种方法,称为一段式状态机,二段式状态机和三段式状态机。状态机的描述通常包含以下四部分:

1)利用参数定义语句parameter 描述状态机各个状态名称,即状态编码。状态编码通常有很多方法包含自然二进制编码,One-hot 编码,格雷编码码等;
2)用时序的always 块描述状态触发器实现状态存储;

3)使用敏感表和case 语句(也采用if-else 等价语句)描述状态转换逻辑;
4)描述状态机的输出逻辑。

 

     

你可能感兴趣的:(FPGA学习)