Skip to main content

Sequence detector 101 using T flip-flops

Short answer

A Mealy machine with states A(00), B(01), C(10) detects overlapping '101'. T flip-flop excitation gives T1 = Q0 X' + Q1, T0 = Q0 X' + Q0' X, output Z = Q1 X.

A synchronous machine has 1-bit input 'X'. The output 'Y' goes high when input contains the message '101'. Draw the state diagram, derive the transition table (state table), excitation table and design circuit. Use only T flip-flops.

Output Y of the question is written Z (Y = Z).

A Mealy machine is used (output depends on present state and input), so fewer states are needed. Overlapping sequences are allowed: after a detection the machine keeps the useful tail of the input. One input X and one output Z; Z = 1 in the clock period in which the last bit of 101 arrives. Flip-flops: T.

States (what has been received so far):

  • A: reset / no useful bits
  • B: "1" received
  • C: "10" received

State diagram (Mealy)

Arc label = input/output

 A --1/0--> B --0/0--> C --1/1--> B

 A --0/0--> A  (self loop)
 B --1/0--> B  (self loop)
 C --0/0--> A

State table

Present stateNext, X=0Next, X=1Z (X=0)Z (X=1)
AAB00
BCB00
CAB01

State assignment

A = 00, B = 01, C = 10 (flip-flop outputs Q1Q0Q_1 Q_0). The unused code 11 is taken as don't care (x) in all K-maps. The flip-flops are cleared to 00 at power-on (start state). Checking the final equations, from 11 the machine goes to a valid state on the next clock (X=0 goes to A, X=1 goes to B), so it is self-starting.

Excitation table of T flip-flop

QQ+T
000
011
101
110

Transition and excitation table

Q1 Q0XQ1+ Q0+T1T0Z
0 000 0000
0 010 1010
0 101 0110
0 110 1000
1 000 0100
1 010 1111

K-maps and simplified equations

T1          X=0  X=1
Q1Q0=00       0    0
Q1Q0=01       1    0
Q1Q0=11       x    x
Q1Q0=10       1    1

T0          X=0  X=1
Q1Q0=00       0    1
Q1Q0=01       1    0
Q1Q0=11       x    x
Q1Q0=10       0    1

Z           X=0  X=1
Q1Q0=00       0    0
Q1Q0=01       0    0
Q1Q0=11       x    x
Q1Q0=10       0    1
T1=Q0X′+Q1T0=Q0X′+Q0′XZ=Q1X\begin{aligned} T_1 &= Q_0 X' + Q_1 \\ T_0 &= Q_0 X' + Q_0' X \\ Z &= Q_1 X \end{aligned}

Logic diagram

           +-------------+     +----------+
 X  ------>| next-state  |---->| FF1, FF0 |--+--> Q1, Q0
    +----->| logic       |     |  (CLK)   |  |
    |      +-------------+     +----------+  |
    +-------------------<--------------------+
    |      +-------------+
    +----->| output      |----> Z
 X  ------>| logic       |
           +-------------+

Gates needed (two T flip-flops with a common clock; complements are taken from the Q′Q' outputs or NOT gates):

  • T1T_1: a 2-input AND for Q0X′Q_0 X'; direct line Q1Q_1, combined in a 2-input OR gate.
  • T0T_0: a 2-input AND for Q0X′Q_0 X'; a 2-input AND for Q0′XQ_0' X, combined in a 2-input OR gate.
  • ZZ: a 2-input AND for Q1XQ_1 X.

Check: input X = 0101011 gives Z = 0001010; Z = 1 at bits 4 and 6 ("10101" contains two overlapping 101s) and 0 at bit 7.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 9 questions →