Lecture 15 PDF
Lecture 15 PDF
BCD Adder
BCD binary numbers represent Decimal digits 0 to 9. A 4-bit BCD code is used to
represent the ten numbers 0 to 9. Since the 4-bit Code allows 16 possibilities, therefore
the first 10 4-bit combinations are considered to be valid BCD combinations. The latter
six combinations are invalid and do not occur.
Addition of two BCD digits requires two 4-bit Parallel Adder Circuits. One 4-bit
Parallel Adder adds the two BCD digits. A BCD Adder uses a circuit which checks the
result at the output of the first adder circuit to determine if the result has exceeded 9 or a
Carry has been generated. If the circuit determines any of the two error conditions the
circuit adds a 6 to the original result using the second Adder circuit. The output of the
second Adder gives the correct BCD output. If the circuit finds the result of the first
Adder circuit to be a valid BCD number (between 0 and 9 and no Carry has been
generated), the circuit adds a zero to the valid BCD result using the second Adder. The
output of the second Adder gives the same result. Figure 15.1
The circuit that checks if the output of the first Adder has exceeded 9 is a simple
combinational circuit with the function table specified. Table 15.1
S3S2\S1S0 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 0 0 1 1
The Boolean expression for the Invalid BCD Number Detector obtained from the
Karnaugh Map which maps the function table is S 3S 2 + S 3S1 = S 3 (S 2 + S1 )
The Invalid BCD Number is represented by two error conditions, either the BCD number
is one of the invalid numbers or a Carry out has been generated. Therefore the complete
expression for determining an incorrect BCD output is C out1 + S 3 (S 2 + S1 ) . Figure 15.3
connected to 0. Figure 15.4. When an error condition is detected the output of the circuit
is set to logic 1, setting bits B1 and B2 to 1 and the 2nd Adder input B to 0110. When the
error condition is not detected the circuit output is 0 and the 2nd Adder input B is set to
0000.
Cin4 Cin= 0
1st MSD 4-bit Adder 1st LSD 4-bit Adder
Cout8 Cout4
Invalid BCD Invalid BCD
Detector Circuit Detector Circuit
S4-7 0 0 S0-3 0 0
Cin4=0
Cout
S4-7 S0-3
Figure 15.5 2-Digit BCD Adder
Consider two examples. In the first example, 2-digit BCD number 99 is added
with another 2-digit BCD number 99. The answer should be 198 a 3-digit BCD number.
Table 15.2. In the second example, 2-digit BCD number 99 is added with another 2-digit
BCD number 66. The answer should be 165. Table 15.3
Subtraction
Subtraction in Digital Systems is performed by taking the 2’s complement of the
number to be subtracted (subtrahend) and adding it to the minuend. The example shows
the subtraction of 6 represented in 2’s complement form from nine also represented in its
2’s complement form. Since 9 is a positive number therefore its 2’s complement
representation is the same. Neglecting the carry bit, the 4-bit number represents decimal
4.
9 1001
- 5 1011
4 1 0100
The 2’s complement of any number is obtained by taking the 1’s complement of a
number and then adding a 1 to the 1’s complement. The two step process to represent a
negative number in its 2’s complement form is shown
1001 1010
A (0-3) B (0-3)
Cout 4-bit Parallel Cin=1
Adder
Sum (0-3)
The Adder circuit adds the number 9 (1001), 1’s complement of 5 (1010) and the
Carry In which is set to 1.
B3 B2 B1 B0
Add = 0
Subtract = 1
U C U C U C U C
A3 A2 A1 A0
COut CIn
4-bit Parallel Adder
S3 S2 S1 S0
The AND gate and OR gate implementation connected at the B input of the 4-bit
Adder is used to allow Complemented or Un-Complemented B input to be connected to
the Adder input. Adding of two 4-bit numbers A and B can be performed by selecting the
Add/Subtract = 0. The AND gates marked U (un-complemented) are enabled allowing
B0-3 to be passed on to the OR gates and the B input of the Adder. Subtraction is
performed by selecting the Add/Subtract = 1. The AND gates marked C (complemented)
are enabled allowing complemented B0-3 to be passed on to the OR gates and the B input
of the Adder. The Carry In is also set to 1 when Add/Subtract is set to 1.
B7 B6 B5 B4 B3 B2 B1 B0
Add = 0
Subtract = 1
U C U C U C U C U C U C U C U C
A7 A6 A5 A4 A3 A2 A1 A0
CIn CIn
2nd 4-bit Parallel Adder 1st 4-bit Parallel Adder
COut
S7 S6 S5 S4 S3 S2 S1 S0
Figure 15.8 8-bit Adder/Subtracter Circuit
Consider two number A=103 and B=67 which are first added and then subtracted
using the 8-bit Adder/Subtracter Circuit. Table 15.4 and Table 15.5
There are different MSI ALUs available that have two 4-bit inputs a 4-bit output
and three to five function select inputs that allows up to 32 different functions to be
performed. Three commercially available 4-bit ALUS are
• 74XX181: The 4-bit ALU has five function select inputs allowing it to perform 32
different Arithmetic and Logic operations.
• 74XX381: The 4-bit ALU only has three function select inputs allowing only 8
different arithmetic and logic functions. Table 15.6
• 74XX382: The 4-bit ALU is similar to the 74XX381, the only difference is that
74XX 381 provides group-carry look-ahead outputs and 74XX382 provides ripple
carry and overflow outputs
Input
S2 S1 S0 Function
0 0 0 F=0000
0 0 1 F=B-A-1+Cin
0 1 0 F=A-B-1+Cin
0 1 1 F=A+B+Cin
1 0 0 F = A ⊕B
1 0 1 F=A+B
1 1 0 F=A.B
1 1 1 F=1111
Group-Carry Look-Ahead
The Look-Ahead Carry Generator discussed earlier and used by the 74LS283
Adder provides Carry’s C1, C2, C3 and C4 simultaneously after a gate delay of two.
Carry’s C1, C2 and C3 are used internally, where as C4 provides the Cout from the
74LS283. Referring to the Look-Ahead Carry Generator Circuit the C1, C2, C3 and C4
terms are generated on the basis of P0, P1, P2 and P3 the four Carry Propagate terms and
G0, G1, G2 and G3 the four Carry Generate terms. Figure 15.9
These terms are used to generate Group-Carry Look-Ahead outputs that can be
used to cascade together multiple units eliminating the problem of rippling carry. The G
and P output pins of the 74XX381 provide the group-carry look-ahead outputs that allow
multiple ALUs to be cascaded together. The active-low outputs G and P are represented
by the Boolean expressions. Figure 15.10
S0
S0 G
S1
S1 P
74X381
S2
S2
Cin
A4 F4
A0 F0
B4 F5
B0 F1
A5 F6
A1 F2
B5 F7
B1 F3
A6
A2
B6
B2
A7
A3
B7
B3