Professional Documents
Culture Documents
Combinational Circuits
Part 1
Israt Ferdous
Objectives
Arithmetic Circuits
Adder
Subtractor
Carry Look Ahead Adder
BCD Adder
Multiplier
ABC
ABC
ABC
ABC
Step2. Write the AND term for each case where the output is 1
Adder
Design an Adder for 1-bit numbers?
Adder
Design an Adder for 1-bit numbers?
1. Specification:
2 inputs (X,Y)
2 outputs (C,S)
Adder
Design an Adder for 1-bit numbers?
1. Specification:
2 inputs (X,Y)
2 outputs (C,S)
2. Formulation:
X
Adder
Design an Adder for 1-bit numbers?
1. Specification:
3. Optimization/Circuit
2 inputs (X,Y)
2 outputs (C,S)
2. XFormulation:
Y
C
Half Adder
This adder is called a Half Adder
Q: Why?
Full Adder
A combinational circuit that adds 3 input bits to
generate a Sum bit and a Carry bit
Full Adder
A combinational circuit that adds 3 input bits to
generate a Sum bit and a Carry bit
X
Full Adder
A combinational circuit that adds 3 input bits to
generate a Sum bit and a Carry bit
Sum
YZ
00
0
00
0
Carry
X
YZ
01
1
11
0
10
S = XYZ + XYZ
1
+ XYZ +XYZ
0
=XYZ
01
0
11
1
10
0
1
C = XY + YZ + XZ
Full Adder
S = xy'z'+x'yz'+x'y'z+xyz = x y z
C = xy + xz + yz
x
S
y
y
z
C
Think of
Z as a
carry in
Bigger Adders
How to build an adder for n-bit numbers?
Example: 4-Bit Adder
Inputs ?
Outputs ?
What is the size of the truth table?
How many functions to optimize?
Bigger Adders
How to build an adder for n-bit numbers?
Example: 4-Bit Adder
Inputs ? 9 inputs
Outputs ? 5 outputs
What is the size of the truth table? 512 rows!
How many functions to optimize? 5 functions
0101
0110
1011
Total delay = 8 + 1 = 9T
Src: Course CD
S = A + ( -B)
Adder/Subtractor
How to build a circuit that performs both
addition and subtraction?
Adder/Subtractor
0 : Add
1: subtract
Total delay = 8 + 1 = 9T
How to improve?
Src: Course CD
BCD Adder
BCD digits are valid for decimal numbers 0-9
Addition of two BCD numbers will generate an output,
that may be greater than 1001 (9).
In such cases, the BCD number 0110 is added to the
result as a correction step
When adding two BCD numbers, the maximum result
that can be obtained is:
9 + 9 = 18
If we include a carry in bit, then the maximum result that can
be obtained is: 19 (10011)
Both numbers 18 and 19 are invalid BCD digits. Therefore, a 6
needs to be added to bring them to correct BCD format.
Z1Z0
Z3Z2
00
00
0
01
0
11
0
10
0
01
11
10
F = Z3Z2 + Z3Z1 + CO
Circuit
B3 B2B1B0
A3A2A1A0
4-bit Binary
Adder
Cout
Z3 Z2 Z1 Z0
0
Correction
Step
4-bit Binary
Adder
S3 S2 S1 S0
Carry In
Parallel Adders
Reduce the carry propagation delay
Employ faster gates
Look-ahead carry (more complex mechanism, yet faster)
Carry propagate: Pi = AiBi
Carry generate: Gi = AiBi
Sum: Si = PiCi
Carry: Ci+1 = Gi+PiCi
C0 = Input carry
C1 = G0+P0C0
C2 = G1+P1C1 = G1+P1(G0+P0C0) = G1+P1G0+P1P0C0
C3 = G2+P2C2 = G2+P2G1+P2P1G0+ P2P1P0C0
Exercise
Exercise