What is a State Transition Table?
A State Transition Table is similar to a Truth Table, but it additionally stores:
- Current and Next State of the flip-flop(s)
- Current state values are typically written with the inputs, while next state values with outputs
How to Generate a State Transition Table from State/Output Equations?
- List all the current state variables and inputs on the left side of the table.
- Each column represents one input or one flip-flop.
- Total rows in the table are equal to \(\mathsf{2^n}\), where \(\mathsf{n=}\) number of inputs + number of flip-flops.
- List all the next state variables and combinational outputs on the right side of the table.
- Each column represents one output or one flip-flop.
- Fill out each column representing outputs or next state variables using their corresponding equations solved using the input and current state values in the same row.
Example: Generate a State Table from the State/Output Equations
In continuation of our analysis example, we have the following state and output equations:
\begin{align*}
\mathsf{A(t+1) }& \mathsf{ =Ax+Bx=(A+B)x}\\
\mathsf{B(t+1) }& \mathsf{ =\overline{A}x}\\
\mathsf{y }& \mathsf{ =(A+B)\overline{x}}
\end{align*}
Step 1 & 2:
To build a state table, you first need to count your total variables. With one input (x) and two flip-flop states (A and B), you have three variables in total. This requires a table with 8 rows to cover every possible binary combination (\(\mathsf{2^3}\)).
- Left Side: List the current state variables and inputs. (While placing current states before inputs is common, the order can vary).
- Right Side: List the next-state variables (\(\mathsf{A(t+1)}\) and \(\mathsf{B(t+1)}\)) along with the combinational output (\(\mathsf{y}\)).
Once your input and current-state columns are filled in, use your next-state and output equations to evaluate and complete the remaining rows.
Step 3:
To complete the table, plug the current state and input values from each row into your equations. Calculate the results to fill in the next-state and output columns.
The fully completed state table is shown below: