Need help with a mod-6 counter using JK flip flops w/ control bit

AI Thread Summary
The discussion revolves around creating a six-state up/down counter using JK flip-flops, incorporating a control bit (C) to determine the counting direction. The user successfully designed a counter with D flip-flops but struggles to adapt this design to JK flip-flops while maintaining bi-directionality. They have created an excitation table and populated k-maps for the next states but are confused about integrating the control bit into the JK flip-flop design. The community encourages sharing the existing work on both D-FF and JK-FF versions to provide more targeted assistance. Clarifying the role of the control bit in the JK flip-flop logic is essential for resolving the user's conceptual difficulties.
makattack

Homework Statement


[/B]
I am currently working on an assignment in which I create a six-state up/down counter. The purpose is to understand the functionality of flip-flops within a circuit among other things.

There are 3 input bits (Q2,Q1, Q0), and a 4th control bit (C) which determines the direction that the counter runs. Naturally I derived a design from 3 next-state function 4x4 k-maps, and I created a design utilizing D flip flops, which runs perfectly forwards and backwards.

The second part asks me to convert from a D-ff design to using JK flip flops. I mostly understand the logic of how a JK flip flop works, but I can't for the life of me figure out how to fit that extra control bit into the translation.

Homework Equations

The Attempt at a Solution


[/B]
My trouble comes in keeping the circuit bi-directional. I am very confused about what to do with the control bit. I created an excitation table for the next states, which I believe is correct, and conversions for the six JK k-maps (K2, K1, K0, J2, J1, and J0). However, I now have two sets of J & K values, one for C=0 and one for C=1.

In trying to work it out, I populated the 6 k-maps with the proper data (only C=0) and constructed a function/circuit, but of course it only clocks in one direction whether C is set to 0 or 1. What am I supposed to do with the control bit when I translate to the new k-maps for K2, K1 etc... which each only take the three Q input bits?

What am I missing in the logic of utilizing JK flip flops for 3 input bits when there is the control bit as well?

Hopefully that's clear, I'm sure it is just a conceptual problem I am having trouble figuring out. If anyone wants me to upload my excitation table or any other part I've done so far, let me know. Any help is greatly appreciated!
 
Physics news on Phys.org
Welcome to the PF. :smile:

Yes, please upload your work for the D-FF version and your work so far for the JK-FF version. That will help a lot in our efforts to help you out. :smile:
 
I am trying to run an .ipynb file and have installed Miniconda as well as created an environment as such -conda create -n <env_name> python=3.7 ipykernel jupyter I am assuming this is successful as I can activate this environment via the anaconda prompt and following command -conda activate <env_name> Then I downloaded and installed VS code and I am trying to edit an .ipynb file. I want to select a kernel, via VS Code but when I press the button on the upper right corner I am greeted...

Similar threads

Replies
1
Views
2K
Replies
5
Views
4K
Replies
2
Views
5K
Replies
1
Views
2K
Replies
3
Views
2K
Back
Top