# Digital Counter not initializing to 0 or rolling over to 0

I'm trying to make a 3-bit counter using D flip flops that loops through the sequence (0,3,4,5,7) repeatedly.

So far, I've made a timing trace, block diagram, operation table, Karnaugh maps, rough circuit diagram, and implemented it in Multisim.

The sequence somewhat works. When I start the simulation from scratch, the 7 segment goes 3, 4, 5, 7, 5, 7... It does not initialize to 0 unless I press the reset button, in which case it does the prior, but with a 0 before the 3. I cannot fathom why it decides to stick between the last two numbers of the sequence instead of rolling over to 0.

Any tips on how to proceed would be appreciated.

Thank you

• Your timing trace shows states 0 0 3 4 5 2 7 which differs from what you specified (0,3,4,5,7)? If no one else answers I'll look at a solution later tonight. Mar 21, 2023 at 22:14

Your Karnaugh maps are correct (although not optimal since you haven't made use of the don't cares) but you're reading the sum-of-products off wrong.

Given that you are mapping 3 inputs, a product of only a single term must be a rectangle covering 4 cells. Your rectangles cover only 2 cells, and therefore must be the product of two terms.

F0(Q0, Q1, Q2) = /Q0 /Q1 + /Q1 Q2

and

F2(Q0, Q1, Q2) = Q0 Q1 /Q2 + /Q1 Q2

If you fully minimize your k-maps,

F0(Q0, Q1, Q2) = /Q1

F1(Q0, Q1, Q2) = /Q1 /Q2 + Q0 /Q1 = /Q1 (Q0 + /Q2)

F2(Q0, Q1, Q2) = Q0 /Q2 + /Q1 Q2