Skip to main content

D and T flip-flops; T to JK conversion

Short answer

A D flip-flop outputs Q+ = D on the clock edge. A T flip-flop toggles when T=1 and holds when T=0: Q+ = T ⊕ Q. To convert T to JK, derive T = J·Q' + K·Q using AND gates for JQ' and KQ feeding an OR to T; check: JK=00 holds, 01 resets, 10 sets, 11 toggles.

Draw logic diagrams with truth table of D and T Flip-flops. Convert T flip-flop into JK flip-flop.

D flip-flop

The output copies the D input at each active clock edge: Qn+1=DQ_{n+1} = D.

 D --+------------>+------+  S*  +------+
     |             | NAND |----->| NAND |---> Q
     |   CLK --+-->|  G1  |  Q'->|  G3  |
     |         |   +------+      +------+
     |         |   +------+  R*  +------+
     |         +-->| NAND |----->| NAND |---> Q'
     +--[NOT]----->|  G2  |  Q-->|  G4  |
                   +------+      +------+
 S = D and R = D' : the forbidden S=R=1 never occurs
CLKDQ+Action
no edgexQNo change
edge00Reset
edge11Set

T flip-flop

The T (toggle) flip-flop holds its state for T = 0 and complements it for T = 1: Qn+1=T⊕QnQ_{n+1} = T \oplus Q_n. It is made from a J-K flip-flop with J and K tied together.

          +---------+
 T --+----| J     Q |--- Q
     |    |         |
     | CLK|>  JK    |
     |    |         |
     +----| K    Q' |--- Q'
          +---------+
CLKTQ+Action
no edgexQNo change
edge0QHold
edge1Q'Toggle

T flip-flops are used in counters and as divide-by-2 circuits (T = 1).

Converting T flip-flop into J-K flip-flop

Step 1: excitation table of T flip-flop (T = 1 whenever the state must change)

QQ+T
000
011
101
110

Step 2: conversion table. For each J, K and Q, take Q+ from the J-K characteristic table and write the T needed:

JKQQ+T
00000
00110
01000
01101
10011
10110
11011
11101

Step 3: K-map for T

K-map for T
Q\JK   00  01  11  10
 0      0   0   1   1
 1      0   1   1   0
  • Group Q = 0, JK = 11 and 10: JQ‾J\overline{Q}.
  • Group Q = 1, JK = 01 and 11: KQKQ.
T=J Q‾+K QT = J\,\overline{Q} + K\,Q

Step 4: logic circuit

          +-----+
 J ------>|     |
 Q' ----->| AND |--+
          +-----+  |  +----+     +---------+
                   +->|    |     |         |
                      | OR |---->| T     Q |---> Q
                   +->|    |CLK->|>   T    |
          +-----+  |  +----+     |      Q' |---> Q'
 K ------>|     |  |             +---------+
 Q  ----->| AND |--+
          +-----+
 (Q and Q' are fed back from the outputs)

Check: J = K = 1 gives T=Q‾+Q=1T = \overline{Q} + Q = 1 (toggle); J = K = 0 gives T = 0 (hold); J = 1, K = 0 gives T=Q‾T = \overline{Q}, so a 0 toggles to 1 and a 1 holds (set); J = 0, K = 1 gives T = Q (reset).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 6 questions →