Combinational Circuits (CC) are circuits made of several logic gates: decoder, encoder, multiplexer, Demultiplexer, etc. In any electronic circuit, we have a basic block called logic gates. At a given time, the value of input tells the output of the combined circuit. The circuits do not use any memory or storage device. There are two types of combinational circuits -
Adder
Subtractor
Here in this blog, we will focus on Subtractors. For subtracting one number from another, we use subtractors. We also use 1's and 2's complement for this purpose as we are dealing with binary numbers. For basic subtraction, we have three bits which are -
Minuend (A): It is a number from which another number gets subtracted.
Subtrahend (B): It is a Number that gets subtracted.
Borrow (Bi): We get it from the last bit as input.
We use a half subtractor when we have to do subtraction between two bits. Also, it gives two outputs, which are the difference and borrow. In the following image, half subtractor's combinational circuit is represented with half subtractor table -
Logical expression for Half subtractor is -
D = A'B + AB' (A XOR B)
Bout = A'B
Full Subtractor
When subtracting between three bits, we use a full subtractor: the minuend, the subtrahend, and the borrow-in bits. Also, it gives two outputs, which are the difference and borrow-out. The full adder overcame the disadvantage of the Half subtractor.
Logical expression for Full Subtractor
Truth table -
K-map for difference and borrow -
D = A’B’Bin + A’BBin’ + AB’Bin’ + ABBin
= Bin(A’B’ + AB) + Bin’(AB’ + A’B)
= Bin( A XNOR B) + Bin’(A XOR B)
= Bin (A XOR B)’ + Bin’(A XOR B)
= Bin XOR (A XOR B)
= (A XOR B) XOR Bin
Bout = A’B’Bin + A’BBin’ + A’BBin + ABBin
= A’B’Bin +A’BBin’ + A’BBin + A’BBin + A’BBin + ABBin
= A’Bin(B + B’) + A’B(Bin + Bin’) + BBin(A + A’)
= A’Bin + A’B + BBin
OR
Bout = A’B’Bin + A’BBin’ + A’BBin + ABBin
= Bin(AB + A’B’) + A’B(Bin + Bin’)
= Bin( A XNOR B) + A’B
= Bin (A XOR B)’ + A’B
For finding arithmetic differences between two binary digits, we use a digital circuit called parallel subtractor that is greater than one bit by performing concurrent operations on appropriate pairs of bits. In several ways, we can design parallel subtractors, for example, by the combination of half and full subtractor, all full subtractor, etc.
N-bit Parallel Subtractor
We can carry out the subtractor by taking the 1's or 2's complement of the number. For example, if we want to subtract A from B (A-B), we can add their 1's or 2's complement. So we can do binary subtraction with the help of a binary adder.
To obtain the 1's complement, the number subtracted is passed through the inverter first. Then to produce subtraction addition of A and 2's complement of B is done by the 4-bit adder. The result of binary subtraction A-B is represented by S3, S2, S1, S0, and output Cout is carried out, representing the result's polarity. If A > B, Cout = 0, and the result of the binary form (A-B) are in the 2's complement form; otherwise, Cout = 1 and the result is in the binary form (A-B).
What is 1's complement? We can obtain the ones' complement of a binary number's value by inverting all the bits in the number's binary representation.
What is 2's complement? It is a mathematical operation on binary numbers. It is an example of a radix complement. An N-bit number's two's complement is defined as its complement concerning 2^N; the sum of a number and its two's complement equals 2^N.
What are the advantages of using combinational circuits? Here the present input decides the output. Fast speed Time independent Easy to use as designed well with fundamental building blocks: logic gates
What is the advantage of a parallel subtractor? All bits are subtracted simultaneously, which means output is provided at the same time. For the same reason, it is faster also less costly.
What is the disadvantage of a parallel subtractor? Each adder must wait for the carry to be created by the preceding adder in the chain.