JK Flip-Flop
The JK flip-flop improves upon the SR FF by replacing the forbidden state with a TOGGLE. When J = K = 1, the output flips on every clock edge. Q(t+1) = J·Q' + K'·Q. No invalid states.
JK Flip-Flop — Edge-Triggered
Characteristic Table
| J | K | Q(t+1) | Operation |
|---|---|---|---|
| 0 | 0 | Q(t) | No Change ↗ |
| 0 | 1 | 0 | Reset ↓ |
| 1 | 0 | 1 | Set ↑ |
| 1 | 1 | Q'(t) | Toggle ⚡ |
State History
| J | K | Q(t) | Q(t+1) | Operation |
|---|---|---|---|---|
| — Press CLK ↑ to begin — | ||||
Q(t+1) = J·Q'(t) + K'·Q(t)
The JK FF uses Q and Q' feedback from the output to gate the J and K inputs. This prevents the simultaneous SET and RESET, replacing it with a controlled TOGGLE.
Toggle / Divide-by-2
With J=K=1, the JK FF becomes a T flip-flop — toggling on every clock edge. The output frequency = CLK / 2. This is how ripple counters are built.
Race-Around Problem
In simple JK latches, J=K=1 with a long CLK pulse causes multiple toggles within one cycle. Edge-triggering or Master-Slave design resolves this.