Professional Documents
Culture Documents
Teaching Assistants:
Andrea Dang Ethan Coffey
Hafsa Khan Jason Li
Tilboon Elberier Yui Suzuki
L5: Finite State Machines CSE369, Winter 2022
3
L5: Finite State Machines CSE369, Winter 2022
Outline
❖ Flip-Flop Realities
❖ Finite State Machines
❖ FSMs in Verilog
4
L5: Finite State Machines CSE369, Winter 2022
D
Clk
Q
6
L5: Finite State Machines CSE369, Winter 2022
7
L5: Finite State Machines CSE369, Winter 2022
8
L5: Finite State Machines CSE369, Winter 2022
Outline
❖ Flip-Flop Realities
❖ Finite State Machines
❖ FSMs in Verilog
9
L5: Finite State Machines CSE369, Winter 2022
10
L5: Finite State Machines CSE369, Winter 2022
State Diagrams
❖ An state diagram (in this class) is defined by:
▪ A set of states S (circles)
▪ An initial state s0 (only arrow not between states)
▪ A transition function that maps from the current input and
current state to the output and the next state
(arrows between states)
• Note: We cover Mealy machines here; Moore machines put outputs
on states, not transitions
12
L5: Finite State Machines CSE369, Winter 2022
+ =
13
L5: Finite State Machines CSE369, Winter 2022
15
L5: Finite State Machines CSE369, Winter 2022
FSM: Implementation
❖ NS1 = PS0 ⋅ In
❖ NS0 = PS1 ⋅ PS0 ⋅ In
❖ Out = PS1 ⋅ In
16
L5: Finite State Machines CSE369, Winter 2022
17
L5: Finite State Machines CSE369, Winter 2022
CLK
❖ State Diagram:
18
L5: Finite State Machines CSE369, Winter 2022
PS,N
D 00 01 11 10
PS N D NS Open 0
0 0 0 1
0 0 1
0 1 0
0 1 1
1 0 0
PS,N
1 0 1 D 00 01 11 10
1 1 0 0
1 1 1 1
19
L5: Finite State Machines CSE369, Winter 2022
20
L5: Finite State Machines CSE369, Winter 2022
Outline
❖ Flip-Flop Realities
❖ Finite State Machines
❖ FSMs in Verilog
21
L5: Finite State Machines CSE369, Winter 2022
...
22
L5: Finite State Machines CSE369, Winter 2022
endmodule
24
L5: Finite State Machines CSE369, Winter 2022
26
L5: Finite State Machines CSE369, Winter 2022
27
L5: Finite State Machines CSE369, Winter 2022
initial begin
clk <= 0;
forever #(CLOCK_PERIOD/2) clk <= ~clk;
end
...
28
L5: Finite State Machines CSE369, Winter 2022
Testbench Waveforms
1/0 1/0
0/0
Reset
A B C 1/1
00 01 10
0/0
0/1
Summary
❖ Gating the clock and external inputs can cause timing
issues and metastability