State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell...
-
Upload
donald-hosier -
Category
Documents
-
view
217 -
download
2
Transcript of State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell...
![Page 1: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/1.jpg)
State & Finite State Machines
Hakim WeatherspoonCS 3410, Spring 2012
Computer ScienceCornell University
See P&H Appendix C.7. C.8, C.10, C.11
![Page 2: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/2.jpg)
2
Stateful Components
Until now is combinatorial logic• Output is computed when inputs are present• System has no internal state• Nothing computed in the present can depend on what
happened in the past!
Need a way to record dataNeed a way to build stateful circuitsNeed a state-holding device
Finite State Machines
Inputs Combinationalcircuit
OutputsN M
![Page 3: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/3.jpg)
3
Unstable DevicesB
A
C
![Page 4: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/4.jpg)
Bistable Devices
• In stable state, A = B
• How do we change the state?
A B
A B
1
A B
10 0
A Simple Device
• Stable and unstable equilibria?
![Page 5: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/5.jpg)
SR Latch
• Set-Reset (S-R) Latch• Stores a value Q and its complement
S
RQ
Q
S R Q Q
0 0
0 1
1 0
1 1
![Page 6: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/6.jpg)
SR Latch
• Set-Reset (S-R) Latch• Stores a value Q and its complement
• S=1 and R=1 ?
S
RQ
Q
S R Q Q
0 0
0 1
1 0
1 1
![Page 7: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/7.jpg)
SR Latch
• Set-Reset (S-R) Latch• Stores a value Q and its complement
• S=1 and R=1 ?
S
RQ
Q
S R Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
1 1 ? ?
S
R
Q
Q
![Page 8: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/8.jpg)
(Unclocked) D Latch
• Data (D) Latch– Easier to use than an SR latch– No possibility of entering an undefined state
• When D changes, Q changes … immediately (…after a delay of 2 Ors and 2 NOTs)
• Need to control when the output changes
D S
RQ
Q
S
R
Q
Q
D
D Q Q
0
1
![Page 9: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/9.jpg)
(Unclocked) D Latch
• Data (D) Latch– Easier to use than an SR latch– No possibility of entering an undefined state
• When D changes, Q changes … immediately (…after a delay of 2 Ors and 2 NOTs)
• Need to control when the output changes
D S
RQ
Q
S
R
Q
Q
D
D Q Q
0 0 1
1 1 0
![Page 10: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/10.jpg)
Clocks
• Clock helps coordinate state changes–Usually generated by an oscillating crystal–Fixed period; frequency = 1/period
1
0
![Page 11: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/11.jpg)
Edge-triggering
• Can design circuits to change on the rising or falling edge
• Trigger on rising edge = positive edge-triggered
• Trigger on falling edge = negative edge-triggered
• Inputs must be stable just before the triggering edge
input
clock
![Page 12: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/12.jpg)
Clock Disciplines
• Level sensitive– State changes when clock is high (or low)
• Edge triggered– State changes at clock edge
positive edge-triggered
negative edge-triggered
![Page 13: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/13.jpg)
13
Clock Methodology
Clock Methodology• Negative edge, synchronous
– Signals must be stable near falling clock edge
• Positive edge synchronous• Asynchronous, multiple clocks, . . .
clk
compute save
tsetup thold
compute save compute
tcombinational
![Page 14: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/14.jpg)
14
D Latch with Clock
S
R
D
clk
Q
Q
S R Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
1 1 forbidden
clk D Q Q
0 0 Q Q
0 1 Q Q
1 0 0 1
1 1 1 0
![Page 15: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/15.jpg)
15
D Latch with Clock
S
R
D
clk
Q
Q
clk D Q Q
0 0 Q Q
0 1 Q Q
1 0 0 1
1 1 1 0
clk
DQ
Level Sensitive D LatchClock high: set/reset (according to D)Clock low: keep state (ignore D)
![Page 16: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/16.jpg)
16
Edge-Triggered D Flip-FlopD Flip-Flop• Edge-Triggered• Data is captured
when clock is high• Outputs change only
on falling edges
D Q
Q
D Q
QL L
clk
D
X
Q
c
X
c
Q
Q
D
clk
![Page 17: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/17.jpg)
17
RegistersRegister• D flip-flops in parallel • shared clock• extra clocked inputs:
write_enable, reset, …
clk
D0
D3
D1
D2
4 44-bitreg
![Page 18: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/18.jpg)
18
An Example: What will this circuit do?
32-bitreg
Clk
+1
Run
WE R
Reset
Decoder
![Page 19: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/19.jpg)
19
Recap
We can now build interesting devices with sensors• Using combinatorial logic
We can also store data values• In state-holding elements• Coupled with clocks
![Page 20: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/20.jpg)
20
Administrivia
Make sure partner in same Lab Section this week
Lab2 is outDue in one week, next Monday, start earlyWork aloneBut, use your resources
• Lab Section, Piazza.com, Office Hours, Homework Help Session,• Class notes, book, Sections, CSUGLab
No Homework this week
![Page 21: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/21.jpg)
21
Administrivia
Check online syllabus/schedule •http://www.cs.cornell.edu/Courses/CS3410/2012sp/schedule.htmlSlides and Reading for lecturesOffice HoursHomework and Programming AssignmentsPrelims (in evenings):
• Tuesday, February 28th • Thursday, March 29th • Thursday, April 26th
Schedule is subject to change
![Page 22: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/22.jpg)
22
Collaboration, Late, Re-grading Policies
“Black Board” Collaboration Policy•Can discuss approach together on a “black board”•Leave and write up solution independently•Do not copy solutions
Late Policy•Each person has a total of four “slip days”•Max of two slip days for any individual assignment•Slip days deducted first for any late assignment, cannot selectively apply slip days•For projects, slip days are deducted from all partners •20% deducted per day late after slip days are exhausted
Regrade policy•Submit written request to lead TA,
and lead TA will pick a different grader •Submit another written request,
lead TA will regrade directly •Submit yet another written request for professor to regrade.
![Page 23: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/23.jpg)
Finite State Machines
![Page 24: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/24.jpg)
24
Revisit Voting Machine
BallotsHow do we create
a vote countermachine
dete
ctenc
8 3 77LED
decode
![Page 25: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/25.jpg)
25
Revisit Voting Machine
mux
32
...reg
dete
ct
enc
3
decoder (3-to-8)
32 32
32
LED
dec
3
WE
+1
regWE
regWE
regWE
mux
D
V
![Page 26: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/26.jpg)
26
Finite State Machines
An electronic machine which has• external inputs• externally visible outputs• internal state
Output and next state depend on• inputs• current state
![Page 27: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/27.jpg)
27
Abstract Model of FSM
Machine isM = ( S, I, O, )
S: Finite set of statesI: Finite set of inputsO: Finite set of outputs: State transition functionNext state depends on present input and
present state
![Page 28: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/28.jpg)
28
Revisit Voting Machine
mux
32
...reg
dete
ct
enc
3
decoder (3-to-8)
32 32
32
LED
dec
3
WE
+1
regWE
regWE
regWE
mux
![Page 29: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/29.jpg)
29
Automata Model
Finite State Machine
• inputs from external world• outputs to external world• internal state• combinational logic
Next State
Current State
Input
Output
Regi
ster
sComb.Logic
![Page 30: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/30.jpg)
30
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 31: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/31.jpg)
31
FSM Example
Legend
S1S0
i0i1i2…/o0o1o2…
S1S0
/ / /
/
/
/
/ /
Input: =up or =downOutput: =on or =offStates: =A, =B, =C, or =D
![Page 32: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/32.jpg)
32
FSM Example
Legend
S1S0
i0i1i2…/o0o1o2…
S1S0
00 01
10 11
1/10/0 1/1
1/0
0/0
1/0
0/00/0
Input: 0=up or 1=downOutput: 1=on or 1=offStates: 00=A, 01=B, 10=C, or 11=D
![Page 33: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/33.jpg)
33
General Case: Mealy Machine
Outputs and next state depend on bothcurrent state and input
Mealy Machine
Next State
Current State
Input
OutputRe
gist
ers
Comb.Logic
![Page 34: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/34.jpg)
34
Moore Machine
Special Case: Moore Machine
Outputs depend only on current state
Next State
Current State
Input
OutputRe
gist
ers Comb.Logic
Comb.Logic
![Page 35: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/35.jpg)
35
Moore Machine Example
Legend
stateout
input
startout
A off
Bon
C off
D on
downup down
down
up
down
upup
Input: up or downOutput: on or offStates: A, B, C, or D
![Page 36: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/36.jpg)
36
Example: Digital Door Lock
Digital Door LockInputs: • keycodes from keypad• clockOutputs: • “unlock” signal• display how many keys pressed so far
![Page 37: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/37.jpg)
37
Door Lock: Inputs
Assumptions:• 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 38: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/38.jpg)
38
Door Lock: Outputs
Assumptions:• High pulse on U unlocks door
UD3D2D1D0
4 LEDdec
8
![Page 39: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/39.jpg)
39
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
any
anyelse else
B3”3”
else
![Page 40: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/40.jpg)
40
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
else
anyelse else
![Page 41: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/41.jpg)
41
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
else
anyelse else Cur. State OutputCur. State Output
![Page 42: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/42.jpg)
42
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
else
anyelse else Cur. State OutputCur. State OutputIdle “0”G1 “1”G2 “2”G3 “3”, UB1 “1”B2 “2”
![Page 43: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/43.jpg)
43
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
else
anyelse else
Cur. State Input Next StateCur. State Input Next State
![Page 44: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/44.jpg)
44
Door Lock: Simplified State Diagram
Idle
G1
”0”
Ø
G2 G3
B1 B2
”1” ”2” ”3”, U
”1” ”2”
Ø Ø
Ø Ø
“B”
“A” “B”
else
else
else
anyelse else
Cur. State Input Next StateCur. State Input Next StateIdle Ø IdleIdle “B” G1Idle “A” B1G1 Ø G1G1 “A” G2G1 “B” B2G2 Ø B2G2 “B” G3G2 “A” IdleG3 any IdleB1 Ø B1B1 K B2B2 Ø B2B2 K Idle
![Page 45: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/45.jpg)
45
Cur. State Input Next StateIdle Ø IdleIdle “B” G1Idle “A” B1G1 Ø G1G1 “A” G2G1 “B” B2G2 Ø B2G2 “B” G3G2 “A” IdleG3 any IdleB1 Ø B1B1 K B2B2 Ø B2B2 K Idle
State Table EncodingCur. State Output
Idle “0”G1 “1”G2 “2”G3 “3”, UB1 “1”B2 “2”
UD3D2D1D0
4dec
8
D3 D2 D1 D0 U0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 10 0 0 1 00 0 1 0 0
RPQ
K A B Meaning0 0 0 Ø (no key)1 1 0 ‘A’ pressed1 0 1 ‘B’ pressed
K A B0 0 01 0 11 1 00 0 01 1 01 0 10 0 01 0 11 1 0x x x0 0 01 x x0 0 01 x x
S2 S1 S0
0 0 00 0 10 1 00 1 11 0 01 0 1
State S2 S1 S0
Idle 0 0 0G1 0 0 1G2 0 1 0G3 0 1 1B1 1 0 0B2 1 0 1
S2 S1 S0 S’2 S’1 S’0
0 0 0 0 0 00 0 0 0 0 10 0 0 1 0 00 0 1 0 0 10 0 1 0 1 00 0 1 1 0 10 1 0 0 1 00 1 0 0 1 10 1 0 0 0 00 1 1 0 0 01 0 0 1 0 01 0 0 1 0 11 0 1 1 0 11 0 1 0 0 0
![Page 46: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/46.jpg)
46
Door Lock: Implementation4
dec
3bitReg
clk
UD3-0S2-0
S’2-0
S2-0
AB
CStrategy:(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 47: State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649c7c5503460f9492fd11/html5/thumbnails/47.jpg)
47
Summary
We can now build interesting devices with sensors• Using combinational logic
We can also store data values• Stateful circuit elements (D Flip Flops, Registers, …)• Clock to synchronize state changes• But be wary of asynchronous (un-clocked) inputs• State Machines or Ad-Hoc Circuits