Computer Circuitry: Flip Flops


Computer Engineering; Computer Science


Flip-flops are bistable multivibrator devices because they have two stable states. The device holds a one-bit signal, either high or low, that is sent as output from the device when it is triggered by a clock signal. The device is used to construct counters, accumulators and registers in central processing chips, and is often used as the triggering device for hardware interruption processes. When triggered, a flip-flop outputs its saved state and sets a new state according to its input signals.



A flip-flop is a digital electronic device that holds a particular output state until it is triggered by a “clock signal” to “flip-flop” the output state. A typical flip-flop is constructed from a set of transistor “gates” in such a way that the output signal from each gate is used as an input signal to the other gate. Each gate is formed by a specific interconnection of transistor structures. There are three basic types of transistor-based gates, designated as AND, OR and NOT. A NOT gate is also known as an “inverter,” because it inverts the value of the digital signal passing through it. The AND gate produces a “high” output signal only when all of its input signals are “high,” but a “low” signal if this condition is not met. The OR gate produces a “high” output signal only if some, but not all, of its input signals are “high,” and a “low” output signal otherwise. The combination of a NOT gate and an AND or OR gate produces a negative-AND (NAND) gate and a negative-OR (NOR) gate, respectively. Accordingly, digital logic circuits can be designed using AND, OR, NOT, NAND and NOR gates as needed. However, transistor-transistor logic is more compact and efficient when circuits are constructed in a negative sense using NAND and NOR gates instead of in the positive sense using AND, OR and NOT gates. Flip-flops are constructed exclusively from NAND gates and NOR gates.


A flip-flop constructed from two NAND gates has four inputs. The states of one pair of inputs is both high, while the other pair of inputs is one high and one low. What is the output from the flip-flop?


A NAND gate outputs a low signal only when both inputs are high, and a low signal otherwise. In this example, the NAND gate with the two high inputs would output a low signal. This is the low input to the other NAND gate, which must therefore output a low signal. Since the output signal of this NAND gate is the second input to the other NAND gate in the device, and that NAND gate has two high input signals, this situation is not allowed.


Flip-flops and latches are termed bistable multivibrator devices: bistable because they have only two stable states, and multivibrators because they can switch back and forth between those two states. A series of latch structures in combination can be used to hold a corresponding series of bits in a parallel data stream and pass that set of data on at each clock cycle. This feature is the basic structure of an accumulator, counter or a register in central processing chips. Flip-flops are also typically used as the triggering signal generator for hardware interruption. Every central processing chip must have a signal input to indicate that another hardware device, such as a modem or a printer, requires attention. When that signal is received at the appropriate terminal on the chip, the process being carried out by the central processing unit is interrupted, allowing the function of the device to take precedence temporarily. Flipflops can also be interconnected in a “master-slave” combination, in which input is registered on the leading edge of the signal and output is registered on the trailing edge.

—Richard M. Renneboog M.Sc.

Bishop, Owen (2011) Electronics. Circuits and Systems 4th ed., New York, NY: E;sevier. Print.

Brindley, Keith (2011) Starting Electronics 4th ed., New York, NY: Elsevier. Print.

Clements, Alan (2006) Principles of Computer Hardware 4th ed., New York, NY: Oxford University Press. Print.

Gibson, J.R. (2011) Electronic Logic Circuits 3rd ed., New York, NY: Routledge. Print.

Hsu, John Y. (2002) Computer Logic Design Principles and Applications New York, NY: Springer. Print.