Master-Slave JK — Two-Stage Design

CLK=1: CAPTURE MASTER 0 J CLK K Qm Qm' CLK=0: TRANSFER SLAVE 0 Qm CLK' Qm' Q Q' J 0 CLK ↑↓ K 0 0 Qm 1 Qm' 0 Q 1 Q'
Qm = 0
Q = 0
Q' = 1

Characteristic Table

JKQ(t+1)Operation
00Q(t)No Change ↗
010Reset ↓
101Set ↑
11Q'(t)Toggle ⚡

Clock Cycle

CLK 0→1: Master latches J, K → computes Qm
CLK 1→0: Slave reads Qm → outputs Q, Q'
↑↓ button = complete 0→1→0 cycle

State History

JKQ(t)QmQ(t+1)Op
— Press CLK ↑↓ to begin —

How It Works

Why Master-Slave?

In a simple JK FF with J=K=1, if CLK stays HIGH for a long time, the output can toggle multiple times in one cycle (race-around). The M-S design splits capturing (CLK=1) from outputting (CLK=0), ensuring exactly one transition per clock pulse.

Two-Phase Operation

The Master samples inputs when CLK is HIGH, storing them internally in Qm. When CLK goes LOW, the Slave copies Qm to Q — the output changes only on the falling edge.

Modern Alternative

Modern ICs use true edge-triggering (propagation delay-based) instead of Master-Slave, providing even more reliable single-edge operation used in all CMOS logic families today.