Moore and Mealy Machines

A finite automaton (FA) is a simple idealized machine used to recognize patterns within input taken from some character set. It has a set of states and rules for moving from one state to another but it depends upon the applied input symbol. There are two types of Finite State Automata-

  • Moore Machine (Output on State)
  • Mealy Machine (Output on Transition)

 

Moore Machine

A Moore Machine is a finite-state machine whose output depends only on a state, i.e., the current state. It is efficient in simplifying a given behaviour. In a State Transition Diagram, each state is labelled with an output value. The name 'Moore' came from 'Edward F. Moore'.

 

Formal Definition of Moore Machine

The Moore Machine is classified in 6-tuple -

(Q, q0, ∑, O, δ, X)

Q - Finite set of states.
q0 - A start state or initial state
- Finite set of symbols called an input alphabet.
O - Finite set of symbols called an output alphabet.
δ - An input transition function, δ: Q × ∑ → Q, it maps a state and the input alphabet to the next state.
X - A output transition function, X: Q × ∑ → O, it maps each state to the output alphabetically.





Mealy Machine

A Mealy Machine is a finite-state machine whose output depends on present input and a state, i.e., the current state. It is efficient in reducing the number of states. In a State Transition Diagram, each transition is labeled with an output value. In this, every transition for a particular input has a fixed output.

 

Formal Definition of Mealy Machine

The Mealy Machine is classified in 6-tuple -

(Q, q0, ∑, O, δ, X)

Q - Finite set of states.
q0 - A start state or initial state
- Finite set of symbols called an input alphabet.
O - Finite set of symbols called an output alphabet.
δ - A input transition function, δ: Q × ∑ → Q, it maps pairs of a state and the input alphabet to next state.
X - A output transition function, X: Q → O, it maps pairs of a state to the output alphabetically.





Differences Between Moore and Mealy Machine

Moore Machine

Mealy Machine

The Moore state machine is simpler and easy to design. The Mealy state machine has low response time.
The output of Moore FSM depends on its present state. The output of Mealy FSM depends on its present input and present state.
If input changes, output does change. If input changes, output also changes.
In Moore machine, more number of states are required. In Mealy machine, less number of states are required.
It needs more logic to decode states into output, so more hardware requires to be designed. It has fewer states than the Moore machine, so less hardware requires to be designed.
In this, state changes synchronous to the clock and output generates asynchronously. In this, state changes and output generate synchronous to the clock.
A Moore machine is easy to design. A Mealy machine is difficult to design.




Applications of Moore and Mealy Machines

The basic applications implemented on Moore and Mealy machines are-

  • Traffic Light Controller
  • Vending Machine
  • War Game

 

Block Diagrams of Moore and Mealy Machines

The fundamental of Moore and Mealy machines will be more clear with the block diagram.

Block Diagram Moore Machine
Block Diagram Mealy Machine