STATE DIAGRAM AND STATE TABLES Copyright 2012 - Joanne DeGroat, ECE, OSU 2 Problem Statement specifies the desired relationship between the input and output sequences. Sometimes called the specification. First step is to translate this specification into a state table or state graph. In the HDL world, there is a style that allows creation of the next state specification that does not require either a state graph or state table. 9/2/2012 – ECE 3561 Lect 6 DERIVATION OF STATE GRAPHS STATE DIAGRAM State transition diagram a circle: a state a directed lines connecting the circles: the transition between the states Each directed line is labeled “inputs/outputs” state: A B input: x FLIP-FLOP INPUT EQUATIONS The part of circuit that generates the inputs to flip-flops Also called excitation functions DA = Ax +Bx DB = A'x The Ax Ax +Bx Bx A 'x output equations to fully describe the sequential circuit y = (A+B)x' A+B ANALYSIS WITH D FLIP-FLOPS The input equation DA=A⊕x⊕y The state equation A(t+1)=A⊕x⊕y ANALYSIS WITH JK FLIP-FLOPS Determine the flip-flop input function in terms of the present state and input variables Used the corresponding flip-flop characteristic table to determine the next state Fig. 5-18 Sequential circuit with JK flip-flop JA = B KA= Bx' JB = x ' KB = A'x + Ax ' STATE TABLE FOR FIG. 5-18 JA = B, KA= Bx' JB = x ', KB = A'x + Ax ' State Transition Diagram for Fig. 5-18 Method 1 The characteristic equation of JK FF is A(t 1) JA K A B(t 1) JB K B State equation for A and B : A(t 1) BA ( Bx) A AB AB Ax , , B(t 1) xB ( A x)B Bx ABx ABx State Transition Diagram for Fig. 5-18 Method 2 x AB00 A(t +1) 01 11 10 0 0 1 0 1 AB’ 1 0 1 1 1 A’B Ax Using K-map, we also can derive A(t+1). A(t +1)=A ’B+AB ’+Ax ANALYSIS WITH T FLIP-FLOPS The characteristic equation Q(t+1)= T⊕Q = TQ'+T'Q The specification Copyright 2012 - Joanne DeGroat, ECE, OSU 11 The circuit will examine a string of 0’s and 1’s applied serially, once per clock, to the X input and produce a 1 only when the prescribed input sequence occurs. Any sequence ending in 101 will produce and output of Z=1 coincident with the last 1 input. The circuit does not reset when a 1 output occurs so when ever a 101 is in the data stream a 1 is output coincident with the last 1. 9/2/2012 – ECE 3561 Lect 6 A SEQUENCE DETECTOR EXAMPLE 9/2/2012 – ECE 3561 Lect 6 GENERAL FORM OF THE CIRCUIT The circuit has the general form X – serial input stream Z – serial output stream Clk – the clock 12 Copyright 2012 - Joanne DeGroat, ECE, OSU Here meaning of starting state can be The system has been reset and this is the initial state A sequence of 2 or more 0’s has been received Copyright 2012 - Joanne DeGroat, ECE, OSU 13 Choose a starting state and a meaning for that state. The starting state is typically a reset state. 9/2/2012 – ECE 3561 Lect 6 START CONSTRUCTION OF THE GRAPH. Now add state S1 Copyright 2012 - Joanne DeGroat, ECE, OSU 14 Meaning – a sequence of 0…01 has been received when coming from state S0 Meaning – the first 1 has been received. 9/2/2012 – ECE 3561 Lect 6 ADD THE NEXT STATE What happens when in S1 Copyright 2012 - Joanne DeGroat, ECE, OSU 15 A 0 input causes transition to a new state S2 with new meaning A 1 keeps you in S1 where the first 1 of a possible 101 sequence has occurred. 9/2/2012 – ECE 3561 Lect 6 TRANSITIONS FROM S1 State S2 – what is the meaning of being here? Copyright 2012 - Joanne DeGroat, ECE, OSU 16 When transition is from S1 it means we have receive an input stream of xxx10. 9/2/2012 – ECE 3561 Lect 6 STATE S2 Are currently in S2 A 1 arrives and now have a sequence of 101 Action – Output a 1 and have the first 1 of a new sequence, i.e., transition to S1 A 0 arrives – now have a sequence of 100 Action – Move back to state S0 where you do not even have the start of a sequence, i.e., one or more 0 inputs. Copyright 2012 - Joanne DeGroat, ECE, OSU 17 9/2/2012 – ECE 3561 Lect 6 TRANSITIONS FROM S2 The now completed diagram state 9/2/2012 – ECE 3561 Lect 6 THE FULL STATE DIAGRAM 18 This can now be used to generate a state table – more on that later Copyright 2012 - Joanne DeGroat, ECE, OSU Copyright 2012 - Joanne DeGroat, ECE, OSU 19 Problem Statement: The circuit has the same form as before and shown below. The circuit will detect input sequences that end in 010 or 1001. When a sequence is detected the output Z is 1, otherwise Z is 0. 9/2/2012 – ECE 3561 Lect 6 ANOTHER EXAMPLE Copyright 2012 - Joanne DeGroat, ECE, OSU 20 The RESET state – have no inputs yet Then if you have a 0 input the output is 0 – transition to S1 If you have a 1 input the output is 0 and transition to S2 9/2/2012 – ECE 3561 Lect 6 THE INITIAL STATE 9/2/2012 – ECE 3561 Lect 6 MEANING OF STATES S0 – Reset S1 – 0 but not 10 S4 – 1 but not 01 21 Copyright 2012 - Joanne DeGroat, ECE, OSU Copyright 2012 - Joanne DeGroat, ECE, OSU 22 Add S2 having meaning that a 01 sequence has been received. Add S3 having meaning that the sequence 10 has been received 9/2/2012 – ECE 3561 Lect 6 MORE STATES S0 – Reset S1 – 0 but not 10 S2 – Sequence of 01 S3 – Sequence of 10 S4 – 1 but not 01 9/2/2012 – ECE 3561 Lect 6 MEANING OF STATES AFTER S2 S3 23 Copyright 2012 - Joanne DeGroat, ECE, OSU Copyright 2012 - Joanne DeGroat, ECE, OSU 24 In S2 (01) and get a 0 – Transition to S3 (10) – output a 1 In S3 (10) and get a 1 – Transition to S2 (01) 9/2/2012 – ECE 3561 Lect 6 CONSIDER INPUTS WHEN IN S2, S3 S5 – Have received input sequence 100 9/2/2012 – ECE 3561 Lect 6 ADD A NEW STATE S5 25 Copyright 2012 - Joanne DeGroat, ECE, OSU 9/2/2012 – ECE 3561 Lect 6 WHEN IN S5 In S5 Input of a 1 means you have had a input of 1001 so transition to S2 as the input sequence now ends in 01 while Z is 1. 26 Copyright 2012 - Joanne DeGroat, ECE, OSU 9/2/2012 – ECE 3561 Lect 6 ADD OTHER TRANSITIONS Complete the transitions not yet covered Each state should have an output transition for both a 0 and a 1. 27 Copyright 2012 - Joanne DeGroat, ECE, OSU 9/2/2012 – ECE 3561 Lect 6 THE MEANING OF THE STATES S0 – Reset S1 – 0 (but not 10) S2 – Sequence of 01 S3 – Sequence of 10 S4 – 1 (but not 01) S5 – Sequence of 100 28 Copyright 2012 - Joanne DeGroat, ECE, OSU Guidelines for Construction of State Graphs Copyright 2012 - Joanne DeGroat, ECE, OSU 29 First, construct some sample input and output sequences to make sure you understand the problem (ref slides 5 and 13) Determine under what conditions the circuit is in reset state. If only one or two sequences lead to a 1 output construct a partial state graph. OR determine what sequences or groups of sequences must be remembered When adding transitions see if you transition to a defined state or a new state is to be added Make sure all state have a transition for both a 0 and a 1 but only 1! Add annotation or create a table to expound the meaning of each state. 9/2/2012 – ECE 3561 Lect 6 GUIDELINES MOORE MACHINE MEALY MACHINE VS. MOORE MACHINE Modern Design Register-transfer-level block diagram C: Combinational circuit S: Sequential circuit C Q S D S . . C C Q D S Control Unit C C Datapath FSM DESIGN D or JK or T ?? current state register next state In ? DX clk QXcurrent state Out QY ? DY clk next state logic output logic 34 The same sequence detector to detect a sequence ending in 101 but this time a Moore machine implementation. Moore machine implementation is much the same except that the output designation is now indicated within the state. 9/2/2012 – ECE 3561 Lect 7 CONSIDER THE SEQUENCE DETECTOR Copy right 2012 Joan ne DeGr oat, ECE, 35 S0 –a state where you have received a non middle 0 or a long string of 0s. Output is 0. Output is indicated within the state not on the transition. 9/2/2012 – ECE 3561 Lect 7 START IN S0 Copy right 2012 Joan ne DeGr oat, ECE, 36 On a 0 you stay in state 1 On a 1 you transition to state S1. Meaning of S1 – have the 1st 1 of the sequence 9/2/2012 – ECE 3561 Lect 7 TRANSITIONS FORM STATE 1 Copy right 2012 Joan ne DeGr oat, ECE, 37 On a 1 have the first 1 of a sequence – stay in S1. On a 0 now have a sequence that ends in 10 so define a new state S2 and transition to it. 9/2/2012 – ECE 3561 Lect 7 TRANSITION FROM S1 Copy right 2012 Joan ne DeGr oat, ECE, 38 S2 has meaning that you have an input sequence that ends in 10 so far. Transitions from S2 9/2/2012 – ECE 3561 Lect 7 STATE S2 0 input – Back to S0 1 input – Valid sequence go to new state S3 which outputs a 1 Copy right 2012 Joan ne DeGr oat, ECE, 39 S3 – have received input sequence that ends in 101. Next input 9/2/2012 – ECE 3561 Lect 7 STATE S3 0 – end of seq (10 so back to S2) 1 – back to S1 (11 so 1st 1) Copy right 2012 Joan ne DeGr oat, ECE, Easy to convert state graph to state table 40 Moore machine note output is function of the state 9/2/2012 – ECE 3561 Lect 7 STATE TABLE FROM STATE GRAPH Copy right 2012 Joan ne DeGr oat, ECE, Mealy machine state graph and state table 41 In Mealy machine the output is a function of the state and the current input 9/2/2012 – ECE 3561 Lect 7 CONTRAST THIS TO MEALY MACHINE Copy right 2012 Joan ne DeGr oat, ECE, Detect the sequences 010 and 1001 and on those output a 1. 9/2/2012 – ECE 3561 Lect 7 NOW ON TO THE OTHER EXAMPLE 42 Starting state on reset is S0 On a 0 transition to S1 - output 0 Have a first 0 On a 1 transition to S3 - output 0 Have a first 1 Copy right 2012 Joan ne DeGr oat, ECE, State S1 have the first 0 of a possible 010 43 On a 1 now have 01 Transition to a new state S2/0 with meaning that you have 01 On a 0 stay in S1/0 9/2/2012 – ECE 3561 Lect 7 IN S1/0 Copy right 2012 Joan ne DeGr oat, ECE, 44 S2/0 has meaning that you have 01 so far 9/2/2012 – ECE 3561 Lect 7 FROM S2/0 Input is a 0 – Need a new state S4 with meaning that you have received 010 (so output is a 1) and have a 10 for a start of that string. Input is a 1 so the input is 011 – Go to S3 where as this is the first 1. Copy right 2012 Joan ne DeGr oat, ECE, S3/0 has meaning that you have the first 1 of the 1001 sequence. 45 Input is a 0 – Go to S5 – meaning have 10 Input is a 1 – stay in S3 9/2/2012 – ECE 3561 Lect 7 FROM S3/0 Copy right 2012 Joan ne DeGr oat, ECE, 46 S4/1 had meaning that the sequence has been 010 so far. 9/2/2012 – ECE 3561 Lect 7 ADD TRANSITIONS FROM S4/1 Input is a 0 – Now have 100 – Need a new state with this meaning – S6/0 Input is a 1 – Now have 101 so go back to S2/0 Copy right 2012 Joan ne DeGr oat, ECE, S5/0 means you have 10 so far 47 Input is a 0 – transition to S6/0 – have 100 so far Input is a 1 – now have 101 or the 01 which is the meaning of S2/0 9/2/2012 – ECE 3561 Lect 7 TRANSITIONS FROM S5/0 Copy right 2012 Joan ne DeGr oat, ECE, Input is a 1 so have 1001 – a new state S7/1 to signal the sequence 1001. Input is a 0 so have 1000 and back to S1 as you have a first 0. 48 S6/0 has meaning that you have a sequence of 100 so far 9/2/2012 – ECE 3561 Lect 7 STATE S6/0 Copy right 2012 Joan ne DeGr oat, ECE, Input is a 0 so have 010 – go to S4/1 Input is a 1 so have 011 – go to S3 as you have a first 1. 49 S7 has meaning of 1001 so you also have the 01 for the start of that sequence 9/2/2012 – ECE 3561 Lect 7 FROM S7/1 Copy right 2012 Joan ne DeGr oat, ECE, 9/2/2012 – ECE 3561 Lect 7 THE STATE TABLE FOR EACH For the Mealy Machine 50 Present State S0 S1 S2 S3 S4 S5 X=0 S1 S1 S3 S5 S3 S1 NEXT STATE X=1 S4 S2 S4 S2 S4 S2 OUTPUT X=0 X=1 0 0 0 0 1 0 0 0 0 0 0 1 Copy right 2012 Joan ne DeGr oat, ECE, Present State S0 S1 S2 S3 S4 S5 S6 S7 Next State X=0 S1 S1 S4 S5 S6 S6 S1 S4 Next State X=1 S3 S2 S3 S3 S2 S2 S7 S3 Output Z 0 0 0 0 1 0 0 1 51 The state table for the Moore machine – output is associated with the state. 9/2/2012 – ECE 3561 Lect 7 FOR THE MOORE MACHINE Copy right 2012 Joan ne DeGr oat, ECE, 52 The next step to implementation is state assignment In state assignment the binary code for each state is chosen. 9/2/2012 – ECE 3561 Lect 7 THE NEXT STEP Copy right 2012 Joan ne DeGr oat, ECE, 53 Choosing one state assignment versus another can have significant implications for circuit implementation. But first – how do you reduce the number of states in the state table? 9/2/2012 – ECE 3561 Lect 7 EFFECT OF CHOOSING STATE ASSIGNMENT Copy right 2012 Joan ne DeGr oat, ECE, Programmed Example 14.2 9/2/2012 – ECE 3561 Lect 7 EXAMPLE THAT HAS SINK STATE 54 Copy right 2012 Joan ne DeGr oat, ECE, The start of the state graph 9/2/2012 – ECE 3561 Lect 7 INITIAL STATES 55 Copy right 2012 Joan ne DeGr oat, ECE, More states 9/2/2012 – ECE 3561 Lect 7 STEP 2 56 Copy right 2012 Joan ne DeGr oat, ECE, 9/2/2012 – ECE 3561 Lect 7 COMPLETE STATE GRAPH 57 Copy right 2012 Joan ne DeGr oat, ECE, From the state graph the state table can be generated 9/2/2012 – ECE 3561 Lect 7 CORRESPONDING STATE TABLE 58 Copy right 2012 Joan ne DeGr oat, ECE, 59 Have covered state graphs for Mealy and Moore machines Have covered how to transition from state graphs to state tables. 9/2/2012 – ECE 3561 Lect 7 LECTURE SUMMARY Copy right 2012 Joan ne DeGr oat, ECE,