While investigating the design of J-K Flip Flop, I cannot get my head around how toggle work. I know it only toggle as the clock goes from 0 to 1.
Here's my false understanding of how the toggle works.
Assume it's Q = 0, Q' = 1
, and J = K = 1
. Now the clock goes up, the detectors picks it up, and send an impulse.
The next state is Q = 1, Q' = 1
, and that's nowhere near Q = 1, Q' = 0
. Worse, as J = K = 1
and clock stays high so no impulse is sent, it actually oscillate between 00
and 11
.
What's wrong with my understanding?
I'm simulating the one constructed by 4 NAND, and next state is determined by the following equations:
Anext = not (Clock and J and Q')
Bnext = not (Clock and K and Q )
Qnext = not ( Q' and A)
Q'next = not ( Q and B)