A full subtractor is a combinational circuit that performs a subtraction between two bits, taking into account borrow of the lower significant stage. This circuit has three inputs and two outputs. The three inputs are A, B and Bin, denote the minuend, subtrahend, and previous borrow, respectively. The two outputs, D and Bout represent the difference and output borrow, respectively. The Table 3.9 shows the truth table for full-subtractor.
K-map simplification of D and Bout
The Boolean function for D (difference) can be further simplified as follows :
With this simplified Boolean function circuit for full-subtractor can be implemented as shown in the Fig. 3.23.
A full subtractor can also be implemented with two half-subtractors and one OR gate, as shown in the Fig. 3.24. The difference output from the second half-subtractor is the exclusive-OR of Bin and the output of the first half-subtractor, which is same as difference output of full subtractor.
The borrow output for circuit shown in Fig. 3.24 can be given as
This boolean function is same as borrow out of the full-subtractor. Therefore, we can implement full-subtractor using two half-subtractors and OR gate.