Open In App

Full Subtractor in Digital Logic

Last Updated : 10 Apr, 2025
Comments
Improve
Suggest changes
125 Likes
Like
Report

A Full Subtractor is a combinational circuit used to perform binary subtraction. It has three inputs:

  • A (Minuend)
  • B (Subtrahend)
  • B-IN (Borrow-in from the previous stage)

It produces two outputs:

  • Difference (D): The result of the subtraction.
  • Borrow-out (B-OUT): Indicates if a borrow is needed for the next stage.

The full subtractor is essential because a half-subtractor can only subtract the least significant bit (LSB) of binary numbers. However, if a borrow is generated during the subtraction of the LSBs, it will affect the subtraction in the next stages. A full subtractor handles this situation by considering the borrow from the previous stage, ensuring accurate subtraction even when a borrow is present.

The full subtractor is used to subtract binary numbers with borrow handling, making it suitable for multi-bit subtraction in digital circuits like Arithmetic Logic Units (ALUs)

Full-Subtractor-in-Digital-Logic
Full Subtractor in Digital Logic

Truth Table of Full Subtractor

Input

Output

A

B

Bin

D

Bout

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

From above table we can draw the K-Map as shown for "difference" and "borrow".

Full-Subtractor-in-Digital-Logic-1
K-Map for Difference

Logical expression for difference

The basic expression is:

D = A'B'Bin + A'BBin' + AB'Bin' + ABBin

Factoring common terms:

D = Bin(A'B' + AB) + Bin'(AB' + A'B)

Recognizing XOR and XNOR properties:

A'B' + AB = A XNOR B
AB' + A'B = A XOR B

Substituting these values:

D = Bin(A XNOR B) + Bin' (A XOR B)

Using XNOR identity:

D = Bin ⊕ (A ⊕ B)

Thus, the final simplified expression for the difference in a full subtractor is:
D = (A ⊕ B) ⊕ Bin

Full-Subtractor-in-Digital-Logic-2
K-Map for Borrow

Logical expression for borrow

The borrow (Bout) output is derived as follows:

The basic expression:

Bout = A'B'Bin + A'BBin' + A'BBin + ABBin

Factoring common terms:

Bout = A'Bin(B + B') + A'B(Bin + Bin') + BBin(A + A')

Simplifying:

Bout = A'Bin + A'B + BBin

Alternatively, using another approach:

Bout = A'B'Bin + A'BBin' + A'BBin + ABBin

Factoring common terms:

Bout = Bin(AB + A'B') + A'B(Bin + Bin')

Using XOR and XNOR properties:

AB + A'B' = A XNOR B

Substituting these values:

Bout = Bin(A XNOR B) + A'B

Using XNOR identity:

Bout = Bin (A XOR B)' + A'B

Thus, the final simplified expression for borrow in a full subtractor is:

Logic Circuit for Full Subtractor

Full-Subtractor-in-Digital-Logic-3
Logic Circuit for Full Subtractor

Implementation of Full Subtractor using Half Subtractors

2 Half Subtractors and an OR gate is required to implement a Full Subtractor.

Full-Subtractor-in-Digital-Logic-4
Implementation of Full Subtractors using Half Subtractor
Suggested Quiz
5 Questions

In terms of propagation delay, the critical path in a ripple-borrow subtractor using full subtractors built from two half subtractors is approximately ?

  • A

    2 gates per bit

  • B

    3 gates per bit for borrow

  • C

    4 gates per bit

  • D

    Same as ripple-carry adder

Explanation:

Borrow path: first HS borrow → OR gate → second HS borrow input → second HS borrow output. Similar 3-gate delay per stage as in full adder carry.

The Difference output of a full subtractor is logically the same as ?

  • A

    Full adder SUM

  • B

    Full adder Carry-out

  • C

    Half adder SUM

  • D

    XOR of A and B only

Explanation:

Difference = A ⊕ B ⊕ Bin (identical to full adder SUM expression).

In a 4-bit ripple-borrow subtractor, where is a half subtractor typically used ?

  • A

    Most significant bit (MSB)

  • B

    Least significant bit (LSB)

  • C

    All bits

  • D

    Never

Explanation:

For the LSB, borrow-in is always 0, so a half subtractor is sufficient and saves gates.

Which of the following Boolean expressions is NOT equivalent to the Borrow-out of a full subtractor ?

  • A

    A'B + Bin(A ⊕ B)

  • B

    A'B + ABin + BBin

  • C

    (A ⊕ B ⊕ Bin)' · Bin + (A ⊕ B ⊕ Bin) · A'

  • D

    AB + Bin(A ⊕ B)

Explanation:

Option D is actually the carry-out expression of a full adder, not the borrow-out of a full subtractor.

The expression A'B + ABin + BBin can be rewritten as ?

  • A

    A ⊕ B + Bin

  • B

    (A ⊕ B)' · B + Bin

  • C

    A'B + Bin(A ⊕ B)

  • D

    AB + Bin

Explanation:

Both are standard equivalent forms for Bout.

Quiz Completed Successfully
Your Score :   2/5
Accuracy :  0%
Login to View Explanation
1/5 1/5 < Previous Next >

Article Tags :

Explore