Unit 5 Combinational Circuits-1: College of Computer and Information Sciences Department of Computer Science

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

College of Computer and Information Sciences

Department of Computer Science

CSC 220: Computer Organization

Unit 5
COMBINATIONAL CIRCUITS-1
Unit 5: Combinational Circuits-1

Overview
• Introduction to Combinational
Circuits
• Adder
• Ripple Carry Adder
• Subtraction
• Adder/Subtractor

Chapter-3
M. Morris Mano, Charles R. Kime and Tom Martin, Logic and Computer Design
Fundamentals, Global (5th) Edition, Pearson Education Limited, 2016. ISBN:
9781292096124
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 Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Adder
Design an Adder for 1-bit numbers?
 1. Specification: 3.
Optimization/Circuit
2 inputs (X,Y)
2 outputs (C,S)
 2. Formulation:

X Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Half Adder
This adder is called a Half Adder
 Q: Why?

X Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
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

Sum YZ
X Y Z C S
X 00 01 11
0 0 0 0 0 0 100 1 0 S = X’Y’Z +
0 0 1 0 1 1 X’YZ’ + XY’Z’
1 +XYZ
0 1 0 0 1 1 0 1
Carry 0 =XYZ
0 1 1 1 0
YZ
1 0 0 0 1 X 00 01 11
1 0 1 1 0 0 100 0 1
1 0
1 1 0 1 0
0 1 1
1 1 1 1 1 C = XY + YZ + XZ
1
Full Adder = 2 Half Adders
Manipulating the Equations:
S= XY Z
C = XY + XZ + YZ
Full Adder = 2 Half Adders
Manipulating the Equations:
S=(XY)Z
C = XY + XZ + YZ
= XY + XYZ + XY’Z + X’YZ + XYZ
= XY( 1 + Z) + Z(XY’ + X’Y)
= XY + Z(X  Y )
Full Adder = 2 Half Adders
Manipulating the Equations:
S=(XY)Z
C = XY + XZ + YZ = XY + Z(X  Y )

Think
of Z as
a carry
in

Src: Mano’s Book


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
Ripple Carry Adder
 To add n-bit numbers:
• Use n Full-Adders in parallel
• The carries propagates as in addition by hand
• Use Z in the circuit as a Cin

 1 0 0 0
 0101
 0110
 1011
Binary Parallel Adder
 To add n-bit numbers:
• Use n Full-Adders in parallel
• The carries propagates as in addition by hand

Src: Mano’s Book

This adder is called ripple carry adder


Subtraction (2’s
Complement)
How to build a subtractor using 2’s
complement?
Subtraction (2’s
Complement)
How to build a subtractor using 2’s
complement?

Src: Mano’s Book

S = A + ( -B)
Adder/Subtractor
How to build a circuit that performs both
addition and subtraction?
Adder/Subtractor

0 : Add
1:
subtract

Src: Mano’s Book

Using full adders and XOR we can build an Adder/Subtractor!

Ahmad Almulhem, KFUPM 2009


Binary Parallel Adder (Again)
 To add n-bit numbers:
• Use n Full-Adders in parallel
• The carries propagates as in addition by hand

Src: Mano’s Book

This adder is called ripple carry adder


Carry Look Ahead Adder
• How to reduce propagation delay of ripple carry adders?
• Carry look ahead adder: All carries are computed as
a function of C0 (independent of n !)
• It works on the following standard principles:
• A carry bit is generated when both input bits Ai and Bi are 1,
or
• When one of input bits is 1, and a carry in bit exists

Carry Cn Cn-
bits An-
1…….Ci……….C2C1C0
1…….Ai……….A2A1A0
Bn-
Carry 1…….Bi……….B2B1B0
Out Sn Sn-1…….Si……….S2S1S0
24 For Review
25

You might also like