Design of Sequential Circuits
The design of a synchronous sequential circuit starts from a set of specifications and culminates in a logic diagram or a list of Boolean functions from which a logic diagram can be obtained. In contrast to a combinational logic, which is fully specified by a truth table, a sequential circuit requires a state table for its specification. The first step in the design of sequential circuits is to obtain a state table or an equivalence representation, such as a state diagram.
A synchronous sequential circuit is made up of flip-flops and combinational gates. The design of the circuit consists of choosing the flip-flops and then finding the combinational structure which, together with the flip-flops, produces a circuit that fulfils the required specifications. The number of flip-flops is determined from the number of states needed in the circuit.
The recommended steps for the design of sequential circuits are set out below.
.
Design of Sequential Circuits
This example is taken from M. M. Mano, Digital Design, Prentice Hall, 1984, p.235.
Example 1.3 We wish to design a synchronous sequential circuit whose state diagram is shown in Figure 13. The type of flip-flop to be use is J-K.
From the state diagram, we can generate the state table shown in Table 9. Note that there is no output section for this circuit. Two flip-flops are needed to represent the four states and are designated Q0Q1. The input variable is labelled x.
|
Present State
|
Next State
|
|
|
|
0 0 |
0 1 |
|
1 0 |
0 1 |
|
1 0 |
1 1 |
|
1 1 |
0 0 |
|
Table 9. State table.
We shall now derive the excitation table and the combinational structure. The table is now arranged in a different form shown in Table 11, where the present state and input variables are arranged in the form of a truth table. Remember, the excitable for the JK flip-flop was derive in Table 1.
Table 10. Excitation table for JK flip-flop
|
Output Transitions
|
Flip-flop inputs
|
|
|
|
Table 11. Excitation table of the circuit
|
Present State
|
Next State
|
Input
|
Flip-flop Inputs
|
|
0 0 |
|
0 0 |
|
0 1 |
|
0 1 |
|
1 0 |
|
1 0 |
|
1 1 |
|
1 1 |
|
|
0 0 |
|
0 1 |
|
1 0 |
|
0 1 |
|
1 0 |
|
1 1 |
|
1 1 |
|
0 0 |
|
|
|
0 X |
0 X |
|
0 X |
1 X |
|
1 X |
X 1 |
|
0 X |
X 0 |
|
X 0 |
0 X |
|
X 0 |
1 X |
|
X 0 |
X 0 |
|
X 1 |
X 1 |
|
In the first row of Table 11, we have a transition for flip-flop Q0 from 0 in the present state to 0 in the next state. In Table 10 we find that a transition of states from 0 to 0 requires that input J = 0 and input K = X. So 0 and X are copied in the first row under J0 and K0 respectively. Since the first row also shows a transition for the flip-flop Q1 from 0 in the present state to 0 in the next state, 0 and X are copied in the first row under J1 and K1. This process is continued for each row of the table and for each flip-flop, with the input conditions as specified in Table 10.
The simplified Boolean functions for the combinational circuit can now be derived. The input variables are Q0, Q1, and x; the output are the variables J0, K0, J1 and K1. The information from the truth table is plotted on the Karnaugh maps shown in Figure 14.
Figure 14. Karnaugh Maps
The flip-flop input functions are derived:
|
J0 = Q1*x K0 = Q1*x |
|
J1 = x K1 = Q0 *x + Q0*x = Q0¤x |
Note: the symbol ¤ is exclusive-NOR.
The logic diagram is drawn in Figure 15.
|
|
Figure 15. Logic diagram of the sequential circuit. |