Full Subtractor in Digital Electronics



What is a Full-Subtractor?

A full-subtractor is a combinational circuit that has three inputs A, B, bin and two outputs d and b. Where, A is the minuend, B is subtrahend, bin is borrow produced by the previous stage, d is the difference output and b is the borrow output.

As we know that the half-subtractor can only be used for subtraction of LSB (least significant bit) of binary numbers. If there is any borrow during the subtraction of the LSBs of two binary numbers, then it will affect the subtraction of next stages. Therefore, the subtraction with borrow are performed by a full subtractor.

The block diagram and circuit diagram of a full-subtractor is shown in Figure-1.

Full Subtractor Block Diagram

Therefore, we can realize the full-subtractor using two XOR gates, two NOT gates, two AND gates, and one OR gate.

Operation of Full Subtractor

Now, let us understand the operation of the full subtractor. Full subtractor performs its operation to find the difference of two binary numbers according to the rules of binary subtraction, which are as follows −

In the case of full subtractor, the 1s and 0s for the output variables (difference and borrow) are determined from the subtraction of A – B – bin.

From the logic circuit diagram of the full subtractor, it is clear that the difference bit (d) is obtained by the XOR operation of the two inputs A, B, and bin, and the output borrow bit (b) is obtained by NOT, AND, and OR operations of variable A, B, and bin.

Truth Table of Full-Subtractor

The truth table is one that gives relationship between input and output of a logic circuit. The following is the truth table of the full-subtractor −

Inputs Outputs
A B Bin D (Difference) B (Borrow)
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

K-Map for Full Subtractor

We can use the K-Map (or Karnaugh Map), a method for simplifying Boolean algebra, to determine equations of the difference bit (d) and the output borrow bit (b).

The K-Map simplification for half subtractor is shown in Figure-2.

K-Map for Full Subtractor

Characteristic Equations of Full Subtractor

The characteristic equations of the full subtractor, i.e. equations of the difference (d) and borrow output (b) are obtained by following the rules of binary subtraction. These equations are given below −

The difference (d) of the full subtractor is the XOR of A, B, and bin. Therefore,

$$\mathrm{Difference, \: d \: = \: A \oplus B \oplus b_{in} \: = \: A'B'b_{in} \: + \: AB'b'_{in} \: + \: A'Bb'_{in} \: + \: ABb_{in}}$$

The borrow (b) of the full subtractor is given by,

From the logic circuit diagram and k-map

$$\mathrm{Borrow, \: b \: = \: A'B \: + \: \left ( A \oplus B \right ) \: 'b_{in}}$$

From Truth Table

$$\mathrm{Borrow, \: b \: = \: A'B'b_{in} \: + \: A'Bb'_{in} \: + \: A'Bb_{in} \: + \: ABb_{in}}$$

Or

$$\mathrm{Borrow, \: b \: = \: A'B \left ( b_{in} \: + \: b'_{in} \right ) \: + \: \left (AB \: + \: A'B' \right )b_{in} \: = \: A'B \: + \: \left (A \oplus B \right )'b_{in}}$$

Applications of Full Subtractor

The following are some important applications of full subtractor −

  • Full subtractors are used in ALU (Arithmetic Logic Unit) in computers CPUs.
  • Full subtractors are extensively used to perform arithmetical operations like subtraction in electronic calculators and many other digital devices.
  • Full subtractors are used in different microcontrollers for arithmetic subtraction.
  • They are used in timers and program counters (PC).
  • Full subtractors are also used in processors to compute addresses, tables, etc.
  • Full subtractors are also used in DSP (Digital Signal Processing) and networking based systems.

Conclusion

From the above discussion, we can conclude that a full-subtractor is a combinational logic circuit that can compute the difference of three binary digits. In a full subtractor, the borrow (if any) from the previous stage is also used in subtraction operation in the next stages. Therefore, full subtractors are used to perform subtraction of binary numbers having any number of digits.

Advertisements