Professional Documents
Culture Documents
8-1
Odd
[1]
0
8-2
Next State/Output Functions : NS = PS xor PI; OUT = PS
NS Input Output
Input T Q
D Q CLK
CLK PS/Output
Q Q
R R
\Reset \Reset
D FF Implementation T FF Implementation
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
8-4
Example: Vending Machine FSM
N
Coin
Vending Open Gum
Sensor D
Machine Release
Reset FSM Mechanism
Clk
8-5
S1 S2
S7 S8
[open] [open]
8-6
Step 3: State Minimization
Reset
0 Present Inputs Next Output
State D N State Open
N
0 0 0 0 0
5 0 1 5 0
D
1 0 10 0
N 1 1 X X
10
5 0 0 5 0
D 0 1 10 0
1 0 15 0
N, D
1 1 X X
15 10 0 0 10 0
[open] 0 1 15 0
1 0 15 0
1 1 X X
15 X X 15 1
reuse states
whenever Symbolic State Table
possible
8-7
8-8
Step 5. Choose FFs for implementation
Q1 Q1 Q1
Q1 Q0 Q1 Q0 Q1 Q0
DN DN DN
N N N
D D D
Q0 Q0 Q0
K-map for D1 K-map for D0 K-map for Open
Q1
D D1 Q1
D Q
Q0
N
CLK
R
Q
\ Q1
D1 = Q1 + D + Q0 N
\reset
N
\ Q0 OPEN D0 = N Q0 + Q0 N + Q1 N + Q1 D
Q0
\N
D0
D Q
Q0
OPEN = Q1 Q0
Q1 CLK \ Q0
N RQ
Q1 \reset
D
8 Gates
8-9
J-K FF
N N
D D J0 = Q0 N + Q1 D
Q0 Q0 K0 = Q1 N
K-map for J1 K-map for K1
Q1 Q0 Q1 Q1 Q0 Q1
DN DN
N
N N Q0 J Q Q1
D D D \ Q1
CLK KRQ
\ Q0
Q0 Q0 N
K-map for J0 K-map for K0 OPEN
Q1
D Q0
CLK J Q
\ Q1
Q \ Q0
K
N R
\reset 7 Gates
8-11
Moore Machine
Xi Zk
Inputs Combinational Outputs Outputs are function
Logic for
Outputs and solely of the current
Next State state
State Outputs change
State Register Clock Feedback
synchronously with
state changes
State
Register Mealy Machine
Xi Comb.
Inputs
Combinational
Logic for
Logic for Outputs depend on
Next State
Outputs state AND inputs
(Flip-flop Zk
Inputs) Outputs
Input change causes
Clock an immediate output
change
state
feedback Asynchronous signals
8-12
State Diagram Equivalents
[0]
Reset/0 Reset
N/0 N
5 5
N D/0 D/0 ND D
[0]
N/0 N
10 10
D/1 D
N D/0 [0] ND
N+D/1 N+D
15 15
[1] Reset
Reset/1
8-13
0
0 0/0
0
Same I/O behavior [0]
0 0/0 1/0
1
Different # of states 1
0 1
1/1
[0]
1
2
[1] 1
Equivalent
ASM Charts
8-14
Timing Behavior of Moore Machines
Reverse engineer the following:
X J Q A
C Input X
X Output Z
KR Q \A
\B
FFa State A, B = Z
\Reset
Clk
X J Q Z
X C
KR Q \B
\A
FFb
\Reset
100
X
Clk
A
Z
\Reset
Reset X =1 X =0 X =1 X=0 X =1 X=0 X=0
AB = 00 AB = 00 AB = 11 AB = 11 AB = 10 AB = 10 AB = 01 AB = 00
A B X A+ B+ Z
0 0 0 ? ? 0
1 1 1 0
0 1 0 0 0 1
Partially Derived 1 ? ? 1
State Transition 1 0 0 1 0 0
Table 1 0 1 0
1 1 0 1 1 1
1 1 0 1
8-16
Synchronous Mealy Machine
Clock
Xi Zk
Inputs Combinational
Outputs
Logic for
Outputs and
Next State
8-18
Finite String Pattern Recognizer
X: 11011010010
Z: 00000001000
8-19
Reset
S0
[0] Moore State Diagram
Reset signal places
S1 S4 FSM in S0
[0] [0]
S2 S5
[0] [0]
S3 S6
Outputs 1 Loops in State
[1] [0]
8-20
Exit conditions from state S3: have recognized 010
if next input is 0 then have 0100!
if next input is 1 then have 0101 = 01 (state S2)
Reset
S0
[0]
S1 S4
[0] [0]
S2 S5
[0] [0]
S3 S6
[1] [0]
8-21
Reset
S0
[0]
S1 S4
[0] [0]
S2 S5
[0] [0]
S3 S6
[1] [0]
8-22
S2, S5 with incomplete transitions
Reset
S0
[0]
S1 S4
[0] [0]
Final State Diagram
S2 S5
[0] [0]
S3 S6
[1] [0]
8-23
Review of Process:
8-24
Complex Counter
A sync. 3 bit counter has a mode control M.
if M = 0, the counter counts up in the binary sequence.
if M = 1, the counter advances through the Gray code sequence.
8-25
S1
[001]
S2
[010]
S3
[011]
S4
[100]
S5
[101]
S6
[110]
S7
[111]
8-26
Digital Combination Lock
"3 bit serial lock controls entry to locked room.
Sequence is:
(1) Press RESET
(2) enter key bit
(3) Press ENTER
(4) repeat (2) & (3) two more times.
8-27
8-28
Understanding the problem: draw a block diagram
RESET
Operator Data ENTER UNLOCK
KEY-IN
Combination
Lock FSM ERROR
L0
Internal
Combination L1
L2
Inputs: Outputs:
Reset Unlock
Enter Error
Key-In
L0, L1, L2
8-29
Reset + Enter
Reset Enter
Comp0
KI = L0 KI L0
Enter Enter
Idle0 Idle0'
Enter Enter
Comp1 Error1
KI L1
KI = L1
Enter
Enter
Idle1 Idle1'
Enter Enter
Comp2 Error2
KI = L2 KI L2
Reset Reset
Done Error3
[Unlock] [Error]
Reset Reset
Start Start
8-30