Flip-Flops

Flip-flops are basically computer memory cells.

They are used for digital data storage and transfer. They are commonly used in banks called "registers" for the storage of binary numerical data.

A single flip-flop is essentially a 1-bit memory unit - they flip up to high state and flop down again to a low state. A flip-flop is very useful in digital computers to store a binary digit (bit) - combinations of them can store a binary number or store information of previous counts and additions until these are needed.

They are the fundamental building blocks for sequential logic circuits. 'Sequential' means that the output of one flip-flop feeds the input of the next flip-flop - its output becomes input for another one.

There are four types of flip-flop.

SR Flip-Flop

The set/reset type flip-flop is triggered to a high state at Q by the 'set' signal and holds that value until reset to low by a high signal at the 'reset' input.

A disadvantage of the SR flip-flop is that the input S=R=0 gives ambiguous results and must be avoided. (The JK flip-flop gets around that problem).

D-Type Flip-Flop

The D stands for "data"; this flip-flop stores the value that is on the data line.

It can be thought of as a basic memory cell.

A D flip-flop can be made from an SR flip-flop by tying the set to the reset through an inverter.

The result may be clocked. The signal on the D input pin is captured the moment the flip-flop is clocked, and subsequent changes on the D input will be ignored until the next clock event.

See here for more detail.

JK Flip-Flop

If J and K are different then the output Q takes the value of J at the next clock edge.

If J and K are both low then no change occurs.

If J and K are both high at the clock edge then the output will toggle from one state to the other.

The J-K flip-flop is the most versatile of the basic flip-flops as it can perform the functions of the:

  • SR flip-flop (and has the advantage that there are no ambiguous states).
  • T flip-flop producing a toggling action if J and K are tied together. This toggle application finds extensive use in binary counters.

T-type Flip-Flop

The T or "toggle" flip-flop changes its output on each clock edge, giving an output which is half the frequency of the signal to the T input.

It is used in constructing binary counters, frequency dividers, and general binary addition devices.

It can be made from a J-K flip-flop by tying both of its inputs high.

Uses

They can be used:

    • in counters
    • as shift and storage registers.
    • to generate a variety of one rectangular pulse (such as monostable output) of any width.

The D-type flip flop can be used as frequency divider.