Upload
nanji
View
58
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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
18
Tabulate Inputs & OutputsTabulate Inputs & Outputs
Input SignalresetresetCCTSTSTLTL
Output SignalHGHG, , HYHY, , HRHRFGFG, , FYFY, , FRFRSTST
Descriptionplace FSM in initial statedetect vehicle on farm roadshort time interval expiredlong time interval expired
Descriptionassert green/yellow/red highway lightsassert green/yellow/red farm road lightsstart timing a short or long interval
19
Tabulate Unique StatesTabulate Unique States
• Some light configurations imply others.
StateS0S1S2S3
DescriptionHighway green (farmroad red)Highway yellowyellow (farmroad red)Farmroad green (highway red)Farmroad yellowyellow (highway red)
20
List AssumptionsList Assumptions
• Reset places timer in S0, highway green and farm road red.
• Reset also starts the timer.
• Stay in S0 as long as no one is on the farm road.
• Even if there is a farm road vehicle, the highway stays green at least long as the long time interval.
• (Unstated in Katz) There will never be a bicycle or pedestrian on the farm road.
21
Traffic Signal State DiagramTraffic Signal State Diagram
Reset
TL + C
S0TL•C/ST
S1 S3
S2
S0: HG
S1: HYHY
S2: FG
S3: FYFY
TL: long time interval expired
C: detect vehicle on farmroad
22
Traffic Signal State DiagramTraffic Signal State Diagram
Reset
TL + C
S0TL•C/ST
TS
S1 S3
S2
TS/ST
S0: HG
S1: HYHY
S2: FG
S3: FYFY
TS: short time interval expired
ST: start timing a short or long interval
23
Traffic Signal State DiagramTraffic Signal State Diagram
Reset
TL + C
S0TL•C/ST
TS
S1 S3
S2
TS/ST
TL + C/ST
TL • C
S0: HG
S1: HYHY
S2: FG
S3: FYFY
TL: long time interval expired
C: detect vehicle on farm roadST: start timing a short or long interval
24
Traffic Signal State DiagramTraffic Signal State Diagram
Reset
TL + C
S0TL•C/ST
TS
S1 S3
S2
TS/ST
TS/ST
TL + C/ST
TS
TL • C
S0: HG
S1: HYHY
S2: FG
S3: FYFY
TS: short time interval expiredST: start timing a short or long interval
25
Combination LockCombination Lock• 3 bit serial lock controls entry to locked room.
• Inputs are RESET, ENTER, 2 position switch for bit of KEY data.
• Locks generates an UNLOCK signal when KEY matches internal combination.
• ERROR light illuminated if KEY does not match combination.
• Sequence is:
– (1) Press ENTER,
– (2) enter KEY bit,
– (3) Press ENTER,
– (4) repeat (2) & (3) two more times. In the last round, it is not necessary to press ENTER.
26
Incomplete SpecificationIncomplete Specification
• Problem specification is incomplete:
– how do you set the internal combination?
– exactly when is the ERROR light asserted?
27
Why is it just possibly a bad idea to indicate an error immediately on seeing the first bad bit ?
Why is it just possibly a bad idea to indicate an error immediately on seeing the first bad bit ?
Make AssumptionsMake Assumptions• Make reasonable assumptions, decide whether
– combination is hardwired into logic or stored in a register?
– error is asserted as soon as an error is detected or waits until the full combination has been entered?
Our design: combination is stored in a register and error is asserted after the full combination has been entered
28
Block Diagram of LockBlock Diagram of Lock
Inputs: Reset, Enter, Key-In, L0, L1, L2
Outputs: Unlock, Error
UNLOCK
ERROR
RESET
ENTER
KEY -IN
L 0
L 1
L 2
Combination Lock FSM
Operator DataOperator Data
InternalCombination
InternalCombination
29
Enumerate the StatesEnumerate the States
• What sequences lead to opening the door?
• Do error conditions on a second pass …
30
State State Diagram of Diagram of
LockLock
EnterEnter
Comp1 Error1
KI L1KI = L1
EnterEnter
EnterEnter
Idle1 Idle1'
Comp2 Error2
KI L2KI = L2
Done
[Unlock]
Error3
[Error]
Reset
ResetReset
Reset
StartStart
Reset
Reset + Enter
Reset • Enter
Start
Comp0
KI = L0 KI L0
EnterEnter
Idle0 Idle0'
31
Do Activity #2 NowDo Activity #2 NowDue: End of Class Today.
RETAIN THE LAST PAGE(S) (#3 onwards)!!
For Next Class:• Bring Randy Katz Textbook, & TTL Data Book
• Required Reading:– Sec 11.1-11.3, skim 11.2 of Katz, omit the ABEL and
ASM descriptions
• This reading is necessary for getting points in the Studio Activity!