Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has •...
Transcript of Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has •...
![Page 1: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/1.jpg)
Finite State Machines
Hakim WeatherspoonCS 3410
Computer ScienceCornell University
[Weatherspoon, Bala, Bracy, McKee, and Sirer]
![Page 2: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/2.jpg)
2
Stateful ComponentsCombinationial logic
• Output computed directly from inputs• System has no internal state• Nothing depends on the past!
Need:• To record data• To build stateful circuits• A state-holding device
Sequential Logic & Finite State Machines
Inputs Combinationalcircuit OutputsN M
![Page 3: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/3.jpg)
• Finite State Machines (FSM)• How do we design logic circuits with state?• Types of FSMs: Mealy and Moore Machines• Examples: Serial Adder and a Digital Door Lock
Goals for Today
3
![Page 4: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/4.jpg)
• How do we design logic circuits with state?Next Goal
4
![Page 5: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/5.jpg)
Finite State Machines
5
![Page 6: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/6.jpg)
6
Finite State MachinesAn electronic machine which has
• external inputs• externally visible outputs• internal state
Output and next state depend on• inputs• current state
![Page 7: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/7.jpg)
7
Abstract Model of FSMMachine is
M = (S, I, O, )S: Finite set of statesI: Finite set of inputsO: Finite set of outputs: State transition function
Next state depends on present input andpresent state
![Page 8: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/8.jpg)
8
Automata ModelFinite State Machine
• inputs from external world• outputs to external world• internal state• combinational logic
Next State
Current State
Input
OutputR
egis
tersComb.Logic
![Page 9: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/9.jpg)
9
FSM Example
Legend
state
input/output
startstate
A B
C D
down/onup/off down/on
down/off
up/off
down/off
up/offup/off
Input: up or downOutput: on or offStates: A, B, C, or D
![Page 10: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/10.jpg)
10
FSM Example
Legend
00 01
10 11
1/10/0 1/1
1/0
0/1
1/0
0/00/0
Input: 0=up or 1=downOutput: 1=on or 0=offStates: 00=A, 01=B, 10=C, or 11=D
S1S0 S1S0
i0i1i2…/o0o1o2…
![Page 11: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/11.jpg)
11
Mealy Machine
Next State
Current State
Input
OutputR
egis
tersComb.Logic
General Case: Mealy Machine
Outputs and next state depend on bothcurrent state and input
![Page 12: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/12.jpg)
12
Moore Machine
Next State
Current State
Input
OutputR
egis
ters Comb.Logic
Comb.Logic
Special Case: Moore Machine
Outputs depend only on current state
![Page 13: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/13.jpg)
13
Moore Machine FSM Example
Legend
inputAoff
Bon
Coff
Doff
downup down
down
up
down
upup
Input: up or downOutput: on or offStates: A, B, C, or D
stateout
startout
![Page 14: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/14.jpg)
14
Mealy Machine FSM Example
Legend
state
input/output
startstate
A B
C D
down/onup/off down/on
down/off
up/off
down/off
up/offup/off
Input: up or downOutput: on or offStates: A, B, C, or D
![Page 15: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/15.jpg)
15
Activity#2: Create a Logic Circuit for a Serial Adder
Add two infinite input bit streams• streams are sent with least-significant-bit (lsb) first• How many states are needed to represent FSM?• Draw and Fill in FSM diagram
…10110
…01111…00101
Sum: output
Strategy:(1) Draw a state diagram (e.g. Mealy Machine)(2) Write output and next-state tables(3) Encode states, inputs, and outputs as bits(4) Determine logic equations for next state and outputs
![Page 16: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/16.jpg)
16
Activity#2: Create a Logic Circuit for a Serial Adder
Add two infinite input bit streams• streams are sent with least-significant-bit (lsb) first
…10110
…01111…00101
Sum: output
![Page 17: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/17.jpg)
17
Strategy for Building an FSM(1) Draw a state diagram (e.g. Mealy Machine)(2) Write output and next-state tables(3) Encode states, inputs, and outputs as bits(4) Determine logic equations for next state and outputs(5) Draw the Circuit
![Page 18: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/18.jpg)
18
FSM: State Diagram
2 states ___ and ___Inputs: ___ and ___Output: ___
…10110
…01111…00101
![Page 19: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/19.jpg)
19
FSM: State Diagram
…10110
…01111…00101
a
bz
S0 S1__/_ __/_
__/_
__/_
__/___/_
__/_
__/_
2 states ___ and ___Inputs: ___ and ___Output: ___
![Page 20: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/20.jpg)
20
Serial Adder: State Table
a b Current state
z Next state
(2) Write down all input and state combinations
S0 S1__/_ __/_
__/_
__/_
__/___/_
__/_
__/_
![Page 21: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/21.jpg)
21
Serial Adder: State Table
a b Current state
z Next state
S0 S1__/_ __/_
__/_
__/_
__/___/_
__/_
__/_
(3) Encode states, inputs, and outputs as bits
![Page 22: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/22.jpg)
22
Serial Adder: State Assignment
a b s z s'0 0 0 0 00 1 0 1 01 0 0 1 01 1 0 0 10 0 1 1 00 1 1 0 11 0 1 0 11 1 1 1 1
S0 S1__/_ __/_
__/_
__/_
__/___/_
__/_
__/_
(4) Determine logic equations for next state and outputs
![Page 23: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/23.jpg)
23
Serial Adder: State Assignment
a b s z s'0 0 0 0 00 1 0 1 01 0 0 1 01 1 0 0 10 0 1 1 00 1 1 0 11 0 1 0 11 1 1 1 1
(4) Determine logic equations for next state and outputs
![Page 24: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/24.jpg)
24
Example: Digital Door LockDigital Door LockInputs:
• keycodes from keypad• clock
Outputs: • “unlock” signal• display how many keys pressed so
far
![Page 25: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/25.jpg)
25
Door Lock: InputsAssumptions:
• signals are synchronized to clock
• Password is B-A-B
KAB
K A B Meaning0 0 0 Ø (no key)1 1 0 ‘A’ pressed1 0 1 ‘B’ pressed
![Page 26: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/26.jpg)
26
Door Lock: OutputsAssumptions:
• High pulse on U unlocks door
UD3D2D1D0
4 LEDdec
8
Strategy:(1) Draw a state diagram (e.g. Moore Machine)(2) Write output and next-state tables(3) Encode states, inputs, and outputs as bits(4) Determine logic equations for next state and outputs
![Page 27: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/27.jpg)
27
Door Lock: Simplified State Diagram
(1) Draw a state diagram (e.g. Moore Machine)
![Page 28: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/28.jpg)
28
Door Lock: Simplified State Diagram
Cur.State Output
(2) Write output and next-state tables
![Page 29: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/29.jpg)
29
Door Lock: Simplified State Diagram
(2) Write output and next-state tables
Cur. State Input Next State
![Page 30: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/30.jpg)
30
Door Lock: Implementation4
dec
3bitReg
clk
U
D3-0S2-0
S’2-0
S2-0
KA
B
D3 D2 D1 D0 US2 S1 S0
(4) Determine logic equations for next state and outputs
![Page 31: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/31.jpg)
31
Door Lock: Implementation4
dec
3bitReg
clk
U
D3-0S2-0
S’2-0
S2-0
KA
B
S2 S1 S0 S’2 S’1 S’0K A B
(4) Determine logic equations for next state and outputs
![Page 32: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/32.jpg)
32
Door Lock: Implementation4
dec
3bitReg
clk
U
D3-0S2-0
S’2-0
S2-0
KA
B
Strategy:(1) Draw a state diagram (e.g. Moore Machine)(2) Write output and next-state tables(3) Encode states, inputs, and outputs as bits(4) Determine logic equations for next state and outputs
![Page 33: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/33.jpg)
33
Door Lock: Implementation
Strategy:(1) Draw a state diagram (e.g. Moore Machine)(2) Write output and next-state tables(3) Encode states, inputs, and outputs as bits(4) Determine logic equations for next state and outputs
Next State
Current State
Input
OutputR
egis
ters Comb.Logic
Comb.Logic
![Page 34: Finite State Machines - Cornell UniversityFinite State Machines An electronic machine which has • external inputs • externally visible outputs • internal state Output and next](https://reader034.fdocuments.in/reader034/viewer/2022043023/5f3f14854f9bc3476940e81d/html5/thumbnails/34.jpg)
34
SummaryWe can now build interesting devices with sensors
• Using combinational logic
We can also store data values• Stateful circuit elements (D Flip Flops, Registers, …)• State Machines or Ad-Hoc Circuits