Moore and mealy machine equivalence
Moore versus Mealy Machines (with proper synchronisation)

Moore machine outputs are a function of the state.
Mealy machine outputs are a function of the state and inputs.

A common flaw with these machines is that the outputs are neither synchronised to the change of state nor the clock edge due to the vagaries of the combinational output logic which can create glitches due to propagation delays, races and hazards. Worse, a combinational feedback loop can be created if the outputs of a Mealy machine are connected to the inputs of a second Mealy machine whose outputs are connected to the inputs of the first Mealy machine.
By rearranging the machines, the outputs can be properly synchronised to both the change of state and the clock edge, Figures 1 and 2.
I've created a State Machine Wizard to implement a properly synchronised Moore machine.

Figure 1 ‐ Moore machine with outputs synchronised to state and clock.


Figure 2 – Mealy machine with outputs synchronised to state and clock.