- Asked 2/22
- 2078 Kartik · 10 marks
Three consecutive zeros detector using SR
Short answer
A Mealy machine with states A(00), B(01), C(10) detects overlapping '000'. S-R flip-flop excitation yields S1 = Q0 X', R1 = X, S0 = Q1' Q0' X', R0 = Q0, output Z = Q1 X'.
Design a sequential machine that detects three consecutive zeros from an input data stream x by making output y=1. (Use SR flip flop in your design)
Output y of the question is written Z (y = Z). With overlapping, every 0 after two 0s gives Z = 1.
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 000 arrives. Flip-flops: S-R.
States (what has been received so far):
- A: reset / last bit 1
- B: one 0 received
- C: two or more consecutive 0s
State diagram (Mealy)
Arc label = input/output
A --0/0--> B --0/0--> C --0/1--> C
A --1/0--> A (self loop)
B --1/0--> A
C --1/0--> A
State table
| Present state | Next, X=0 | Next, X=1 | Z (X=0) | Z (X=1) |
|---|---|---|---|---|
| A | B | A | 0 | 0 |
| B | C | A | 0 | 0 |
| C | C | A | 1 | 0 |
State assignment
A = 00, B = 01, C = 10 (flip-flop outputs ). 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 C, X=1 goes to A), so it is self-starting.
Excitation table of S-R flip-flop
| Q | Q+ | S | R |
|---|---|---|---|
| 0 | 0 | 0 | x |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | x | 0 |
Transition and excitation table
| Q1 Q0 | X | Q1+ Q0+ | S1 | R1 | S0 | R0 | Z |
|---|---|---|---|---|---|---|---|
| 0 0 | 0 | 0 1 | 0 | x | 1 | 0 | 0 |
| 0 0 | 1 | 0 0 | 0 | x | 0 | x | 0 |
| 0 1 | 0 | 1 0 | 1 | 0 | 0 | 1 | 0 |
| 0 1 | 1 | 0 0 | 0 | x | 0 | 1 | 0 |
| 1 0 | 0 | 1 0 | x | 0 | 0 | x | 1 |
| 1 0 | 1 | 0 0 | 0 | 1 | 0 | x | 0 |
K-maps and simplified equations
S1 X=0 X=1
Q1Q0=00 0 0
Q1Q0=01 1 0
Q1Q0=11 x x
Q1Q0=10 x 0
R1 X=0 X=1
Q1Q0=00 x x
Q1Q0=01 0 x
Q1Q0=11 x x
Q1Q0=10 0 1
S0 X=0 X=1
Q1Q0=00 1 0
Q1Q0=01 0 0
Q1Q0=11 x x
Q1Q0=10 0 0
R0 X=0 X=1
Q1Q0=00 0 x
Q1Q0=01 1 1
Q1Q0=11 x x
Q1Q0=10 x x
Z X=0 X=1
Q1Q0=00 0 0
Q1Q0=01 0 0
Q1Q0=11 x x
Q1Q0=10 1 0
Logic diagram
+-------------+ +----------+
X ------>| next-state |---->| FF1, FF0 |--+--> Q1, Q0
+----->| logic | | (CLK) | |
| +-------------+ +----------+ |
+-------------------<--------------------+
| +-------------+
+----->| output |----> Z
X ------>| logic |
+-------------+
Gates needed (two S-R flip-flops with a common clock; complements are taken from the outputs or NOT gates):
- : a 2-input AND for .
- : direct line .
- : a 3-input AND for .
- : direct line .
- : a 2-input AND for .
Check: input X = 1000010 gives Z = 0001100; Z = 1 at bits 4 and 5.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Detector for three consecutive zeros · Digital Logic, chapter 9 · asked 2×
- Flip-flop as state machine; SR to JK · Digital Logic, chapter 6
- Sequence detector 110 using SR flip-flops · Digital Logic, chapter 9
- Sequence detector 1101 using SR flip-flops · Digital Logic, chapter 9 · asked 7×
- Sequence detector 1001 using SR flip-flops · Digital Logic, chapter 9 · asked 7×
- Sequence detector 101 using JK flip-flops · Digital Logic, chapter 9 · asked 2×
- Sequence detector 1011 using T flip-flops · Digital Logic, chapter 9 · asked 2×
- Combinational vs sequential; JK flip-flop · Basic Electronics Engineering, chapter 6
- SR flip-flop operation · Basic Electronics Engineering, chapter 6 · asked 6×