Flip-Flops and Registers

Latches

A latch is a temporary storage device that has two stable states (bistable). It is a basic form of memory. The S-R (Set-Reset) latch is the most basic type. It can be constructed from NOR gates or NAND gates. With NOR gates, the latch responds to active-HIGH inputs; with NAND gates, it responds to active-LOW inputs.

 

S-R Flip-Flop

 

Gated S-R Flip-Flop

 

Gated D Flip-Flop

A simple rule for the D latch is:

      Q follows D when Enabled.

 

Notice that the Enable is not active during the grey areas, so the output is latched.

 

The Integrated-Circuit D Latch (7475)

The Integrated-Circuit D Flip-Flop (7474)

The truth table for a positive-edge triggered D flip-flop shows an up arrow to remind you that it is sensitive to its D input only on the rising edge of the clock; otherwise it is latched. The truth table for a negative-edge triggered D flip-flop is identical except for the direction of the arrow.

 

Master—Slave J-K Flip-Flop

 

Edge-Triggered J-K Flip-Flop

 

Integrated-Circuit J-K Flip-Flop (7476, 74LS76)

 

Flip-flop Characteristic

Propagation delay time is specified for the rising and falling outputs. It is measured between the 50% level of the clock to the 50% level of the output transition.

The typical propagation delay time for the 74AHC family (CMOS) is 4 ns. Even faster logic is available for specialized applications.

Another propagation delay time specification is the time required for an asynchronous input to cause a change in the output. Again it is measured from the 50% levels. The 74AHC family has specified delay times under 5 ns.

Set-up time and hold time are times required before and after the clock transition that data must be present to be reliably clocked into the flip-flop.

Setup time is the minimum time for the data to be present before the clock.

Hold time is the minimum time for the data to remain after the clock.

 

Flip-flop Applications

Principal flip-flop applications are for temporary data storage, as  frequency dividers, and in counters.

Typically, for data storage applications, a group of flip-flops are connected to parallel data lines and clocked together. Data is stored until the next clock pulse.

For frequency division, it is simple to use a flip-flop in the toggle mode or to chain a series of toggle flip flops to continue to divide by two.

One flip-flop will divide fin by 2, two flip-flops will divide fin by 4 (and so on). A side benefit of frequency division is that the output has an exact 50% duty cycle.