SEQUENCE GENERATOR USING FLIP-FLOPS
Sequence generators
are a type of logic circuits used to give a prescribed or pre-desired
output.
Counters are a special
kind of sequence generators they pass through a definite number of states in a
pre-determined order. There are mainly two types of counters - synchronous and
asynchronous
counters. In
Synchronous counters, the flip flops are triggered with the same clock
simultaneously whereas in Asynchronous counters the flip flops are triggered
with different clock or from the output
of previous
flip-flops.
There are various
types of counters within them such as UP counter, DOWN counter and UP/DOWN
counter.
For instance, a 4-bit
up-counter will count from 15 to 0 while the order is reversed in the case of
4-bit
down-counter. These
circuits when suitably manipulated by making a logic circuit are often made to
count till an intermediate level as well. This means that rather than counting
till 15 we can terminate the method by resetting the counter just at say 7.
Such counters are then referred to as MOD-N counters. However, in any of the
above cases, the counters will count in a specific manner which being counting
from a specific number until
the last number in an
adjacent manner.
Therefore, this
creates a need for SEQUENCE GENERATORS which serves the purpose of generating
a sequence desired by
us in any random manner. The sequence generators are hence nothing but a
set of digital
circuits which are designed to offer a selected bit sequence as their output.
This blog would,
therefore, be dedicated to designing and implementation of sequence generators.
There are two methods
to generate them- Direct and Indirect. We would, therefore, be going through both
of the mentioned methods in detail.
DIRECT METHOD FOR T and D FLIP-FLOP
As an example, suppose
we would want to design a circuit with waveform bit 011011 or which moves
through the states 011011 or 0🡪1🡪3🡪4🡪5🡪7🡪0before repeating the previous pattern. In this case, the following
steps will be carried out.
STEP 1 (SAME FOR ALL FLIP-FLOPS)
The first and foremost
step requires us to find out is the number of unique states and the number of
flip-flops
needed to produce the
desired output. As we can see in this example there are 6 unique states
therefore, we would need 3 flip-flops. As 23=8 max bits and
therefore 6 bits could be included in 3 flip-flops. If unique states are not
possible by n flip flops then add 1 more flip flop to get the unique states.
STEP 2(SAME FOR ALL FLIP-FLOPS)
The pulses are first
copied down vertically on the LSB then the unique states are assigned in which
the other 2
states (010,110) are invalid.
states (010,110) are invalid.
STEP3 (SAME FOR ALL FLIP-FLOPS)
After this, let us now draw the state
transition diagram for our sequence generator. Which basically is drawing a
diagram where present state points toward the next state.
STEP 4
Knowing the above steps, let us now draw
a state transition table for our sequence generator. This is given in the first
six columns of the table drawn below, in which the first three columns indicate
the present states while the subsequent three columns indicate the subsequent
states as depicted in the state diagram l. Along with this extend the table to
incorporate the excitation table of the flip-flop with which we desire to
design our circuit.
STEP 5 FOR T FLIP-FLOP
From the above table, we can easily derive
the Boolean expression for T3, T2 and T1 from K-maps.
These K-Map represent the Boolean
expressions for T Flip-flop and the final Boolean expression from them are as follows:-
T1 = Q1’ + Q2
T2 = Q1
T3 = Q2
STEP 5 FOR D FLIP-FLOP
The final Boolean expression formed by the
K-Map are as follows:-
D1= Q2’
D2= Q2’ Q1
D3= Q2’ Q3 + Q3’ Q2
STEP 6
As we are aware of the Boolean expression
for the inputs of the T Flip-Flop, we can easily design the sequence generator
for the desired sequence.
NOTE:- J and K when shorted together in J-K
Flip-flop gives T Flip-flop.
These sequence generators, therefore, counts
only the desired states which are 0à1à3à4à5à7à0 in the given sequence and we can personalize the sequence
according to the need of the user. The new sequence generator can, therefore, be
easily made again by using the same steps as explained above. The sequence
generator can be made for N no of bits by addition of flip-flops
Similarly, from the Boolean expressions of
D Flip-flop we get the following logic circuit and hence we can design the
desired sequence generator.
The generation of sequence can be seen in the form of signals
with the help of timing diagrams for the given flip flops. AS we can see in the
digital oscilloscope for LSB(yellow) we get the sequence generator for 011011.
INDIRECT METHOD FOR JK FLIP-FLOP
The advantage of indirect logic is that any
counter (ripple or synchronous) with the correct number of states can be used
to form the sequence generator. The same approach can be used for multiple
outputs and multiple-output minimization can be used to reduce the logic
In this method, the given sequence is
written vertically as output and make the truth table with inputs as the unique
state. The no of bits present is the no of states we need in the counter. The
states which are not used therefore are invalid.
The next step is to draw the K-map from the
truth table and after the grouping of 1’s we obtain the Boolean expression from
which we can easily draw the combinational logic for the given circuit.
For example, let us try to design a
sequence generator for the bit waveform
10010 with the help of an indirect method of logic design.
DESIGN FOR JK FLIP-FLOP
STEP 1- TRUTH TABLE
The given sequence is 5 bits therefore it
is written vertically in the output column. The number of flipflops needed would be
3 as it has 5 bits or any mod-5 counter. In this example, we will use a ripple
counter. For all the invalid states we use don’t care.
STEP 3- LOGIC CIRCUIT
As can be seen in the digital
oscilloscope for LSB (green) the bits of the waveform are in the sequence of
10010. Also, we have used a NAND gate
for 110 as it is the first invalid state and the output is given to the reset
pin so that the flip flop can reset when the value of the input area 110.
APPLICATION
There are various applications of sequence
generator such as: -
1.
Pulses can then be injected
into a device that is under test and used as a stimulus or clock signal or analysed
as they progress through the device
2.
Pulse train generators are used
to drive devices such as switches, lasers and optical components, modulators,
intensifiers as well as resistive loads
3.
They can be used to open
valves, close gates and perform a variety of jobs.
CONCLUSION
The design methods like direct and indirect
explained throughout the blog can be used to easily make SEQUENCE GENERATOR for
any bit sequence or state.
The important steps to keep in mind are: -
1.
Number of Flip-flops required.
2.
Charting the excitation table
for the required flip-flop.
3.
Plotting of 1’s on K-Map.
4.
Writing Boolean expression from
K-Map.
5.
Drawing the logic diagram or
combinational circuit.
Great info , worth reading
ReplyDeleteGreat work guys
ReplyDeleteGreat work!!! Keep it up 👍
ReplyDeleteVery nice! 9 out of 10.
ReplyDeleteVery informative
ReplyDeleteAmazinggg very informative! Good work guys 👍
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteVery Informative and good presentation
ReplyDeleteVery informative!!
ReplyDeleteAmazing work
ReplyDeleteVery informative 👍
ReplyDeleteGreat Work!!
ReplyDeleteNicely explained 👍
ReplyDeleteGreat!
ReplyDeleteGreat work
ReplyDeleteVery good presentation and nicely written !!!
ReplyDeleteAmazing
ReplyDeleteThis helped me with my assignments. What a PPT ��
ReplyDeleteGlad to hear that we could help.😊
DeleteAmazing work! Very comprehensively written.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteVery informative. Keep it up. 👍🏼
ReplyDeleteVery nice extremely smart this guy used to be my classmate and now hes doing wonders, learn from him
ReplyDeleteAmazing work guys
ReplyDeleteNicely put up as a blog , could understand the c entirely.
ReplyDeletePlease make a YouTube video on this
ReplyDelete