0% found this document useful (0 votes)
51 views3 pages

Half and Full Adder Overview

The document discusses arithmetic circuits and their basic building blocks. It describes half-adders, which can add two bits, producing a sum and carry output. A full adder can add three bits and is necessary for adding binary numbers with multiple bits. Full adders use the outputs of two half-adders along with an OR gate. Other topics covered include truth tables and Boolean expressions for half-adders and full adders, as well as implementations using logic gates like NAND and NOR gates.

Uploaded by

ec academic
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views3 pages

Half and Full Adder Overview

The document discusses arithmetic circuits and their basic building blocks. It describes half-adders, which can add two bits, producing a sum and carry output. A full adder can add three bits and is necessary for adding binary numbers with multiple bits. Full adders use the outputs of two half-adders along with an OR gate. Other topics covered include truth tables and Boolean expressions for half-adders and full adders, as well as implementations using logic gates like NAND and NOR gates.

Uploaded by

ec academic
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

236 Digital Electronics

of Boolean expressions. The following guidelines should be followed while choosing the preferred
form for hardware implementation:

1. The implementation should have the minimum number of gates, with the gates used having the
minimum number of inputs.
2. There should be a minimum number of interconnections, and the propagation time should be the
shortest.
3. Limitation on the driving capability of the gates should not be ignored.

It is difficult to generalize as to what constitutes an acceptable simplified Boolean expression. The


importance of each of the above-mentioned aspects is governed by the nature of application.

7.3 Arithmetic Circuits – Basic Building Blocks


In this section, we will discuss those combinational logic building blocks that can be used to perform
addition and subtraction operations on binary numbers. Addition and subtraction are the two most
commonly used arithmetic operations, as the other two, namely multiplication and division, are
respectively the processes of repeated addition and repeated subtraction, as was outlined in Chapter
2 dealing with binary arithmetic. We will begin with the basic building blocks that form the basis of
all hardware used to perform the aforesaid arithmetic operations on binary numbers. These include
half-adder, full adder, half-subtractor, full subtractor and controlled inverter.

7.3.1 Half-Adder
A half-adder is an arithmetic circuit block that can be used to add two bits. Such a circuit thus has two
inputs that represent the two bits to be added and two outputs, with one producing the SUM output
and the other producing the CARRY. Figure 7.4 shows the truth table of a half-adder, showing all
possible input combinations and the corresponding outputs.
The Boolean expressions for the SUM and CARRY outputs are given by the equations

SUM S = AB + AB (7.5)


CARRY C = AB (7.6)

An examination of the two expressions tells that there is no scope for further simplification. While
the first one representing the SUM output is that of an EX-OR gate, the second one representing the

Figure 7.4 Truth table of a half-adder.


Arithmetic Circuits 237

Figure 7.5 Logic implementation of a half-adder.

CARRY output is that of an AND gate. However, these two expressions can certainly be represented
in different forms using various laws and theorems of Boolean algebra to illustrate the flexibility that
the designer has in hardware-implementing as simple a combinational function as that of a half-adder.
We have studied in Chapter 6 on Boolean algebra how various logic gates can be implemented in the
form of either only NAND gates or NOR gates. Although the simplest way to hardware-implement a
half-adder would be to use a two-input EX-OR gate for the SUM output and a two-input AND gate
for the CARRY output, as shown in Fig. 7.5, it could also be implemented by using an appropriate
arrangement of either NAND or NOR gates. Figure 7.6 shows the implementation of a half-adder with
NAND gates only.
A close look at the logic diagram of Fig. 7.6 reveals that one part of the circuit implements
a two-input EX-OR gate with two-input NAND gates. EX-OR implementation using NAND was
discussed in the previous chapter. The AND gate required to generate CARRY output is implemented
by complementing an already available NAND output of the input variables.

7.3.2 Full Adder


A full adder circuit is an arithmetic circuit block that can be used to add three bits to produce a
SUM and a CARRY output. Such a building block becomes a necessity when it comes to adding
binary numbers with a large number of bits. The full adder circuit overcomes the limitation of the
half-adder, which can be used to add two bits only. Let us recall the procedure for adding larger
binary numbers. We begin with the addition of LSBs of the two numbers. We record the sum under
the LSB column and take the carry, if any, forward to the next higher column bits. As a result,
when we add the next adjacent higher column bits, we would be required to add three bits if there
were a carry from the previous addition. We have a similar situation for the other higher column bits

A
[A.(A .B)]

(A.B)
S

[B.(A .B)]
B

Figure 7.6 Half-adder implementation using NAND gates.


238 Digital Electronics

A B Cin SUM (S) Cout


0 0 0 0 0
A S 0 0 1 1 0
Full 0 1 0 1 0
B Adder 0 1 1 0 1
Cin Cout 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Figure 7.7 Truth table of a full adder.

also until we reach the MSB. A full adder is therefore essential for the hardware implementation of
an adder circuit capable of adding larger binary numbers. A half-adder can be used for addition of
LSBs only.
Figure 7.7 shows the truth table of a full adder circuit showing all possible input combinations and
corresponding outputs. In order to arrive at the logic circuit for hardware implementation of a full
adder, we will firstly write the Boolean expressions for the two output variables, that is, the SUM
and CARRY outputs, in terms of input variables. These expressions are then simplified by using any
of the simplification techniques described in the previous chapter. The Boolean expressions for the
two output variables are given in Equation (7.7) for the SUM output (S) and in Equation (6.6) for the
CARRY output (Cout :

S = ABCin + ABC in + ABC in + ABCin (7.7)


Cout = ABCin + ABCin + ABC in + ABCin (7.8)

The next step is to simplify the two expressions. We will do so with the help of the Karnaugh mapping
technique. Karnaugh maps for the two expressions are given in Fig. 7.8(a) for the SUM output and
Fig. 7.8(b) for the CARRY output. As is clear from the two maps, the expression for the SUM (S
output cannot be simplified any further, whereas the simplified Boolean expression for Cout is given
by the equation

Cout = BCin + AB + ACin (7.9)

Figure 7.9 shows the logic circuit diagram of the full adder. A full adder can also be seen to comprise
two half-adders and an OR gate. The expressions for SUM and CARRY outputs can be rewritten as
follows:

S = C in AB + AB + Cin AB + AB

S = C in AB + AB + Cin AB + AB (7.10)

Similarly, the expression for CARRY output can be rewritten as follows:

Cout = BCin A + A + AB + ACin B + B


= AB + ABCin + ABCin + ABCin + ABCin = AB + ABCin + ABCin + ABCin
= AB1 + Cin  + Cin AB + AB

Common questions

Powered by AI

Basic building blocks such as half-adders, full adders, half-subtractors, and full subtractors facilitate binary addition and subtraction in digital electronics by providing structured methods to compute these operations through combinational logic. Half-adders and full adders perform essential operations by handling two and three-bit additions respectively, where the full adder is particularly crucial for larger binary numbers due to its ability to process carry inputs from previous operations, allowing for seamless binary addition across multiple bits .

Propagation time affects digital circuit design by determining how quickly a signal can traverse through a gate, impacting the speed and performance of the entire circuit. Driving capabilities define a gate’s ability to output power to subsequent stages effectively, influencing the circuit’s power efficiency and load management. Both factors dictate the choice of logic gates and configurations to meet the speed and power requirements of the application .

A full adder can be realized by using two half-adders and one OR gate. The first half-adder takes two input bits and generates a SUM and a carry. The second half-adder processes the initial SUM and an input carry, producing another SUM and a carry. The final carry output of the full adder is obtained by OR-ing the two carry outputs from the half-adders, effectively handling all three bits (including the carry-in) to complete the addition process .

Yes, a half-adder can be implemented using only NAND gates. This is achieved by constructing a two-input EX-OR gate with NAND gates for the SUM output and complementing an already available NAND output of the input variables to generate the AND gate required for the CARRY output .

For a full adder's CARRY output, the initial Boolean expression is written as Cout = A.B.Cin + A.B.Cin + A.B.Cin + A.B.Cin. Simplification using Karnaugh maps involves grouping adjacent ones to form the simplest covering solution. The simplified expression obtained is Cout = B.Cin + A.B + A.Cin, reducing complexity and number of gates required. This simplification leverages common Boolean identities and the visual grouping method provided by the Karnaugh map .

When choosing the preferred form for hardware implementation of Boolean expressions, the essential guidelines are: minimizing the number of gates used and the number of inputs for each gate, ensuring a minimum number of interconnections, maintaining minimal propagation time, and considering the driving capability of gates. The importance of these aspects depends on the application’s nature .

A full adder circuit adds three input bits (two significant bits and a carry bit) to produce the SUM and CARRY outputs, making it capable of cascading to handle larger binary numbers. In contrast, a half-adder only adds two input bits without handling a carry input. Structurally, a full adder can be composed of two half-adders and an OR gate to manage the additional carry logic required for larger bit additions .

A Karnaugh map is used in the optimization of Boolean expressions by providing a visual method to simplify expressions. It enables the identification of common patterns and grouping of terms that lead to the minimized expression, which translates into less complex digital circuits. For adders, Karnaugh maps help derive simpler Boolean expressions for SUM and CARRY outputs, reducing the number of gates needed and thereby optimizing the circuit design .

The primary limitation of a half-adder compared to a full adder is that it can only add two bits together and does not account for carry inputs from previous stages, which makes it insufficient for adding multi-bit binary numbers where the carry from a previous bit addition needs to be included. A full adder addresses this limitation by allowing the addition of three bits, including an input carry .

Challenges in simplifying Boolean expressions for hardware implementation include achieving a balance between minimal gate use, lowest propagation delays, and the circuit’s required driving capabilities, which can vary greatly depending on the specific application. Context influences these challenges as different applications may prioritize speed, power consumption, or compactness differently, affecting which simplification methods are optimal .

You might also like