Electronic – Designing a State Machine

flipflopsequence-detectorstate-machines

Question: Design a state machine that would output the sequence 0 1 7 1 and then 1 7 1 1 7 1 and so on. A reset will make the machine go to the which outputs 0?

What I've managed to do so far:

Since the sequence has four numbers so we use two Flip Flops. And states would be: 00, 01, 11, 10

And I'm considering "reset" to be an input, so the state table would have 2^3 = 8 rows.

Present St. Input Next St. Output in Dec.
   00        0      01       0
   00        1      00       0
   01        0      10       1
   01        1      00       1
   10        0      11       7
   10        1      00       7
   11        0      01       1
   11        1      00       1

From this table, I can draw K-Maps to find out simplified equations for D_A and D_B which are going to be the inputs of two D-Type Flip-Flops. But I'm to unable figure out how to display the output?

Should I convert it to binary and use three state machines instead since 7 would be 111 and three flip-flops would be needed to store this value.

Or can I use a ROM if Size 2*3 having two address lines and 3 bit output.And burn 0, 1, 7, 1 at respective locations 00, 01, 10, 11. Or is there a better solutions? Thank you. :')

Best Answer

     Input Present St. Next St. Output in Binary
       0      00        01       000
       0      01        11       001
       0      10        01       001
       0      11        10       111   
       1      00        00       000
       1      01        00       001
       1      10        00       001
       1      11        00       111   

I'd rearrange truth-table. 3 inputs, 5 outputs (2 for state).

Lower bit, OR of present state. Upper bits AND of present state.