22 March, 2000
A word about the homework
- How to compute 3*x + 1 on the PIC
- How to compute x/2 on the PIC
- How to test for oddness on the
PIC
Types of state machines
- Moore FSM -- state based
- Mealy FSM -- input (and state) based
FSM minimization
Equivalence classes can be used to determine identical states. This rarely
happens unless the FSM designer is careless.
State assignment
- minimum bit change
- Weigh each arc by the number of bits that change in going from one state
to another.
- prioritized-adjacency strategy
- Assign adjacent states by priority:
- Same next state for a given value
- Next states of a single state
- Same outputs for a given input
- hot-one encoding
- Each state have its own bit.
Computer assigned states -- nova
.symbolic input
no_action 0_cents 0_cents 0
no_action 5_cents 5_cents 0
no_action 10_cents 10_cents 0
no_action 15_cents 15_cents 0
nickel 0_cents 5_cents 0
nickel 5_cents 10_cents 0
nickel 10_cents 15_cents 0
nickel 5_cents 15_cents 0
dime 0_cents 10_cents 0
dime 5_cents 15_cents 0
dime 10_cents 15_cents 0
dime 15_cents 15_cents 0
button_press 0_cents 0_cents 0
button_press 5_cents 0_cents 0
button_press 10_cents 0_cents 0
button_press 15_cents 0_cents 1
.end
Input encoding
Input assignment |
no_action |
00 |
nickel |
11 |
dime |
01 |
button_press |
10 |
State assignment |
0_cents |
10 |
5_cents |
01 |
10_cents |
11 |
15_cents |
00 |