1-Bit Packaged Full Adder
One FULL_ADDER component adds A, B, and Cin. Its digit display combines Sum and Cout into the two-bit arithmetic result.
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.
| Inputs | Output | |||||
|---|---|---|---|---|---|---|
| A | B | Cin | Sum | Cout | Result display | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 + 0 + 0 = 00; display reads 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 + 0 + 1 = 01; display reads 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 + 1 + 0 = 01; display reads 1 |
| 0 | 1 | 1 | 0 | 1 | 2 | 0 + 1 + 1 = 10; display reads 2 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 + 0 + 0 = 01; display reads 1 |
| 1 | 0 | 1 | 0 | 1 | 2 | 1 + 0 + 1 = 10; display reads 2 |
| 1 | 1 | 0 | 0 | 1 | 2 | 1 + 1 + 0 = 10; display reads 2 |
| 1 | 1 | 1 | 1 | 1 | 3 | 1 + 1 + 1 = 11; display reads 3 |
Boolean Expression
Sum is the odd-parity function of A, B, and Cin.
Cout is high when A and B generate a carry or when Cin propagates through A ⊕ B.
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.
- 1A=0B=0Cin=0Expected:
Sum = 0, Cout = 0, result display = 0What you'll see:All inputs low produce Sum = 0 and Cout = 0; the result display reads 0. - 2A=1B=0Cin=0Expected:
Sum = 1, Cout = 0, result display = 1What you'll see:One high input sets Sum but not Cout; the result display reads 1. - 3A=1B=1Cin=0Expected:
Sum = 0, Cout = 1, result display = 2What you'll see:Two high inputs clear Sum and set Cout; the result display reads binary 10, or decimal 2. - 4A=1B=1Cin=1Expected:
Sum = 1, Cout = 1, result display = 3What 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.