0
\$\begingroup\$

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.

Timing trace Block diagram Operation table Karnaugh maps Rough circuit schematic

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.

Running the simulation

Any tips on how to proceed would be appreciated.

Thank you

\$\endgroup\$
1
  • \$\begingroup\$ 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. \$\endgroup\$
    – bboyes
    Mar 21, 2023 at 22:14

1 Answer 1

0
\$\begingroup\$

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

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.