In this article, we will be discussing the building block of sequential circuits – the flip flops.

What are flip flops?

Flip flops are also storage elements that are used in sequential circuits, similar to latches. These are also bistable multivibrators which have two states high and low. 

  • It can store one bit of data. 
  • These are operated using a clock which can switch from one state to another.
  • These are edge triggered devices which operate in the transition from logic 0 to 1 or from 1 to 0.

It can be implemented directly or by cascading the latches.

Types of flip flops

There are 4 different types – SR, D, JK and T flip flops.

Now let’s discuss this one by one.

SR Flip flop

SR flip flop is the most basic flip flop from which other flip flops are designed. This can be designed using a NAND gate or a NOR gate.

SR flip flop
SR truth table

D Flip flop

It has a single input – data. It is operated in only positive or negative clock transitions, that is the output is insensitive to the change in input.

D flip flop
D truth table

JK Flip flop

JK flip flop is similar to a SR flip flop, but unlike SR flip flop when the values of J and K are 1, the output won’t result in an invalid value. A JK flip flop has four possible conditions – 1, 0, no change and toggle state.

JK flip flop
JK truth table

T Flip flop

T flip flop is constructed by shorting the two inputs of JK flip flop. This flip flop works as a toggle switch. The next output state is changed with the complement of the present state.

T flip flop
T truth table

Race around condition

When the value of J and K is 1, in a JK flip flop for a long period of time, the output toggles as long as the clock is high. This can make the output unstable. This problem is known as a race around the condition.

To avoid this condition, the concept of a master-slave JK flip flop is considered.

Master slave JK flip flop

Master-slave JK flip flop has two JK flip flops that act as a master and a slave.

The output from the master flip flop is connected to the two inputs of the slave flip flop whose output is fed back to inputs of the master flip flop. Also, the clock from the master JK flip flop is inverted and connected to the slave JK flip flop.

master slave JK flip flop
master slave JK truth table

Application of flip flops 

Flip flops are used to design many circuit devices such as :

  • Counters
  • Frequency Dividers
  • Shift Registers
  • Storage Registers
  • Bounce elimination switch
  • Data storage
  • Data transfer
  • Latch