Beruflich Dokumente
Kultur Dokumente
Word Problems
• Case Studies
© R.H. Katz Transparency No. 14-2
Contemporary Logic Design
Concept of the State Machine Finite State Machine Design
Qualifiers
Registers FSM generating sequences
Combinational Functional of control signals
Units (e.g., ALU) Instructs datapath what to
Busses do next
Control
Qualifiers Control
and Signal
Inputs Outputs
"Puppet" Datapath
Q X Q+ Output D Q+ = D
0 0 0 0 0
0 1 1 0 1
1 0 1 1 1
1 1 0 1 0
NS
X D Q Output
CLK
Q
R
\Reset
D FF Implementation
Q X Q+ Output T Q+ = T Q
0 0 0 0 0 ==> T = Q+ Q
0 1 1 0 1
1 0 1 1 0
1 1 0 1 1
X Output
T Q
CLK
Q
R
\Reset
T FF Implementation
© R.H. Katz Transparency No. 14-6
Contemporary Logic Design
Concept of the State Machine Finite State Machine Design
Input 1 0 0 1 1 0 1 0 1 1 1 0
Clk
Output 1 1 1 0 1 1 0 0 1 0 1 1
Delayed Outputs:
take effect on next clock edge
Outputs propagation delays must exceed hold times
X
CLK
FSM 1 FSM 2
Y
FSM 1 A A B
X
Y=0 X=0
Y=0 X=0
A C FSM 2 C D D
[1] [0]
X=1 Y
Y=1
X=1
B D
Y=0,1 [0] X=0 [1]
Initial inputs/outputs: X = 0, Y = 0
© R.H. Katz Transparency No. 14-10
Contemporary Logic Design
Basic Design Approach Finite State Machine Design
Six Step Process
1. Understand the statement of the Specification
no change
Block Diagram N
Coin Vending Gum
Sensor D Open
Machine Release
Reset FSM Mechanism
Clk
Output: open D
N D N
S3 S4 S5 S6
S7 S8
[open] [open]
Q1 Q0 Q1 Q1 Q0 Q1 Q1 Q0 Q1
DN 00 01 11 10 DN 00 01 11 10 DN 00 01 11 10
00 0 0 1 1 00 0 1 1 0 00 0 0 1 0
01 0 1 1 1 01 1 0 1 1 01 0 0 1 0
N N N
11 X X X X 11 X X X X 11 X X X X
D D D
10 1 1 1 1 10 0 1 1 1 10 0 0 1 0
Q0 Q0 Q0
K-map for D1 K-map for D0 K-map for Open
D1 = Q1 + D + Q0 N
D0 = N Q0 + Q0 N + Q1 N + Q1 D
OPEN = Q1 Q0
Q1
D D1 Q1
D Q
CLK \ Q1
Q0 Q
R
N
\reset
N
\ Q0 OPEN
Q0
\N
D0 Q0
D Q
Q1 CLK \ Q0
N Q
R
Q1 \reset
D
D1 = Q1 + D + Q0 N
D0 = N Q0 + Q0 N + Q1 N + Q1 D
OPEN = Q1 Q0
DN 00 01 11 10 DN 00 01 11 10
00 0 0 X X 00 X X X 0
01 0 1 X X 01 X X X 0
N N J1 = D + Q0 N
11 X X X X 11 X X X X
D D K1 = 0
10 1 1 X X 10 X X X 0
Q0 Q0
K-map for J1 K-map for K1 J0 = Q0 N + Q1 D
Q1 Q0 Q1 Q1 Q0 Q1
DN 00 01 11 10 DN 00 01 11 10 K0 = Q1 N
00 0 X X 0 00 X 0 0 X
01 1 X X 1 01 X 1 0 X
N
N
11 X X X X 11 X X X X
D D
Output OPEN does not
10 0 X X 1 10 X 0 0 X change:
Q0 Q0
OPEN = Q1 Q0
K-map for J0 K-map for K0
N
Q0 J Q Q1
D \ Q1
CLK K RQ
\ Q0
N
OPEN
Q1
D Q0
J Q
\ Q1 CLK
\ Q0
KR Q
N
\reset
7 Gates,
2 flip flops