CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 9: Asynchronous Sequential Circuits Chapter 9 Asynchronous Circuits • Asynchronous sequential circuits do not use a clock or flip-flops for state variables. • Changes in state occur in response to changes on the inputs. • This chapter describes single input change (SIC) fundamental-mode async. circuits. • Only one input allowed to change at a time. • Time between input changes must be sufficient for the circuit to stabilize. R Y y Q S (b) Circuit with modeled gate delay Next state Present state y SR = 00 01 10 11 Y Y Y Y 0 0 0 1 0 1 1 0 1 0 (b) State-assigned table Figure 9.1 Analysis of the SR latch Present state Next state SR = 00 01 10 11 Output Q A A A B A 0 B B A B A 1 (a) State table SR 10 00 01 11 A 0 B 1 01 11 (b) State diagram Figure 9.2 FSM model for the SR latch 00 10 Next state Present state SR = 00 01 10 Output, Q 11 00 01 10 11 A A A B A 0 0 – 0 B B A B A 1 – 1 – (a) State table SR/Q 10/ – 00/0 01/0 11/0 A B 00/1 10/1 01 – 11 – (b) State diagram Figure 9.3 Mealy representation of the SR latch Terminology • state table = flow table • state-assigned table = transition table or excitation table. w1 z1 Outputs Inputs Combinational circuit wn yk zm Yk Next-state variables Present-state variables y1 Figure 8.90 Y1 The general model for a sequential circuit D Y y Q C (a) Circuit Nextstate Present state CD = 00 01 10 y Y Y Y 11 Y Q 0 0 0 0 1 0 1 1 1 0 1 1 (b) Excitationtable Figure 9.4 The gated D latch Nextstate Present state CD = 00 01 10 11 Q A A A A B 0 B B B A B 1 (c) Flowtable CD 0x x0 11 A 0 B 1 10 (d) Statediagram Figure 9.4 The gated D latch 0x x1 Master D D C Clk Q Figure 9.5 Q Slave ym D Q Clk Q ys Q Q Circuit for the master-slave D flip-flop Present state ym ys Next state CD = 00 01 10 11 Output Q Ym Y s 00 00 00 00 10 0 01 00 00 01 11 1 10 11 11 00 10 0 11 11 11 01 11 1 (a) Excitationtable Present state Next state CD = 00 01 10 11 Output Q S1 S1 S1 S1 S3 0 S2 S1 S1 S2 S4 1 S3 S4 S4 S1 S3 0 S4 S4 S4 S2 S4 1 (b) Flow table Figure 9.6 Excitation and flow tables for Example 9.2 Present state Next state CD = 00 01 10 11 Output Q S1 S1 S1 S1 S3 0 S2 S1 S1 S2 S4 1 S3 S4 S4 S1 S3 0 S4 S4 S4 S2 S4 1 (b) Flow table Present state Next state CD = 00 01 10 11 Output Q S1 S1 S1 S1 S3 0 S2 S1 – S2 S4 1 S3 – S4 S1 S3 0 S4 S4 S4 S2 S4 1 (c) Flow Table with unspecified entries Figure 9.6 Excitation and flow tables for Example 9.2 CD 11 0x x0 S1 0 S3 0 11 10 0x 0x 11 10 S2 1 S4 1 10 Figure 9.7 0x x1 State diagram for the master-slave D flip-flopC Y1 y1 Y2 y2 w1 w2 Figure 9.8 Circuit for Example 9.3 z Present state y2 y1 Next state 01 10 11 Output Y2 Y1 Y2 Y1 Y2 Y1 Y2 Y1 z 00 00 01 10 11 0 01 11 01 11 11 0 10 00 10 10 10 1 11 11 10 10 10 0 w 2 w 1 = 00 (a) Excitation table Present state Next state w2 w1 = 00 01 10 11 Output z A A B C D 0 B D B D D 0 C A C C C 1 D D C C C 0 (b) Flow table Figure 9.9 Excitation and flow tables Present state Next state Output w2 w 1 = 00 01 10 11 z A A B C – 0 B D B – D 0 C A C C C 1 D D C C C 0 Figure 9.10 Modified flow table for Example 9.3 w2w1 00 01 A/0 10 1x x1 Figure 9.11 01 00 11 00 C/1 B/0 1x x1 D/0 State table for Example 9.3 00 Present state Next state w 2 w 1 = 00 01 10 A A B C B D B – C A C C D D C C w2 dime Figure 9.12 11 – – – – Output z 0 0 1 0 w 1 nickel Flow table for a simple vending machine Steps in the Analysis Process • Cut feedback paths and insert delay element. – Input to delay element is next-state, and output is the present-state. – Cut set may not be unique. • Derive next-state and output expressions from the circuit. • Derive the excitation table. • Derive a flow table. • Derive a state diagram, if desired. Synthesis of Asynchronous Circuits • • • • • • • Devise a state diagram. Derive the flow table. Minimize number of states. Perform race-free state assignment. Derive excitation table. Obtain next-state and output expressions. Construct a hazard-free circuit. 1 A/0 0 B/1 1 0 0 1 D/0 1 0 C/1 (a) State diagram Next state Present State w= 0 w= 1 Output z A A B 0 B C B 1 C C D 1 D A D 0 (b) Flow table Figure 9.13 Parity-generating asynchronous FSM Next state Present state y 2y 1 w= 0 00 00 01 0 01 10 01 1 10 10 11 1 11 00 11 0 w= 1 Output z Y 2Y 1 (a) Poor state assignment Figure 9.14 State assignment Next state Present state y 2y 1 w= 0 00 00 01 0 01 11 01 1 11 11 10 1 10 00 10 0 w= 1 Output z Y 2Y 1 (b) Good state assignment Figure 9.14 State assignment y1 w y2 Figure 9.15 Circuit that implements an FSM z D w Figure 9.16 Q z Q Synchronous solution for Example 9.4 0 A 0 0 1 1 B 1 0 C 1 1 1 D 2 0 0 H 0 1 1 G 3 0 Figure 9.17 0 F 3 1 1 State diagram for a modulo-4 counter E 2 0 Nextstate Present state w= 0 w= 1 Output z A A B 0 B C B 1 C C D 1 D E D 2 E E F 2 F G F 3 G G H 3 H A H 0 (a) Flowtable Figure 9.18 Flow and excitation tables for a modulo-4 counter Next state Present Output Mod-8 output z 2z 1 z 3z 2z 1 001 00 000 011 001 01 001 011 011 010 01 010 010 110 010 10 011 110 110 111 10 100 111 101 111 11 101 101 101 100 11 110 100 000 100 00 111 state y 3y 2y 1 w = 0 000 000 001 w = 1 Y 3Y 2Y 1 (b) Excitation table Figure 9.18 (c) Output for counting the edges Flow and excitation tables for a modulo-4 counter Request1 Grant1 Device 1 Shared resource Arbiter Request2 Grant2 Device 2 (a) Arbitration structure Request (r) Grant (g) (b) Handshake signaling Figure 9.19 Arbitration example r 2r 1 01 11 00 A 00 B 01 00 10 10 00 01 C 10 10 11 Figure 9.20 State diagram for the arbiter 01 11 Nextstate Present Output state r r = 00 01 10 11 g g 21 21 A A B C B 00 B A B C B 01 C A B C C 10 (a) Flowtable A Nextstate Present state r2r1 = 00 01 10 11 Output gg y2y1 Y2Y1 21 00 00 01 10 01 00 B 01 00 01 10 01 C 10 00 01 10 D 11 01 10 10 01 10 dd (b) Excitationtable Figure 9.21 Implementation of the arbiter THIS CIRCUIT IS WRONG! r1 g1 r2 y2 g2 Figure 9.22 The arbiter circuit Present state Next state Output g2 g1 r 2 r 1 = 00 01 10 11 A A B C B 00 B A B A B 01 C A A C C 10 (a) Modified flow table Present state y2 y1 Next state r 2 r 1 = 00 01 10 11 Output g2 g1 Y2 Y1 00 00 01 10 01 00 01 00 01 00 01 01 10 00 00 10 10 10 (b) Modified excitation table Figure 9.23 An alternative for avoiding a critical race 10 – 0 0000 x1 01 B 0000 1x 10 C 01 0– Present state Next state Output g2 g1 r 2 r 1 = 00 01 10 11 00 01 10 11 B B B C B 00 01 –0 01 C C B C C 00 0– 10 10 (a) Flow diagram Figure 9.24 Mealy model for the arbiter FSM Present state Next state r 2 r 1 = 00 y 01 Output 10 11 00 01 10 11 g2 g1 Y 0 0 0 1 0 00 01 d0 01 1 1 0 1 1 00 0d 10 10 (b) Excitation table Figure 9.25 Mealy model implementation of the arbiter FSM State Reduction • Usually start with primitive flow table (i.e., only a single stable state per row). • Asynchronous FSMs likely have many unspecified (don’t care) entries. • Two-step state reduction process: – Apply partitioning procedure in which don’t care entries must match. – Merge rows exploiting don’t cares. N D C 1 B 0 N 0 A 0 0 0 D 0 0 0 N N E 1 0 Figure 9.26 D F 1 D 0 (a) Initial statediagram Derivation of an FSM for the simple vending machine D Nextstate Present State DN = 00 01 10 A A B B D C A B – D D E E A F A E – C – C F – F 11 – Output z 0 – 0 – 1 – 0 – 1 – 1 (b) Initial flowtable Figure 9.26 Derivation of an FSM for the simple vending machine Present state Figure 9.27 Next state Output DN = 00 01 10 A A B C B D B – C A – C D D E C E A E – 11 – – – – – z 0 0 1 0 1 First-step reduction of the vending machine FSM Present state Next state w 2 w 1 = 00 01 10 A A B C B D B – C A C C D D C C w2 dime Figure 9.12 11 – – – – Output z 0 0 1 0 w 1 nickel Flow table for a simple vending machine Merging Procedure • May be many possibilities for row mergers. • Two states Si and Sj are compatible if there are no state conflicts for any input. – both Si and Sj have same successor, or – both Si and Sj are stable, or – the successor of Si or Sj or both is unspecified. • Si and Sj must also have same output when specified. Present state Next state w 2 w 1 = 00 01 10 11 Output z A A H B – 0 B F – B C 0 C – H C 1 D A D – – E 1 E – D G E 1 F F D – 0 G F – G – – 0 H – H – E 0 Figure 9.28 A primitive flow table A B C D H G F E Figure 9.29 Merger diagram (which preserves the Moore model) Present state Next state w 2 w 1 = 00 01 10 11 Output z A A A B D 0 B B D B C 0 C – A – C 1 D A D B D 1 Figure 9.30 Reduced Moore-type flow table B C A D H E G Figure 9.31 F Complete merger diagram State Reduction Procedure 1. Use partitioning procedure to eliminate equivalent states in primitive flow table. 2. Construct merger diagram. 3. Choose subsets of equivalent states including each state in only one subset. 4. Derive reduced flow table. 5. Repeat 2 to 4 until no reduction. Present state Next state Output w 2 w1 = 00 01 10 11 z A A F C – 0 B A B – H 1 C G – C D 0 D – F – D 1 E G – E D 1 F – F – K 0 G G B J – 0 H – L E H 1 J G – J – 0 K – B E K 1 L A L – K 1 Figure 9.32 Flow table for Example 9.8 Present state Figure 9.33 Next state Output w 2 w 1 = 00 01 10 11 z A A F C – 0 B A B – H 1 C G – C D 0 D – F – D 1 E G – E D 1 F – F – H 0 G G B J – 0 H – B E H 1 J G – J – 0 Reduction obtained by using the partitioning procedure B A C H F J Figure 9.34 Merger diagram D G E Present state Next state Output w 2 w 1 = 00 01 10 11 z A A A C B 0 B A B D B 1 C G – C D 0 D G A D D 1 G G B G – 0 Figure 9.35 Reduction obtained from the merger diagram A B D Figure 9.36 Merger diagram C G Present state Next state Output w 2 w 1 = 00 01 10 11 z A A A C B 0 B A B D B 1 C C B C D 0 D C A D D 1 Figure 9.37 Reduced flow table for Example 9.8 Present state Next state Output w2 w1 = 00 01 10 11 z A A G E – 0 B K – B D 0 C F C – H 1 D – C E D 0 E A – E D 1 F F C J – 0 G K G – D 1 H – E H 1 J F – – J D 0 K K C B – 0 Figure 9.38 Flow table for Example 9.9 Present state Figure 9.39 Next state Output w 2 w 1 = 00 01 10 11 z A A G E – 0 B F – B D 0 C F C – H 1 D – C E D 0 E A – E D 1 F F C B – 0 G F G – D 1 H – – E H 1 Reduction resulting from the partitioning procedure A B C D G F H E (a) Preserving the Moore model A H C G E D F B (b) Complete merger diagram Figure 9.40 Merger diagrams Present state Output z Next state w 2 w 1 = 00 01 10 11 00 01 10 11 A A G E – 0 – – B F – B D 0 – – 0 0 C F C – H – C E D – – 1 D E A – E D F F C B – G F G – D H – – E H – 1 – – – – 0 – – 1 – – Figure 9.41 0 – – – – 1 1 1 0 An FSM specified in the form of a Mealy model Present state Output z Next state w 2 w 1 = 00 01 10 11 00 01 10 11 A A B D A 0 – 1 1 B C B B D 0 1 0 0 C C C B A 0 1 0 1 D A C D D – – 1 0 Figure 9.42 Reduced flow table for Example 9.9 Present state Next state Output w 2 w 1 = 00 01 10 11 z A A B C – 0 B F B – H 0 C F – C H 0 D D G C – 1 E A E – H 0 F F E C – 0 G D G – H 0 H – G C H 1 Figure 9.43 Flow table for Example 9.9 Present state Next state Output w2 w1 = 00 01 10 11 z A A B C – 0 B A B – H 0 C A – C H 0 D D G C – 1 G D G – H 0 H – G C H 1 Figure 9.44 Reduction after the partitioning procedure C H D B A Figure 9.45 G Merger diagram Present state Output z Next state w 2 w 1 = 00 01 10 11 00 01 10 11 A A A A D 0 0 0 – D D D A D 1 0 – 1 Figure 9.46 Reduced flow table for Example 9.10 State Assignment • Impossible to ensure that a change of two or more state variables occur at the same time. • To achieve reliable operation, should make state variables change one at a time. • Hamming distance is number of bits different in two bit strings. • Ideal state assignment has Hamming distance of 1 for all state transitions. C = 10 Nextstate Present state w = 0 w = 1 y2y1 Y2Y1 00 00 01 01 10 01 Output z 0 1 10 10 11 1 11 00 11 0 w= 0 A = 00 w= 1 w= 0 01 1 11 11 10 1 10 w= 1 B = 01 C = 11 w= 0 0 11 00 w= 0 Output z 01 10 D = 11 (a) Corresponding to Figure 9.14 a D = 10 Nextstate Present state w = 0 w = 1 y2y1 Y2Y1 00 00 01 w= 1 0 A = 00 w= 1 B = 01 (b) Corresponding to Figure 9.14 b Figure 9.47 Transitions C = 10 Nextstate Present Output state r r = 00 01 10 11 g2g1 21 A A B C B 00 B C A A B B C C B C 01 00 10 10 01 10 00 A = 00 B = 01 01 11 (a) Transitions in Figure 9.21 a Nextstate Present state r2r1 = 00 01 10 11 Output gg y2y1 Y2Y1 21 A 00 00 01 10 01 00 B C 01 10 00 01 10 01 00 01 10 10 D 11 01 10 01 10 dd 10 C = 10 D = 11 01 00 10 01 10 00 A = 00 01 11 B = 01 (b) Using the extra state D Figure 9.48 Transitions for the arbiter Present state Next state Output r 2 r 1 = 00 01 10 11 g2 g1 A A B C B 00 B A B D B 01 C A D C C 10 D – B C – 10 Figure 9.49 Modified flow table Transition Diagram • Transition diagram illustrates all transitions in a flow table. • Good state assignment means no diagonals in the transition diagram. • Must embed the transition diagram onto a k-dimensional cube. • n state variables can be embedded onto an n-dimensional cube. Present state Next state r 2r 1 = 00 01 10 11 Output g2g1 A 1 2 4 3 00 B 1 2 4 3 01 C 1 2 4 5 10 Figure 9.50 Relabeled flow table C = 10 1, 4 A = 00 C = 10 2, 4 1, 2, 3 1, 4, 2 B = 01 A = 00 (a) Transitions in Figure 9.50 2,4, 1 1, 2, 3, 4 (b) Complete transition diagram C = 10 1, 4, 2 A = 00 Figure 9.51 B = 01 1, 2, 3, 4 B = 01 Transition diagrams Deriving Transition Diagrams • Derive relabeled flow table. – Transitions through unstable states that lead to stable state are given the same number. • Represent each row of flow table by vertex. • Join Vi and Vj by edge if they have same number in any column. • For any column in which Vi and Vj have same number, label edge with that number. Present state Next state w 2 w 1 = 00 01 10 11 Output z2z1 A A B C A 00 B B B D C 01 C A C D C 10 D B – D A 11 (a) Flow table Present state Next state w2 w1 = 00 01 10 11 Output z2 z1 A 1 4 7 2 00 B 3 4 7 6 01 C 1 5 7 6 10 D 3 – 7 2 11 (b) Relabeled flow table Figure 9.52 Flow tables 7 D = 10 C = 11 3, 7 D = 10 3, 7 2, 7 7 6, 7 1, 7 B = 11 2, 7 6, 7 4, 7 B A = 00 4,7 B = 01 A = 00 (a) First transition diagram D = 10 3, 7, 4 B = 11 6, 7 1, 7 C = 01 (c) Augmented transition diagram Figure 9.53 C = 01 (b) Second transition diagram 2, 7, 4 A = 00 1, 7 Transition diagrams Present state Output z2 z 1 Next state w2 w1 = 00 01 10 11 00 01 10 11 A A D D A 00 00 11 00 B B B D C 01 01 11 01 C A C B C –0 10 1– 10 D B B D A –1 0– 11 00 (a) Modified flow table Present state y2 y1 Next state w2 w1 = 00 01 Output 10 11 00 Y2 Y1 01 10 11 z2 z1 A 00 00 10 10 00 00 00 11 00 B 11 11 11 10 01 01 01 11 01 C 01 00 01 11 01 –0 10 1– 10 D 10 11 11 10 00 –1 0– 11 00 (b) Excitation table Figure 9.54 Realization of an FSM Present state Nextstate w2 w1 = 00 01 10 11 Output z 2z 1 A A A C B 00 B A B D B 01 C C B C D 10 D C A D D 11 (a) Flow table Present state Nextstate w2 w1 = 00 01 10 11 Output z 2z 1 A 1 2 6 4 00 B 1 3 7 4 01 C 5 3 6 8 10 D 5 2 7 8 11 (b) Relabeled flow table Figure 9.55 FSM for Example 9.14 1, 4 A 6 B 1, 4 A 7 6 2 3 2 5, 8 E 3 5, 8 G 5, 8 D C 3 F 7 D 7 B C (b) Augmented transition diagram (a) Transition diagram G 5, 8 7 D E 5, 8 2 C 3 7 6 A F y2 3 1, 4 B (c) Embedded transition diagram Figure 9.56 Transition diagrams y3 y1 Nextstate Present Output state w w = 00 01 10 11 z2z1 2 1 A A A C B 00 B A B E B 01 C C F C G 10 D G – A – D D – 11 E F – G C B – D – – – D (a)Modifiedflowtable Figure 9.57 Modified tables for Example 9.14 –1 01 1– Present state y 3y 2y 1 Next state w 2w 1 = 00 01 10 11 Output z 2z 1 Y 3Y 2Y 1 A 000 000 000 100 001 00 B 001 000 001 011 001 01 C 100 100 101 100 110 10 D 010 110 000 010 010 11 E 011 – – 010 – –1 F 101 – 001 – – G 110 100 – – 010 (b) Excitation table Figure 9.57 Modified tables for Example 9.14 01 1– 5 , 8 C2 3 D2 7 B1 B2 1 , 4 1 , 4 C1 5 , 8 y2 D1 6 2 A1 Figure 9.58 A2 y3 y1 Embedded transition diagram if two nodes per row are used Nextstate Present state w2w1 = 00 01 10 11 Output z 2z 1 A1 A1 A1 C1 B1 00 A2 A2 A2 A1 B2 00 B1 A1 B1 B2 B1 01 B2 A2 B2 D2 B2 01 C1 C1 C2 C1 D1 10 C2 C2 B1 C2 D2 11 D1 C1 A2 D1 D1 11 D2 C2 D1 D2 D2 11 (a) Modifiedflow table Figure 9.59 Modified flow and excitation tables for Example 9.15 Present state y 3y 2y 1 Next state w 2w 1 = 00 01 10 11 Output z 2z 1 Y 3Y 2Y 1 A1 000 000 000 100 010 00 A2 001 001 001 000 011 00 B1 010 000 010 011 010 01 B2 011 001 011 111 011 01 C1 100 100 110 100 101 10 C2 110 110 010 110 111 10 D1 101 100 001 101 101 11 D2 111 110 101 111 111 11 (b) Excitation table Figure 9.59 Modified flow and excitation tables for Example 9.15 State assignment Present State 0001 Next state Output w2 w 1 = 00 01 10 11 z2 z1 A A A E F 00 0010 B F B G B 01 0100 C C H C I 10 1000 D I J D D 11 0101 E C – –0 0011 F – B 0– 1010 G –1 0110 H 1100 I 1001 J – – – – D – – Figure 9.60 – – A – – – – B C – – A D State assignment with one-hot encoding 01 1– 00 Hazards • In asynchronous circuits, undesirable glitches must not occur. • Glitches caused by structure of circuit and propagation delays are called hazards. • Designer must eliminate all hazards from an asynchronous circuit. 1 0 0 0 1 1 (a) Static hazard 1 0 0 1 1 0 (b) Dynamic hazard Figure 9.61 Definition of hazards x2 p x1 f x2 q x3 x1 (a) Circuit with a hazard x3 x1 x2 00 01 0 1 f x3 11 10 1 1 1 1 (b) Karnaugh map Figure 9.62 An example of a static hazard (c) Hazard-free circuit Remove Static 1-Hazards • Hazard exists whenever 2 adjacent 1s in a K-map are not covered by a single product. • To remove all static hazards, find a cover that includes each pair of adjacent 1s. p D ym Ym q C Ys ys Q r (a) Minimum-cost circuit CD ymys CD 00 01 11 10 ymys 00 01 11 10 00 1 00 01 1 01 11 1 1 1 11 1 1 10 1 1 1 10 1 1 1 1 1 1 (b) Karnaugh maps Y for a mandYs in Figure 9.6 Figure 9.63 Two-level implementation of master-slave D flip-flop CD ymys CD 00 01 11 10 ymys 00 00 1 00 01 1 01 01 11 1 1 1 11 1 1 10 1 1 1 10 1 1 11 10 1 1 1 1 (b) Karnaugh maps for Ym and Ys in Figure 9.6a ym D Ym C Ys Q ys (c) Hazard-free circuit Figure 9.63 Two-level implementation of master-slave D flip-flop x3x4 x1x2 00 01 11 00 d 01 d 11 1 1 1 10 1 1 1 Figure 9.64 10 d 1 Function for Example 9.17 x1 p x2 f x1 q x3 x2 (a) Circuit with a hazard x3 x1 x2 00 01 11 10 0 0 0 0 1 1 0 1 1 1 (b) Karnaugh map Figure 9.65 f x3 Static hazard in a POS circuit (c) Hazard-free circuit b x1 f a x2 c x3 d x4 (a) Circuit One gate delay x1 x2,x3,x4 a b c d f Figure 9.66 Circuit with a dynamic hazard (b) Timing diagram Significance of Hazards • A glitch in an asynchronous circuit can cause the circuit to enter an incorrect state and possibly become stable in that state. • Next-state logic must be hazard-free. • Synchronous circuits can have hazards as long as they are stable by the setup time of the flip-flops. Vending Machine Controller • • • • It accepts nickels and dimes. A total of 15 cents to release candy. No change given if 20 cents is deposited. Coins deposited one at a time. 0 A 0 N D B 0 N C 0 0 0 D 0 0 J 0 D N E 0 N D N F 1 D K 1 0 D N D L 1 0 G 0 0 D N N H 1 0 Figure 9.67 0 D 0 0 0 I 1 0 Initial state diagram for the vending-machine controller Present state Next state Output DN = 00 01 10 11 z A A B C – 0 B D B – – 0 C J – C – 0 D D E F – 0 E G E – – 0 F A – F – 1 G G H I – 0 H A H – – 1 I A – I – 1 J J K L – 0 K A K – – 1 L A – L – 1 Figure 9.68 Initial flow table for the vending-machine controller Present state Next state Output DN = 00 01 10 11 z A A B C – 0 B D B – – 0 C G – C – 0 D D E F – 0 E G E – – 0 F A – F – 1 G G H F – 0 H A H – – 1 Figure 9.69 First step in state minimization A B C H D G F Figure 9.70 Merger diagram E Present state Next state DN = 00 01 10 11 Output z A A B C – 0 B D B – – 0 C G C C – 0 D D C F – 0 F A F F – 1 G G F F – 0 (a) Minimized flow table Present state Next state DN = 00 01 10 11 Output z A 1 2 4 – 0 B 5 2 – – 0 C 8 3 4 – 0 D 5 3 7 – 0 F 1 6 7 – 1 G 8 6 7 – 0 (b) Relabeled flow table Figure 9.71 Reduced flow tables DN 00 A 0 01 01 B 0 00 00 D 0 00 01 10 F 1 10 G 0 01 10 01 10 Figure 9.72 C 0 00 00 01 10 State diagram for the vending-machine controller B 5 D 3 C 4 7 8 2 7 6 , 7 G A 1 F (a) Transition diagram 110 4 5 B 010 3 D 011 4 2 C 111 8 7 100 G 101 4 6 , 7 A 000 1 F 001 (b) Embedded on the cube Figure 9.73 Determination of the state assignment Present state Next state DN = 00 y3 y2 y 1 01 10 11 Output z Y3 Y2 Y1 A 000 000 010 100 – 0 B 010 011 010 – – 0 C 111 101 111 111 – 0 D 011 011 111 001 – 0 F 001 000 001 001 – 1 G 101 101 001 001 – 0 100 – – 110 – 0 110 – – 111 – 0 Figure 9.74 Excitation table DN y y 1 2 DN 00 01 00 10 d 01 1 11 1 10 11 y y 1 2 00 01 11 00 d d d 10 d d 01 d d d 1 1 d 1 11 1 1 d 1 1 d 1 10 1 1 d 1 y = 1 3 y = 0 3 (a) Map for Y 1 Figure 9.75 Karnaugh maps for the functions in Figure 9.74 DN y y 1 2 DN 00 00 01 11 1 d 10 y y 1 2 01 11 10 00 d d d 1 01 d d d 1 1 d 1 01 1 1 d 11 1 1 d 11 d 10 10 d 00 y3 = 0 d y = 1 3 (b) Map for Y 2 Figure 9.75 Karnaugh maps for the functions in Figure 9.74 DN y y 1 2 DN 00 11 10 00 d 1 01 d d 11 10 01 1 y y 1 2 00 01 11 10 00 d d d 1 01 d d d 1 d 11 1 1 d 1 d 10 1 d y = 1 3 y3 = 0 (c) Map for Y 3 Figure 9.75 Karnaugh maps for the functions in Figure 9.74 Summary • Analysis of asynchronous circuits. • Synthesis of asynchronous circuits. – State reduction – State assignment – Hazard-free logic design