Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic...

47
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals

Transcript of Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic...

Page 1: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Charles Kime & Thomas Kaminski

© 2008 Pearson Education, Inc.

Boolean Algebra

and Logic Gates

Logic and Computer Design Fundamentals

Page 2: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 2

Binary Logic and Gates

Binary variables take on one of two values. Logical operators operate on binary values and

binary variables. Basic logical operators are the logic functions

AND, OR and NOT. Logic gates implement logic functions. Boolean Algebra: a useful mathematical system

for specifying and transforming logic functions. We study Boolean algebra as a foundation for

designing and analyzing digital systems!

Page 3: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 3

Binary Variables Recall that the two binary values have

different names:• True/False• On/Off• Yes/No• 1/0

We use 1 and 0 to denote the two values. Variable identifier examples:

• A, B, y, z, or X1 for now• RESET, START_IT, or ADD1 later

Page 4: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 4

Logical Operations The three basic logical operations are:

• AND • OR• NOT

AND is denoted by a dot (·). OR is denoted by a plus (+). NOT is denoted by an overbar ( ¯ ), a

single quote mark (') after, or (~) before the variable.

Page 5: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 5

Examples:• is read “Y is equal to A AND B.”• is read “z is equal to x OR y.”• is read “X is equal to NOT A.”

Notation Examples

Note: The statement: 1 + 1 = 2 (read “one plus one equals two”)

is not the same as1 + 1 = 1 (read “1 or 1 equals 1”).

BAY yxz

AX

Page 6: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 6

Operator Definitions

Operations are defined on the values "0" and "1" for each operator:

AND 

0 · 0 = 00 · 1 = 01 · 0 = 01 · 1 = 1

OR

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1

NOT

1001

Page 7: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 7

01

10

X

NOT

XZ

Truth Tables

Tabular listing of the values of a function for all possible combinations of values on its arguments

Example: Truth tables for the basic logic operations:

111

001

010

000

Z = X·YYX

AND OR

X Y Z = X+Y

0 0 0

0 1 1

1 0 1

1 1 1

Page 8: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 8

Truth Tables – Cont’d

Used to evaluate any logic function Consider F(X, Y, Z) = X Y + Y Z

X Y Z X Y Y Y Z F = X Y + Y Z0 0 0 0 1 0 00 0 1 0 1 1 10 1 0 0 0 0 00 1 1 0 0 0 01 0 0 0 1 0 01 0 1 0 1 1 11 1 0 1 0 0 11 1 1 1 0 0 1

Page 9: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 9

Using Switches• Inputs:

logic 1 is switch closed logic 0 is switch open

• Outputs: logic 1 is light on logic 0 is light off.

• NOT input: logic 1 is switch open logic 0 is switch closed

Logic Function Implementation

Switches in series => AND

Switches in parallel => OR

CNormally-closed switch => NOT

Page 10: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 10

Example: Logic Using Switches

Light is on (L = 1) for L(A, B, C, D) =

and off (L = 0), otherwise.

Useful model for relay and CMOS gate circuits, the foundation of current digital logic circuits

Logic Function Implementation – cont’d

B

A

D

C

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

Page 11: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 11

Logic Gates

In the earliest computers, switches were opened

and closed by magnetic fields produced by

energizing coils in relays. The switches in turn

opened and closed the current paths.

Later, vacuum tubes that open and close current

paths electronically replaced relays.

Today, transistors are used as electronic

switches that open and close current paths.

Page 12: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 12

Logic Gate Symbols and Behavior

Logic gates have special symbols:

And waveform behavior in time as follows:

X 0 0 1 1

Y 0 1 0 1

X · Y(AND) 0 0 0 1

X + Y(OR) 0 1 1 1

(NOT) X 1 1 0 0

OR gate

X

YZ = X + Y

X

YZ = X · Y

AND gate

X Z= X

NOT gate orinverter

Page 13: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 13

Logic Diagrams and Expressions

Boolean equations, truth tables and logic diagrams describe the same function!

Truth tables are unique, but expressions and logic diagrams are not. This gives flexibility in implementing functions.

X

Y F

Z

Logic Diagram

Logic Equation

ZY X F

Truth Table

11 1 1

11 1 0

11 0 1

11 0 0

00 1 1

00 1 0

10 0 1

00 0 0

X Y Z Z Y X F

Page 14: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 14

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

Invented by George Boole in 1854 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

Page 15: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 15

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.

The dual of an algebraic expression is obtained by interchanging + by· and interchanging 0’s by1’s.

The identities appear in dual pairs. When there is only one identity on a line the identity is self-dual, i. e., the dual expression = the original expression.

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

Page 16: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 16

Example: F = (A + C) · B + 0

dual F = (A · C + B) · 1 = A · C + B Example: G = X · Y + (W + Z)

dual G = Example: H = A · B + A · C + B · C

dual H = Unless it happens to be self-dual, the dual of an

expression does not equal the expression itself Are any of these functions self-dual?

(A+B)(A+C)(B+C)=(A+BC)(B+C)=AB+AC+BC

Dual of a Boolean Expression

(X+Y) · (W · Z) = (X+Y) · (W+Z)

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

H is self-dual

Page 17: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 17

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)

Page 18: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 18

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.

Page 19: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 19

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

Page 20: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 20

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

Page 21: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 21

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

Page 22: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 22

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

Page 23: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 23

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

Page 24: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 24

Next … Canonical Forms

Minterms and Maxterms

Sum-of-Minterm (SOM) Canonical Form

Product-of-Maxterm (POM) Canonical Form

Representation of Complements of Functions

Conversions between Representations

Page 25: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 25

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

Page 26: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 26

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

Page 27: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 27

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

Page 28: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 28

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

Page 29: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 29

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”.

Page 30: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 30

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

Page 31: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 31

Sum-Of-Minterm (SOM) Sum-Of-Minterm (SOM) canonical form:

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

Page 32: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 32

+ a b c d

Sum-Of-Minterm 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

Page 33: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 33

Product-Of-Maxterm (POM) Product-Of-Maxterm (POM) canonical form:

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)

Page 34: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 34

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-Maxterm 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)

Page 35: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 35

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-Minterms (SOM) and Product-of-Maxterms (POM).

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

Page 36: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 36

Converting to Sum-of-Minterms 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

Page 37: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 37

Converting to Product-of-Maxterms Form

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

Consider again: F = y + x z

x y z F Maxterm0 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)

Page 38: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 38

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

Page 39: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 39

Algebraic Conversion to Sum-of-Minterms

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)

Page 40: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 40

Algebraic Conversion to Product-of-Maxterms

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)

Page 41: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 41

Function Complements

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

Alternatively, the complement of a function expressed by a Sum of Minterms form is simply the Product of Maxterms 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)

Page 42: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 42

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-minterms is a product-of-maxterms with the same indices

Page 43: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 43

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

Page 44: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 44

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.

Page 45: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 45

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

Page 46: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 46

AND/OR Two-Level Implementation

The two implementations for F are shown below

F

B

C

A

It is quite apparent which

is simpler!

Page 47: Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Boolean Algebra and Logic Gates Logic and Computer Design Fundamentals.

Boolean Algebra and Logic Gates 47

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