State Machine Design for Repeating Sequence: 0,2,4,6,1,3,5,7 with 4 Bit Counter

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 3K views
Rocket254
Messages
33
Reaction score
0

Homework Statement



Design a state machine that repeatedly goes through the following sequence: three repeats of 0,2,4,6 followed by 2 repeats of 1,3,5,7. An observer watching the machine should see the states over and over: 0,2,4,6,0,2,4,6,0,2,4,6,1,3,5,7,1,3,5,7...


The Attempt at a Solution

I've decided to use a 4 bit counter as the input to the machine. I have set up the following truth tables:EDIT: it is chewing my formatting to pieces. The values on a line by themselves are the counter values.Counter current state next state

00
000 010
001 011
010 100
011 101
100 110
101 111
110 000
111 000
01
000 010
001
010 100
011
100 110
101
110 000
111
10
000 010
001
010 100
011
100 110
101
110 001
111
11
000
001 011
010
011 101
100
101 111
110
111 001
I seem to run into a problem after the first complete 3-2 sequence.(Thus why the truth table isn't completed.) When the counter is at 00, 01, and 10, the sequence is at 0246. It then swaps to the 1357 sequence at counter values 11 and 00. After that, instead of counting three more 0246 sequences, it swaps back to 1357 at the end of counter value 10. This problem would be simple if the sequences alternated every 4 times but, my machine seems to overlap itself when the counter runs back through the values. Any ideas how to correct the problem?
 
on Phys.org
I may have found an alternate way to solve this. Does anyone know if there is a way to make a 3 bit counter stop at 5 and start back over at 1?
 
Do you have to use a counter? It seems this would be a very easy problem with a simple microprocessor.
 
Didn't see the reply in time but I solved it anyway. I decided to use a second state machine for the input that rotated through 5 states of 0,0,0,1,1


Thanks for the help.


JH