1 FSM Word Problems FSM Word Problems Notes: Review for Test #2 – Monday Studio #8: Reading assignment is required & due next week Today: • First Hour: Finite string recognizer, Complex counter – Section 8.5 of Katz’s Textbook – In-class Activity #1 • Second Hour: Traffic signal controller, Digital combination lock • Section 8.5 of Katz’s Textbook – In-class Activity #2
31
Embed
1 FSM Word Problems Notes: Review for Test #2 – Monday Studio #8: Reading assignment is required & due next week Today: First Hour: Finite string recognizer,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
FSM Word ProblemsFSM Word Problems
Notes: Review for Test #2 – Monday
Studio #8: Reading assignment is required & due next week
Today:• First Hour: Finite string recognizer, Complex counter
– Section 8.5 of Katz’s Textbook
– In-class Activity #1
• Second Hour: Traffic signal controller, Digital combination lock
• Section 8.5 of Katz’s Textbook
– In-class Activity #2
2
Katz Material not CoveredKatz Material not Covered
CoCO doesn't cover everything in Katz.CoCO doesn't cover everything in Katz.
Omitted material includes:
ASM charts
The ABEL language
all of Chapter 9 is skipped
3
Word ProblemsWord Problems• One of the most difficult problems is making an
imprecise description of a finite state machine into a precise one.
• Have you covered all the states?
• Omissions can cause failures, crashes, death and destruction, etc.
• This is the Hardware equivalent of a Software programming error.
4
Finite String RecognizerFinite String Recognizer
• One input: X
• One output: Z
• Description:
– Z is 1 if the 3 previous input bits are 010, and 100 has never been seen.
• Unstated assumptions:
– RESET starts the FSM at the "reset" state
– Z is asserted when the following bit is seen.A Moore Machine implementation.
Serial Finite State MachineSerial Finite State Machine
5
ExampleExample
• X: 0 0 1 0 1 0 1 0 0 1 0
• Z: - 0 0 0 1 0 1 0 1 0 0 0
• Z is 0 even though the three previous inputs are Z is 0 even though the three previous inputs are 010, 010, because 100 was seen earlier.because 100 was seen earlier.
Serial BehaviorSerial Behavior
6
S0 [0]
S1 [0]
S2 [0]
S3 [1]
S4 [0]
S5 [0]
S6 [0]
Reset
0 1
1 0
0 00,1
Formal DesignFormal Design
• Create sequences of states for the strings that the machine recognizes:
010 010 andand 100 100.
• Note we reset to S0S0.
• Consider the unlabelled transitions.
State Transition DiagramState Transition Diagram
7
S0 [0]
S1 [0]
S2 [0]
S3 [1]
S4[0]
S5 [0]
S6 [0]
Reset
01?01?
100100
010010
1
0
State S3State S3
• Where do we go from S3S3?
• A 1 means the last 3 bits are 101101, so go to S2S2.
• A 0 means we’ve seen 100100, so go to S6S6.
0 1
1 0
0 0 0,1
Diagram DevelopmentDiagram Development
8
S0 [0]
S1 [0]
S2 [0]
S3 [1]
S4 [0]
S5 [0]
S6 [0]
Reset
0 1
100
0,10
0
01
10?0?
States S1 and S4States S1 and S4
• Loop in S1S1 until we see our first 11.
• Loop in S4S4 until we see our first 00.
01?01?
100100010010
1?1?
Diagram DevelopmentDiagram Development
9
States S2 and S5States S2 and S5
• S2S2 means the last 2 bits are 0101, which may be a prefix of 010010.
• If the next bit is 1, the last 2 bits are now 1111, maybe a prefix of 100100. That’s S4S4.
• S5S5: Last 2 bits are 1010. If next bit is 1, maybe that’s a prefix for 010010. Go to S2S2.
S0 [0]
S1 [0]
S2 [0]
S3 [1]
S4 [0]
S5 [0]
S6 [0]
Reset
00 1
1
0
0,1
00
0 1 10?10?
1
11
1?1?
0?0?
01?01?
100100010010
Diagram DevelopmentDiagram Development
10
Review of Design StepsReview of Design Steps
• Write sample inputs and outputs to understand it.
• Write sequences of states and transitions for the strings that the FSM is to recognize.
• Add missing transitions, using existing states when possible.
• Verify that the state diagram matches the FSM.
Katz's MethodKatz's Method
11
Complex CounterComplex Counter
• Design a 3-bit counter, with one input bit, a mode, MM.
• If M = 0M = 0, step to the next binary number in the sequence 000, 001, 010, 011, 100, 101, 110, 111, …
• If M = 1M = 1, step to the next Gray code number in the sequence 000, 001, 011, 010, 110, 111, 101, 100, ...
12
Try Some Sample InputsTry Some Sample Inputs
• Note that we can switch modes at any time.
Mode Input M0011100
CurrentState
0 0 00 0 10 1 01 1 01 1 11 0 11 1 0
Next State(Z2 Z1 Z0)
0 0 10 1 01 1 01 1 11 0 11 1 01 1 1
13
ResetS0
[000]
S1 [001]
S2 [010]
S3 [011]
S4 [100]
S5 [101]
S6 [110]
S7 [111]
0
0
0
1
1
0
0
01
1
11
1
1
10
0
Formal Formal RepresentationRepresentation
• One state for each output combination
• Add appropriate arcs for the mode control
14
Do Activity #1 NowDo Activity #1 Now
S0 [0]
S1 [0]
S2 [0]
S3 [1]
S4 [0]
S5 [0]
S6 [0]
Reset
00 1
1
0
0,1
00
0 1 10?10?
1
11
1?1?
0?0?
01?01?
100100010010
ResetS0
[000]
S1 [001]
S2 [010]
S3 [011]
S4 [100]
S5 [101]
S6 [110]
S7 [111]
0
0
0
1
1
0
0
01
1
11
1
1
10
0FSM String Recognizer, Z=1 if
010 is seen, but 100 not seen before Complex Counter
15
Diagram of IntersectionDiagram of Intersection
Highway
Highway
Farmroad
Farmroad
HL
HL
FL
FL
CC
CC
16
Traffic Light ControllerTraffic Light Controller• A busy highway is intersected by a little-used farm road.
• Detectors CC sense the presence of cars waiting on the farm road.
• With no car is on farm road, the lights remain GreenGreen in the highway direction.
• If vehicle is on the farm road, highway lights go from GreenGreen to YellowYellow to RedRed, allowing the farm road lights to become GreenGreen.
• These stay GreenGreen only as long as a farm road car is detected but never longer than a set time interval.
• When these are met, farm lights transition from GreenGreen to YellowYellow to RedRed, allowing highway to return to GreenGreen.
• Even if farm road vehicles are waiting, the highway gets at least a set interval as GreenGreen.
17
Available TimersAvailable Timers
• Assume you have an interval timer that generates a short time pulse (TSTS) and a long time pulse (TLTL) in response to a start timer (STST) signal.
• TSTS is to be used for timing YellowYellow lights and TLTL for GreenGreen lights