Sequence Generator

💡
Key learnings:
  • Sequence Generator Definition: A sequence generator is a digital circuit that produces a specific sequence of bits.
  • Purpose in Digital Electronics: Sequence generators are used to create specific patterns that do not follow standard counting orders, useful in various applications.
  • Designing with D Flip-Flops: Sequence generators can be designed using D flip-flops, involving state transition and excitation tables.
  • State Transition Table: This table outlines the present and next states, guiding the circuit’s operation.
  • Boolean Expressions for Flip-Flops: Deriving Boolean expressions for flip-flop inputs helps in designing the sequence generator circuit.

We all know that there are counters which pass through a definite number of states in a pre-determined order. For example, a 3-bit up-counter counts from 0 to 7, while the same order is reversed in the case of a 3-bit down counter. These circuits, when suitably manipulated, can be made to count up to an intermediate level also. This means that instead of counting till 7, we can terminate the process by resetting the counter just at, say, 5. Such counters are then known as mod-N counters. However, even in this case, the order in which they count will not alter. But what if we need to pass through a specific pattern which does not adhere to this standard way of counting? The solution would be to design a sequence generator.

A sequence generator is a set of digital circuits designed to produce a specific bit sequence at their output. There are several ways to design these circuits, using multiplexers or flip-flops. This article focuses on designing a sequence generator using D flip-flops, although JK flip-flops can also be used.
For example, let’s design a circuit that cycles through the states 0-1-3-2 and then repeats. The steps to create this sequence generator are as follows.
Step 1
At first, we need to determine the number of flip-flops required to achieve our objective. In our example, there are 4 states, which match the states of a 2-bit counter except for the order in which they transit. From this, we can conclude that 2 flip-flops are sufficient to achieve our objective.

Step 2
Next, we write the state transition table for our sequence generator. The first two columns show the present states, and the next two columns show the next states. For example, the first state is 0 (00 in binary), which leads to the next state 1 (01 in binary), as shown in the first data row of Table I.
Step 3
We extend the state transition table to include the excitation table of the flip-flop we are using, which is a D flip-flop. The fifth and sixth columns of the table represent the excitation table of the D flip-flop.

For example, look at the last data row of Table I, where the output of the first flip-flop transitions from a present value of 1 to a next value of 0; this requires D1 to be 0. The same row also shows the case wherein
Table I

Present StatesNext StatesInputs of D flip-flops
Q1Q0Q1+Q0+D1D0
000101
011111
111010
100000

Step 4
Now it is time to derive the Boolean expressions for D1 and D0. This can be done using any simplification technique including K-map. However, as our example is quite simple, we can just use the Boolean laws to solve for D1 and D0. Thus

Step 5
Having known the inputs to either of the D flip-flops, now we can design our sequence generator as shown in this figure.
sequence generator
In the circuit shown, the desired sequence is generated based on the clock pulses supplied. At this point, it should be noted that the analogy presented here for a simple design can be effectively extended to generate longer sequences of bits.

Want To Learn Faster? 🎓
Get electrical articles delivered to your inbox every week.
No credit card required—it’s 100% free.

About Electrical4U

Electrical4U is dedicated to the teaching and sharing of all things related to electrical and electronics engineering.

Leave a Comment