Page 3

Adders

Adders are the combinational circuits that perform binary addition inside the ALU. Both boards require the half adder and the full adder, and expect you to recognise how the full adder is built from two half adders.

Half adder

Adds two single bits, A and B, producing a Sum and a Carry. It cannot accept a carry in, which is its limitation.

Truth table

ABSumCarry
0000
0110
1010
1101

Boolean expressions

Sum = A ^ B Carry = A * B

Sum is XOR; Carry is AND.

Circuit

A B Sum Carry

Full adder

Adds three bits — A, B and a carry-in (Cin) — producing a Sum and a carry-out (Cout). Because it accepts a carry in, full adders can be chained to add multi-bit numbers (a ripple-carry adder).

Truth table

ABCinSumCout
00000
00110
01010
01101
10010
10101
11001
11111

Boolean expressions

Sum = A ^ B ^ Cin Cout = (A * B) + (Cin * (A ^ B))

Built from two half adders

A B Cin Half adder Half adder Sum Cout

HA1 adds A + B. HA2 adds that sum to Cin to give the final Sum. Either half adder producing a carry sets Cout, so their carries are combined with an OR gate.

Ripple-carry adder. To add n-bit numbers, chain n full adders so each Cout feeds the next Cin. The carry "ripples" along the chain, which is why wide ripple-carry adders are relatively slow.