Skip to content
Official PYQ · 2016

GATE CS 2016 Set 1 Q8 — Sequential Circuits

Explain with AI

We want to design a synchronous counter that counts the sequence 0−1−0−2−0−30-1-0-2-0-3 and then repeats. The minimum number of J-K\text{J-K} flip-flops required to implement this counter is _____________.

View worked solution

Answer: 3:4

To design a synchronous counter that counts the sequence 0o1o0o2o0o3o0…0 o 1 o 0 o 2 o 0 o 3 o 0 \dots, we can analyze the minimum number of J-K flip-flops required using two different design perspectives (both of which were accepted in GATE):

Method 1: State Machine Perspective (Minimum States)

The given sequence has a repeating period of 66 states:

State1(0)→State2(1)→State3(0)→State4(2)→State5(0)→State6(3)→State1(0)…\text{State}_1 (0) \to \text{State}_2 (1) \to \text{State}_3 (0) \to \text{State}_4 (2) \to \text{State}_5 (0) \to \text{State}_6 (3) \to \text{State}_1 (0) \dots

Since the next state must be uniquely determined by the current state, we need at least 66 distinct internal states to uniquely identify each step in the sequence (specifically to distinguish between the three different occurrences of 00).

Let nn be the number of J-K flip-flops. The number of states NN that can be represented by nn flip-flops is 2n2^n.

2n≥6  ⟹  n≥⌈log⁡26⌉=32^n \ge 6 \implies n \ge \lceil \log_2 6 \rceil = 3

Thus, the absolute minimum number of flip-flops required is 3.


Method 2: Direct Output Representation Perspective

If the state of the flip-flops must directly contain the output count value:

  • The maximum count value is 33, which requires 22 flip-flops (say, Q1Q0Q_1 Q_0) to represent the binary values 00,01,10,1100, 01, 10, 11.
  • However, the value 00 (0000) appears three times in the sequence, each transitioning to a different next state (11, 22, and 33).
  • To distinguish these three occurrences of 00, we need auxiliary state variables. Since there are 33 identical output states, we need at least ⌈log⁡23⌉=2\lceil \log_2 3 \rceil = 2 extra flip-flops (say, y1y0y_1 y_0) to act as control/distinguishing bits.

Total flip-flops required = 2 (for count)+2 (for distinguishing)=42 \text{ (for count)} + 2 \text{ (for distinguishing)} = \mathbf{4} flip-flops.

Both 3 and 4 are correct depending on whether output decoding logic is used.

Free practice · Your answers on this page are not saved.

Published
Report a correction
Keep exploringMore Sequential Circuits questions