- Asked 2/22
- 2075 Chaitra · 10 marks
- 2073 Shrawan · 12 marks
Sequence detector 101 using JK flip-flops
Short answer
Implement as an overlapping Mealy machine with two JK flip-flops and three states (unused 11). State A=00, B=01, C=10. Equations: J1 = Q0 X', K1 = 1; J0 = X, K0 = X'; output Y = Q1 X. Initialize to 00.
Design a sequential machine that detects 101 from input stream X by making Y is 1. Using J-K flip-flop.
The machine watches the serial input X and makes Y = 1 when the last three bits received are 1, 0, 1.
A Mealy machine is used (output depends on the present state and the present input), and overlapping sequences are detected. Since the sequence has 3 bits, 3 states are needed, so 2 JK flip-flops () are used, clocked on the positive edge. (A Moore machine would need 4 states.)
Step 1: States
| Present state | Meaning | Next (X=0) | Next (X=1) | Y (X=0) | Y (X=1) |
|---|---|---|---|---|---|
| A | reset / no useful bits | A | B | 0 | 0 |
| B | "1" received | C | B | 0 | 0 |
| C | "10" received | A | B | 0 | 1 |
Step 2: State diagram
Main path (label = X/Y):
A -1/0-> B -0/0-> C -1/1-> B
Other transitions:
A -0/0-> A B -1/0-> B
C -0/0-> A
Step 3: State assignment
| State | A | B | C |
|---|---|---|---|
| Q1 Q0 | 0 0 | 0 1 | 1 0 |
Code 11 is unused and is treated as a don't care.
Step 4: Excitation table
JK excitation: 0→0: J=0, K=X; 0→1: J=1, K=X; 1→0: J=X, K=1; 1→1: J=X, K=0.
| Q1 Q0 | X | Q1+ Q0+ | J1 | K1 | J0 | K0 | Y |
|---|---|---|---|---|---|---|---|
| 0 0 | 0 | 0 0 | 0 | X | 0 | X | 0 |
| 0 0 | 1 | 0 1 | 0 | X | 1 | X | 0 |
| 0 1 | 0 | 1 0 | 1 | X | X | 1 | 0 |
| 0 1 | 1 | 0 1 | 0 | X | X | 0 | 0 |
| 1 0 | 0 | 0 0 | X | 1 | 0 | X | 0 |
| 1 0 | 1 | 0 1 | X | 1 | 1 | X | 1 |
Step 5: K-maps (rows , columns )
| J1: Q1 / Q0X | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 |
| 1 | X | X | X | X |
| K1: Q1 / Q0X | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | X | X |
| 1 | 1 | 1 | X | X |
| J0: Q1 / Q0X | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 1 | X | X |
| 1 | 0 | 1 | X | X |
| K0: Q1 / Q0X | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | 0 | 1 |
| 1 | X | X | X | X |
| Y: Q1 / Q0X | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | X | X |
Step 6: Equations
Step 7: Logic diagram
+-----+ +-----+
J0>|J Q|-Q0 J1>|J Q|-Q1
| FF0 | | FF1 |
K0>|K | K1>|K |
+--^--+ +--^--+
| |
CLK---+-------------+
X = serial input, common to the gates
J1 = Q0.X' K1 = 1
J0 = X K0 = X'
Y = Q1.X
The gates for each flip-flop input are built from the equations; the output gate gives Y directly (Mealy output).
Unused state 11: with the equations above, from 11 the machine goes to 00 when X = 0 and to 01 when X = 1, so it enters the valid states after one clock. Since Y can be 1 from state 11 for one clock, the flip-flops should be cleared to 00 at power-on (reset).
Check with an input stream
| X | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|
| State | A | A | B | C | B | C | B | B | C | B |
| Y | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
Y = 1 appears exactly on the clock in which the last bit of 101 arrives; overlapping sequences are also detected.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Sequence detector 001 using JK flip-flops · Digital Logic, chapter 9 · asked 7×
- Sequence detector 011 using JK flip-flops · Digital Logic, chapter 9 · asked 7×
- Sequence detector 110 using JK flip-flops · Digital Logic, chapter 9 · asked 3×
- Sequence detector 101 using T flip-flops · Digital Logic, chapter 9
- Sequence detector 1011 using T flip-flops · Digital Logic, chapter 9 · asked 2×
- Sequence detector 1011 using JK flip-flops · Digital Logic, chapter 9 · asked 3×
- Combinational vs sequential; JK flip-flop · Basic Electronics Engineering, chapter 6
- Types of flip-flops; JK flip-flop · Basic Electronics Engineering, chapter 6 · asked 2×
- JK flip-flop operation and truth table · Basic Electronics Engineering, chapter 6
- VHDL dataflow/behavioural models; JK flip-flop · Embedded System, chapter 9