1.1.1.6 Summary of State Machine Classes

Table 1-1. Summary of State Machine Classes
ClassNameNext-StateOutput
Class 0Combinatorial LogicState does not exist
X1
Output depends upon the inputs with no delay (combinatorial)
If[Q]
Class 1DelayState depends upon the inputs alone to delay the output
Xg[Q]
Output is same as Class 0 but delayed by one state time
Ifg[Q]
Class 2State output, direct state transitionNext-state depends upon the previous state, hence forming a sequence of states
Xg[X]
Output depends upon the current state. Each state can produce only one output.
I=f[X]
Class 3State output, conditional state transition (Moore)Next-state depends upon both the previous state and the inputs, hence having the ability to have alternate state sequences
Xg[X,Q]
Output depends upon the current state. Each state can produce only one output.
I=f[X]
Class 4Conditional state output, conditional state transition (Mealy)Next-state depends upon both the previous state and the inputs, hence having the ability to have alternate state sequences
Xg[X,Q]
Output depends upon the current state and inputs. Each state may produce multiple outputs.
I=f[X,Q]

Legend:

Q = Inputs/Qualifiers to the state machine

I = Outputs/Instructions from the state machine

X = State of the machine (Represents “next-state” if followed by )

T = State time

g = Next-state function

f = Output function