Flip-flop

From Computer History Wiki
Revision as of 21:05, 10 March 2018 by Jnc (talk | contribs) (A start - still need to add all the other types)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A flip-flop or latch is an extremely common element in digital logic; it is a store for one bit of state. They usually have one data input, two data outputs (the data and its inversion, usually denoted 'Q' and 'Q-bar'), and one or more clock/control inputs, which tell it when to store the current state of the data input.

There are many different varieties of flip-flops; the chief grouping is into so-called 'transparent' and 'edge-triggered'. The former passes the input data through while the control input is asserted, so that the output can move up and down; the latter only changes the output once, at either the rising or falling edge of the control.

In modern terminology, the term 'latch' is usually reserved for the former, and 'flip-flop' for the latter.

All involve feedback from the outputs to some of the inputs of the gates used to create them, so they are thus subject to meta-stability issues.

SR flip-flop

The simplest is the so-called 'Set-Reset flip-flop', which consists of two NAND or NOR gates, with the output of each gate connected to one of the inputs of the other.

With NOR gates, the two high-asserted inputs are called 'reset' (on the gate with the Q output) and 'set' (on the other). With NAND gates, the two inputs are asserted low, not high, and the set is on the gate providing the Q output.