- 190 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Logic Circuits' - laurel

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Gates implement mathematical logic operations

applied to binary variables – A, B, X, Y, Z

Logic CircuitsDigital Systems are made out of integrated circuits,

transistors and interconnections

Certain well defined – small circuits are called

Logic Gates

Mathematical logic – ideal, that is: gates do not

suffer from the physical propagation delays that

are inherent in transistors.

An example:

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Vdd

(5V)

Pull up

o

Vin

Vout

If X = 0 (1) then

X (NOT X) is 1 (0)

Pull down

Vss (0V)

Example: invertercircuit

Inverter gate

Operation: NOT (or complement)

Response is

instantaneous

Not instantaneous

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

X Y Z

Gates may have more

than 2 inputs!

0 0 0

0 1 0

1 0 0

1 1 1

X

Y

Z

W = XYZ

Other gatesTruth table

AND

Operation:

Z is 1 if and only if x is 1 and y is 1

Note the ordering of the

X-Y bits!

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Z = X + Y

Y

OR gate

Or : Z = X Y

X Y Z

X

0

0

1

1

0 0 0

0 1 1

1 0 1

1 1 1

0

1

0

1

Y

X•Y

0

0

0

1

X+Y

0

1

1

1

X

1

1

0

0

Other gates (cont’d)Truth table

OR

Operation:

Z is 0 if and only if x is 0 and y is 0

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

buffer

Other gates (cont’d)An inverter is often a

buffer whose output is

the complement of its

input.

Operation: identity

A physical buffer is not an

identity. It is a signal restoring

devise.

The circle is, in fact, the

symbol for complementing

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

This circuit has a special name

and a special symbol (gate)

X

Y

Z = X Y

XOR GATE

Operation : exclusive OR

Z is 1 if either X is 1 or Y is 1

Combinational Circuits

X

Y

X Y Z

0 0 0

0 1 1

1 0 1

1 1 0

Z

The physical XOR gate need

not be realized this way

(see page 80!)

Z = XY + XY

Other gates ?Yes and no.

The gates we have introduced so far form a complete set

to build logic circuits without memory, so-called Combinational

Logic Circuits.

Here is an example:

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Watch the little circles (complementing)

What you see is but a symbol:

A physical NAND is not an AND + Inverter

In fact, NANDs and NORs are simpler than

ANDs and ORs!

It is the set {NOT, NAND, NOR, exclusive NOR}

NAND

=

F

(XY)

AND

We will see alternative

expressions for the

outputs of the

alternative gates,

And also

conversions between

the two sets.

OR

NOR

=

+

F

(X

Y

)

XOR

Inverter

=

F

X

=

+

=

Å

F

X

Y

X

Y

X

Y

XNOR

Buffer

=

+

=

Å

F

XY

X

Y

(X

Y

)

Other gates ?Yes, but they form an alternative set to {NOT, AND, OR, XOR}

It is the set {NOT, NAND, NOR, exclisive NOR}

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

rules!

Z

Conversely, given a Boolean

function, how do I derive the

implementation? There must be

rules!

= X.Y + X.Y = X Y !

Z= ((X.Y).X).((X.Y).Y)

Boolean Functions and Combinational CircuitsThis is a four-NAND-gate Combinational Circuit

Combinational circuits do not have any memory.

They implement Boolean functions:

A binary variable (the function), an equal sign,

and an algebraic expression formed by using

binary variables, the constants 0 and 1, the

logic operation symbols, and parenthesis.

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

X + Y = X.Y

Known as DeMorgan’s theorem

F = X + Y

G = X. Y

X Y F

0 0 1

0 1 0

1 0 0

1 1 0

X Y G

0 0 1

0 1 0

1 0 0

1 1 0

Truth tables and Boolean AlgebraA Boolean function can be represented by a truth table

As we did for the basic gates (which do implement

Elementary functions!)

A Boolean function can also be manipulated based on

Fundamental identities of Boolean Algebra.

Examples:

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

The two columns are duals of each other:

Dual: replace 0 (1) by 1 (0) and OR (AND)

by AND (OR).

Identity

X+0=X

X•1=X

Consensus theorem (and dual)

XY + XZ + YZ = XY + XZ

(X+Y)(X+Z)(Y+Z) = (X+Y)(X+Z)

Absorption

X+1=1

X•0=0

Idempotency

X+X=X

X•X=X

X+X'=1

X•X'=0

Complements

Also true

in ordinary

algebra

(X')'=X

Involution

Not true in

ordinary

algebra

X+Y= Y+X X

Commutative

• X

•Y = Y

X+(Y+Z) = (X+Y)+Z X

Associative

•Z) = (X

•Y)

• (Y

•Z

Distributive

X(Y+Z)=XY+XZ

X+YZ=(X+Y)•(X+Z)

De Morgan

(X+Y)'=X'•Y'

(X•Y)'=X'+Y'

Basic Identities of Boolean AlgebraFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

XY.X = U

UV = U + V = XY.X + XY.Y = (X+Y)X + (X+Y).Y

(DeMorgan)

(DeMorgan)

= YX + XY

(XX = YY =0)

= X.Y + X.Y = X Y !

Z= ((X.Y).X).((X.Y).Y)

Back to my claim

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Y

Y

F

F

NOR

X

X

Y

F

X

F

X

Y

Once more DeMorgan.

(X+Y)'=X'•Y'

(X•Y)'=X'+Y'

Recall:

Hence:

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

A term in a Boolean expression is a literal or a group of literals joined by the same operator.Terminology

- A literal is any variable in an expression, complemented or not . A variable that appears twice counts for two literals.

X'YZ + X'YZ' + XZ

8 literals

3 terms

(A+B)(A+C'+D)

5 literals

2 terms

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

X'YZ + X'YZ' + XZ

two levels: first level AND's, second level OR's

(A+B)(A+C'+D)

two levels: first level OR's, second level AND's.

A + B(C+D)

three levels: first level OR, second level AND, third level OR

(A+B)C + B(C+D)

Three levels: first level OR, second level AND, third level OR

Levels of an expressionFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

This function consists of 2 terms XY and XZ, 3 variables

X, Y, and Z, and 4 literals, X, X, Y, and Z. It is a 2-level

function.

F = XY + XZ = XY. XZ =(X + Y).(X+Z)

F = (X+Y).(X+Z)

Complements of functionsTwo ways to derive its complement:

1. Use Boolean identities:

2. Take dual of F and complement each literal:

(generalization of DeMorgan)

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

These are SOPs

G = BD + BC + ACD

Standard FormsF = G! How do I know

We try to express functions in standard form:

Either Sum of Products (SOP), and even better

Sum of Minterms

Or Products of Sums (POS), and even better

Products of Maxterms

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

For 3 variables X, Y, and Z there are minterms:

m0 = XYZ m1 = XYZ m2 = XYZ m3 = XYZ

m4 = XYZ m5 = XYZ m6 = XYZ m7 = XYZ

product terms of

exactly 3 literals

m5

m5

X

Y

Z

m0

m1

m2

m3

m4

m6

m7

X

Y

Z

m0

m1

m2

m3

m4

m6

m7

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

If X=1, Y=0, and Z =1 then the function m5 = XYZ is one

and only this one.

1

1

1

0

1

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

0

1

1

0

0

0

0

0

0

1

0

0

0

1

1

1

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

1

Minterms for Three Variablestruth table

0

1

2

3

4

5

6

7

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

For 3 variables X, Y, and Z, there are Maxterms:

sum terms of

exactly 3 literals

Mi = mi

M0 = X+Y+Z M1 = X+Y+Z M2 = X+Y+Z M3 = X+Y+Z

M4 = X+Y+Z M5 = X+Y+Z M6 = X+Y+Z M7 = X+Y+Z

X

Y

Z

M0

M1

M2

M3

M4

M5

M6

M7

0

0

0

0

1

1

1

1

1

1

1

0

0

1

1

0

1

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

0

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

0

1

1

If X =1 and Y=0, and Z = 0 then M4 is 0

and only this one

1

1

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

0

Maxterms for Three Variablestruth table

0

1

2

3

4

5

6

7

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

From Truth Table to Sum of Minterms

F(X,Y,Z)

m0 = X'Y'Z'

m2 = X'YZ'

F = X'Y'Z'+X'YZ'+XY'Z+XYZ

F = X'Y'Z'+X'YZ'+XY'Z+XYZ

F = X'Y'Z'+X'YZ'+XY'Z+XYZ

F = X'Y'Z'+X'YZ'+XY'Z+XYZ

m5 = XY'Z

m7 = XYZ

More compact notation:

F = m0 + m2 + m5 + m7 = ∑m(0,2,5,7)

More compact notation:

F = m0 + m2 + m5 + m7 = ∑m(0,2,5,7)

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

From Truth Table toProduct of Maxterms

M1 = X+Y+Z'

M3 = X+Y'+Z'

M4 = X'+Y+Z

Individual terms only

zero for those

combinations

for which F = 0

M6 = X'+Y'+Z

F = (X+Y+Z')

F = (X+Y+Z')(X+Y'+Z')

F = (X+Y+Z')(X+Y'+Z')(X'+Y+Z)

F = (X+Y+Z')(X+Y'+Z')(X'+Y+Z)(X'+Y'+Z)

More compact:

F = M1•M3•M4•M6

More compact:

F = M1•M3•M4•M6 = ∏M(1, 3, 4, 6)

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

From E = X' + Y'Z' to Standard

E = ∑m(0, 1, 2, 3, 4)

= ∏M(5, 6, 7)

E' = ∏M(0, 1, 2, 3, 4)

= ∑m(5, 6, 7)

Look closer: relation mj - Mj and more …

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

F = X + Y

How can I use

K-map to find out?

Y

0 1

Y

0 1

X

X

m0 m1

m2 m3

XY XY

XY XY

1

1

0

1

0

1

1

What next?Expressions may still be not minimal! If not, circuit is too

large.

Simplifying expressions is not easy. Some computer programs

can go a long way.

One way to it is by means of a Karnaugh Map (K-map). It

it is a graphical method that does not work for functions

with more than 4 (perhaps 5 or 6) variables.

An example:

Suppose F(X,Y) is 1 for

(X,Y)=(0,1), (1,0), (1,1)

Thus F = m1+m2+m3

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Y

Y

0

1

0

1

0

1

X

X

X

0

F(0,0)

F(0,1)

0

0

1

1

F(1,0)

F(1,1)

1

1

1

1

1

Map of F(X,Y)

F(X,Y) = X•Y

F(X, Y) = X+Y

Y

Y

Y

0

1

0

1

0

1

X

X

X

0

X'Y'

X'Y

0

1

1

0

1

1

1

XY'

XY

1

1

1

F(X, Y) = X' + Y

Maps of minterms

F(X,Y) = X'

F(X, Y) = X' +Y

F(X, Y) = X' + Y

Two variable mapFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Minterms in three variable map

Three variable map1

1

Map of function m5+m7 = XY'Z+XYZ = XZ(Y+Y') = XZ•1 = XZ

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Simplifying a Function

F(X, Y, Z) = ∑m(2,3,4,5)

1

1

1

1

m2+m3=X'YZ'+X'YZ = X'Y(Z+Z') = X'Y

m4+m5=XY'Z'+XY'Z=XY'(Z+Z') = XY'

F = X'Y+XY'

F = X'Y+XY'

2 adjacent 1’s=sum of 2 three-literal minterms=2-literal term

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

X'

Z'

Z

Simplifying rulesX'Z'

Group of two

adjacent 1’s gives

product of two

literals

XZ'

XZ

Group of four

Adjacent 1’s gives

Single literal

Group of 8

Adjacent 1’s gives

1

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

A rectangle of 2 squares represents a product term of three literals

2x1 or 1x2 cells

A rectangle of 4 squares represents a product of two literals

2x2, 1x4, or 4x1 cells

A rectangle of 8 squares represents one literal

2x4 or 4x2 cells

Simplifying rulesFour variable map. Variables

are W, X, Y, Z

Four variable map with

formulas for minterms

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

F(W,X,Y,Z) = ∑m(0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)Simplifying 4-variable function

W'Z'

1

1

1

1

1

1

1

1

1

1

1

XZ'

Y'

F = Y'+W'Z'+XZ'

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

More simplifying rules

To be introduced: implicants, prime implicants,

essential prime implicants

- THEN:
- Given: Map.
- Goal: Best SOP expression for this function
- 1. Findall prime implicants, identifyessential and nonessentialprime implicants.
- 2. Includeall essentialprime implicants in function
- 3. Includeenough nonessentialprime implicants to cover function. Minimize overlap among prime implicants.

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Definition: F1 implies F2 if F2 = 1 whenever F1 = 1.

Example: F1 = XY, F2 = X+Y

F1 = 1 only when both X and Y are equal to 1.

When both X and Y are equal to 1, F2 = 1 + 1 = 1

Therefore, F1 implies F2

Does F2 imply F1?

Consider X = 1, Y = 0.

F1 = 1 + 0 = 1

F2 = 1•0 = 0

Therefore, F2 does not imply F1

ImplicationFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Almintermsof a function F imply F, orare implicants of that function.

F(X,Y,Z) = ∑m(0,2,4,5,6)

1

1

1

1

1

1

2 prime implicants. They

are both needed. And they

are special:

2

Essential Prime ImplicantsWhen simplifying using maps, we first select all possible maximum-size

rectangles filled with 1’s. They are called prime implicants. Not all prime

implicants may be needed.

They include a 1 not included in any other PI.

Such PIs are called essential prime implicants.

Essential PIs are needed anyway.

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Good expression: F = A'D + BD'

(essential)

Essential Prime Implicants (cont’d)

Prime Implicants: A'D and A'B and BD'

Why?

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Given: Map.

Goal: Best SOP expression for this function

1. Findall prime implicants,identifyessential and nonessential prime implicants.

2. Includeall essential prime implicants in function

3. Includeenough nonessential prime implicants to cover function. Minimize overlap among prime implicants.

Selection rules (again)Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

All prime implicants: A'B'C'D', ABC', ABD, AB'C, BC'D, ACD

Essential prime implicants: A'B'C'D', ABC', AB'C, BC'D

Nonessential prime implicants: ABD, ACD

ExampleF = A'B'C'D'+ABC'+AB'C+BC'D+(either ABD or ACD)

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

F(A,B,C,D) = ∑m(0,1,2,4,5,10,11,13,15)

C

00

01

11

10

1

1

1

00

1

1

01

B

1. A'C'

Non overlapping PIs

1

1

11

A

2. BC'D

1

1

10

3. ABD

D

4. ACD

P1 is the only essential

For the cover, we choose1, 3, 5, 7

F = A'C' + ABD + AB'C + A'B'D'

5. AB'C

6. B'CD'

7. A'B'D'

Other ExampleB’ÇD’ would also do

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Sometimes the product of sums expression for a function is

simpler than the sum of products

How do we generate a product of sums?

Cover zeros with rectangles!

Product of Sum simplificationFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

F(A,B,C,D) = ∑m(0,1,2,5,8,9,10)

1

1

0

1

0

1

0

0

0

0

0

0

1

0

1

1

POS SimplificationF = (A'+B')(C'+D')(B'+D)

How did I get it? F' is 1, if either AB or CD or BD' is zero

Then invert (take dual and complement

literals).

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Sometimes the value of a Boolean function is not specified

for some combination of variables

A certain combination of variables never occurs

The value of the function for this combination of variables may be

unimportant

This is called a don't carecondition

Example: decimal digits are commonly represented by 4-bit binary numbers in the range of 0 to 9 (0000 to 1001). The binary patterns 1010 to 1111 don't occur in this application.

For a don't care combination of input variables the value of aBoolean function is represented by an ‘x’.

Don't-Care ConditionsFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Since the value of a don’t-care function is not specified, we may choose an expression that takes on value 0 or 1

We can use expressions that are not equal for the don’t care combinations. As long as the expression satisfies the specified values, they are acceptable

What do we do?

We choose values for the don’t-care combinations that

produce simple expressions!

Expressions for Functions with Don’t-CaresFall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Minterm specification: F(A,B,C,D) = ∑m(1, 3, 7, 11, 15)

Don’t care combinations: d(A,B,C,D) = ∑m(0,2,5)

All other values are 0

x

x

1

1

x

x

1

1

0

0

x

x

1

1

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

1

Example with Don’t-Care ConditionsF1 = A’B’ +CD

F2 = A’D + CD

Notice: F1 is not equal to F2

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

1

x

1

0

x

1

0

0

0

0

1

0

0

0

1

POS ImplementationSame F and same d

F3 = D(A’+C)

Fall 2004 Digital Design Fundamentals Ed F. Deprettere Leiden University

Download Presentation

Connecting to Server..