Moore型FSM:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状)
Mealy型FSM:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入)
由状态机的示意图可知,Mealy FSM的输出会在输入变化后立即变化,不依赖于时钟的同步;而Moore FSM的输入变化后,必须等待下一个时钟周期状态发生变化时才能导致输出的变化。因此Moore机比Mealy机多一个等待时钟周期才会引起输出的变化。
因为Mealy机的输出不与时钟同步,当状态译码比较复杂时,易在输出端产生不可避免的竞争毛刺;而Moore机的输出与时钟保持同步,则在一定的程度上可以消除抖动,因此经常使用Moore机设计来提高系统的稳定性。
参考文章:http://www.cnblogs.com/jianyungsun/archive/2011/01/23/1942571.html
图片来自网络