29197_Note_Applied Digital Logic Design_Module 4
29197_Note_Applied Digital Logic Design_Module 4
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
A sequential circuit is a circuit whose output depends not only on the circuit’s present inputs, but also
on the circuit’s present state, which is all the bits stored in the circuit. The circuit’s state in turn depends
on the past sequence of the circuit’s input values. In sequential circuits, the output signals are fed back
to the input side. A block diagram of a sequential circuit is shown in Figure below:-
It consists of a combinational circuit to which storage elements are connected to form a feedback path.
The storage elements are devices capable of storing binary information. The binary information stored
in these elements at any given time defines the state of the sequential circuit at that time. The
sequential circuit receives binary information from external inputs that, together with the present state
of the storage elements, determine the binary value of the outputs. These external inputs also
determine the condition for changing the state in the storage elements. The block diagram
demonstrates that the outputs in a sequential circuit are a function not only of the inputs, but also of
the present state of the storage elements. The next state of the storage elements is also a function of
external inputs and the present state. Thus, a sequential circuit is specified by a time sequence of
inputs, outputs, and internal states.
The difference between the combinational and sequential circuit is given below
There are two types of sequential circuits, and their classification is a function of the timing of their
signals.
Asynchronous sequential circuit:
A sequential circuit whose behavior depends upon the sequence in which the input signals change is
referred to as an asynchronous sequential circuit. The output will be affected whenever the input
changes. The commonly used memory elements in these circuits are time-delay devices. There is no
need to wait for a clock pulse. Therefore, in general, asynchronous circuits are faster than synchronous
sequential circuits. However, in an asynchronous circuit, events are allowed to occur without any
synchronization. And in such a case, the system becomes unstable. Since the designs of asynchronous
circuits are more tedious and difficult, their uses are rather limited. The memory elements used in
sequential circuits are flip-flops which are capable of storing binary information.
Synchronous sequential circuit:
A sequential circuit whose behavior can be defined from the knowledge of its signal at discrete instants
of time is referred to as a synchronous sequential circuit. In these systems, the memory elements are
affected only at discrete instants of time. The synchronization is achieved by a timing device known as
a system clock, which generates a periodic train of lock pulses. The outputs are affected only with the
application of a clock pulse.
Latches and flip-flops are the basic elements for storing information. One latch or flip-flop can store one
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
While the S and R inputs are both low, feedback maintains the Q and Q outputs in a constant state,
with Q the complement of Q. If S (Set) is pulsed high while R (Reset) is held low, then the Q output is
forced high, and stays high when S returns to low; similarly, if R is pulsed high while S is held low, then
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
The circuit shown above consists of two AND gates. The clock input is connected to both of the AND
gates, resulting in LOW outputs when the clock input is LOW. In this situation the changes in S and R
inputs will not affect the state (Q) of the flip-flop. On the other hand, if the clock input is HIGH, the
changes in S and R will be passed over by the AND gates and they will cause changes in the output (Q)
of the flip-flop. This way, any information, either 1 or 0, can be stored in the flip-flop by applying a HIGH
clock input and be retained for any desired period of time by applying a LOW at the clock input. This
type of flip-flop is called a clocked S-R flipflop.
Such a clocked S-R flip-flop made up of two AND gates and two NOR gates is shown in Figure below:-
The logic symbol of the S-R flip-flop is shown below. It has three inputs: S, R, and CLK. The CLK input is
marked with a small triangle. The triangle is a symbol that denotes the fact that the circuit responds to
an edge or transition at CLK input.
Assuming that the inputs do not change during the presence of the clock pulse, we can express the
working of the S-R flip-flop in the form of the truth table shown here. Here, Sn and Rn denote the inputs
and Qn denotes the output during the bit time n. Qn+1 denotes the output after the pulse passes i.e. in
the bit time n + 1.
Case 1. If Sn = Rn = 0, and the clock pulse is not applied, the output of the fl ip-fl op remains in the
present state. Even if Sn = Rn = 0, and the clock pulse is applied, the output at the end of the clock pulse
is the same as the output before the clock pulse, i.e., Qn+1 = Qn. The first row of the table indicates
that situation.
Case 2. For Sn = 0 and Rn = 1, if the clock pulse is applied (i.e. CLK = 1), the output of NAND gate 1
becomes 1; whereas the output of NAND gate 2 will be 0. Now a 0 at the input of NAND gate 4 forces
the output to be 1 i.e. Q' = 1. This 1 goes to the input of NAND gate 3 to make both the inputs of NAND
gate 3 as 1, which forces the output of NAND gate 3 to be 0, i.e., Q = 0.
Case 3. For Sn = 1 and Rn = 0, if the clock pulse is applied (i.e., CLK = 1), the output of NAND gate 2
becomes 1; whereas the output of NAND gate 1 will be 0. Now a 0 at the input of NAND gate 3 forces
the output to be 1, i.e., Q = 1. This 1 goes to the input of NAND gate 4 to make both the inputs of NAND
gate 4 as 1, which forces the output of NAND gate 4 to be 0, i.e., Q' = 0.
Case 4. For Sn = 1 and Rn = 1, if the clock pulse is applied (i.e. CLK = 1), the outputs of both NAND gate
2 and NAND gate 1 becomes 0. Now a 0 at the input of both NAND gate 3 and NAND gate 4 forces the
From the above Figure, we see that if Pr = Cr = 1, the circuit operates according to the table of clocked
S-R flip-flop as we discussed just before.
If Pr = 1 and Cr = 0, the output of NAND gate 4 is forced to be 1, i.e., Q' = 1 and the flip-flop is reset,
overwriting the previous state of the flip-flop. If Pr = 0 and Cr = 1, the output of NAND gate 3 is forced
to be 1, i.e., Q = 1 and the flip-flop is set, overwriting the previous state of the flip-flop. Once the state
of the flip-flop is established asynchronously, the inputs Pr and Cr must be connected to logic 1 before
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
Now we will find out the characteristic equation of the S-R flip-flop from the characteristic table with
the help of the Karnaugh map:-
From the Karnaugh map above we find the expression for Qn+1 as
CLOCKED D FLIP-FLOP
One way to eliminate the undesirable condition of the indeterminate state in the SR latch is to ensure
that inputs S and R are never equal to 1 at the same time. This is done in the D latch. The D flip-flop has
only one input referred to as the D (data) input & two outputs as usual Q and Q'. It transfers the data
at the input after the delay of one clock pulse at the output Q. So in some cases the input is referred to
as a delay input and the flip-flop gets the name delay (D) flip-flop. It can be easily constructed from an
S-R flip-flop by simply incorporating an inverter between S and R such that the input of the inverter is
at the S end & the output of the inverter is at the R end. We can get rid of the undefined condition, i.e.,
S = R = 1 condition, of the S-R flip-flop in the D flip flop.
The D flip-flop is either used as a delay device or as a latch to store one bit of binary information. The
truth table of D flip-flop is given in the table below. The structure of the D flip-flop is shown in Figure
below, which is being constructed using NAND gates.
Case 1. If the CLK input is low, the value of the D input has no effect, since the S and R inputs of the
basic NAND flip-flop are kept as 1.
Case 2. If the CLK = 1 and D = 1, the NAND gate 1 produces 0, which forces the output of NAND gate 3
as 1. On the other hand, both the inputs of NAND gate 2 are 1, which gives the output of gate 2 as 0.
Hence, output of NAND gate 4 is forced to be 1, i.e., Q = 1, whereas both the inputs of gate 5 are 1 and
the output is 0, i.e., Q' = 0. Hence, we find that when D = 1, after one clock pulse passes Q = 1, which
means the output follows D.
Case 3. If the CLK = 1, and D = 0, the NAND gate 1 produces 1. Hence both the inputs of NAND gate 3
are 1, which gives the output of gate 3 as 0. On the other hand, D = 0 forces the output of NAND gate 2
to be 1. Hence the output of NAND gate 5 is forced to be 1, i.e., Q' = 1, whereas both the inputs of gate
4 are 1 and the output is 0, i.e., Q = 0. Hence, we find that when D = 0, after one clock pulse passes Q =
0, which means the output again follows D. A simple way to construct a D flip-flop using an S-R flip-flop
is shown in Figure below. The logic symbol of a D flip-flop is shown in Figure below. A D flip-flop is most
often used in the construction of sequential circuits like registers.
Now we will find out the characteristic equation of the D flip-flop from the characteristic table with the
help of the Karnaugh map:-
Case 1. When the clock is applied and J = 0, whatever the value of Q'n (0 or 1), the output of NAND gate
1 is 1. Similarly, when K = 0, whatever the value of Qn (0 or 1), the output of gate 2 is also 1. Therefore,
when J = 0 and K = 0, the inputs to the basic flip-flop are S = 1 and R = 1. This condition forces the flip-
flop to remain in the same state.
Case 2. When the clock is applied and J = 0 and K = 1 & the previous state of the flip-flop is reset (i.e.,
Qn = 0 and Q'n = 1), then S = 1 and R = 1. Since S = 1 and R = 1, the basic flip-flop does not alter the state
and remains in the reset state. But if the flip-flop is in set condition (i.e., Qn = 1 & Q'n = 0), then S = 1
and R = 0. Since S = 1 and R = 0, the basic flip-flop changes its state and resets.
Case 3. When the clock is applied and J = 1 and K = 0 and the previous state of the flip-flop is reset (i.e.,
Qn = 0 and Q'n = 1), then S = 0 and R = 1. Since S = 0 and R = 1, the basic flip-flop changes its state and
goes to the set state. But if the flip-flop is already in set condition (i.e., Qn = 1 and Q'n = 0), then S = 1
and R = 1. Since S = 1 and R = 1, the basic flip-flop does not alter its state and remains in the set state.
Case 4. When the clock is applied and J = 1 and K = 1 and the previous state of the flip-flop is reset (i.e.,
Qn = 0 and Q'n = 1), then S = 0 and R = 1. Since S = 0 and R = 1, the basic flip-flop changes its state and
goes to the set state. But if the flip-flop is already in set condition (i.e., Qn = 1 and Q'n = 0), then S = 1
and R = 0. Since S = 1 and R = 0, the basic flip-flop changes its state and goes to the reset state. So we
find that for J = 1 and K = 1, the flip-flop toggles its state from set to reset and vice versa. Toggle means
to switch to the opposite state.
Characteristic Table of a J-K Flip-flop
As we have already discussed the characteristic equation of an S-R flip-flop, we can similarly find out
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
From the characteristic table we have to find out the characteristic equation of the J-K flip-flop. From
the Karnaugh map, we obtain Qn+1 = JQ'n + K'Qn., the characteristic equation.
Race-around Condition of a J-K Flip-flop
The inherent difficulty of an S-R flip-flop (i.e., S = R = 1) is eliminated by using the feedback connections
from the outputs to the inputs of gate 1 and gate 2 as discussed in JK flip-flop. Truth tables JK flip-flop
were formed with the assumption that the inputs do not change during the clock pulse (CLK = 1). But
the consideration is not true because of the feedback connections. Consider, for example, that the
inputs are J = K = 1 and Q = 1, and a pulse as shown in Figure below is applied at the clock input.
Consider, for example, that the inputs are J = K = 1 and Q = 1, and a pulse as shown above is applied at
the clock input. After a time interval Δt equal to the propagation delay through two NAND gates in
series, the outputs will change to Q = 0. So now we have J = K = 1 and Q = 0. After another time interval
of Δt the output will change back to Q = 1. Hence, we conclude that for the time duration of tp of the
clock pulse, the output will oscillate between 0 and 1. Hence, at the end of the clock pulse, the value of
the output is not certain. This situation is referred to as a race-around condition.
Generally, the propagation delay of TTL gates is of the order of nanoseconds. So if the clock pulse is of
the order of microseconds, then the output will change thousands of times within the clock pulse. This
race-around condition can be avoided if tp < Δt < T. Due to the small propagation delay of the ICs it may
be difficult to satisfy the above condition. A more practical way to avoid the problem is to use the
master-slave (M-S) configuration as discussed below.
Master-Slave J-K Flip-flop
A master-slave (M-S) flip-flop is shown in Figure below. Basically, a master-slave flip-flop is a system of
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
In this type of circuit configuration the inputs to the gates 5 and 6 do not change at the time of
application of the clock pulse. Hence the race-around condition does not exist. The state of the master-
slave flip-flop, shown in above Figure, changes at the negative transition (trailing edge) of the clock
pulse. Hence, it becomes negative triggering a master-slave flip-flop. This can be changed to a positive
edge triggering flip-flop by adding two inverters to the system—one before the clock pulse is applied to
the master and an additional one in between the master and the slave. The logic symbol of a negative
edge master-slave is shown in Figure below. The system of master-slave flip-flops is not restricted to J-
K master slave only. There may be an S-R master-slave or a D master-slave, etc., in all of them the slave
is an S-R flip-flop, whereas the master changes to J-K or S-R or D flip-flops.
T Flip-flop
With a slight modification of a J-K flip-flop, we can construct a new flip-flop called a T flip-flop. If the
two inputs J and K of a J-K flip-flop are tied together it is referred to as a T flip-flop. Hence, a T flip-flop
has only one input T and two outputs Q and Q'. The name T flip-flop actually indicates the fact that the
flip-flop has the ability to toggle. It has actually only two states—toggle state and memory state. Since
there are only two states, a T flip-flop is a very good option to use in counter design and in sequential
circuits design where switching an operation is required. The truth table of a T flip-flop is given below:-
If the T input is in 0 state (i.e., J = K = 0) prior to a clock pulse, the Q output will not change with the
clock pulse. On the other hand, if the T input is in 1 state (i.e., J = K = 1) prior to a clock pulse, the Q
output will change to Q' with the clock pulse. In other words, we may say that, if T = 1 and the device is
clocked, then the output toggles its state. The truth table shows that when T = 0, then Qn+1 = Qn, i.e.,
the next state is the same as the present state and no change occurs. When T = 1, then Qn+1 = Q'n, i.e.,
the state of the flip-flop is complemented. The circuit diagram of a T flip-flop and the block diagram of
the T flip-flop is shown below: -
From the Karnaugh map, the Boolean expression of Qn+1 is derived as Qn+1 = TQ'n + T'Qn., , the
characteristic equation of a T flip-flop.
TRIGGERING OF FLIP-FLOPS
Flip-fl ops are synchronous sequential circuits. This type of circuit works with the application of a
synchronization mechanism, which is termed as a clock. Based on the specific interval or point in the
clock during or at which triggering of the flip-flop takes place, it can be classified into two different
types—level triggering and edge triggering. A clock pulse starts from an initial value of 0, goes
momentarily to 1, and after a short interval, returns to the initial value.
Level Triggering of Flip-flops
If a flip-flop gets enabled when a clock pulse goes HIGH and remains enabled throughout the duration
of the clock pulse remaining HIGH, the flip-flop is said to be a level triggered flip-flop. If the flip-flop
changes its state when the clock pulse is positive, it is termed as a positive level triggered flip-flop. On
the other hand, if a NOT gate is introduced in the clock input terminal of the flip-flop, then the flip-flop
changes its state when the clock pulse is negative, it is termed as a negative level triggered flip-flop. The
main drawback of level triggering is that, as long as the clock pulse is active, the flip-flop changes its
state more than once or many times for the
change in inputs. If the inputs do not change during one clock pulse, then the output remains stable.
On the other hand, if the frequency of the input change is higher than the input clock frequency, the
output of the flipflop undergoes multiple changes as long as the clock remains active. This can be
overcome by using either master-slave flip-flops or the edge-triggered flip-flop.
Edge-triggering of Flip-flops
A clock pulse goes from 0 to 1 and then returns from 1 to 0. The Figure below shows the two transitions
and they are defined as the positive edge (0 to 1 transition) and the negative edge (1 to 0 transition).
The term edge triggered means that the flip-flop changes its state only at either the positive or negative
edge of the clock pulse.
From the above table, we make the Karnaugh maps for inputs S and R as shown in Figure below:-
Simplifying with the help of the Karnaugh maps, we obtain S = D and R = D'. Hence the circuit may be
designed as in Figure below:-
From the above truth table, the Karnaugh map is prepared as shown in Figure below: -
From the above truth table, the Karnaugh map is prepared as shown in Figure above.
Hence, we get the Boolean expression for S and R as: - D = S + R'Q. Hence the circuit may be realized as
in below: -
REGISTERS
A register is a group of binary storage cells capable of holding binary information. A group of flip-flops
constitutes a register, since each flip-flop can work as a binary cell. An n-bit register, has n flip-flops and
is capable of holding n-bits information. In addition to flip-flops a register can have a combinational part
that performs data-processing tasks.
Register:
• A set of n flip-flops
• Each flip-flop stores one bit
• Two basic functions: data storage and data movement.
Shift Register: A register that allows each of the flip-flops to pass the stored information to its adjacent
neighbour.
Shift Register
A shift register is a storage device that used to store binary data. When a number of flip flops are
connected in series it is called a register. A single flip flop is supposed to stay in one of the two stable
states 1 or 0 or in other words the flip flop contains a number 1 or 0 depending upon the state in which
it is. A register will thus contain
a series of bits which can be termed as a word or a byte. If in these registers the connection is done in
such a way that the output of one of the flip flop forms in input to other, it is known as a shift register.
The data in a shift register is moved serially (one bit at a time).
There are two ways to shift data into a register (serial or parallel) and similarly two ways to shift the
data out of
the register. This leads to the construction of four basic types of registers: -
1. Serial in/Serial out (SISO)
2. Serial in/Parallel out (SIPO)
3. Parallel in/Serial out (PISO)
4. Parallel in/Parallel out (PIPO)
Shift-right Register
A shift-right register can be constructed with either J-K or D flip-flops as shown in Figure 8.3. A J-K flip-
flop-based shift register requires connection of both J and K inputs. Input data are connected to the J
and K inputs of the left most (lowest order) flip-flop. To input a 0, one should apply a 0 at the J input,
i.e., J = 0 and K = 1 and vice versa. With the application of a clock pulse the data will be shifted by one
bit to the right. In the shift register using D flip-flop, D input of the left most flip-flop is used as a serial
input line. To input 0, one should apply 0 at the D input and vice versa.
Figure of Shift-right register (a) using D flip-flops, (b) using J-K flip-flops.
The clock pulse is applied to all the flip-flops simultaneously. When the clock pulse is applied, each flip-
flop is either set or reset according to the data available at that point of time at the respective inputs of
the individual flip-flops. Hence the input data bit at the serial input line is entered into flip-flop A by the
first clock pulse. At the same time, the data of stage A is shifted into stage B and so on to the following
stages. For each clock pulse, data stored in the register is shifted to the right by one stage. New data is
entered into stage A, whereas the data present in stage D are shifted out (to the right).
For example, consider that all the stages are reset and a logical input 1011 is applied at the serial input
line connected to stage A. The data after four clock pulses is shown in above Table.
Let us now illustrate the entry of the 4-bit number 1011 into the register, beginning with the right-most
bit. A 1 is applied at the serial input line, making D = 1. As the first clock pulse is applied, flip-flop A is
SET, thus storing the 1. Next, a 1 is applied to the serial input, making D = 1 for flip-flop A and D = 1 for
flip-flop B also, because the input of flip-flop B is connected to the QA output.
When the second clock pulse occurs, the 1 on the data input is “shifted” to the flip-flip-flop A and the 1
in the flip-flop A is “shifted” to flip-flop B. The 0 in the binary number is now applied at the serial input
line, and the third clock pulse is now applied. This 0 is entered in flip-flop A and the 1 stored in flip-flop
A is now “shifted” to flip-flop B and the 1 stored in flip-flop B is now “shifted” to flip-flop C. The last bit
Shift-left Register
A shift-left register can also be constructed with either J-K or D flip-flops as shown in Figure below. Let
us now illustrate the entry of the 4-bit number 1110 into the register, beginning with the right-most bit.
A 0 is applied at the serial input line, making D = 0. As the first clock pulse is applied, flip-fl op A is RESET,
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
Figure:- Shift-left register (a) using D flip-flops, (b) using J-K flip-flops.
Serial Input Serial Output Let all the flip-flop be initially in the reset condition i.e. Q3 = Q2 = Q1 = Q0 =
0. If an entry of a four bit binary number 1 1 1 1 is made into the register, this number should be applied
to Din bit with the LSB bit applied first. The D input of FF-3 i.e. D3 is connected to serial data input Din.
Output of FF-3 i.e. Q3 is connected to the input of the next flip-flop i.e. D2 and so on.
Operation
Before application of clock signal, let Q3 Q2 Q1 Q0 = 0000 and apply LSB bit of the number to be entered
to Din. So Din = D3 = 1. Apply the clock. On the first falling edge of clock, the FF-3 is set, and stored word
in the register is Q3 Q2 Q1 Q0 = 1000.
Apply the next bit to Din. So Din = 1. As soon as the next negative edge of the clock hits, FF-2 will set
and the stored word change to Q3 Q2 Q1 Q0 = 1100.
Apply the next bit to be stored i.e. 1 to Din. Apply the clock pulse. As soon as the third negative clock
edge hits, FF-1 will be set and output will be modified to Q3 Q2 Q1 Q0 = 1110.
Similarly with Din = 1 and with the fourth negative clock edge arriving, the stored word in the register
is Q3 Q2 Q1 Q0 = 1111.
Parallel Input Serial Output (PISO) Data bits are entered in parallel fashion. The circuit shown below is
a four bit parallel input serial output register. Output of previous Flip Flop is connected to the input of
the next one via a combinational circuit. The binary input word B0, B1, B2, B3 is applied though the
same combinational circuit. There are two modes in which this circuit can work namely - shift mode or
load mode.
Load mode
When the shift/load bar line is low (0), the AND gate 2, 4 and 6 become active they will pass B1, B2, B3
bits to the corresponding flip-flops. On the low going edge of clock, the binary input B0, B1, B2, B3 will
get loaded into the corresponding flip-flops. Thus parallel loading takes place.
Shift mode
When the shift/load bar line is low (1), the AND gate 2, 4 and 6 become inactive. Hence the parallel
loading of the data becomes impossible. But the AND gate 1,3 and 5 become active. Therefore the
shifting of data from left to right bit by bit on application of clock pulses. Thus the parallel in serial out
operation takes place.
Block Diagram
Parallel Input Parallel Output (PIPO) In this mode, the 4 bit binary input B0, B1, B2, B3 is applied to the
data inputs D0, D1, D2, D3 respectively of the four flip-flops. As soon as a negative clock edge is applied,
the input binary bits will be loaded into the flip-flops simultaneously. The loaded bits will appear
simultaneously to the output side. Only clock pulse is essential to load all the bits. Block Diagram
Counters
Counting is frequently required in digital computers and other digital systems to record the number of
2024-25 Prepared by: Faculty of CSE-CSDS Department (Brainware University, Barasat)
BRAINWARE UNIVERSITY
School of Engineering
Department of Computer Science & Engineering – Cyber Security & Data Science
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
In the 3-bit ripple counter, three flip-flops are used in the circuit. As here ‘n’ value is three, the counter
can count up to 23 = 8 values.i.e., 000,001,010,011,100,101,110,111. The circuit diagram and timing
diagram are given below.
In this implementation, the clock pulse(of 50% duty cycle) is given to only the first FF. Thereafter, the
output of the first FF is feed as a clock to second FF and the output of the second FF is feed as the
clock for the third FF. But the complemented output is taken from each FF(i.e. same as Up counter
but output states are complemented). Here QA is LSB and QC is MSB.
When M = 1, then Y= Q’ therefore it will perform Down counting (As discussed above).
Combinational circuit is required for deciding mode control (i.e., whether counter will perform Up
counting or Down counting). So, the all-possible combinations are –
K-map for finding output Y that will be given as clock to next FF.
Modulus counters
Synchronous counters
Design 3-bit synchronous up counter using JK flip flops.
A flip flop stores only one bit, hence for a 3 bit counter, 3 flip flops(n=3) are needed to design the
counter.
Number of states = 2n = 23 = 8 states (000, 001, 010, 011, 100, 101, 110, 111)
Since the type of flip flop is given in the problem, let us use JK flip flops.
Now the excitation table for the 3-bit synchronous counter is determined from the excitation table of
JK flip flop. The excitation table is framed for 8 states of the counter. Since 3 flip-flops are used in the
design, the present state, next state and flip flop inputs for each flip flop are considered.
Using Karnaugh maps, the input functions for the 3 flip flops are derived. The present states are the
input for all the flip-flops. Since there are three inputs (QC, QB, QA), 8 cell K-map is used.
The logic diagram of the 3-bit synchronous counter is drawn as follows. Draw the 3 JK flip-flops. The
common clock pulse input is given to all the flip-flops. The inputs for each flip-flop are drawn as per the
logic functions derived in the previous step.
A Finite State Machine (FSM) is a mathematical model of computation used to design both computer
programs and sequential logic circuits. It consists of a finite number of states, transitions between those
states, and inputs that trigger those transitions.
1. States: Distinct modes or conditions in which the system can exist. One of them is the initial
state, and some may be accepting/final states (in the case of automata).
2. Transitions: Rules that determine how the FSM moves from one state to another based on
inputs.
3. Inputs: External signals or values that trigger transitions between states.
4. Outputs (optional): In Mealy and Moore machines, FSMs can also produce outputs:
o Mealy machine: Output depends on both the current state and the input.
o Moore machine: Output depends only on the current state.