boolean algebra and logic gates 1 computer engineering (logic circuits) lec. # 4 dr. tamer samy...

42
Boolean Algebra and Logic Gates 1 Computer Engineering (Logic Circuits) Lec. # 4 Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering Faculty of Engineering

Upload: jared-lee

Post on 17-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Boolean Algebra and Logic Gates 1

Computer Engineering

(Logic Circuits)Lec. # 4

Dr. Tamer Samy Gaafar

Dept. of Computer & Systems Engineering

Faculty of Engineering

Zagazig University

Boolean Algebra and Logic Gates 2

http://www.tsgaafar.faculty.zu.edu.eg

• Email: [email protected]

Course Web Page

Announcements

Only 2 Students > 10 in Quizz. 1- Abdallah Salah Eldeen (13) 2- Mohamed Nagi Mahmoud (12) Only 5 <2 Students < 10 in Quizz. 1- Mohamed Samir Abd-Ellatif (9) 2-Heba Allah Abdo Ali (8) Every Lec. There will be a Quizz

Boolean Algebra and Logic Gates 3

Lec. # 4

Binary Logic & Gates

(Contd.)

Boolean Algebra and Logic Gates 4

Boolean Algebra and Logic Gates 5

1.

3.

5.

7.

9.

11.

13.

15.

17.

Commutative

Associative

Distributive

DeMorgan’s

2.

4.

6.

8.

X . 1 X=

X . 0 0=

X . X X=

0=X . X

Boolean Algebra

10.

12.

14.

16.

X + Y Y + X=

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

X + Y X . Y=

XY YX=

(XY) Z X(YZ)=

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

X . Y X + Y=

X + 0 X=

+X 1 1=

X + X X=

1=X + X

X = X

An algebraic structure defined by a set B = {0, 1}, together with two binary operators (+ and ·) and a unary operator ( )

Idempotence

Complement

Involution

Identity element

Boolean Algebra and Logic Gates 6

Some Properties of Boolean Algebra

Boolean Algebra is defined in general by a set B that can have more than two values

A two-valued Boolean algebra is also know as Switching Algebra. The Boolean set B is restricted to 0 and 1. Switching circuits can be represented by this algebra.

Sometimes, the dot symbol ‘’ (AND operator) is not written when the meaning is clear.

Boolean Algebra and Logic Gates 7

Boolean Operator Precedence

The order of evaluation is:

1. Parentheses2. NOT3. AND4. OR

Consequence: Parentheses appear around OR expressions

Example: F = A(B + C)(C + D)

Boolean Algebra and Logic Gates 8

Boolean Algebraic Proof – Example 1

A + A · B = A (Absorption Theorem)Proof Steps Justification A + A · B= A · 1 + A · B Identity element: A · 1 = A

= A · ( 1 + B) Distributive

= A · 1 1 + B = 1

= A Identity element

Our primary reason for doing proofs is to learn:• Careful and efficient use of the identities and theorems of

Boolean algebra, and• How to choose the appropriate identity or theorem to apply

to make forward progress, irrespective of the application.

Boolean Algebra and Logic Gates 9

AB + AC + BC = AB + AC (Consensus Theorem)Proof Steps Justification= AB + AC + BC= AB + AC + 1 · BC Identity element= AB + AC + (A + A) · BC Complement= AB + AC + ABC + ABC Distributive= AB + ABC + AC + ACB Commutative= AB · 1 + ABC + AC · 1 + ACB Identity element= AB (1+C) + AC (1 + B) Distributive= AB . 1 + AC . 1 1+X = 1= AB + AC Identity element

Boolean Algebraic Proof – Example 2

Boolean Algebra and Logic Gates 10

Useful Theorems

MinimizationX Y + X Y = Y

AbsorptionX + X Y = X

SimplificationX + X Y = X + Y

DeMorgan’s X + Y = X · Y

Minimization (dual)(X+Y)(X+Y) = Y

Absorption (dual)X · (X + Y) = X

Simplification (dual)X · (X + Y) = X · Y

DeMorgan’s (dual) X · Y = X + Y

Boolean Algebra and Logic Gates 11

Truth Table to Verify DeMorgan’s

X Y X·Y X+Y X Y X+Y X · Y X·Y X+Y

0 0 0 0 1 1 1 1 1 10 1 0 1 1 0 0 0 1 11 0 0 1 0 1 0 0 1 11 1 1 1 0 0 0 0 0 0

X + Y = X · Y X · Y = X + Y

Generalized DeMorgan’s Theorem:

X1 + X2 + … + Xn = X1 · X2 · … · Xn

X1 · X2 · … · Xn = X1 + X2 + … + Xn

Boolean Algebra and Logic Gates 12

Complementing Functions

Use DeMorgan's Theorem:

1. Interchange AND and OR operators

2. Complement each constant and literal   

Example: Complement F =

F = (x + y + z)(x + y + z) Example: Complement G = (a + bc)d + e

G = (a (b + c) + d) e

x zyzyx

Boolean Algebra and Logic Gates 13

Expression Simplification An application of Boolean algebra Simplify to contain the smallest number

of literals (variables that may or may not be complemented)

= AB + ABCD + A C D + A C D + A B D

= AB + AB(CD) + A C (D + D) + A B D

= AB + A C + A B D = B(A + AD) +AC

= B (A + D) + A C (has only 5 literals)

DCBADCADBADCABA

Boolean Algebra and Logic Gates 14

Next … Canonical Forms

Minterms and Maxterms

Sum-of-Minterm (SOM) = Sum-of-Products (SOP)

Canonical Sum

Product-of-Maxterm(POM)= Product of Sum

(POS)

Canonical Form

Representation of Complements of Functions

Conversions between Representations

Boolean Algebra and Logic Gates 15

Boolean Algebra and Logic Gates 16

Minterms

Minterms are AND terms with every variable present in either true or complemented form.

Given that each binary variable may appear normal (e.g., x) or complemented (e.g., ), there are 2n minterms for n variables.

Example: Two variables (X and Y) produce2 x 2 = 4 combinations: (both normal) (X normal, Y complemented) (X complemented, Y normal) (both complemented)

Thus there are four minterms of two variables.

YXXY

YXYX

x

Boolean Algebra and Logic Gates 17

Maxterms

Maxterms are OR terms with every variable in true or complemented form.

Given that each binary variable may appear normal (e.g., x) or complemented (e.g., x), there are 2n maxterms for n variables.

Example: Two variables (X and Y) produce2 x 2 = 4 combinations: (both normal) (x normal, y complemented) (x complemented, y normal) (both complemented)

YX YX YX YX

Boolean Algebra and Logic Gates 18

Two variable minterms and maxterms.

The minterm mi should evaluate to 1 for each combination of x and y.

The maxterm is the complement of the minterm

Minterms & Maxterms for 2 variables

x y Index Minterm Maxterm

0 0 0 m0 = x y M0 = x + y

0 1 1 m1 = x y M1 = x + y

1 0 2 m2 = x y M2 = x + y

1 1 3 m3 = x y M3 = x + y

Boolean Algebra and Logic Gates 19

Minterms & Maxterms for 3 variables

M3 = x + y + zm3 = x y z3110M4 = x + y + zm4 = x y z4001M5 = x + y + zm5 = x y z5101M6 = x + y + zm6 = x y z6011

1

100y

1

000x

1

010z

M7 = x + y + zm7 = x y z7

M2 = x + y + zm2 = x y z2

M1 = x + y + zm1 = x y z1

M0 = x + y + zm0 = x y z0MaxtermMintermIndex

Maxterm Mi is the complement of minterm mi

Mi = mi and mi = Mi

Boolean Algebra and Logic Gates 20

Purpose of the Index

Minterms and Maxterms are designated with an index

The index number corresponds to a binary pattern

The index for the minterm or maxterm, expressed as a binary number, is used to determine whether the variable is shown in the true or complemented form

For Minterms:• ‘1’ means the variable is “Not Complemented” and

• ‘0’ means the variable is “Complemented”.

For Maxterms:• ‘0’ means the variable is “Not Complemented” and

• ‘1’ means the variable is “Complemented”.

Boolean Algebra and Logic Gates 21

Standard Order All variables should be present in a minterm or

maxterm and should be listed in the same order (usually alphabetically)

Example: For variables a, b, c:

• Maxterms (a + b + c), (a + b + c) are in standard order

• However, (b + a + c) is NOT in standard order

(a + c) does NOT contain all variables

• Minterms (a b c) and (a b c) are in standard order

• However, (b a c) is not in standard order

(a c) does not contain all variables

Boolean Algebra and Logic Gates 22

Sum-Of-Product (SOP) Sum-Of-Product (SOP) = Canonical Sum:

Sum of minterms of entries that evaluate to ‘1’

x y z F Minterm0 0 0 0

0 0 1 1 m1 = x y z

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 1 m6 = x y z

1 1 1 1 m7 = x y z

F = m1 + m6 + m7 = ∑ (1, 6, 7) = x y z + x y z + x y z

Focus on the ‘1’ entries

Sum-Of-Product (SOP)

F = m1 + m6 + m7 = x y z + x y z + x y z

Boolean Algebra and Logic Gates 23

Canonical Sum

Sum-Of-Product (SOP)

F =∑ (1, 6, 7)

Boolean Algebra and Logic Gates 24

On-Set

Boolean Algebra and Logic Gates 25

+ a b c d

Sum-Of-Products Examples

F(a, b, c, d) = ∑(2, 3, 6, 10, 11)

F(a, b, c, d) = m2 + m3 + m6 + m10 + m11

G(a, b, c, d) = ∑(0, 1, 12, 15)

G(a, b, c, d) = m0 + m1 + m12 + m15

+ a b c da b c d + a b c d+ a b c d + a b c d

+ a b c da b c d + a b c d

Boolean Algebra and Logic Gates 26

Product-Of-Sum (POS) Product-Of-Sum (POS) = Canonical Product:

Product of maxterms of entries that evaluate to ‘0’

x y z F Maxterm0 0 0 1

0 0 1 1

0 1 0 0 M2 = (x + y + z)

0 1 1 1

1 0 0 0 M4 = (x + y + z)

1 0 1 1

1 1 0 0 M6 = (x + y + z)

1 1 1 1

Focus on the ‘0’ entries

F = M2·M4·M6 = ∏ (2, 4, 6) = (x+y+z) (x+y+z) (x+y+z)

Boolean Algebra and Logic Gates 27

Product-Of-Sum (POS) Canonical Product:

x y z F Maxterm0 0 0 1

0 0 1 1

0 1 0 0 M2 = (x + y + z)

0 1 1 1

1 0 0 0 M4 = (x + y + z)

1 0 1 1

1 1 0 0 M6 = (x + y + z)

1 1 1 1

F = M2·M4·M6 = (x+y’+z) (x’+y+z) (x’+y’+z)

Boolean Algebra and Logic Gates 28

Product-Of-Sum (POS)

Off-Setx y z F Maxterm0 0 0 1

0 0 1 1

0 1 0 0 M2 = (x + y + z)

0 1 1 1

1 0 0 0 M4 = (x + y + z)

1 0 1 1

1 1 0 0 M6 = (x + y + z)

1 1 1 1

F = M2·M4·M6 = ∏ (2, 4, 6)

Boolean Algebra and Logic Gates 29

F(a, b, c, d) = ∏(1, 3, 6, 11)

F(a, b, c, d) = M1 · M3 · M6 · M11

G(a, b, c, d) = ∏(0, 4, 12, 15)

G(a, b, c, d) = M0 · M4 · M12 · M15

Product-Of-Sum Examples

(a+b+c+d) (a+b+c+d) (a+b+c+d) (a+b+c+d)

(a+b+c+d) (a+b+c+d) (a+b+c+d) (a+b+c+d)

Boolean Algebra and Logic Gates 30

Observations

We can implement any function by "ORing" the minterms corresponding to the ‘1’ entries in the function table. A minterm evaluates to ‘1’ for its corresponding entry.

We can implement any function by "ANDing" the maxterms corresponding to ‘0’ entries in the function table. A maxterm evaluates to ‘0’ for its corresponding entry.

The same Boolean function can be expressed in two canonical ways: Sum-of-Products (SOP) and Product-of-Sum (POS).

If a Boolean function has fewer ‘1’ entries then the SOP canonical form will contain fewer literals than POS. However, if it has fewer ‘0’ entries then the POS form will have fewer literals than SOP.

Boolean Algebra and Logic Gates 31

Converting to Sum-of-Products Form

A function that is not in the Sum-of-Minterms form can be converted to that form by means of a truth table

Consider F = y + x z

x y z F Minterm0 0 0 1 m0 = x y z

0 0 1 1 m1 = x y z

0 1 0 1 m2 = x y z

0 1 1 0

1 0 0 1 m4 = x y z

1 0 1 1 m5 = x y z

1 1 0 0

1 1 1 0

F = ∑(0, 1, 2, 4, 5) =

m0 + m1 + m2 + m4 + m5 =

x y z + x y z + x y z +

x y z + x y z

Boolean Algebra and Logic Gates 32

Converting to Product-of-Sum Form

A function that is not in the Product-of-Minterms form can be converted to that form by means of a truth table

Consider again: F = y + x z

x y z F Minterm0 0 0 1

0 0 1 1

0 1 0 1

0 1 1 0 M3 = (x+y+z)

1 0 0 1

1 0 1 1

1 1 0 0 M6 = (x+y+z)

1 1 1 0 M7 = (x+y+z)

F = ∏(3, 6, 7) =

M3 · M6 · M7 =

(x+y+z) (x+y+z) (x+y+z)

Boolean Algebra and Logic Gates 33

Conversions Between Canonical Forms

F = m1+m2+m3+m5+m7 = ∑(1, 2, 3, 5, 7) =

x y z + x y z + x y z + x y z + x y z

F = M0 · M4 · M6 = ∏(0, 4, 6) = (x+y+z)(x+y+z)(x+y+z)

x y z F Minterm Maxterm0 0 0 0 M0 = (x + y + z)

0 0 1 1 m1 = x y z

0 1 0 1 m2 = x y z

0 1 1 1 m3 = x y z

1 0 0 0 M4 = (x + y + z)

1 0 1 1 m5 = x y z

1 1 0 0 M6 = (x + y + z)

1 1 1 1 m7 = x y z

Boolean Algebra and Logic Gates 34

Algebraic Conversion to Sum-of-Products

Expand all terms first to explicitly list all minterms AND any term missing a variable v with (v + v) Example 1: f = x + x y (2 variables)

f = x (y + y) + x yf = x y + x y + x yf = m3 + m2 + m0 = ∑(0, 2, 3)

Example 2: g = a + b c (3 variables)g = a (b + b)(c + c) + (a + a) b cg = a b c + a b c + a b c + a b c + a b c + a b cg = a b c + a b c + a b c + a b c + a b cg = m1 + m4 + m5 + m6 + m7 = ∑ (1, 4, 5, 6, 7)

Boolean Algebra and Logic Gates 35

Algebraic Conversion to Product-of-Sum

Expand all terms first to explicitly list all maxterms OR any term missing a variable v with v · v Example 1: f = x + x y (2 variables)

Apply 2nd distributive law:

f = (x + x) (x + y) = 1 · (x + y) = (x + y) = M1

Example 2: g = a c + b c + a b (3 variables)

g = (a c + b c + a) (a c + b c + b) (distributive)

g = (c + b c + a) (a c + c + b) (x + x y = x + y)

g = (c + b + a) (a + c + b) (x + x y = x + y)

g = (a + b + c) (a + b + c) = M5 . M2 = ∏ (2, 5)

Boolean Algebra and Logic Gates 36

Function Complements

The complement of a function expressed as a sum of products is constructed by selecting the minterms missing in the sum-of-products canonical form

Alternatively, the complement of a function expressed by a Sum of Products form is simply the Product of Sum with the same indices

Example: Given F(x, y, z) = ∑ (1, 3, 5, 7)

F(x, y, z) = ∑ (0, 2, 4, 6)

F(x, y, z) = ∏ (1, 3, 5, 7)

Boolean Algebra and Logic Gates 37

Summary of Minterms and Maxterms

There are 2n minterms and maxterms for Boolean functions with n variables.

Minterms and maxterms are indexed from 0 to 2n – 1

Any Boolean function can be expressed as a logical sum of minterms and as a logical product of maxterms

The complement of a function contains those minterms not included in the original function

The complement of a sum-of-products is a product-of-sum with the same indices

Boolean Algebra and Logic Gates 38

Standard Sum-of-Products (SOP) form: equations are written as an OR of AND terms

Standard Product-of-Sums (POS) form: equations are written as an AND of OR terms

Examples:• SOP:

• POS:

These “mixed” forms are neither SOP nor POS•

Standard Forms

B C B A C B A C · )C B(A · B) (A

C) (A C) B (A B) (A C A C B A

Boolean Algebra and Logic Gates 39

Standard Sum-of-Products (SOP)

A sum of minterms form for n variables can be written down directly from a truth table.

• Implementation of this form is a two-level network of gates such that:

• The first level consists of n-input AND gates

• The second level is a single OR gate

This form often can be simplified so that the corresponding circuit is simpler.

Boolean Algebra and Logic Gates 40

A Simplification Example: Writing the minterm expression:

F = A B C + A B C + A B C + ABC + ABC Simplifying:

F = A B C + A (B C + B C + B C + B C)F = A B C + A (B (C + C) + B (C + C))F = A B C + A (B + B)F = A B C + AF = B C + A

Simplified F contains 3 literals compared to 15

Standard Sum-of-Products (SOP)

)7,6,5,4,1()C,B,A(F

Boolean Algebra and Logic Gates 41

AND/OR Two-Level Implementation

The two implementations for F are shown below

F

B

C

A

It is quite apparent which

is simpler!

Boolean Algebra and Logic Gates 42

SOP and POS Observations The previous examples show that:

• Canonical Forms (Sum-of-minterms, Product-of-Maxterms), or other standard forms (SOP, POS) differ in complexity

• Boolean algebra can be used to manipulate equations into simpler forms

• Simpler equations lead to simpler implementations

Questions:

• How can we attain a “simplest” expression?

• Is there only one minimum cost circuit?

• The next part will deal with these issues