Sequential logic circuits are based on combinational logic circuit elements (AND, OR, etc.) working alongside sequential circuit elements (latches and flip-flops). Bearing in mind the design difficulties, perhaps the main advantage of asynchronous circuits is that they can work at their own speed and are not constrained to work within the time limits imposed on them by a repetitive clock signal. These problems, with the exception of static hazards, do not exist in synchronous circuits since they are always designed to reach a steady-state condition before the next clock pulse arrives. When designing asynchronous circuits, the designer has to eliminate the possibility of the occurrence of static hazards, dynamic hazards, essential hazards and races, in order to avoid circuit malfunction. If, however, an input changes, the circuit may move to an unstable condition and at some later time the state variables will have taken on their new values such that the next state has become the present state, and stability has been restored. If the next state is the same as the present one the circuit is in a stable condition. The total state of the circuit at a given time is defined by the logical values of the inputs and the present state of the circuit. There are two conditions in which an asynchronous circuit may exist, namely stable and unstable. This is clearly different from the behaviour of a synchronous sequential circuit, where inputs changing at arbitrary times are allowed and state changes are activated by the repetitive clock signal. Simultaneous changes are forbidden as, indeed, are changes that may take place before the circuit reaches a stable condition after the preceding change. The main characteristic of this type of circuit is that only one input is allowed to change at any given instant. In this example it is the event that drives the logic, and since the events are frequently irregular occurrences, such a circuit is referred to as an asynchronous sequential circuit or, perhaps more meaningfully, as an event driven circuit.Īsynchronous circuits are also called fundamental mode circuits. For example, a digital alarm will be activated by the event that raised the alarm. Some sequential circuits are driven by events rather than by a train of clock pulses. WOODS MA, DPhil, in Digital Logic Design (Fourth Edition), 2002 9.1 Introduction Commonly the D latch and D-type flip-flop are used, and these sequential circuit elements will be used in this text (rather than other forms of latch and flip-flop such as the S-R, toggle, and J-K flip-flops).ī. The circuit changes from the present state to the next state on a clock control input. The output from the combinational logic forming the inputs to the sequential logic circuit elements in turn forms the next state of the circuit. The sequential logic circuit elements store an output from the combinational logic, and this is fed back to the combinational logic to form the present state of the circuit. Here the circuit inputs to the circuit are applied to the combinational logic, and the circuit outputs are derived from this combinational logic block. A generic sequential logic circuit is shown in Figure 6.65. Sequential logic circuits are based on combinational logic circuit elements (AND, OR, etc.) working alongside sequential circuit elements (latches and flip-flops that will be grouped together to form registers).