Sequential logic

Sequential logic is used to construct finite-state machines, a basic building block in all digital circuitry.

Virtually all circuits in practical digital devices are a mixture of combinational and sequential logic.

[1] Pressing the "up" button gives the television an input telling it to switch to the next channel above the one it is currently receiving.

In synchronous sequential circuits, the state of the device changes only at discrete times in response to a clock signal.

The logic gates which perform the operations on the data require a finite amount of time to respond to changes to their inputs.

As long as this condition is met (ignoring certain other details) the circuit is guaranteed to be stable and reliable.

Therefore, the circuit can go into the wrong state, depending on small differences in the propagation delays of the logic gates.

This problem is not as severe in synchronous circuits because the outputs of the memory elements only change at each clock pulse.