This may cause glitches in the output signals. We will discuss the problem of output glitches and learn how to remove output glitches from your state machines. In previous discussions, we have discussed the problems of having asynchronous inputs into a state machine. Although asynchronous inputs are not desirable, state machines can be designed to safely use asynchronous inputs. By carefully encoding our state machine to insure that only one state bit changes at each transition, we can eliminate the possibility of entering an improper state.
Some state machines can be extremely large and unfeasible for some programmable technologies.
If a state machine is too large for some technology, we can often partition the state machine into two or more communicating state machines. This reading assignment describes the process of partitioning a state machine into two separate pieces.