Skip to main content

JK flip-flop with symbol, equation, state diagram

Short answer

A JK flip-flop toggles when J=K=1, sets for J=1,K=0, resets for J=0,K=1, and holds for 00. Characteristic equation: Q+ = J Q' + K' Q. The state diagram has two states: 0→1 on 1x, 1→0 on x1; self-loops for 0: 0x, 1: x0.

Explain the operation of J-K flip-flop with logic diagram, graphic symbol, characteristics table, characteristic equation and state diagram.

A J-K flip-flop is an improved S-R flip-flop: J acts like Set, K like Reset, and the input J = K = 1, which is invalid for S-R, makes the output toggle.

Logic diagram (clocked J-K using NAND gates)

          +------+  S*  +------+
 J -------|      |----->|      |
 CLK -----| NAND |      | NAND |-----> Q
 Q' ------|  G1  |  Q'->|  G3  |
          +------+      +------+
          +------+  R*  +------+
 K -------|      |----->|      |
 CLK -----| NAND |      | NAND |-----> Q'
 Q  ------|  G2  |  Q-->|  G4  |
          +------+      +------+
 G3-G4: cross-coupled NAND latch. Q' is fed
 back to G1 and Q to G2.

G1 gets J, CLK and Q'; G2 gets K, CLK and Q; G3-G4 form a NAND latch. In practice the clock is an edge (or master-slave) clock so that the output changes once per clock.

Graphic symbol

      +---------+
 J ---| J     Q |--- Q
 CLK -|>        |
 K ---| K    Q' |--- Q'
      +---------+
 '>' = edge triggered (a bubble 'o>' means
 negative edge triggered)

Operation

  • J = 0, K = 0: G1 = G2 = 1, latch holds: no change.
  • J = 0, K = 1: G2 = 0 when Q = 1, latch resets: Q = 0.
  • J = 1, K = 0: G1 = 0 when Q = 0, latch sets: Q = 1.
  • J = 1, K = 1: only the gate with the 1 feedback fires, so the output toggles: Q+ = Q'.
  • No clock: inputs ignored, output held.

Characteristic table

JKQQ+
0000
0011
0100
0110
1001
1011
1101
1110

Characteristic equation

K-map for Q+ (rows Q, columns JK)
Q\JK   00  01  11  10
 0      0   0   1   1
 1      1   0   0   1
 Groups: J.Q' (row 0, cells 11,10)
         K'.Q (row 1, cells 00,10)
Qn+1=J Qn‾+K‾ QnQ_{n+1} = J\,\overline{Q_n} + \overline{K}\,Q_n

State diagram

The flip-flop has two states, Q = 0 and Q = 1. Each arrow is labelled with the J K inputs that cause that transition at the clock edge (x = don't care):

              JK = 1x
     +-------------------------+
     |                         v
  +-------+               +-------+
  | Q = 0 |               | Q = 1 |
  +-------+               +-------+
     ^                         |
     +-------------------------+
              JK = x1
 Self-loop on Q=0: JK = 0x (00 or 01)
 Self-loop on Q=1: JK = x0 (00 or 10)
  • From 0: stays 0 for JK = 00 (hold) or 01 (reset); goes to 1 for 10 (set) or 11 (toggle).
  • From 1: stays 1 for JK = 00 or 10; goes to 0 for 01 or 11.

These labels are exactly the excitation table: 0 to 1 needs J = 1, K = x; 1 to 0 needs J = x, K = 1.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 6 questions →