# Introduction

In this article we will discuss the design of the arithmetic adder and subtracter circuits. These circuits will take input bits and produce two outputs sum and carry or difference and borrow.

## Half adder

A half adder is a logic circuit that adds two bits at a time. These two bits may be the bits of two binary numbers or a bit of one number and a carry from previous stage. This circuit take two inputs and produces two outputs a Sum and a Carry.

Truth table of a half adder

The Sum output has two minterms and the carry output has one minterm. So the output equation in SOP form is **Boolean equation are**:

Sum = A’B + AB’

Carry = AB

The above equations do not require further simplification,

Implementation of Logic circuit using basic basic (NOT, AND and OR) Gates

**Implementation using XOR and an AND gate**:

The output equation for Sum = A’B + AB’ represents a XOR gate, so we can implement the HALF Adder using XOR gate as given in figure-

**Half Subtractor**

A half subtractor is a logic circuit that subtracts two bits. As a result the circuit produces two outouts, difference and a borrow. Truth table given below describes the behaviour of the half subtractor.

The truth table for a half subtractor shows two input variables ‘A’ and ‘B’ and two outputs “Diff” and “Borrow”. The two output logic equations in SOP for are:

Diff = A’B + AB’

Borrow = A’B

- The logic circuit implemented with basic gates is shown in figure

Since the Diff equation also represent the XOR gate so the logic circuit can also be drawn using an XOR gate for Diff and an AND gate for borrow as shown below:

## Full Adder

A full adder is a logic circuit that adds three bits. Of the three bits, two bits are the bits of the two numbers and the third bit is a carry from the previous stage. The full adder will produce a sum and a carry output. The truth table below describes the behavior of the full adder.

**Forming Boolean Equations**

The minterms in the Sum and the carry outputs are also shown in the truth table. Using these minterms we get:

Sum = ∑m(1,2,4,7) **Or **Sum = A’B’C + A’BC’ + AB’C’ + ABC

Carry = ∑m(3, 5,6,7) **Or** Carry = A’BC + AB’C + ABC’ + ABC

Solving the equations using Boolean Algebra, we get:

Sum = A’B’C + A’BC’ + AB’C’ + ABC

= A’ (B’C + BC’) + A( B’C’ + BC)

=A’(B ⊕ C) + A( B ⊕ C)’

Let (B ⊕ C) = X, putting in above equation we get:

Sum = A’X + AX’ = A ⊕ X

OR

**Sum = A ****⊕**** B ****⊕**** C**

**Carry **= A’BC + AB’C + ABC’ + ABC

= A’BC + ABC + AB’C + ABC’

= BC (A’ + A) + A( B’C + BC’)

= BC + A (B ⊕ C) ; Because A’ + A = 1

**Logic Circuit Implementation**