πŸ”Ή What is a Full Adder?

Digital Circuit for Adding Three Binary Inputs

Definition

A Full Adder is a digital circuit that adds 3 one-bit inputs together:

πŸ“₯ Inputs:

  • A β†’ first bit
  • B β†’ second bit
  • Cin β†’ carry-in (from the previous addition)

πŸ“€ Outputs:

  • Sum (the result of the addition)
  • Cout (the carry-out that goes to the next adder)
πŸ”Ή So basically, a Full Adder = Half Adder + Carry input.

Only two numbers can be added using the half adder. In order to solve this issue, the full adder was created. The three 1-bit binary values A, B, and carry C are added using the whole adder. There are two output stagesβ€”sum and carryβ€”and three input states in the entire adder.

Truth Table for Full Adder

A B Cin Sum Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Key Observations
  • These are the input variables: "A" and "B." These variables stand for the two important bits that will be added.
  • The third input, "Cin," stands for the carry. The carry bit is obtained from the preceding lower significant place.
  • The output variables that define the output values are 'Sum' and 'Carry'.
  • All conceivable combinations of 0 and 1 that can occur in these variables are indicated by the eight rows under the input variable.

Deriving the Equations

From the truth table:

Sum (S)

Sum is 1 when an odd number of inputs are 1. That's exactly what XOR does:

Sum = A βŠ• B βŠ• Cin

Derivation:

From the truth table, the logical expression for the sum (S) in a full adder is:

S = A'B'Cin + A'BCin' + AB'Cin' + ABCin

Since A'B + AB' = A βŠ• B. This simplifies to:

S = Cin(A βŠ• B)' + Cin'(A βŠ• B)

The final simplified expression is:

S = A βŠ• B βŠ• Cin

Thus, the sum output is the XOR of A, B, and Cin.

Carry Out (Cout)

Carry Out (Cout) is 1 when at least two or more inputs are 1. So the equation is:

Cout = (AΒ·B) + (BΒ·Cin) + (AΒ·Cin)

Derivation:

From the truth table, the logical expression for Cout (carry-out) in a full adder is:

Cout = A'BCin + AB'Cin + ABCin' + ABCin

This simplifies to:

Cout = AB(Cin'+Cin) + Cin(A'B+AB')

Since Cin' + Cin = 1 and A'B + AB' = A βŠ• B. Thus, the final simplified expression is:

Cout = AB + Cin(A βŠ• B)

Easy Way to Visualize

πŸ”Ή A Half Adder handles 2 inputs β†’ (Sum, Carry).

πŸ”Ή A Full Adder handles 3 inputs (A, B, Cin) β†’ (Sum, Cout).

πŸ”Ή In practice: You can build a Full Adder using 2 Half Adders + 1 OR gate.

Example: Add 1 + 1 + 1

Inputs: A=1, B=1, Cin=1

Sum = 1 βŠ• 1 βŠ• 1 = 1
Cout = (1Β·1) + (1Β·1) + (1Β·1) = 1

Final result = 11 (binary for 3).

Block Diagram

A
β†’
Full
Adder
β†’
Sum
B
β†’
β†’
Cout
Cin
β†’

The building of the whole adder circuit is shown in the block diagram above. The OR gate is used to merge the two half-adder circuits in the circuit above.

Design of Full Adder

A and B are the two single-bit binary inputs of the first half adder. As is well known, the half adder generates the outputs sum and carry. In the second half adder, the 'Carry' output of the first adder will be the second input, and the 'Sum' output of the first adder will be the first input. 'Sum' and 'Carry' will once more be provided by the second half adder.

Implementation Process
  • The 'Sum' bit is the result of the complete adder circuit.
  • We feed the "Carry" outputs from the first and second adders into the OR gate in order to determine the final output of the "Carry."
  • The final execution of the entire adder circuit will result from the OR gate.
  • The last 'Carry' bit is to represent the MSB.
  • The 'AND' and 'XOR' gates combined with an OR gate can be used to build the entire adder logic circuit.
Boolean Expressions

Sum:

  • Perform the XOR operation of input A and B.
  • Perform the XOR operation of the outcome with carry. So, the sum is (A XOR B) XOR Cin which is also represented as: (A βŠ• B) βŠ• Cin

Carry:

  • Perform the 'AND' operation of input A and B.
  • Perform the 'XOR' operation of input A and B.
  • Perform the 'OR' operations of both the outputs that come from the previous two steps. So the 'Carry' can be represented as: A.B + (A βŠ• B)

Logic Circuit of Full Adder

To implement a Full Adder using basic logic gates:

Sum (S) Implementation

Sum (S) is implemented using XOR gates:

  • Use two XOR gates:
  • First XOR gate: A βŠ• B
  • Second XOR gate: (A βŠ• B) βŠ• Cin to get the final sum S.
Carry (C-Out) Implementation

Carry (C-Out) is implemented using XOR, AND and OR gates:

  • First AND gate: This gate calculates A AND B.
  • Second AND gate: This gate calculates Cin AND (A βŠ• B). To do this, you need the result of the first XOR gate (A βŠ• B) as an input to the second AND gate.
  • Finally, the two outputs from the AND gates are combined using an OR gate to generate the final C-OUT output.
XOR Gate 1
βŠ•
A βŠ• B
XOR Gate 2
βŠ•
(A βŠ• B) βŠ• Cin = Sum
AND Gate 1
∧
A AND B
AND Gate 2
∧
(A βŠ• B) AND Cin
OR Gate
∨
(A AND B) OR ((A βŠ• B) AND Cin) = Cout

Implementation using Half Adders

2 Half Adders and an OR gate is required to implement a Full Adder.

With this logic circuit, two bits can be added together, taking a carry from the next lower order of magnitude, and sending a carry to the next higher order of magnitude.

A
β†’
Half
Adder 1
β†’
Half
Adder 2
β†’
Sum
B
β†’
β†’
Cin
β†’
β†’
β†’
OR
β†’
Cout
β†’
β†’

Implementation using NAND and NOR Gates

NAND Gate Implementation

Total 9 NAND gates are required to implement a Full Adder.

NOR Gate Implementation

Total 9 NOR gates are required to implement a Full Adder.

Advantages and Disadvantages

Advantages

πŸ”§ Flexibility: A full adder can add three information bits, making it more flexible than a half adder. It can likewise be utilized to add multi-bit numbers by binding different full adders together.

πŸ”„ Carry Info: The full adder has a convey input, which permits it to perform expansion of multi-bit numbers and to chain different adders together.

⚑ Speed: The full adder works at an extremely fast, making it reasonable for use in rapid computerized circuits.

Disadvantages

🧩 Complexity: The full adder is more mind boggling than a half adder and requires more parts like XOR, AND, or potentially entryways. It is likewise more challenging to execute and plan.

⏱️ Propagation Deferral: The full adder circuit has a propagation delay, which is the time it takes for the result to change in light of an adjustment in the info. This can cause timing issues in computerized circuits, particularly in fast frameworks.

Applications

Full adders are crucial components in various digital systems and arithmetic circuits. Here are some key applications:

Multi-bit Binary Addition

Full adders can be connected in series to add multi-bit binary numbers.

Arithmetic Logic Units (ALUs)

ALUs in processors use full adders to perform arithmetic operations.

Digital Counters

Full adders are used in the design of digital counters and registers.

Binary Multipliers

Full adders are used in binary multipliers for performing addition of partial products.

Subtraction Circuits

Full adders can be modified to perform binary subtraction.

Data Processing

Full adders are used in information handling applications like advanced signal handling, information encryption, and mistake rectification.

Multiplexers and Demultiplexers

Full adders are used in multiplexers and demultiplexers to choose and course information.

Memory Addressing

Full adders are used in memory addressing circuits to produce the location of a particular memory area.

Summary

πŸ”Ή Full Adder is a combinational circuit that adds three inputs and produces two outputs.

πŸ”Ή The first two inputs are A and B and the third input is an input carry as C-IN.

πŸ”Ή The output carry is designated as C-OUT and the normal output is designated as S which is SUM.

πŸ”Ή The C-OUT is also known as the majority 1's detector, whose output goes high when more than one input is high.

πŸ”Ή A full adder logic is designed in such a manner that can take eight inputs together to create a byte-wide adder and cascade the carry bit from one adder to another.

πŸ”Ή We use a full adder because when a carry-in bit is available, another 1-bit adder must be used since a 1-bit half-adder does not take a carry-in bit.

πŸ”Ή A 1-bit full adder adds three operands and generates 2-bit results.

Full adders are essential building blocks in digital logic circuits, forming the foundation for more complex arithmetic operations in computer systems.