(复习)有限状态机

1、有限状态机的定义:

  有限状态机是许多数字系统的核心部件,由时序逻辑和组合逻辑构成,能够根据控制信号按照预先设定的状态进行状态转移。有限状态机分为Moore型状态机和Mealy型状态机。

  Moore型状态机:输出只和状态有关,与输入无关。

  Mealy型状态机:输出不仅和状态有关而且和输入有关。(复习)有限状态机_第1张图片

2、有限状态机的描述方法

  有限状态机的描述方法通常有三种,一段式状态机,两端式状态机,三段式状态机。

  一段式状态机:整个状态机采用一个always模块,既描述状态转移,又描述状态的输入和输出

  两段式状态机:采用两个always模块实现状态机的功能,其中一个采用同步时序逻辑描述状态转移,另一个always采用组合逻辑描述状态转移规律及状态的输出。

  三段式状态机:采用三个always模块实现状态机的功能,一个always模块采用同步时序描述状态转移,一个always采用组合逻辑判断状态转移条件,另一个always模块使用同步时序电路描述状态的输出。

  总结:

  两段式状态机与一段式状态机相比,将同步时序和组合逻辑分开实现,不仅便于阅读、理解、维护,更重要的是利于综合器优化代码。

  两段式状态机用组合逻辑实现状态的输出,组合逻辑很容易产生毛刺,而且不利于约束。

  三段式状态机与两段式状态机相比,关键在于根据状态转移规律,在上一状态根据输入条件判断出当前状态的输出,从而在不插入额外时钟节拍的前提下实现了寄存器输出。

3、有限状态机的状态编码方式

  常见的编码方式有:二进制编码、格雷码、独热码。

二进制编码 格雷码 独热码
00 00 0001
01 01 0010
10 11 0100
11 10 1000

  格雷码:相邻之间只有一位发生变化,编码密度高

  独热码:任何状态只有一位为1,其余为0,编码密度低;特点为每一个状态均有自己的触发器,所以若有N个状态就有N个触发器,任何时刻只有一组状态编码,缺点是会产生较大的电路,但是相对的使用独热码状态编码对帧错相当有帮助。

  具体的原理解释,请参考:

独热码使用较少的组合逻辑

   

你可能感兴趣的:((复习)有限状态机)