1.概述
有限状态机(Finite-State Machine,FSM),又成为有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。在当今的电子世界,基本所有的器件都是串行的,所以作为控制单元或者是可编程单元的SoC需要进行并行转串行与外界进行通信、控制等,而有限状态机以其简单实用、结构清晰而恰如其分的充当着这个角色。
有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只可能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态,究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。
2.分类
状态机有两种类型,它们根据每种状态机生成的输出类型进行分类。
第一个是Moore状态机,其中输出仅是当前状态的函数,
第二个是Mealy状态机,其中一个或多个输出是当前状态和一个或多个输入的函数。

除了根据状态机各自的输出生成类型对状态机进行分类之外,状态机通常还通过每个状态机采用的状态编码进行分类。 一些更常见的状态编码方式包括
1、Gray(格雷码)码状态机
2、one-ho码(独热码)状态机
3、二进制码状态机
有限状态机编码时采用格雷码和采用独热码的选择:
格雷码:相邻之间只变1bit,编码密度高。
独热码:任何状态只有1bit为1,其余皆为0,编码密度低。
比如说,表示4个状态,那么状态机寄存器采用格雷码编码只需要2bit:00(S0),01(S1),11(S2),10(S3);

本文深入探讨有限状态机(FSM)的基本原理,包括Moore与Mealy状态机的区别,以及格雷码、独热码和二进制编码的应用。通过实例对比,阐述了不同编码方式对组合逻辑和触发器使用的影响,以及如何在Verilog中实现FSM。适合于嵌入式系统和数字电路设计人员。
最低0.47元/天 解锁文章
849

被折叠的 条评论
为什么被折叠?



