9.5. Adder & Subtractor Design
Small adders can be shown at gate level, but for larger designs we will use an iterative modular design
process. This process allows us to define a circuit for the ith module, and then use it to show the overall
design without redrawing the circuit each time.
Half Adder
A Half Adder is the simplest form of an adder. It simply treats the carry and binary bit-addition
separately.
Example: 1-bit adder
Half Subtractor
A Half Subtractor is the simplest form of Subtractor circuit.
Example: 1-bit Subtractor
Note: The Half Subtractor is the same as the Half Adder except for one input inversion.
Universally, Subtractor are created by adding additional circuitry to an adders.
Full Adder
A Full Adder is a set of single bit adders combined to make an n–bit adder. It accepts a carry
from a lower-significant-digit adder and produces a carry to be used by the next-higher-
significant-digit adder.
Example:1-bit full adder module design for ith bit.
A 0 Minuend
- B 0 Subtrahend
BO 1 D 0
Borrow Out
(AND)
Difference Bit
Mod 2 (XOR)
A 0 B 0 B0 1 D 0
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
Half Subtractor Process
Truth Table
A 0
B 0
D 0
BO 1
Gate-level Logic Circuit
A 0
B 0
A
B
S S 0
CO CO 1
HS
Half Subtractor Symbol
A 0
+ B 0
___
CO 1 S 0
Carry Out
(AND)
Sum Bit
Mod 2 (XOR)
A 0 B 0 C0 1 S 0
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Half Adder Process
Truth Table
A 0
B 0
S 0
CO 1
Gate-level Logic Circuit
A 0
B 0
A
B
S S^0
CO CO 1
HA
Half Adder Symbol