0% found this document useful (0 votes)
124 views

Latch and Flip Flop

The document discusses different types of latches and flip-flops used as basic building blocks in sequential circuits. It describes SR latch, D latch, gated latch and their implementation using NOR/NAND gates. It also covers triggering mechanisms in flip-flops including positive/negative level and edge triggering.

Uploaded by

Saksham Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views

Latch and Flip Flop

The document discusses different types of latches and flip-flops used as basic building blocks in sequential circuits. It describes SR latch, D latch, gated latch and their implementation using NOR/NAND gates. It also covers triggering mechanisms in flip-flops including positive/negative level and edge triggering.

Uploaded by

Saksham Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

LATCHES

 Latches and Flip-Flops are the basic building blocks of the most
sequential circuits.
 Latches are used for a sequential device that checks all of its inputs
continuously and changes its outputs accordingly at any time
independent of clocking signal.
 Enable signal is provided with the latch. When enable signal is
active output changes occur as the input changes.
 But when enable signal is not activated input changes do not affect
the output.
 Flip-Flop is used for a sequential device that normally samples its
inputs and changes its outputs only at times determined by
clocking signal.
MODULE-5 DIGITAL LOGIC DESIGN 10
LATCHES
SR Latch using NOR

 The simplest type of latch is the set-reset (SR) latch. It can be


constructed from either two NOR gates or two NAND gates.
 The two NOR gates are cross-coupled so that the output of NOR
gate 1 is connected to one of the inputs of NOR gate 2 and vice
versa.
 The latch has two outputs Q and Q’ and two inputs, set and reset.
 Before going to analyze the SR latch, we recall that a logic 1 at any
input of a NOR gate forces its output to a logic 0.
 Let us understand the operation of this circuit for various input/
output possibilities.
MODULE-5 DIGITAL LOGIC DESIGN 11
LATCHES
SR Latch using NOR

Case 1: S= 0 and R= 0 Case 1: S= 0 and R= 0


(Initially, Q= 1 and Q’= 0) (Initially, Q= 0 and Q’= 1)

MODULE-5 DIGITAL LOGIC DESIGN 13


LATCHES
SR Latch using NOR

Case 2: S= 0 and R= 1 Case 3: S= 1 and R= 0

MODULE-5 DIGITAL LOGIC DESIGN 14


LATCHES
SR Latch using NOR
Case 4: S= 1 and R= 1
 When R and S both are at logic 1, they force the outputs of both
NOR gates to the low state, i.e., (Q=0 and Q’=0).

 So, we call this an indeterminate or prohibited state, and represent


this condition in the truth table as an asterisk (*).

 This condition also violates the basic definition of a latch that


requires Q to be complement of Q’.

 Thus in normal operation this condition must be avoided by


making sure that 1’s are not applied to both the inputs
simultaneously.
MODULE-5 DIGITAL LOGIC DESIGN 15
LATCHES
SR Latch using NOR

Present state Next state


S R State
Qn Qn+1
0 0 0 0
No Change (NC)
0 0 1 1
0 1 0 0
Reset
0 1 1 0
1 0 0 1
Set
1 0 1 1
1 1 0 x
Indeterminate*
1 1 1 x
Truth table
MODULE-5 DIGITAL LOGIC DESIGN 16
LATCHES
SR Latch using NAND
 The SR latch can also be implemented using NAND gates. The
inputs of this Latch are S and R.

 To understand how this circuit functions, recall that a low on any


input to a NAND gate forces its output high.

Logic Symbol SR latch using NAND gates

MODULE-5 DIGITAL LOGIC DESIGN 17


LATCHES
SR Latch using NAND

S R Qn Qn+1 State
0 0 0 x
Indeterminate*
0 0 1 x
0 1 0 1
Set
0 1 1 1
1 0 0 0
Reset
1 0 1 0
1 1 0 0
No Change (NC)
1 1 1 1

Truth table

MODULE-5 DIGITAL LOGIC DESIGN 18


LATCHES
Gated Latch using NAND

 In the SR latch, the output changes occur immediately


after the input changes i.e, the latch is sensitive to its S
and R inputs all the time.

 A latch that is sensitive to the inputs only when an enable


input is active. Such a latch with enable input is known as
gated SR latch.

 The circuit behaves like SR latch when EN= 1. It retains


its previous state when EN= 0.

MODULE-5 DIGITAL LOGIC DESIGN 19


LATCHES
Gated Latch using NAND

MODULE-5 DIGITAL LOGIC DESIGN 20


LATCHES
Gated Latch using NAND

EN S R Qn Qn+1 State
1 0 0 0 0
No Change (NC)
1 0 0 1 1
1 0 1 0 0
Reset
1 0 1 1 0
1 1 0 0 1
Set
1 1 0 1 1
1 1 1 0 x Indeterminate
1 1 1 1 x *
0 x x 0 0
No Change (NC)
0 x x 1 1

Truth table

MODULE-5 DIGITAL LOGIC DESIGN 21


LATCHES
Gated Latch using NAND

MODULE-5 DIGITAL LOGIC DESIGN 22


LATCHES
D - Latch using NAND
 In SR latch, when both inputs are same (00 or 11), the output either
does not change or it is invalid.

 In many practical applications, these input conditions are not


required.

 These input conditions can be avoided by making them


complement of each other.

 Therefore, only two input conditions exists, either S=0 and R=1 or
S=1 and R=0.

 This modified SR latch is known as D latch.


MODULE-5 DIGITAL LOGIC DESIGN 23
LATCHES
D - Latch using NAND

MODULE-5 DIGITAL LOGIC DESIGN 24


LATCHES
D - Latch using NAND

EN D Qn Qn+1 State

1 0 x 0 Reset
1 1 x 1 Set
0 x x Qn No Change (NC)

Truth table

Input and output waveforms

MODULE-5 DIGITAL LOGIC DESIGN 25


FLIP-FLOPS
Flip flops
 The basic 1-bit digital memory circuit is known as a flip-flop. Flip-
Flops are synchronous bistable devices (has two outputs Q and Q’).

 In this case, the term synchronous means that the output changes
state only at a specified point on the triggering input called the
clock (CLK), i.e., changes in the output occur in synchronization
with the clock. It can have only two states, either the 1 state or the
0 state.
FLIP-FLOPS
Flip flops

 Flip-flops can be obtained by using NAND or NOR gates.

 If Q is 1 i.e., Set, then Q' is 0; if Q is 0 i.e., Reset, then Q' is 1. That means Q
and Q' cannot be at the same state simultaneously.

 There are different types of flip-flops depending on how their inputs and clock
pulses cause transition between two states.

 We will discuss four different types of flip-flops SR, D, JK, and T.

 Basically D, J-K, and T are three different modifications of the S-R flip-flop.
FLIP-FLOPS
Triggering of Flip flops
 There are two types of level triggered latches:
 (i). Positive level triggered: The output of the latch responds to the input
changes only when the enable input is 1(HIGH).

 (ii). Negative level triggered: The output of the latch responds to the input
changes only when the enable input is 0 (LOW).
FLIP-FLOPS
Triggering of Flip flops
 Edge Triggering: In the edge triggering the output responds to the changes in the
input only at the positive or negative edges of the clock pulse at the clock input.
 (i). Positive edge triggering: Here the output responds to the changes in the input
only at the positive edge of the clock pulse at the clock input.

 (ii). Negative edge triggering: Here the output responds to the changes in the
input only at the negative edge of the clock pulse at the clock input.
S-R FLIP-FLOP
 When S is HIGH and R is LOW, the Q output goes HIGH on the triggering edge of
the clock pulse, and the Flip-Flop is SET.

 When S is LOW and R is HIGH, the Q output goes LOW on the triggering edge of
the clock pulse, and the Flip-Flop is RESET.

 When both S and R are LOW, the output does not change from its prior state.

 An invalid condition exists when both S and R are HIGH.


S-R FLIP-FLOP
Electronic Hardware System Design
FLIP-FLOPS
SR Flip flops
FLIP-FLOPS
SR Flip flops
module SR_FF(Q,QB,S,R,CLK);
input S,R,CLK;
output Q,QB;
reg Q,QB;
always @(posedge CLK)
begin
case({S,R})
2'b00:Q=Q;
2'b01:Q=0;
2'b10:Q=1;
2'b11:Q=1'bx;
endcase
QB=~Q;
end
endmodule
FLIP-FLOPS
TEST BENCH
module
module SR_FF_TB;
reg S,R,CLK;
wire Q,QB;
SR_FF uut (.Q(Q), .QB(QB), .S(S), .R(R), .CLK(CLK) );
always #100 CLK=~CLK;
initial begin
CLK=1;
#200 S=1; R=0;
#200 S=0; R=0;
#200 S=0; R=1;
#200 S=1; R=1;
end
endmodule
D FLIP-FLOP
 In D Flip-Flop, the basic SR Flip-Flop is used with complemented
inputs.
 To eliminate the undesirable condition of the indeterminate state
in the RS Flip-Flop is to ensure that inputs S and R are never equal
to 1 at the same time. This is done by D Flip-Flop.
 The D (delay or data) Flip-Flop has one input called delay input
and clock pulse input.
D FLIP-FLOP
D FLIP-FLOP
D FLIP-FLOP

module D_FF(Q,QB,D,CLK); module D_FF_TB;


input D,CLK; reg D;
output Q,QB; reg CLK;
reg Q,QB; wire Q;
always @(posedge CLK) wire QB;
begin D_FF uut (.Q(Q), .QB(QB), .D(D), .CLK(CLK));
Q=D; always #100 CLK=~CLK;
QB=~Q; initial begin
end CLK=1;
endmodule #200 D=1;
#200 D=0;
end
endmodule
J-K FLIP-FLOP
 JK means Jack Kilby, Texas Instrument (TI) Engineer, who invented
IC in 1958.
 JK flip-flop is built using only NAND gates.
 JK Flip-Flop has two inputs J(set) and K(reset).
J-K FLIP-FLOP
J-K FLIP-FLOP
J-K FLIP-FLOP
J-K FLIP-FLOP
module JK_FF(Q,QB,J,K,CLK); module JK_FF_TB;
input J,K,CLK; reg J;
output Q,QB; reg K;
reg Q,QB; reg CLK;
always @(posedge CLK) wire Q;
begin wire QB;
case({J,K}) JK_FF uut (.Q(Q), .QB(QB), .J(J), .K(K),
2'b00:Q=Q; .CLK(CLK));
2'b01:Q=0; always #100 CLK=~CLK;
2'b10:Q=1; initial begin
2'b11:Q=~Q; CLK=1;
endcase #200 J=1;K=0;
QB=~Q; #200 J=0; K=0;
end #200 J=0; K=1;
endmodule #200 J=1; K=1;
end
endmodule
T FLIP-FLOP

 The T (Toggle) Flip-Flop is a modification of the JK Flip-Flop. It is


obtained from JK Flip-Flop by connecting both inputs J and K
together, i.e., single input.

 Regardless of the present state, the Flip-Flop complements its


output when the clock pulse occurs while input T= 1.
T FLIP-FLOP
T FLIP-FLOP
T FLIP-FLOP
module T_FF(Q,QB,T,CLK); module T_FF_TB;
input T,CLK; reg T;
output Q,QB; reg CLK;
reg Q=0,QB; wire Q;
always @(posedge CLK) wire QB;
begin T_FF uut (.Q(Q), .QB(QB),
case(T) .T(T),.CLK(CLK));
1'b0:Q=Q; always #100 CLK=~CLK;
1'b1:Q=~Q; initial begin
endcase CLK=1;
QB=~Q; #200 T=0;
end #200 T=1;
endmodule #200 T=0;
#200 T=1;
end
endmodule
Summary of FLIP-FLOPS

You might also like