csce 211: digital logic design

47
CSCE 211: Digital Logic Design Chin-Tser Huang [email protected] University of South Carolina

Upload: neith

Post on 12-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

CSCE 211: Digital Logic Design. Chin-Tser Huang [email protected] University of South Carolina. Chapter 2: Combinational Systems. Objectives. Develop the tools to specify combinational systems - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSCE 211: Digital Logic Design

CSCE 211:Digital Logic Design

Chin-Tser [email protected]

University of South Carolina

Page 2: CSCE 211: Digital Logic Design

Chapter 2: Combinational Systems

Page 3: CSCE 211: Digital Logic Design

01/16/2014 3

Objectives

Develop the tools to specify combinational systems

Develop an algebraic approach for the description, simplification, and implementation of combinational systems

Page 4: CSCE 211: Digital Logic Design

01/16/2014 4

CE1. A system with four inputs, A, B, C, and D, and one output, Z, such that Z=1 if three of the inputs are 1.

CE2. A single light (that can be on or off) that can be controlled by any one of three switches. One switch is the master on/off switch. If it is off, the light is off. When the master switch is on, a change in the position of one of the other switches (from up to down or from down to up) will cause the light to change state.

CE3. A system to do 1 bit of binary addition. It has three inputs (the 2 bits to be added plus the carry from the next lower order bit) and produces two outputs, a sum bit and a carry to the next higher order position.

Continuing Examples

Page 5: CSCE 211: Digital Logic Design

01/16/2014 5

CE4. A system that has as its input the code for a decimal digit, and produces as its output the signals to drive a seven-segment display, such as those on most digital watches and numeric displays (more later).

CE5. A system with nine inputs, representing two 4-bit binary numbers and a carry input, and one 5-bit output, representing the sum. (Each input number can range from 0 to 15; the output can range from 0 to 31.)

Continuing Examples

Page 6: CSCE 211: Digital Logic Design

01/16/2014 6

Step 1: Represent each of the inputs and output in binary.

Step 1.5: If necessary, break the problem into smaller subproblems.

Step 2: Formalize the design specification either in the form of a truth table or of an algebraic expression.

Step 3: Simplify the description.

Step 4: Implement the system with the available components, subject to the design objectives and constraints.

Design Process for Combinational Systems

Page 7: CSCE 211: Digital Logic Design

01/16/2014 7

Gate A gate is a network with one output Gate is the basic component for

implementation For example, an OR gate is shown as

follows

Page 8: CSCE 211: Digital Logic Design

01/16/2014 8

Don’t Care Conditions For some input combinations, it doesn’t

matter what the output is Represented as X Examples of don’t cares

Some input combinations never occur When one system is designed to drive a

second system, some input combination of the first system will make the second system behave the same way

Page 9: CSCE 211: Digital Logic Design

01/16/2014 9

Example with Don’t Cares If for some combination of A, B, C,

System Two behaves the same way no matter J is 0 or 1, then J is a don’t care in this case

Page 10: CSCE 211: Digital Logic Design

01/16/2014 10

Development of Truth Table Should be straightforward once the

inputs are coded into binary! The number of inputs determines

the number of rows

Page 11: CSCE 211: Digital Logic Design

01/16/2014 11

How to Develop Truth Table for CE4?

Page 12: CSCE 211: Digital Logic Design

01/16/2014 12

Switching Algebra

Need an algebra to Obtain the output in terms of the

input according to the specification of a network of gates

Simplify the expression Implement networks of gates

Page 13: CSCE 211: Digital Logic Design

01/16/2014 13

Operators of Switching Algebra

OR (written as +)

a + b (read a OR b) is 1 if and only if a = 1 or b = 1 or both.

AND (written as · or simply two variables catenated)

a · b = ab (read a AND b) is 1 if and only if a = 1 and b = 1.

NOT (written as ´)

a´ (read NOT a) is 1 if and only if a = 0.

Can you construct the truth table for OR, AND, and NOT?

Page 14: CSCE 211: Digital Logic Design

01/16/2014 14

AND, OR, and NOT Gates

Page 15: CSCE 211: Digital Logic Design

01/16/2014 15

Basic Properties of Switching Algebra

Commutative

P1a. a + b = b + a P1b. ab = ba

Associative

P2a. a + (b + c) = (a + b) + c P2b. a(bc) = (ab)c

This can be generalized:a + b + c + d + … is 1 if any of the operands is 1 and is 0 only

if all are 0abcd … is 1 if all of the operands are 1 and is 0 only if any is 0

Page 16: CSCE 211: Digital Logic Design

01/16/2014 16

Page 17: CSCE 211: Digital Logic Design

01/16/2014 17

Order of Precedence

Without parentheses, order of precedence is

NOTANDOR

With parentheses, expressions inside the parentheses are evaluated first

Page 18: CSCE 211: Digital Logic Design

01/16/2014 18

Basic Properties of Switching Algebra

IdentityP3a. a + 0 = a P3b. a · 1 = a

NullP4a. a + 1 = 1 P4b. a · 0 = 0

ComplementP5a. a + a´ = 1 P5b. a · a´ = 0

P3aa. 0 + a = a P3bb. 1 · a = aP4aa. 1 + a = 1 P4bb. 0 · a = 0P5aa. a´ + a = 1 P5bb. a´ · a = 0

Page 19: CSCE 211: Digital Logic Design

01/16/2014 19

Basic Properties of Switching Algebra

Idempotency

P6a. a + a = a P6b. a · a = a

Involution

P7. (a´)´ = a

Distributive

P8a. a (b + c) = ab + ac P8b. a + bc = (a + b)(a + c)

Page 20: CSCE 211: Digital Logic Design

01/16/2014 20

Definitions of Terminology

A literal is the appearance of a variable or its complement.

A product term is one or more literals connected by AND operators.

A standard product term, also called minterm, is a product term that includes each variable of the problem, either uncomplemented or complemented.

A sum of products expression (often abbreviated SOP) is one or more product terms connected by OR operators.

A canonical sum or sum of standard product terms is just a sum of products expression where all of the terms are standard product terms.

Page 21: CSCE 211: Digital Logic Design

01/16/2014 21

Definitions of Terminology

A minimum sum of products expression is one of those SOP expressions for a function that has the fewest number of product terms. If there is more than one expression with the fewest number of terms, then minimum is defined as one or more of those expressions with the fewest number of literals.

For example, which of the following equivalent expressions is the minimum SOP expression?

(1) x´yz´ + x´yz + xy´z´ + xy´z + xyz 5 terms, 15 literals

(2) x´y + xy´ + xyz 3 terms, 7 literals

(3) x´y + xy´ + xz 3 terms, 6 literals

(4) x´y + xy´ + yz 3 terms, 6 literals

Page 22: CSCE 211: Digital Logic Design

01/16/2014 22

Definitions of Terminology

A sum term is one or more literals connected by OR operators.

A standard sum term, also called a maxterm, is a sum term that includes each variable of the problem, either uncomplemented or complemented.

A product of sums expression (POS) is one or more sum terms connected by AND operators.

A canonical product or product of standard sum terms is just a product of sums expression where all of the terms are standard sum terms.

Page 23: CSCE 211: Digital Logic Design

01/16/2014 23

Examples

SOP: x´y + xy´ + xyz

POS: (x + y´)(x´ + y)(x´ + z´)

Both: x´ + y + z or xyz´

Neither: x(w´ + yz) or z´ + wx´y + v(xz + w´)

Page 24: CSCE 211: Digital Logic Design

01/16/2014 24

More Properties of Switching Algebra

Adjacency

P9a. ab + ab´ = a P9b. (a + b)(a + b´) = a

Simplification

P10a. a + a´b = a + b P10b. a(a´ + b) = ab

Page 25: CSCE 211: Digital Logic Design

01/16/2014 25

More Properties of Switching Algebra

DeMorgan

P11a. (a + b)´ = a´b´ P11b. (ab)´ = a´ + b´

Note that (ab)´ ≠ a´b´ !

DeMorgan can be extended to more than two operands:

P11aa. (a + b + c …)´ = a´b´c´…

P11bb. (abc…)´ = a´ + b´ + c´ + …

Page 26: CSCE 211: Digital Logic Design

01/16/2014 26

From Truth Table to Algebraic Expressions

f is 1 if a = 0 AND b = 1 ORif a = 1 AND b = 0 ORif a = 1 AND b = 1

f is 1 if a´ = 1 AND b = 1 ORif a = 1 AND b´ = 1 ORif a = 1 AND b = 1

f is 1 if a´b = 1 OR if ab´ = 1 OR if ab = 1

f = a´b + ab´ + ab

Page 27: CSCE 211: Digital Logic Design

01/16/2014 27

From Truth Table to Algebraic Expressions

Can use minterm numbers since the product terms are minterms Must include variable names if minterm

numbers are used For example, the previous function can

be written asf(a, b) = m1 + m2 + m3

f(a, b) = ∑m(1, 2, 3) If the function includes don’t cares, use

a separate ∑ to represent don’t care terms

Page 28: CSCE 211: Digital Logic Design

01/16/2014 28

Number of Functions of n Variables

Page 29: CSCE 211: Digital Logic Design

01/16/2014 29

Implementation using AND, OR, and NOT Gates

f = x’yz’ + x’yz + xy’z’ + xy’z + xyz

Page 30: CSCE 211: Digital Logic Design

01/16/2014 30

Implementation using AND, OR, and NOT Gates

Can you draw a diagram of circuit for a minimum SOP of the same function,

f = x’y + xy’ + xz ?

This, and the previous diagram, are two-level circuit

Page 31: CSCE 211: Digital Logic Design

01/16/2014 31

Implementation using AND, OR, and NOT Gates

Can you draw a diagram of circuit for a minimum POS of the same function,

f = (x + y)(x’ + y’ + z) ?

Page 32: CSCE 211: Digital Logic Design

01/16/2014 32

Implementing Functions that are not in SOP or POS form

h = z’ + wx’y + v(xz + w’)

Page 33: CSCE 211: Digital Logic Design

01/16/2014 33

Three More Types of Gates:NAND, NOR, and Exclusive-OR

Why do we use NAND and NOR gates rather than AND, OR, and NOT gates?

1. Using NAND or NOR is more convenient: need less number of gates

2. More importantly, NAND and NOR are functionally complete: they can be used to implement AND, OR, and NOT so we need less types of gates! (How?)

Page 34: CSCE 211: Digital Logic Design

01/16/2014 34

NAND and NOR Gates

Page 35: CSCE 211: Digital Logic Design

01/16/2014 35

Use NAND to Implement AND, OR, and NOT

Page 36: CSCE 211: Digital Logic Design

01/16/2014 36

Implementation using NAND

Page 37: CSCE 211: Digital Logic Design

01/16/2014 37

Exclusive-OR and Exclusive-NOR Gates

Page 38: CSCE 211: Digital Logic Design

01/16/2014 38

Useful Properties of Exclusive-OR

Page 39: CSCE 211: Digital Logic Design

01/16/2014 39

Simplification of Algebraic Expression

Primary tools:P9a. ab + ab´ = a P9b. (a + b)(a + b´) = aP10a. a + a´b = a + b P10b. a(a´ + b) = ab

Other useful properties:P6a. a + a = a P6b. a · a = aP8a. a (b + c) = ab + ac P8b. a + bc = (a + b)(a

+ c)

Another useful property when the function is not in SOP or POS form:

AbsorptionP12a. a + ab = a P12b. a(a + b) = a

Page 40: CSCE 211: Digital Logic Design

01/16/2014 40

Simplification Examples Can you simplify (1) to each of (2), (3),

and (4)?

(1) x´yz´ + x´yz + xy´z´ + xy´z + xyz

(2) x´y + xy´ + xyz

(3) x´y + xy´ + xz

(4) x´y + xy´ + yz

Page 41: CSCE 211: Digital Logic Design

01/16/2014 41

Simplification Examples Can you simplify the following functions?

xyz + x’y + x’y’ = ?

wx + wxy + w’yz + w’y’z + w’xyz’ = ?

Page 42: CSCE 211: Digital Logic Design

01/16/2014 42

Consensus Denoted as ¢ For any two product terms where exactly one

variable appears uncomplemented in one and complemented in the other, the consensus is defined as the product of the remaining literals. If no such variable exists or if more than one such variable exists, then the consensus is undefined. If we write one term as at1 and the second as a’t2 (where t1 and t2 represent product terms), then, if the consensus is defined,

at1 ¢ a’t2 = t1t2

Page 43: CSCE 211: Digital Logic Design

01/16/2014 43

Consensus Property

Consensus

P13a. at1 + a´t2 + t1t2 = at1 + a´t2

P13b. (a + t1)(a´ + t2)(t1 + t2)= (a + t1)(a´ + t2)

Page 44: CSCE 211: Digital Logic Design

01/16/2014 44

Simplification with Consensus

Can you simplify the following functions?

bc’ + abd + acd = ?

c’d’ + ac’ + ad + bd’ + ab = ?

Page 45: CSCE 211: Digital Logic Design

01/16/2014 45

Convert SOP to Sum of Minterms

Two approaches By developing a truth table By using P9a. (adjacency) to add

variables to a term To convert POS to product of

maxterms, use P9b.

Page 46: CSCE 211: Digital Logic Design

Examples

01/16/2014 46

Can you convert the following SOP to sum of minterms?

Can you convert the following POS to product of maxterms?

bc’ + ab’c + a’b = ?

(a + b’ + c)(a’ + c’ ) = ?

Page 47: CSCE 211: Digital Logic Design

01/16/2014 47

Convert between SOP and POS POSSOP: Use the following 3 properties (in

this order)P8b. a + bc = (a + b)(a + c)P14a. ab + a’c = (a + c)(a’ + b)P8a. a (b + c) = ab + ac

SOPPOS: Reverse the order

(w + x’ + y)(w + x + z)(w’ + y’ + z) = ?

wxy’ + xyz + w’x’z’ = ?