Mealy和moore型状态机的主要区别
状态机一般分为三种类型:
Moore型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状);
Mealy型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入);
混合型状态机。
Moore型与Mealy型两种状态机的不同点在于,Moore型状态机的输出信号是直接由状态寄存器译码得到,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。(摘自:http://hi.baidu.com/qdhdw/blog/item/454cb98f0865c2e7f01f36a9.html)
Mooer状态机的输出只与当前的状态有关,也就是数当前的状态决定输出,而与此时的输入无关,输入只决定状态机的状态改变,不影响电路最终的输出(注意:这里所说的输出不是状态机的状态机状态的输出,而是当前状态的所代表的含义,比如:检测110 序列的状态机,当状态机跳转到STA_GOT110时,电路会有一个输出信号,假如说是find,此时find就会为高电平,其他(状态时)时find就会为低电平。find 是我们最后电路的输出,find的值置于我们的转台机当前所处的状态有关,而与输出无关)。用一本书上的话说就是:Moore状态机的每一状态指定它的输出独立于电路的输入 。
Mealy状态机的输出不仅与当前的状态有关,还与当前的输出有关(同样,不要误认为状态机的输出只能是状态机的状态),即当前的输入和当前的状态共同决定当前的输入。
Mooer 状态机和 Mealy 状态机的状态的是相同的,当前的状态和输入共同决定下一个状态是什么。