ece 331 – digital system design derivation of state graphs and state tables (lecture #21) the...
TRANSCRIPT
![Page 1: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/1.jpg)
ECE 331 – Digital System Design
Derivation of State Graphs and State Tables
(Lecture #21)
The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6th Edition, by Roth and Kinney,
and were used with permission from Cengage Learning.
![Page 2: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/2.jpg)
Fall 2010 ECE 331 - Digital System Design 2
Material to be covered …
Chapter 14: Sections 1 – 5
![Page 3: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/3.jpg)
ECE 331 - Digital Systems Design 3
Sequential Circuit Design• Understand specifications
• Draw state graph (to describe state machine behavior)
• Construct state table (from state graph)
• Perform state minimization (if necessary)
• Encode states (aka. state assignment)
• Create state-assigned table
• Select type of Flip-Flop to use
• Determine Flip-Flop input equations and FSM output equation(s)
• Draw logic diagram
![Page 4: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/4.jpg)
Fall 2010 ECE 331 - Digital System Design 4
Example:
Designing a sequence detector.
![Page 5: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/5.jpg)
Fall 2010 ECE 331 - Digital System Design 5
Example: A sequence detector (Mealy)
To illustrate the design of a clocked Mealy sequential circuit, we will design a sequence detector.
The circuit is of the form:
serial bit stream (input)output (serial bit stream)
![Page 6: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/6.jpg)
Fall 2010 ECE 331 - Digital System Design 6
Example: A sequence detector (Mealy)
Suppose we want to design the sequence detector so that any input sequence ending in 101 will produce an output of Z = 1 coincident with the last 1.
The circuit does not reset when a 1 output occurs.
A typical input sequence and the corresponding output sequence are:
X = 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0
Z = 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
(time: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
![Page 7: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/7.jpg)
Fall 2010 ECE 331 - Digital System Design 7
Example: A sequence detector (Mealy)
Initially, we do not know how many flip-flops will be required, so we will designate the circuit states as S0, S1, etc.
We will start with a reset state designated S0.
If a 0 input is received, the circuit can stay in S0 because the input sequence we are looking for does not start with a 0.
![Page 8: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/8.jpg)
Fall 2010 ECE 331 - Digital System Design 8
Example: A sequence detector
Design in progress …
![Page 9: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/9.jpg)
Fall 2010 ECE 331 - Digital System Design 9
Example: A sequence detector (Mealy)
State Graph for the Mealy Machine
![Page 10: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/10.jpg)
Fall 2010 ECE 331 - Digital System Design 10
Example: A sequence detector (Mealy)
We can then convert our state graph to a state table:
Since there are 3 states, we only need 2 flip-flops for the circuit.
![Page 11: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/11.jpg)
Fall 2010 ECE 331 - Digital System Design 11
Example: A sequence detector (Mealy)
And then convert our state table to a transition table:
![Page 12: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/12.jpg)
Fall 2010 ECE 331 - Digital System Design 12
Example: A sequence detector (Mealy)
From the transition table, we can plot the next-state maps for the flip-flops and the map for the output function Z:
![Page 13: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/13.jpg)
Fall 2010 ECE 331 - Digital System Design 13
Example: A sequence detector (Mealy)
Using the derived equations, we can then draw the corresponding circuit diagram:
![Page 14: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/14.jpg)
Fall 2010 ECE 331 - Digital System Design 14
Example: A sequence detector (Moore)
The procedure for finding the state graph for a Moore machine is similar to that used for a Mealy machine, except that the output is written with the state.
We will rework the previous example as a Moore machine: the circuit should produce an output of 1 only if an input sequence ending in 101 has occurred.
![Page 15: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/15.jpg)
Fall 2010 ECE 331 - Digital System Design 15
Example: A sequence detector (Moore)
Design in progress …
![Page 16: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/16.jpg)
Fall 2010 ECE 331 - Digital System Design 16
Example: A sequence detector (Moore)
State Graph for the Moore Machine
![Page 17: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/17.jpg)
Fall 2010 ECE 331 - Digital System Design 17
Example: A sequence detector (Moore)
As with the Mealy machine, the state and transition tables can be derived from the state graph:
![Page 18: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/18.jpg)
Fall 2010 ECE 331 - Digital System Design 18
Example:
A more complex sequence detector.
![Page 19: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/19.jpg)
Fall 2010 ECE 331 - Digital System Design 19
Example: Another sequence detector (Moore)
Now we will derive a state graph for a sequential circuit of somewhat greater complexity than the previous examples.
For this circuit, the output Z should be 1 if the input sequence ends in either 010 or 1001, and Z should be 0 otherwise.
A typical input sequence and the corresponding output sequence are:
![Page 20: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/20.jpg)
Fall 2010 ECE 331 - Digital System Design 20
Example: Another sequence detector (Moore)
Design in progress …
![Page 21: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/21.jpg)
Fall 2010 ECE 331 - Digital System Design 21
Example: Another sequence detector (Mealy)
The state graph for the equivalent Mealy machine is derived in the textbook.
![Page 22: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/22.jpg)
Fall 2010 ECE 331 - Digital System Design 22
Example:
Another Moore Finite State Machine (FSM).
![Page 23: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/23.jpg)
Fall 2010 ECE 331 - Digital System Design 23
Example: Another FSM (Moore)
Design a Moore sequential circuit with one input X and one output Z. The output Z is to be 1 if the total number of 1’s received is odd and at least two consecutive 0’s have been received. A typical input and output sequence is:
![Page 24: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/24.jpg)
Fall 2010 ECE 331 - Digital System Design 24
Example: Another FSM (Moore)
Design in progress …
![Page 25: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/25.jpg)
Fall 2010 ECE 331 - Digital System Design 25
Example: Another FSM (Moore)
![Page 26: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/26.jpg)
Fall 2010 ECE 331 - Digital System Design 26
Constructing State GraphsAlthough there is no one specific procedure which can be
used to derive state graphs or tables for every problem, the following guidelines should prove helpful:
1. First, construct some sample input and output sequences to make sure that you understand the problem statement.
2. Determine under what conditions, if any, the circuit should reset to its initial state.
3. If only one or two sequences lead to a nonzero output, a good way to start is to construct a partial state graph for those sequences.
![Page 27: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/27.jpg)
Fall 2010 ECE 331 - Digital System Design 27
Constructing State Graphs4. Another way to get started is to determine what
sequences or groups of sequences must be remembered by the circuit and set up states accordingly.
5. Each time you add an arrow to the state graph, determine whether it can go to one of the previously defined states or whether a new state must be added.
6. Check your graph to make sure there is one and only one path leaving each state for each combination of values of the input variables.
7. When your graph is complete, test it by applying the input sequences formulated in part 1 and making sure the output sequences are correct.
![Page 28: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/28.jpg)
Fall 2010 ECE 331 - Digital System Design 28
Example:
Another Mealy Finite State Machine (FSM).
![Page 29: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/29.jpg)
Fall 2010 ECE 331 - Digital System Design 29
Example: Another FSM (Mealy)
A sequential circuit has one input (X) and one output (Z). The circuit examines groups of four consecutive inputs and produces an output Z = 1 if the input sequence 0101 or 1001 occurs. The circuit resets after every four inputs. Find a Mealy state graph. A typical input and output sequence is:
![Page 30: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/30.jpg)
Fall 2010 ECE 331 - Digital System Design 30
Example: Another FSM (Mealy)
Design in progress …
![Page 31: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/31.jpg)
Fall 2010 ECE 331 - Digital System Design 31
Example: Another FSM (Mealy)
![Page 32: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/32.jpg)
Fall 2010 ECE 331 - Digital System Design 32
Example:
A FSM with multiple inputs (Moore).
![Page 33: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/33.jpg)
Fall 2010 ECE 331 - Digital System Design 33
Example: Multiple Inputs (Mealy)
A sequential circuit has two inputs (X1, X2) and one output (Z). The output remains a constant value unless one of the following input sequences occurs:(a) The input sequence X1X2 = 01, 11 causes the output to become 0.(b) The input sequence X1X2 = 10, 11 causes the output to become 1.(c) The input sequence X1X2 = 10, 01 causes the output to change value.
(The notation X1X2 = 01, 11 means X1 = 0, X2 = 1 followed by X1 = 1, X2 = 1.)
![Page 34: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/34.jpg)
Fall 2010 ECE 331 - Digital System Design 34
Example: Multiple Inputs (Mealy)
![Page 35: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/35.jpg)
Fall 2010 ECE 331 - Digital System Design 35
Example: Multiple Inputs (Mealy)
The state table for the Moore machine:
![Page 36: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/36.jpg)
Fall 2010 ECE 331 - Digital System Design 36
Example: Multiple Inputs (Mealy)
The state graph for the Moore machine:
![Page 37: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/37.jpg)
Fall 2010 ECE 331 - Digital System Design 37
Alphanumeric State Graph Notation
When a state sequential circuit has several inputs, it is often convenient to label the state graph arcs with alphanumeric input variable names instead of 0’s and 1’s.
XiXj / ZpZq means if inputs Xi and Xj are 1 (we don’t care what the other input values are), the outputs Zp and Zq are 1 (and the other outputs are 0). That is, for a circuit with four inputs (X1, X2, X3, and X4) and four outputs (Z1, Z2, Z3, and Z4), X1X4′ / Z2Z3 is equivalent to 1--0 / 0110.
This type of notation is very useful for large sequential circuits where there are many inputs and outputs.
![Page 38: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/38.jpg)
Fall 2010 ECE 331 - Digital System Design 38
Properly specified State Graphs
In general, a completely specified state graph has the following properties:
1. When we OR together all input labels on arcs emanating from a state, the result reduces to 1.
2. When we AND together any pair of input labels on arcs emanating from a state, the result is 0.
![Page 39: ECE 331 – Digital System Design Derivation of State Graphs and State Tables (Lecture #21) The slides included herein were taken from the materials accompanying](https://reader036.vdocument.in/reader036/viewer/2022062305/56649d375503460f94a0f0e2/html5/thumbnails/39.jpg)
Fall 2010 ECE 331 - Digital System Design 39
Questions?