Lecture #23 - State Reduction and Flip

advertisement
ECE 331 – Digital System Design
State Reduction
and
Derivation Flip-Flop Input Equations
(Lecture #23)
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.
Sequential Circuit Design
1. Understand specifications
2. Draw state graph (to describe state machine behavior)
3. Construct state table (from state graph)
4. Perform state reduction (if necessary)
5. Assign a binary value to each state (state assignment)
6. Create state transition table
7. Select type of Flip-Flop to use
8. Derive Flip-Flop input equations and FSM output
equation(s)
9. Draw circuit diagram
Spring 2011
ECE 331 - Digital System Design
2
State Reduction
Spring 2011
ECE 331 - Digital System Design
3
Equivalent States
●
●
Two states, p and q, of a sequential logic circuit,
are equivalent iff for every input X,
–
the outputs are equal
–
the next states are equivalent.
λ(p, X) = λ(q, X)
–
●
δ(p, X) == δ(q, X)
–
●
Specifies the output given the present state and the input
Specifies the next state given the present state and the input
Note: the next states do not need to be equal, just equivalent.
Spring 2011
ECE 331 - Digital System Design
4
Determination of Equivalent States
a ≡ b iff
d ≡ f and c ≡ h
a ≡ d iff
a ≡ d and c ≡ e
Spring 2011
ECE 331 - Digital System Design
5
FSM Design: Mealy
Example: Design a sequence detector.
The circuit (again) is of the form:
serial bit stream (input)
output (serial bit stream)
Spring 2011
ECE 331 - Digital System Design
6
Example: Sequence Detector (Mealy)
The sequential circuit has one input (X) and one output (Z).
It 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.
A typical input and output sequence is:
X=
0 1 0 1
0 0 1 0
1 0 0 1
0
1
0
0
Z=
0 0 0 1
0 0 0 0
0 0 0 1
0
0
0
0
(time: 0 1 2 3
4 5 6 7
8 9 10 11 12 13 14 15)
Spring 2011
ECE 331 - Digital System Design
7
Example: Sequence Detector (Mealy)
State Table
Spring 2011
ECE 331 - Digital System Design
8
Example: Sequence Detector (Mealy)
Eliminating Redundant States
Spring 2011
ECE 331 - Digital System Design
9
Example: Sequence Detector
Since states H and I
have the same next
states and the same
outputs, there is no way
of telling states H and I
apart.
We can replace I with H.
Spring 2011
ECE 331 - Digital System Design
10
Example: Sequence Detector (Mealy)
Reduced State Table
Spring 2011
ECE 331 - Digital System Design
11
Example: Sequence Detector
Reduced State Graph
Spring 2011
ECE 331 - Digital System Design
12
State Reduction using an Implication Chart
Spring 2011
ECE 331 - Digital System Design
13
State Reduction using an I.C.
1.Construct an Implication Chart which contains a
square for each pair of states (i, j).
2.Compare each pair of rows in the State Table.
Spring 2011
–
If outputs for states i and j are different, put an X in
the corresponding square of the I.C.
–
If outputs for states i and j are the same, indicate the
implied pairs in the corresponding square of the I.C.
–
If outputs and next states for states i and j are the
same, put a check in the corresponding square of
the I.C.
ECE 331 - Digital System Design
14
State Reduction using an I.C.
3.If square i-j contains the implied pair m-n, and square
m-n contains an X, then i<>j, and an X must be placed
in the corresponding square of the I.C.
4.If X's were added in step 3, repeat step 3 until no
more X's are added.
5.For each square i-j, which does not contain an X, i==j.
Spring 2011
ECE 331 - Digital System Design
15
Example: State Reduction using an I.C.
Spring 2011
ECE 331 - Digital System Design
16
Example: State Reduction using an I.C.
Spring 2011
ECE 331 - Digital System Design
17
Example: State Reduction using an I.C.
Spring 2011
ECE 331 - Digital System Design
18
Example: State Reduction using an I.C.
After first pass.
Spring 2011
ECE 331 - Digital System Design
19
Example: State Reduction using an I.C.
After second pass.
Spring 2011
ECE 331 - Digital System Design
20
Example: State Reduction using an I.C.
d==a
e==c
d and e are removed from the State Table
Spring 2011
ECE 331 - Digital System Design
21
Future site of another example.
Spring 2011
ECE 331 - Digital System Design
22
Derivation of Flip-Flop Input Equations
Spring 2011
ECE 331 - Digital System Design
23
Derivation of FF Input Equations
1. Assign a binary value to each state in the
reduced state table (state assignment).
2. Construct the state transition table.

Include in the state transition table, columns
for the Flip-Flop inputs.
3. Construct the K-maps for the Flip-Flop inputs.
4. Derive the minimized FF input equations.
Spring 2011
ECE 331 - Digital System Design
24
Derivation of FF Input Equations
Example #1:
Derive the Flip-Flop input equations for the following
sequential logic circuit.
Assume that D Flip-Flops are used in the design.
Excitation Equation: D = Q+
Spring 2011
ECE 331 - Digital System Design
25
Example #1: FF Input Equations
State Table
Spring 2011
ECE 331 - Digital System Design
26
Example #1: FF Input Equations
1. Assign a binary value to each state.
2. Construct the state transition table.
A+B+C+
ABC
X=0
X=1
Z
DADBDC
X=0
X=1
X=0
X=1
000
001
010
011
100
101
110
Spring 2011
111
ECE 331 - Digital System Design
27
Example #1: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
DA =
Spring 2011
DB =
ECE 331 - Digital System Design
28
Example #1: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
DC =
Spring 2011
ECE 331 - Digital System Design
29
Derivation of FF Input Equations
Example #2:
Derive the Flip-Flop input equations for the following
sequential logic circuit.
Assume that JK Flip-Flops are used in the design.
Excitation Table:
Spring 2011
Q
Q+
J
K
0
0
0
x
0
1
1
x
1
0
x
1
1
1
x
0
ECE 331 - Digital System Design
30
Example #2: FF Input Equations
State Table
Spring 2011
ECE 331 - Digital System Design
31
Example #2: FF Input Equations
1. Assign a binary value to each state.
2. Construct the state transition table.
ABC
000
001
010
011
100
101
110
111
A+B+C+
X=0 X=1
JAKA
X=0 X=1
JBKB
X=0 X=1
ECE 331 - Digital System Design
JCKC
X=0 X=1
32
Example #2: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
JA =
Spring 2011
KA =
ECE 331 - Digital System Design
33
Example #2: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
JB =
Spring 2011
KB =
ECE 331 - Digital System Design
34
Example #2: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
JC =
Spring 2011
KC =
ECE 331 - Digital System Design
35
Derivation of FF Input Equations
Example #3:
Derive the Flip-Flop input equations for the following
sequential logic circuit.
Assume that SR Flip-Flops are used in the design.
Excitation Table:
Spring 2011
Q
Q+
S
R
0
0
0
x
0
1
1
0
1
0
0
1
1
1
x
0
ECE 331 - Digital System Design
36
Example #3: FF Input Equations
State Table
Spring 2011
ECE 331 - Digital System Design
37
Example #3: FF Input Equations
1. Assign a binary value to each state.
2. Construct the state transition table.
A+B+
SARA
SBSB
AB X=00 X=01 X=11 X=10 X=00 X=01 X=11 X=10 X=00 X=01 X=11 X=10
00
01
11
10
Spring 2011
ECE 331 - Digital System Design
38
Example #3: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
SA =
Spring 2011
RA =
ECE 331 - Digital System Design
39
Example #3: FF Input Equations
3. Construct K-maps for Flip-Flop inputs.
4. Derive the minimized FF input equation.
SB =
Spring 2011
RB =
ECE 331 - Digital System Design
40
Questions?
Spring 2011
ECE 331 - Digital System Design
41
Download