
| PS | In | NS | ||||
| A | B | C | x | A | B | C |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | X | X | X |
| 1 | 0 | 1 | 1 | X | X | X |
| 1 | 1 | 0 | 0 | X | X | X |
| 1 | 1 | 0 | 1 | X | X | X |
| 1 | 1 | 1 | 0 | X | X | X |
| 1 | 1 | 1 | 1 | X | X | X |

Let's rewrite the last 6 lines of our state table, replacing the don't cares with the actual next states produced by our state equations:
A(t+1)=Da= BC'x'+BCx+Ax'
Db = B'C + Cx'
Dc = A'B'x
| A | B | C | x | A(t+1) | B(t+1) | C(t+1) |
| 1 | 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 |

When using edge-triggered flip-flops, there are a number of timing issues which must be considered. Among the most significant are setup and hold time. Setup time is the amount of time you require the inputs of your circuit to remain constant before an edge on which you will trigger. Hold time is the amount of time after an edge used for triggering that the inputsmust continue to remain constant, as indicated in the diagram below:

simply, after a change in inputs, you must wait for the signal to propagate through the
edge-triggering part of the circuit to the SR latch before you can correctly trigger. Once
the clock changes, the clock signal must propagate through the triggering portion to the
latch before you can guarantee that the circuit will not react to an input change.
