Full subtractor

Comprehensive study notes, diagrams, and exam preparation for Full subtractor.

Full Subtractor

Definition

A full subtractor is a combinational logic circuit that performs subtraction of three binary bits: the minuend bit, the subtrahend bit, and the borrow-in bit from the previous lower stage. It produces two outputs: the difference and the borrow-out.

In simple form:

  • Inputs: A (minuend), B (subtrahend), Bin (borrow-in)
  • Outputs: Difference (D) and Borrow-out (Bout)

It computes the subtraction:

A - B - Bin

where:

  • A is the bit being subtracted from,
  • B is the bit being subtracted,
  • Bin is the borrow received from the previous stage.

Main Content

1. Basic Concept of Full Subtractor

  • A full subtractor is designed to subtract binary digits while accounting for a borrow from a previous column, which is necessary in multi-bit subtraction.
  • It is built to handle all possible combinations of three input bits, making it more complete than a half subtractor and suitable for cascading in binary subtractor circuits.

In binary subtraction, if the minuend bit is smaller than the subtrahend bit plus borrow-in, a borrow must be taken from the next higher bit. This is exactly what the full subtractor detects and represents through its borrow-out output.

For example, consider:

  • A = 0, B = 1, Bin = 0

Then:

  • 0 - 1 - 0 is not possible directly,
  • so the output is:
  • Difference = 1
  • Borrow-out = 1

This means the circuit borrowed from the next higher bit position.

A full subtractor therefore acts as one stage in a chain of subtractor circuits used for subtracting binary numbers of more than one bit.

2. Truth Table and Boolean Expressions

  • The full subtractor operates on all 8 possible combinations of three input variables, and each combination produces a corresponding difference and borrow output.
  • The truth table is the most direct way to understand how the circuit behaves.
A B Bin Difference (D) Borrow-out (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

The Boolean expression for the difference is:

D = A ⊕ B ⊕ Bin

where represents XOR.

The borrow-out expression can be written as:

Bout = A'B + A'Bin + BBin

or equivalently:

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

These equations are very important because they are used to implement the full subtractor using logic gates.

Example: If A = 1, B = 0, and Bin = 1, then:

  • D = 1 ⊕ 0 ⊕ 1 = 0
  • Bout = A'B + A'Bin + BBin = 0

So the result is:

  • Difference = 0
  • Borrow-out = 0

This shows that the subtraction 1 - 0 - 1 = 0 is completed without borrowing.

3. Logic Implementation and Circuit Realization

  • A full subtractor can be implemented using basic logic gates such as XOR, AND, OR, and NOT gates.
  • It can also be constructed using two half subtractors and an OR gate, which is a common method in academic study.

Implementation using gates:

The difference output is generated using two XOR gates:

  1. First XOR:
  2. X = A ⊕ B
  3. Second XOR:
  4. D = X ⊕ Bin

The borrow-out can be formed by combining AND and OR operations:

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

Implementation using two half subtractors:

A full subtractor can be built by combining:

  • First half subtractor: subtracts B from A
  • Second half subtractor: subtracts Bin from the first difference
  • OR gate: combines the borrow outputs

ASCII representation for conceptual understanding:

        A ─────┐
               │
               ▼
            [Half Subtractor] ── D1 ──┐
        B ─────┘                      │
                                      ▼
                                 [Half Subtractor] ── Difference
        Bin ──────────────────────────┘

Borrow outputs from both half subtractors are combined using OR:
Borrow-out = B1 OR B2

This structure is very useful because it shows how a complex subtractor can be built from simpler units.


Working / Process

  1. The circuit first compares the minuend bit A with the subtrahend bit B.
  2. If A is greater than or equal to B + Bin, the subtraction is done directly and borrow-out remains 0.
  3. If A is less than B + Bin, the circuit generates a borrow-out of 1 and the difference is computed after borrowing from the next higher bit.

To understand the process clearly, consider the subtraction:

A = 0, B = 1, Bin = 0

Step-by-step:

  1. The circuit checks whether 0 can subtract 1.
  2. Since it cannot, a borrow is required.
  3. The result becomes:
  4. Difference = 1
  5. Borrow-out = 1

Now consider another example:

A = 1, B = 1, Bin = 0

  1. The circuit checks 1 - 1.
  2. The result is 0.
  3. No borrow is needed.
  4. Therefore:
  5. Difference = 0
  6. Borrow-out = 0

For multi-bit subtraction, full subtractors are connected in a chain from the least significant bit to the most significant bit. The borrow-out of one stage becomes the borrow-in of the next stage. This cascading process allows the subtraction of binary numbers such as:

1011 - 0110

Each bit pair is processed sequentially, and borrows are passed along as needed.

A conceptual cascade diagram:

A0, B0 ──> [Full Subtractor] ── D0, Bout0 ──> Bin of next stage
A1, B1 ──> [Full Subtractor] ── D1, Bout1 ──> Bin of next stage
A2, B2 ──> [Full Subtractor] ── D2, Bout2 ──> Bin of next stage
A3, B3 ──> [Full Subtractor] ── D3, Bout3

This shows how subtraction proceeds bit by bit from right to left.


Advantages / Applications

  • Handles three inputs, making it suitable for real binary subtraction where borrowing from a previous stage is necessary.
  • Easily cascaded to form subtractors for multi-bit binary numbers, which is essential in digital arithmetic circuits and processors.
  • Widely used in ALUs, calculators, embedded systems, and other digital devices that require binary subtraction.

Full subtractors are especially important in arithmetic logic units because they support subtraction as a core operation alongside addition and comparison. They are also used in combinational logic design, educational digital electronics experiments, and hardware implementations where compact and efficient subtraction circuits are needed.

In addition, the design of a full subtractor helps students understand:

  • binary subtraction rules,
  • borrow propagation,
  • use of logic gates in arithmetic circuits,
  • relationship between subtraction and complementary arithmetic.

Summary

  • A full subtractor is a combinational circuit that subtracts three binary inputs and produces difference and borrow-out.
  • It is essential for multi-bit binary subtraction because it supports borrow handling between stages.
  • Important terms to remember: minuend, subtrahend, borrow-in, borrow-out, difference, XOR, AND, OR, full subtractor