* Question
What kinds of finite state machines are classified according to their structure?
* Answer
Finite State Machines (FSMs) — also called finite automata — can be classified in several ways, but when the classification is based on their structure, they are mainly divided into two fundamental types:
Moore Machine
Mealy Machine
These two types differ in how the outputs are generated relative to the states and inputs.
1. Moore Machine
Definition:
A Moore machine is a finite state machine in which the output depends only on the current state, not directly on the input.
Output=f(State)
Characteristics:
Each state has a fixed output value associated with it.
Outputs change only when the machine changes states (i.e., synchronized with state transitions).
Typically simpler to design and easier to debug.
Advantages:
More stable output (does not fluctuate with input changes).
Suitable for synchronous systems.
Disadvantages:
May require more states than an equivalent Mealy machine to describe the same behavior.
Example:
If a Moore FSM is in state S1, it always produces the same output (e.g., 1), regardless of the input.
2. Mealy Machine
Definition:
A Mealy machine is a finite state machine in which the output depends on both the current state and the current input.
Output=f(State,Input)
Characteristics:
Outputs are associated with transitions between states, not the states themselves.
Outputs can change immediately when inputs change, even without a state change.
Advantages:
Requires fewer states to implement the same logic as a Moore machine.
More responsive, as output can react instantly to input variations.
Disadvantages:
Output can be less stable since it depends directly on inputs.
More complex timing and design considerations.
Example:
If a Mealy FSM is in state S1 and receives input A, it may produce output 1; but with input B (same state), it may produce output 0.
3. Comparison Summary
Feature | Moore Machine | Mealy Machine |
Output depends on | Current state only | Current state and input |
Output changes | On state change | On input or state change |
Output stability | More stable | Less stable (input-sensitive) |
Number of states | More | Fewer |
Response speed | Slower | Faster |
Implementation | Output logic tied to state register | Output logic tied to transition logic |
4. Summary
When classified according to structure, finite state machines are divided into:
Moore Machine – output depends only on the state.
Mealy Machine – output depends on both the state and the input.
Both are widely used in digital logic design, embedded systems, and control circuits.
The choice between them depends on design priorities — simplicity and stability (Moore) or compactness and responsiveness (Mealy).

COMMENTS