Mealy 和moore 型状态机的主要区别 状态机一般分为三种类型:(说的好像什么似的的,其实不就是都叫状态机而已
) Moore 型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状); Mealy 型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入); 混合型状态机 Mooer 状态机的输出只与当前的状态有关,也就是数当前的状态决定输出,而与此时的输入无关,输入只决定状态机的状态改变,不影响电路最终的输出(注意:这里所说的输出不是状态机的状态机状 态的输出,而是当前状态的所代表的含义,比如:检测110 序列的状态机,当状态机跳转到STA_GOT110 时,电路会有一个输出信号,假如说是find,此时find 就会为高电平,其他(状态时)时find 就会 为低电平
find 是我们最后电路的输出,find 的值置于我们的转台机当前所处的状态有关,而与输出无关)
用一本书上的话说就是:Moore 状态机的每一状态指定它的输出独立于电路的输入
Mealy 状态机的输出不仅与当前的状态有关,还与当前的输出有关(同样,不要误认为状态机的输出只能是状态机的状态),即当前的输入和当前的状态共同决定当前的输入
Mooer 状态机和 Mealy 状态机的状态的是相同的,当前的状态和输入共同决定下一个状态是什么
Verilog // Example of a 5-state Mealy FSM module mealy (data_in, data_out, reset, clock); output data_out; input [1:0] data_in; input reset, clock; reg data_out; reg [2:0] pres_state, next_state; p