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 |