The ‘memory’ of previous outputs in an asynchronous sequential circuit is provided by direct feedback from the internal output(s), Y, to the internal input(s), of the combinational logic block (see Fig. 5.3). The essence of understanding asynchronous circuits is to realise that for the circuit to be stable the outputs generated by the input(s) must be equal (i.e. Y=y), since these two sets of signals are connected via the feedback.
If this is not so then the circuit will be unstable with the output(s) (unmatched to the input(s) acting as different input(s) and so producing new output(s) which will then be fed back again. This process will repeat until a stable condition is reached. This concept will become clearer as we analyse actual asynchronous sequential circuits.
The first stage of asynchronous sequential circuit analysis is to ‘break’ the feedback paths and treat the output(s) being fed back and the corresponding input(s), linked via the feedback, as separate variables. The circuit will only be stable when these signals have the same values.
The conditions for which the circuit is stable are known as the ^stable states'. (Note that for asynchronous sequential circuits these total stable states depend upon all of the inputs, i.e. both internal and external ones, and not just the values of the feedback, i.c. the present state, variables). Circuit analysis involves finding out how these stable states arc both reached and related to one another, whilst design involves producing a circuit which enters the required stable states for the desired input patterns.
5.2.1 Inputs and race conditions
For an asynchronous circuit to be of use it must have more than one external input (otherwise all the circuit has to respond to is a signal alternately changing its value from 0 to 1 to 0 and so on). If two of these multiple inputs are meant to change simultaneously we know that for a real circuit this can never be guaranteed and one of them will always change slightly before the other. The effect of this uncertainty, in which signal (and not always the same one) arrives first, is that the circuit may not operate as expected and actually end up in the ‘wrong’ state. This will make the circuits operation unpredictable and hence render it useless.
This problem can be overcome by making sure that only one input to the circuit changes at a time and that there is sufficient time between changes in the inputs for the circuit to stabilise. This is called fundamental mode operation, which although providing a solution does inhibit the way that the circuit can be used.
We now turn our attention to the actual analysis of asynchronous sequential circuits. The first three circuits are very simple examples whose operation can be determined intuitively. These serve to introduce some of the basic concepts of asynchronous sequential circuits such as stable states and the idea of <memory,. The final three examples include circuits with one and two feedback signals.