Moore Machine
In a Moore machine the outputs depend only on the current state, giving glitch-free outputs synchronized to the clock.
What it is
A Moore machine is a finite state machine whose outputs are a function of the current state alone. The inputs affect only the next state, not the output directly. Each state is labeled with the output it produces.
Timing behavior
Because outputs come only from the state register, they change only just after a clock edge and stay stable for the whole clock period. This makes Moore outputs clean and easy to use downstream, since they cannot glitch in response to input changes mid-cycle.
Cost in states
The price of state-only outputs is that a Moore machine often needs more states than an equivalent Mealy machine. Any distinct output behavior requires its own state, so situations a Mealy machine handles with one state may need several here.
Reaction delay
A Moore machine reacts to an input one clock later than a Mealy machine, because the input must first change the state before the output can respond. This extra cycle of latency is the trade for stable outputs.
When to choose it
Prefer Moore when output stability matters, when outputs drive other synchronous logic, or when the extra states are acceptable. Its predictable timing makes it the safer default for many control designs.