19 Async Analysis and Design v1
19 Async Analysis and Design v1
A type of circuit without clocks (therefore NO flip-flops), but with the concept of memory. The concept of memory is obtained through the use of: latches and/or circuit delay and combinational loops. Asynchronous sequential circuits resemble combinatorial circuits with feedback paths.
Page 1
circuit inputs x
circuit outputs z
combinatorial logic k k
delay
Page 2
Fundamental Mode Operation: A circuit is operating in fundamental mode if we assume/force the following restrictions on how the inputs can change:
Only one input is allowed to change at a time, The input changes only after the circuit is stable.
Page 3
Page 4
y2 Y2
Circuit has one input (x), one output (z), two secondary variables (y1, y2) and two excitation variables (Y1, Y2).
Page 5
Write logic equations for circuit outputs in terms of the circuit inputs and secondary variables:
Page 6
curr state
output x=1 z 0 0 1 0
y2y1 00 01 10 11
Y2Y1 00 00 11 11
Note that stable states (secondary variables equal to excitation variables) are circled.
Page 7
curr state
output x=1 z 0 0 1 0
y2y1 a b c d
Y2Y1 a a d d
We could proceed to draw something like a state diagram from this information, if we choose
Page 8
Left-most column shows current state (secondary variables), and the inputs are listed across the top.
Entries in the matrix show the next state (excitation variables) and output values.
Page 9
x 0 a b c d a c c a 1 b b d d
x1x2 00 01 11 10 a b a a a a a b b b
Primitive
Not primitive
Page 10
Summary of analysis
Procedure to determine transition table and/or flow table from a circuit with combinatorial feedback paths: Identify feedback paths. Label Y (excitation variables) at output and y (secondary variables at input). Derive logic expressions for Y (excitation variables) in terms of circuit inputs and secondary variables. Do the same for circuit outputs. Create a transition table and flow table. Circle stable states where Y (excitation variables) are equal to y (secondary variables).
Page 11
Revisiting latches
Latches are simply asynchronous circuits. We can use the previous analysis technique to see how latches work.
Page 12
Page 13
curr state y 0 1
output
curr state y
output
0 1
a b
0 1
Page 14
So the stable state is unpredictable. Conclusion is that we need to be careful if we (possibly) need to transition from one state to another and we (somehow) pass through state 11.
Page 15
S R y
Page 16
curr state y 0 1
output
curr state y
output
0 1
a b
0 1
Page 17
Page 18
Y2
x2
We identify two inputs (x1,x2), two excitation variables (Y1,Y2), two secondary variables (y1,y2) and two latches.
Page 19
Since we are working with latches, we should confirm that the latches do not ever enter the undesirable state (SR=11 for NOR, SR=00 for NAND). In our circuit, we have NOR latches, so we find:
Page 20
We need to find the excitation equations in terms of secondary variables and the circuit inputs.
To do this, we need to use the latch equations:
Page 21
Page 22
Page 23
Page 24
Page 25
Note: Some unspecified entries due to the fundamental mode assumption (e.g., in state a, DG=01, so we never go from DG=01 -> DG=10)
Page 26
curr state a b
output Q 0 1
Page 27
output Q 0 1
Page 28
DG y 0 1 00 01 11 10 0 1 0 0 1 1 0 1
Page 29
D G Y Q
Page 30
Page 31
R (reset)
S (set)
!Q
Assuming we never have the SR=11 case. Can write excitation table:
Page 32
S (set)
R (reset)
!Q
Assuming we never have the SR=00 case. Can write excitation table:
Page 33
Need to figure out how to select S and R for the NAND Latch (while making sure never 0 at same time):
DG y 0 1 00 01 11 10 1 X 1 1 0 X 1 X y 0 1 DG 00 01 11 10 X 1 X 0 1 1 X 1
Page 34
Page 35