Better to know some... than all 


Arithmetic CircuitsADDERSAdders are combinations of logic gates that combine binary values to obtain a sum. They are classified according to their ability to accept and combine the digits. In this section we will discuss quarter adders, half adders, and full adders. QUARTER ADDERA quarter adder is a circuit that can add two binary digits but will not produce a carry. This circuit will produce the following results: 0 plus 0 = 0 0 plus 1 = 1 1 plus 0 = 1 1 plus 1 = 0 (no carry) You will notice that the output produced is the same as the output for the Truth Table of an XOR. Therefore, an XOR gate can be used as a quarter adder. The combination of gates in figure will also produce the desired results. When A and B are both LOW (0), the output of each AND gate is LOW (0); therefore, the output of the OR gate is LOW (0). When A is HIGH and B is LOW, then B is HIGH and AND gate 1 produces a HIGH output, resulting in a sum of 1 at gate 3. With A LOW and B HIGH, gate 2 output is HIGH, and the sum is 1. When both A and B are HIGH, neither AND gate has an output, and the output of gate 3 is LOW (0); no carry is produced. Quarter adderHALF ADDERA half adder is designed to combine two binary digits and produce a carry. Figure shows two ways of constructing a half adder. An AND gate is added in parallel to the quarter adder to generate the carry. The SUM column of the Truth Table represents the output of the quarter adder, and the CARRY column represents the output of the AND gate. Half adders and Truth TableWe have seen that the output of the quarter adder is HIGH when either input, but not both, is HIGH. It is only when both inputs are HIGH that the AND gate is activated and a carry is produced. The largest sum that can be obtained from a half adder is 10_{2} (1_{2} plus 1_{2}). FULL ADDERThe full adder becomes necessary when a carry input must be added to the two binary digits to obtain the correct sum. A half adder has no input for carries from previous circuits. One method of constructing a full adder is to use two half adders and an OR gate as shown in figure. The inputs A and B are applied to gates 1 and 2. These make up one half adder. The sum output of this half adder and the carryfrom a previous circuit become the inputs to the second half adder. The carry from each half adder is applied to gate 5 to produce the carryout for the circuit. Full adder and Truth TableNow let's add a series of numbers and see how the circuit operates. First, let's add 1 and 0. When either A or B is HIGH, gate 1 has an output. This output is applied to gates 3 and 4. Since the carryin is 0, only gate 3 will produce an output. The sum of 1_{2} and 0 is 1_{2}. Now let's add 1_{2} and 1_{2}. If A and B are both HIGH, the output of gate 1 is LOW. When the carryin is 0 (LOW), the output of gate 3 is LOW. Gate 2 produces an output that is applied to gate 5, which produces the carryout. The sum of 1_{2} and 1_{2} is 10_{2}, just as it was for the half adder. When A and B are both LOW and the carryin is 1, only gate 3 has an output and produces a sum of 1_{2} with no carryout. Now, let's add A or B and a carryin. For example, let's assume that A is HIGH and B is LOW. With these conditions, gate 1 will have an output. This output and the carryin applied to gates 3 and 4 will produce a sum out of 0 and a carry of 1. This carry from gate 4 will cause gate 5 to produce a carryout. The sum of A and a carry (1_{2} plus 1_{2}) is 10_{2}. When A, B, and the carryin are all HIGH, a sum of 1 and a carryout are produced. First, consider A and B. When both are HIGH, the output of gate 1 is LOW, and the output of gate 2 is HIGH, giving us a carryout at gate 5. The carryin produces a 1 output at gate 3, giving us a sum of 1. The output of the full adder is 11_{2}. The sum of 1_{2} plus 1_{2} plus 1_{2} is 11_{2}. PARALLEL ADDERSThe adders discussed in the previous section have been limited to adding singledigit binary numbers and carries. The largest sum that can be obtained using a full adder is 11_{2}. Parallel adders let us add multipledigit numbers. If we place full adders in parallel, we can add two or fourdigit numbers or any other size desired. Figure uses STANDARD SYMBOLS to show a parallel adder capable of adding two, twodigit binary numbers. In previous discussions we have depicted circuits with individual logic gates shown. Standard symbols (blocks) allow us to analyze circuits with inputs and outputs only. One standard symbol may actually contain many and various types of gates and circuits. The addend would be input on the A inputs (A_{2} = MSD, A_{1} = LSD), and the augend input on the B inputs (B_{2} = MSD, B _{1} = LSD). For this explanation we will assume there is no input to C0 (carry from a previous circuit). Parallel binary adderNow let's add some twodigit numbers. To add 10_{2} (addend) and 01_{2} (augend), assume there are numbers at the appropriate inputs. The addend inputs will be 1 on A_{2} and 0 on A_{1}. The augend inputs will be 0 on B_{2} and 1 on B_{1}. Working from right to left, as we do in normal addition, let's calculate the outputs of each full adder. With A_{1} at 0 and B_{1} at 1, the output of adder 1 will be a sum (S_{1}) of 1 with no carry (C_{1}). Since A_{2} is 1 and B_{2} is 0, we have a sum (S_{2}) of 1 with no carry (C_{2}) from adder 1. To determine the sum, read the outputs (C_{2}, S _{2}, and S_{1}) from left to right. In this case, C_{2} = 0, S_{2} = 1, and S_{1} = 1. The sum, then, of 10_{2} and 01_{2} is 011_{2} or 11_{2}. To add 11_{2} and 01_{2}, assume one number is applied to A_{1} and A_{2}, and the other to B_{1} and B_{2}, as shown in figure . Adder 1 produces a sum (S_{1}) of 0 and a carry (C_{1}) of 1. Adder 2 gives us a sum (S_{2}) of 0 and a carry (C_{2}) of 1. By reading the outputs (C_{2}, S_{2}, and S_{1}), we see that the sum of 11_{2} and 01_{2} is 100_{2}. Parallel additionAs you know, the highest binary number with two digits is 11_{2}. Using the parallel adder, let's add 11 _{2} and 11_{2}. First, apply the addend and augend to the A and B inputs. Calculate the output of each full adder beginning with full adder 1. With A_{1} and B_{1} at 1, S_{1} is 0 and C_{1} is 1. Since all three inputs (A_{2}, B_{2}, and C_{1}) to full adder 2 are 1, the output will be 1 at S_{2} and 1 at C_{2}. The output of the circuit, as you read left to right, is 110_{2}, the sum of 11_{2} and 11_{2}. Parallel adders may be expanded by combining more full adders to accommodate the number of digits in the numbers to be added. 