Fall 2015 CSCI 255 Homework 5 2nd chance

This assignment is should be uploaded to Homework 5 retry on moodle by 11:00 PM on Monday 24 November.

This is a chance to upgrade your scores on Homework 5.

Implementation of Finite State Machines

In Homework 5, you designed and implemented a finite state machine that produces a 1 if and only if its input bitstring, from the time the FSM was reset, encodes a number that when divided by 5, produced a remainder of 0.

This time, we make a small change: design and implement a finite state machine that produces a 1 if and only if its input bitstring, from the time the FSM was reset, encoded a number that when divided by 6, produces a remainder of 3 or 5.

Here are examples of inputs that satisfy this criteria.

Next state table

S00S0
S01S1
S10S2
S11S3
S20S4
S21S5
S30S0
S31S1
S40S2
S41S3
S50S4
S51S5

Output table

S00
S10
S20
S31
S40
S51

Try to keep it simple. I suggest you use a ROM and register as shown in the Homework 5 solution. In fact you can just start with the Homework 5 solution, but be sure to acknowledge its creator.

Also, be sure to include a reset line for starting your circuit in the right state.

Starting point

Testing of the Finite State Machines

Describe your plan for testing your finite state machine. This should be a couple of paragraphs long.

What to turn in

Turn in the Logisim .circ file for your implementation and a file describing your testing strategy.