状态机
简称FSM,也叫同步有限状态机
同步:同步的意思就是在系统时钟的作用下
有限:有限代表状态机中的状态是有限的
根据影响输出分为两大类,一为Moore、二为Mealy
Moore:若最后的输出只与当前的状态有关,与输入无关则称为 Moore 型状态机
Mealy: 最后的输出不仅和当前状态有关还和输入有关则称为 Mealy 型状态机
我们一般都爱画成Mealy型状态机,因为他是最简的
状态转移图
三要素:输入、输出、状态
输入:决定是否进行状态的跳转以及输出
输出:根据当前状态机的状态以及输入的信号决定状态机系统要执行的动作或者要执行的功能
状态:根据输入的情况和状态机上一个状态决定当时所处的状态
在我们画图的时候状态机状态一般用大写来表示!!!如图所示
独热码
独热码的编码格式就是每个状态,只有一个bit是高电平
在代码综合的时候,会综合成一个比较器,并且比较器只有一个位不同,会产生优化,节省了逻辑资源,但是使用了较多寄存器资源
独热码可以在高速系统中使用
二进制码
也就是十进制的二进制表示而已
恰恰与独热码相反,节省了寄存器变量的使用,综合的时候无法进行优化,使用了较多的组合逻辑资源,并且多个位比较我们还要保证同时到达比较器去比较 ,增加了布线难度(等长)
格雷码
挨着的,必须且只有一位不同,也就是00,01,11,10这样子
其优势就是相当于独热码跟格雷码的折中
总结
在低速系统中,状态机中状态的个数<4个,使用二进制码
在低速系统中,状态机中状态的个数在4~24个,我们使用独热码
在低速系统中,状态机中状态的个数>24个,使用格雷码