# Full-Adder Circuit, The Schematic Diagram and How It Works

## Introduction

Full-adder circuit is one of the main element of arithmetic logic unit. It is the full-featured 1-bit (binary-digit) addition machine that can be assembled to construct a multi-bit adder machine. We can say it as a full-featured addition machine since it has “carry input” and a “carry-output”, in addition to the two 1-bit data inputs and one 1-bit data output. Before presenting the hardware circuit for the full-adder, the basic of binary addition concept will be presented first in this article for better understanding.

## Binary Addition Concept: Using “Carry” for Multi-Digit Operation

In order to design a digital (binary) adder machine, binary number addition process can be analyzed as digit-by-digit operation. So, the whole operation can be broken down into simple logical operation steps. By getting the simple logical operation, then a functional machine can be easily implemented using logic gates circuit. Now take a look at the Figure 1 for example.

To add two binary numbers 111 (7 in decimal) and 10 (3 in decimal), first we add the digit-1 (the least significant bit). The operation on the input show the operation of 1 + 0, and the result is 1, and it fits in one digit place so there no “carry” of the digit-1 operation. The next step is operating the digit-2 addition, and it shows 1+1. The result of this addition should be 10, but we have to place the least significan digit (0) in one digit of the result (the digit-2), so the most significant bit of the result (1) will be separated as the “carry” output of the digit-2 operation, designated as carry-1 in the picture. The next operation, the digit-2 operation will be similar with the digit-2 operation but the result of the addition is added by carry-output of the previous digit operation before placing the result in the corresponding digit position. As we can see, every digit operation (except for the least significant bit) is made by adding the bit-data input, then add the carry-data from the previous digit operation, and passing the carry-output (if any) to the next digit operation.

In the previous example, the first operation is adding two 1-bit data of the least significant bits of two binary numbers. This operation needs a circuit with 2 inputs (the least significant bit of the first operand and the least significant bit of the second operand). We also need two outputs from this circuit, 1-bit for the data-output and 1-bit for the carry-output. Now such circuit is called a half-adder circuit. It is basically a 1-bit binary adder with 2-bit output. The schematic diagram of the circuit is shown in the Figure 2.

The operation of this half-adder circuit can be described by the following truth table (Figure 3), which show all possible combination of the input and the output’s response of the circuit.

To process the addition of digit-2 or the higher digits in binary addition, one additional input, the carry-input is needed to process the carry-output from previous digit 1-bit addition. Therefore, we need more complex circuit that has 3 inputs and two outputs. A circuit that has similar function with half-adder but with additional carry-input, and such circuit is called a full-adder circuit. Here is the schematic diagram of the circuit (Figure 4)