Top Banner
COE 202: Digital Logic Design Combinational Circuits Part 2 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Ahmad Almulhem, KFUPM 2009
38

COE 202: Digital Logic Design Combinational Circuits Part 2

Mar 21, 2016

Download

Documents

bevis

Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324. COE 202: Digital Logic Design Combinational Circuits Part 2. Objectives. Arithmetic Circuits Adder Subtractor Carry Look Ahead Adder BCD Adder Multiplier. Adder. Design an Adder for 1-bit numbers?. Adder. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: COE 202: Digital Logic Design Combinational Circuits Part 2

COE 202: Digital Logic DesignCombinational Circuits

Part 2

Dr. Ahmad AlmulhemEmail: ahmadsm AT kfupm

Phone: 860-7554Office: 22-324

Ahmad Almulhem, KFUPM 2009

Page 2: COE 202: Digital Logic Design Combinational Circuits Part 2

Objectives• Arithmetic Circuits

• Adder• Subtractor• Carry Look Ahead Adder• BCD Adder• Multiplier

Ahmad Almulhem, KFUPM 2009

Page 3: COE 202: Digital Logic Design Combinational Circuits Part 2

AdderDesign an Adder for 1-bit numbers?

Ahmad Almulhem, KFUPM 2009

Page 4: COE 202: Digital Logic Design Combinational Circuits Part 2

AdderDesign an Adder for 1-bit numbers?1. Specification:

2 inputs (X,Y)2 outputs (C,S)

Ahmad Almulhem, KFUPM 2009

Page 5: COE 202: Digital Logic Design Combinational Circuits Part 2

AdderDesign an Adder for 1-bit numbers?1. Specification:

2 inputs (X,Y)2 outputs (C,S)

2. Formulation:

Ahmad Almulhem, KFUPM 2009

X Y C S0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Page 6: COE 202: Digital Logic Design Combinational Circuits Part 2

AdderDesign an Adder for 1-bit numbers?1. Specification: 3. Optimization/Circuit

2 inputs (X,Y)2 outputs (C,S)

2. Formulation:

Ahmad Almulhem, KFUPM 2009

X Y C S0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Page 7: COE 202: Digital Logic Design Combinational Circuits Part 2

Half AdderThis adder is called a Half AdderQ: Why?

Ahmad Almulhem, KFUPM 2009

X Y C S0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Page 8: COE 202: Digital Logic Design Combinational Circuits Part 2

Full AdderA combinational circuit that adds 3 input bits to

generate a Sum bit and a Carry bit

Ahmad Almulhem, KFUPM 2009

Page 9: COE 202: Digital Logic Design Combinational Circuits Part 2

Full AdderA combinational circuit that adds 3 input bits to

generate a Sum bit and a Carry bit

Ahmad Almulhem, KFUPM 2009

X Y Z C S0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Page 10: COE 202: Digital Logic Design Combinational Circuits Part 2

Full AdderA combinational circuit that adds 3 input bits to

generate a Sum bit and a Carry bit

Ahmad Almulhem, KFUPM 2009

X Y Z C S0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

XYZ

0

1

00 01 11 100 1 0 1

1 0 1 0

XYZ

0

1

00 01 11 100 0 1 0

0 1 1 1

Sum

Carry

S = X’Y’Z + X’YZ’ + XY’Z’ +XYZ

= X Y Z

C = XY + YZ + XZ

Page 11: COE 202: Digital Logic Design Combinational Circuits Part 2

Full Adder = 2 Half AddersManipulating the Equations:

S = X Y Z C = XY + XZ + YZ

Ahmad Almulhem, KFUPM 2009

Page 12: COE 202: Digital Logic Design Combinational Circuits Part 2

Full Adder = 2 Half AddersManipulating 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 )

Ahmad Almulhem, KFUPM 2009

Page 13: COE 202: Digital Logic Design Combinational Circuits Part 2

Full Adder = 2 Half AddersManipulating the Equations:

S = ( X Y ) Z C = XY + XZ + YZ = XY + Z(X Y )

Ahmad Almulhem, KFUPM 2009

Src: Mano’s Book

Think of Z as a carry in

Page 14: COE 202: Digital Logic Design Combinational Circuits Part 2

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?

Ahmad Almulhem, KFUPM 2009

Page 15: COE 202: Digital Logic Design Combinational Circuits Part 2

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

Ahmad Almulhem, KFUPM 2009

Page 16: COE 202: Digital Logic Design Combinational Circuits Part 2

Binary Parallel AdderTo 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

0 1 0 1 0 1 1 0 1 0 1 1

Ahmad Almulhem, KFUPM 2009

Page 17: COE 202: Digital Logic Design Combinational Circuits Part 2

Binary Parallel AdderTo add n-bit numbers:• Use n Full-Adders in parallel• The carries propagates as in addition by hand

Ahmad Almulhem, KFUPM 2009

This adder is called ripple carry adder

Src: Mano’s Book

Page 18: COE 202: Digital Logic Design Combinational Circuits Part 2

Ripple Adder Delay• Assume gate delay = T• 8 T to compute the last

carry• Total delay = 8 + 1 = 9T• 1 delay form first half

adder• Delay = (2n+1)T

Ahmad Almulhem, KFUPM 2009

Src: Course CD

Page 19: COE 202: Digital Logic Design Combinational Circuits Part 2

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

complement?

Ahmad Almulhem, KFUPM 2009

Page 20: COE 202: Digital Logic Design Combinational Circuits Part 2

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

complement?

Ahmad Almulhem, KFUPM 2009

1

S = A + ( -B)Src: Mano’s Book

Page 21: COE 202: Digital Logic Design Combinational Circuits Part 2

Adder/SubtractorHow to build a circuit that performs both

addition and subtraction?

Ahmad Almulhem, KFUPM 2009

Page 22: COE 202: Digital Logic Design Combinational Circuits Part 2

Adder/Subtractor

Ahmad Almulhem, KFUPM 2009

Src: Mano’s Book

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

0 : Add1: subtract

Page 23: COE 202: Digital Logic Design Combinational Circuits Part 2

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

Ahmad Almulhem, KFUPM 2009

This adder is called ripple carry adder

Src: Mano’s Book

Page 24: COE 202: Digital Logic Design Combinational Circuits Part 2

Ripple Adder Delay• Assume gate delay = T• 8 T to compute the last

carry• Total delay = 8 + 1 = 9T• 1 delay form first half

adder• Delay = (2n+1)T

Ahmad Almulhem, KFUPM 2009

Src: Course CD

How to improve?

Page 25: COE 202: Digital Logic Design Combinational Circuits Part 2

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

Cn Cn-1…….Ci……….C2C1C0 An-1…….Ai……….A2A1A0 Bn-1…….Bi……….B2B1B0

Sn Sn-1…….Si……….S2S1S0Carry Out

Carry bits

Page 26: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead AdderAi

Bi Si

Ci+1Ci

Pi

Gi

The internal signals are given by:

Pi = Ai Bi

Gi = Ai.Bi

Carry Generate Gi : Ci+1 = 1 when Gi = 1, regardless of the input carry Ci

Carry Propagate Pi : Propagates Ci to Ci+1

Note: Pi and Gi depend only on Ai and Bi !

Page 27: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead Adder

The internal signals are given by:

Pi = Ai Bi

Gi = Ai.Bi

The output signals are given by:

Si = Pi Ci

Ci+1 = Gi + PiCi

Ai

Bi

Ci+1Ci

Pi

Gi

Si

Page 28: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead Adder

The carry outputs for various stages can be written as:C1 = Go + PoCoC2 = G1 + P1C1 = G1 + P1(Go + PoCo) = G1 + P1Go + P1PoCoC3 = G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0C4 = G3 + P3C3 = G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0

Ai

Bi

Ci+1Ci

Pi

Gi

Si

Page 29: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead AdderConclusion: Each carry bit can be expressed in terms

of the input carry Co, and not based on its preceding carry bit

Each carry bit can be expressed as a SOP, and can be implemented using a two-level circuit, i.e. a gate delay of 2T

Page 30: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead AdderA0

B0

A1

B1

A2

B2

A3

B3

P0

G0

P1

P2

G2

G3

G1

C0

C1

C2

C3P3

C4 C4

S0

S1

S2

S3

Carry Look Ahead Block

Page 31: COE 202: Digital Logic Design Combinational Circuits Part 2

Carry Look Ahead AdderSteps of operation:- All P and G signals are initially generated. Since both

XOR and AND can be executed in parallel. Total delay = 1T

- The Carry Look Ahead block will generate the four carry signals C4, C3, C2, C1. Total delay = 2T

- The four XOR gates will generate the Sums. Total delay = 1T

Total delay before the output can be seen = 4TCompared with the Ripple Adder delay of 9T, this is an

improvement of more than 100%CLA adders are implemented as 4-bit modules, that can

together be used for implementing larger circuits

Page 32: COE 202: Digital Logic Design Combinational Circuits Part 2

BCD AdderBCD digits are valid for decimal numbers 0-9Addition 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 stepWhen 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.

Page 33: COE 202: Digital Logic Design Combinational Circuits Part 2

Adding two BCD numbers – Truth Table

The truth table defines the outputs when two BCD numbers are added

The function F is 1 for all invalid BCD digits, and therefore acts as a BCD verifier

To minimize the expression, a 5 variable can be used, or:

-A 4 variable k map can be used to minimize the function F, and

-The result is ORed with CO, since the function is always 1 whenever CO is 1

* From course CD

Page 34: COE 202: Digital Logic Design Combinational Circuits Part 2

Adding two BCD numbers – Minimization

Z3Z200

01

11

10

00 01 11 100 0 0 0

0 0 0 01 1 1 1

0 0 1 1

Z1Z0F

F = Z3Z2 + Z3Z1 + CO

Page 35: COE 202: Digital Logic Design Combinational Circuits Part 2

Adding two BCD numbers – Circuit

B3 B2B1B0 A3A2A1A0

Carry In

Z3 Z2 Z1 Z0

0

S3 S2 S1 S0

Cout 4-bit Binary Adder

4-bit Binary Adder

Correction Step

Page 36: COE 202: Digital Logic Design Combinational Circuits Part 2

Adding two BCD numbers - StepsThe two 4-bit BCD inputs are added by the 4-bit binary

adder to produce the sum Z3Z2Z1Z0 and a Carry Out (Cout)

When Cout =0, the correction step executes by adding 0000 to Z3Z2Z1Z0, and the output remains the same

When Cout =1, the correction step adds 0110 to Z3Z2Z1Z0 to generate the corrected output

The output carry is the same as CoutIf additional decimal digits need to be added, the BCD adder

can be cascaded, with the output carry of one phase connected to the input of the other

Page 37: COE 202: Digital Logic Design Combinational Circuits Part 2

Binary MultiplicationSimilar to decimal multiplicationMultiplying 2 bits will generate a 1 if both bits are equal to 1, and

will be 0 otherwise. Resembles an AND operationMultiplying two 2-bit numbers is done as follows:

B1 B0

x A1 A0

----------------

A0B1 A0B0

A1B1 A1B0 +

----------------------------------

C3 C2 C1 C0

This operation is an addition, requires an

ADDER

Page 38: COE 202: Digital Logic Design Combinational Circuits Part 2

Binary MultiplicationTherefore, for multiplying two 2-bit numbers, AND

gates and ADDERS will be sufficient

Half Adders