# 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 |