Fig. 1 — 1-Bit Packaged Full AdderInteractive simulation

What You'll Learn

  • Add A, B, and Cin and interpret the two-bit result.
  • Recognize Sum as odd parity and Cout as majority.
  • Verify all eight input combinations against the full-adder truth table.
  • Interpret Sum and Cout as bits 0 and 1 of the result display.
  • Connect Cout to Cin conceptually when scaling to a multi-bit adder.

How It Works

A full adder combines three one-bit inputs—A, B, and Cin—and produces a two-bit result through Sum and Cout. The production circuit uses three input switches, one packaged FULL_ADDER, and one digit display. Sum connects to display bit 0 and Cout to display bit 1.

- Sum = A ⊕ B ⊕ Cin, the odd-parity function. - Cout = AB + Cin(A ⊕ B), equivalent to AB + ACin + BCin.

The display therefore reads the arithmetic total directly: 0 when no inputs are high, 1 when one input is high, 2 when two are high, and 3 when all three are high. There are no separate Sum and Cout output lights on this production canvas.

Cin is what distinguishes a full adder from a half adder. In a wider ripple-carry circuit, each stage's Cout connects to the next stage's Cin. The packaged component lets the user study the eight-row input/output contract without exposing a particular internal gate network.

Truth Table

Sum is the odd-parity bit; Cout is the majority bit. Together they encode the integer count of high inputs from 0 through 3.

InputsOutput
ABCinSumCoutResult display
0000000 + 0 + 0 = 00; display reads 0
0011010 + 0 + 1 = 01; display reads 1
0101010 + 1 + 0 = 01; display reads 1
0110120 + 1 + 1 = 10; display reads 2
1001011 + 0 + 0 = 01; display reads 1
1010121 + 0 + 1 = 10; display reads 2
1100121 + 1 + 0 = 10; display reads 2
1111131 + 1 + 1 = 11; display reads 3

Boolean Expression

S=A⊕B⊕CinS = A \oplus B \oplus C_{in}

Sum is the odd-parity function of A, B, and Cin.

Cout=AB+Cin(A⊕B)C_{out} = AB + C_{in}(A \oplus B)

Cout is high when A and B generate a carry or when Cin propagates through A ⊕ B.

Cout=AB+ACin+BCinC_{out} = AB + AC_{in} + BC_{in}

The equivalent majority form shows that any pair of high inputs asserts Cout.

Try It Step-by-Step

Set the listed controls in the embedded circuit, then compare the observed modeled state with the expected result.

  1. 1
    A=0B=0Cin=0
    Expected:Sum = 0, Cout = 0, result display = 0
    What you'll see:All inputs low produce Sum = 0 and Cout = 0; the result display reads 0.
  2. 2
    A=1B=0Cin=0
    Expected:Sum = 1, Cout = 0, result display = 1
    What you'll see:One high input sets Sum but not Cout; the result display reads 1.
  3. 3
    A=1B=1Cin=0
    Expected:Sum = 0, Cout = 1, result display = 2
    What you'll see:Two high inputs clear Sum and set Cout; the result display reads binary 10, or decimal 2.
  4. 4
    A=1B=1Cin=1
    Expected:Sum = 1, Cout = 1, result display = 3
    What you'll see:Three high inputs set both Sum and Cout; the result display reads binary 11, or decimal 3.

Components Used

Applications and Design Context

Multi-bit integer addition. Full-adder functions are chained or reorganized into faster carry structures to implement wider arithmetic units.

Multiplier reduction trees. Arrays of full-adder functions compress partial-product columns before a final carry-propagate addition.

Counters and address arithmetic. Incrementers and address-generation units use the same sum-and-carry behavior.

Floating-point significand arithmetic. After alignment, addition and subtraction operate on wide bit vectors using equivalent full-adder logic.

Target-specific synthesis. ASIC and FPGA tools map this function to standard cells or dedicated carry resources appropriate to the implementation technology.

Frequently Asked Questions

Why does a full adder have three inputs?

A and B are the operand bits, while Cin is the carry from the preceding, less-significant position. Accepting all three values lets the same cell serve every bit position in a multi-bit adder.

Why is Sum an XOR of all three inputs?

The low bit of A + B + Cin is 1 exactly when an odd number of the three inputs are 1. XOR computes that odd-parity condition, so Sum = A ⊕ B ⊕ Cin.

Why is Cout a majority function?

Adding three one-bit values produces 0, 1, 2, or 3. Cout is the high bit of that result and becomes 1 for 2 or 3—precisely when at least two inputs are high. That is the three-input majority function.

Can this function be built from two half adders?

Yes. The first half adder combines A and B. The second combines the intermediate sum with Cin. ORing their carry outputs produces Cout. The packaged FULL_ADDER in this circuit hides that or another equivalent implementation behind its pins.

How many transistors does a physical full adder require?

There is no single transistor count for every full adder. Static CMOS, pass-transistor, transmission-gate, and target-specific standard-cell implementations trade area, power, signal integrity, and delay differently. This circuit specifies logical behavior, not one transistor topology.

Continue Learning