Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean...

103
omputer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions

Transcript of Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean...

Page 1: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Computer Architecture I: Digital Design

Dr. Robert D. Kent

Lecture 3

Simplification of Boolean Expressions

Page 2: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Simplificationof

Boolean Expressions

A. Cost Models

B. Reduction Techniques -

i. Karnaugh Map Method

Page 3: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

The Simplification Problem: Requirements

• Simplification of complex circuits, starting from their equivalent representation as complex Boolean expressions, requires an understanding of cost.

• We will see that the typical goal is to arrive at Boolean expressions that:– are expressible in SOP (or POS) form

– involve minimal numbers of literals

– involve a minimal number of gate application levels

• To help us understand how to accomplish circuit minimization, we will study one powerful reduction technique:– Karnaugh maps

Page 4: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• We focus on two types of cost model.

• Minimum time of completion of circuit logic– both SOP and POS circuit representations are two-level designs with

all the gates at each level performing in parallel with the same time characteristics.

• Minimum cost of circuit construction– very often it is possible, starting with the SOP or POS forms, to

rewrite a near-optimal cost form involving pure nand or nor gates only.

• This leads to four cost theorems.

Page 5: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• Before stating the theorems we need some definitions of terms:

– Literal a variable or its complement (unique symbol)

– Implies F implies G, means that there does not exist a set of N input literals such that both F=1 and G=0;

By contrast, if F=1 then G must be equal to 1.

– Subsumes A term T1 subsumes a term T2 if and only if (!)all the literals in T2 are also found in T1.If one term subsumes another in an expression, then the subsuming term can always be deleted with changing the function. In other words, if

T1 subsumes T2 then T1 may be ignored because the T2 terms account for logic.

Page 6: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• … and some more definitions of terms:

– Implicant a product term is said to be an implicant of a

complete function if the product term implies

the function.

– Implicate a sum term is said to be an implicate of a complete function if the sum term implies the function.

Page 7: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• … and some more definitions of terms:

– Prime Implicantan implicant is a prime implicant if it does not subsume any other implicant with fewer

literals.This means that if any literal is removed from the term, it no longer implies the function.

– Prime Implicate an implicate is a prime implicate if it does not subsume any other implicate with fewer

literals.This means that if any literal is removed from the term, it no longer implies the function.

Note the symmetry between the definitions of

implicant (product) and implicate (sum).

Page 8: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• Cost Theorem 1a.When the cost, assigned by some criterion, for a minimal Boolean formula is such that decreasing the number of literals in the disjunctive normal formula does not increase the cost of the formula, there is at least one minimal disjunctive normal formula that corresponds to a sum of prime implicants.

• Cost Theorem 2a. For any cost criterion such that the cost of a formula does not increase when a literal is removed, at least one minimal disjunctive normal formula describing a function is an irredundant disjunctive normal formula (SOP).

Page 9: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Concepts of Cost

• Cost Theorem 1b.When the cost, assigned by some criterion, for a minimal Boolean formula is such that decreasing the number of literals in the conjunctive normal formula does not increase the cost of the formula, there is at least one minimal conjunctive normal formula that corresponds to a product of prime implicates.

• Cost Theorem 2b. For any cost criterion such that the cost of a formula does not increase when a literal is removed, at least one minimal conjunctive normal formula describing a function is an irredundant conjunctive normal formula (POS).

• These theorems establish that implicates are dual to implicants.

Page 10: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Expression Simplification

• The algebraic techniques we have developed are too slow and uncertain to apply in cases where the numbers of variables are large.

• To meet the needs of modern circuit analysis and design several methods have been developed that

– are somewhat scalable, and

– permit limited degrees of automation (ie. Programmability).

Page 11: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

Page 12: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• The use of mapping, or tableau-based, techniques were developed by Veitch and modified by Karnaugh.

• We will determine these techniques by studying examples in order to establish the rules for map manipulation.

Page 13: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 1 variable map

x f(x)0 f(0)1 f(1)

Truth Table

Page 14: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 1 variable map

x f(x)0 f(0)1 f(1)

Truth Table

Literal

Binary Values

Function Values

Page 15: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 1 variable map

x f(x)0 f(0)1 f(1)

f(0) f(1)

x0 1

Truth Table

Literal

Binary Values

Function Values

Literal

Binary Values

Function Values

Page 16: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 1 variable map

x f(x)0 f(0)1 f(1)

f(0) f(1)

x0 1

Truth Table

1x2 Karnaugh Map

Page 17: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 2 variable map

x y f(x,y) 0 0 f(0,0)0 1 f(0,1)1 0 f(1,0)1 1 f(1,1)

Truth Table

Page 18: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 2 variable map

x y f(x,y) 0 0 f(0,0)0 1 f(0,1)1 0 f(1,0)1 1 f(1,1)

f(0,0)

y0 1

0

x

1 f(1,0)

f(0,1)

f(1,1)

Truth Table

2x2 Karnaugh Map

Page 19: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

x y z f(x,y,z)0 0 0 f(000)0 0 1 f(001)0 1 0 f(010)0 1 1 f(011)1 0 0 f(100)1 0 1 f(101)1 1 0 f(110)1 1 1 f(111)

f(000) f(001) f(011) f(010)

yz00 01 11 10

0

x

1 f(100) f(101) f(111) f(110)

2x4 Karnaugh Map

Page 20: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

x y z f(x)0 0 0 f(000)0 0 1 f(001)0 1 0 f(010)0 1 1 f(011)1 0 0 f(100)1 0 1 f(101)1 1 0 f(110)1 1 1 f(111)

f(000) f(001) f(011) f(010)

yz00 01 11 10

0

x

1 f(100) f(101) f(111) f(110)

2x4 Karnaugh Map

Note the way that the column indices change by only 1 bit at a time from left

to right.

Page 21: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

x y z f(x,y,z)0 0 0 f(000)0 0 1 f(001)0 1 0 f(010)0 1 1 f(011)1 0 0 f(100)1 0 1 f(101)1 1 0 f(110)1 1 1 f(111)

f(000) f(001) f(011) f(010)

y00 01 11 10

0

x

1 f(100) f(101) f(111) f(110)

2x4 Karnaugh Map

An alternative labelling scheme

is based on which literal has

value 1.

z

Page 22: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

x y z f(x,y,z)0 0 0 f(000)0 0 1 f(001)0 1 0 f(010)0 1 1 f(011)1 0 0 f(100)1 0 1 f(101)1 1 0 f(110)1 1 1 f(111)

0 1 3 2

y00 01 11 10

0

x

1 4 5 7 6

2x4 Karnaugh Map

One final alternative

labelling scheme replaces the

function value by the decimal minterm index

value.

z

Page 23: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

Page 24: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

f(0000) f(0001) f(0011) f(0010)

yz00 01 11 10

00

01

wx

11

10 f(1000) f(1001) f(1011) f(1010)

f(0100) f(0101) f(0111) f(0110)

f(1100) f(1101) f(1111) f(1110)

Page 25: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

0 1 3 2

yz00 01 11 10

00

01

wx

11

10

4 5 7 6

12 13 15 14

8 9 11 10

Note the way that both the

row and column indices change by only 1 bit at

a time.

Page 26: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

0 1 3 2

yz00 01 11 10

00

01

wx

11

10

4 5 7 6

12 13 15 14

8 9 11 10

Note the way that both the

row and column indices change by only 1 bit at

a time.

This implies that two rows, or columns, whose indices differ by

only 1 bit value, are adjacent.

Page 27: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

0 1 3 2

yz00 01 11 10

00

01

wx

11

10

4 5 7 6

12 13 15 14

8 9 11 10

Note the way that both the

row and column indices change by only 1 bit at

a time.

This implies that two rows, or columns, whose indices differ by

only 1 bit value, are adjacent.

WRAP-AROUND!

Page 28: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 4 variable map

w x y z f(w,x,y,z)0 0 0 0 f(0000)0 0 0 1 f(0001)0 0 1 0 f(0010)0 0 1 1 f(0011)0 1 0 0 f(0100)0 1 0 1 f(0101)0 1 1 0 f(0110)0 1 1 1 f(0111)1 0 0 0 f(1000)1 0 0 1 f(1001)1 0 1 0 f(1010)1 0 1 1 f(1011)1 1 0 0 f(1100)1 1 0 1 f(1101)1 1 1 0 f(1110)1 1 1 1 f(1111)

0 1 3 2

y00 01 11 10

00

01

x

11

10

4 5 7 6

12 13 15 14

8 9 11 10

An alternative row/column labelling, highlighting the literal

with value 1.

w

z

Page 29: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• Case Study: 1 variable map

• Ex.

Place function values (from the

defining function truth table) in the

map positions.

0 1

x0 1

X F(X)

0 0

1 1

Page 30: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map

0 1

x0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangular shape formed from 1-boxes, without holes).

Page 31: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map

0 1

x0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle).

DEFINITION:

When constructing SOP forms, a 2N -subcube is a rectangular region of a Karnaugh map consisting of 2N adjacent cells, each containing the same value 1 (or 0 for POS forms), and where N must be an integer greater or equal to zero.

Page 32: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map

0 1

x0 1

The entry 1 in the second column corresponds to the prime implicant x.

Page 33: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map

0 1

x0 1

The entry 1 in the second column corresponds to the prime implicant x.

Recall that x is a prime implicant iff:

- x implies f(x) and,

- x does not subsume any other implicant: Since, removing x from itself leaves nothing, then x is clearly prime.

Page 34: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map

0 1

x0 1

Thus, the minimal expression of the function is:

F(x) = x

Page 35: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - Complementation

1 0

x0 1

The entry 1 in the first column corresponds to the prime implicant x’.

X F(X)

0 1

1 0

Page 36: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - Complementation

1 0

x0 1

The entry 1 in the first column corresponds to the prime implicant x’.

Thus, the minimal expression of the function is:

F(x) = x’

X F(X)

0 1

1 0

Page 37: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - 2nd variation

1 1

x0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle).

X F(X)

0 1

1 1

Page 38: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - 2nd variation

1 1

x0 1

We note that both x and x’ terms are included in the rectangle. Their individual “product” contributions to the SOP expression must be summed (or’ed):

x + x’

But, this reduces to 1.

X F(X)

0 1

1 1

Page 39: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - 2nd variation

1 1

x0 1

Thus, the minimal expression of the function is:

F(x) = 1

X F(X)

0 1

1 0

Page 40: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 1 variable map - 2nd variation

1 1

x0 1

Thus, the minimal expression of the function is:

f = 1

In other words, when both 0 and 1 terms appear for a literal referenced within the cells of a subcube, that literal is removed from the implicant corresponding to that subcube, leaving a prime implicant.

X F(X)

0 1

1 0

Page 41: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

2x4 Karnaugh Map

Place function values (from the

defining function truth table) in the

map positions.

X Y Z F(X,Y,Z)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

Page 42: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

•Circle all 1 entries that, taken together, form a subcube (i.e. rectangle).

•Start with the largest subcubes, then proceed to smaller subcubes

•Generally speaking, there will be more than one independent subcube, each reflecting a different prime implicant.

X Y Z F(X,Y,Z)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

Page 43: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

y’ z’

x

•For each subcube, write its algebraic expression using the variable name (eg. x) if the box occurs in the row/column for which the variable is 1 – otherwise, if the box occurs in the row/column for which the variable (eg. y,z) is 0, use the complemented variable (ie. y’, z’).

Page 44: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

y’ z’

x

Collecting literals into a

product gives:

xy’z’

1-subcubes are expressed using all variable symbols

Page 45: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

y+y’=1

x’

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle). Generally speaking, there will be more than one independent subcube, each reflecting a different prime implicant.

z

Page 46: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

x’

Collecting literals into a

product gives:

x’z

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle). Generally speaking, there will be more than one independent subcube, each reflecting a different prime implicant.

y+y’=1z

Page 47: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

y z

x+x’ = 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle). Generally speaking, there will be more than one independent subcube, each reflecting a different prime implicant.

Page 48: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

y z

x+x’ = 1

Collecting literals into a

product gives:

yz

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle). Generally speaking, there will be more than one independent subcube, each reflecting a different prime implicant.

Page 49: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

Each subcube (rectangle) corresponds to a prime implicant term.

Gathering all terms in SOP form,

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

Page 50: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

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

Page 51: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

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

Each subcube contains at least one 1-cell that can ONLY be included within that subcube. Such 1-cells are called

essential 1-cells and their corresponding prime implicant is called an essential prime implicant.

Page 52: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

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

xy’z’ ( xy’z’ )

Essential 1-cell (essential prime implicant).

Each subcube contains at least one 1-cell that can ONLY be included within that subcube. Such 1-cells are called

essential 1-cells and their corresponding prime implicant is called an essential prime implicant.

Page 53: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

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

x’y’z ( x’z )

Essential 1-cell (essential prime implicant).

Each subcube contains at least one 1-cell that can ONLY be included within that subcube. Such 1-cells are called

essential 1-cells and their corresponding prime implicant is called an essential prime implicant.

Page 54: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map

0 1 1 0

yz00 01 11 10

0

x

1 1 0 1 0

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

xyz ( yz )

Essential 1-cell (essential prime implicant).

Each subcube contains at least one 1-cell that can ONLY be included within that subcube. Such 1-cells are called

essential 1-cells and their corresponding prime implicant is called an essential prime implicant.

Page 55: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

Page 56: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle) of the largest size, but containing 2N squares (for all possible N).

Page 57: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle) of the largest size, but containing 2N squares (for all possible N).

Page 58: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle) of the largest size, but containing 2N squares (for all possible N).

The “wrap-around” technique.

Page 59: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

x’[yz + y’z + yz’ + y’z’]

= x’[(y+y’)z + (y+y’)z’]

= x’[z+z’]

= x’

x’y’z’+x’yz’+xy’z’+xyz’

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

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

= z’

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle) of the largest size, but containing 2N squares (for all possible N).

Page 60: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• 3 variable map - 2nd variation

1 1 1 1

yz00 01 11 10

0

x

1 1 0 0 1

Collecting literals into a

product gives:

x’ + z’

Circle all 1 entries that, taken together, form a subcube (i.e. rectangle) of the largest size, but containing 2N squares (for all possible N).

Page 61: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Place function values in the

map positions.

Page 62: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Page 63: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

There are no subcubes of sizes:

24 =16 or 23 = 8.

Page 64: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Subcubes of size:

22 =4.

Page 65: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Subcubes of size:

22 =4.

Page 66: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Subcubes of size:

21 =2.

Page 67: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Subcubes of size:

21 =2.

Page 68: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

No more subcubes!

Page 69: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

y’z’ + xy’ + x’z’ + wxz + wx’y

Page 70: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

xy’ + x’z’ + wxz + wx’y

Page 71: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

xy’ + x’z’ + wxz + wx’y

Page 72: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

xy’ + x’z’ + wxz + wx’y

Page 73: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

xy’ + x’z’ + wxz + wx’y

Page 74: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Now to identify the prime implicants:

f(w,x,y,z) = xy’ + x’z’ + wxz + wx’y

Page 75: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Using the procedure of identifying the largest possible subcubes in the Karnaugh map first, then dealing with smaller sized subcubes, we arrive at minimal representations of SOP (POS) expressions for the function.

• These expressions may not be unique, however.

Page 76: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

f(w,x,y,z) = xy’ + x’z’ + wxz + wx’y

Previously, we had presented this example.

Page 77: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Consider these subcubes ...

f(w,x,y,z) = xy’ + x’z’ + wxz + wx’y

Page 78: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Now, choose the other, alternative

subcube containing these 1-

cells …

…thereby, minimizing the

number of subcubes, hence the number of

product terms in the function.

f(w,x,y,z) = xy’ + x’z’ + wyz + wx’y

Page 79: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Both solutions are equivalent, but the second one is minimal.

f(w,x,y,z) = xy’ + x’z’ + wxz + wx’y

f(w,x,y,z) = xy’ + x’z’ + wyz

Page 80: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps – Summary for SOP

• For a function of N variables (literals) draw the Karnaugh map consisting of 2N cells– 1x2, 2x2, 2x4, 4x4, and so on

– we have not considered the cases of N=5, or 6 (See Textbook).

• Identify all rectangular subcubes of decreasing subcube size: 2L cells [L=N,N-1,...,1,0], using wraparound if possible.

– Always seek to minimize the degree of subcube overlap

– look for essential 1-cells to identify essential prime implicants and minimize the number of subcubes

• For each subcube, assign a prime implicant algebraic expression term by removing from the full implicant term all literals for which both 0 and 1 row or column labels appear, that is, keep only those literals that do not change.

Page 81: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• The Karnaugh mapping technique can also be applied to prime implicate (POS) forms.

Page 82: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• The Karnaugh mapping technique can also be applied to prime implicate (POS) forms.

• Instead of grouping 1-cells, we group 0-cells.

Page 83: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• The Karnaugh mapping technique can also be applied to prime implicate (POS) forms.

• Instead of grouping 1-cells, we group 0-cells.

• For each subcube of 0-cells we assign a sum expression, removing all literals whose row/column indices are both 0 and 1, and listing the literal itself for index label 0, or its complement for index label 1.– Review this point with respect to algebraic representations

– Note the duality relationships

Page 84: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Page 85: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

No subcubes of sizes 16, 8

or 4.

Page 86: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Subcubes of size 2.

Page 87: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Note the essential 0-cells that denote

essential prime

implicates.

Page 88: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

This subcube contains 0-cells

that may be associated with other subcube choices, hence they are not

essential 0-cells.

This choice minimizes the

number of subcubes.

Page 89: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Note there are no smaller subcubes.

The subcube choices reflect a minimal POS

expression.

Page 90: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps - POS

• Case Study: 4 variable map

1 0 0 1

yz00 01 11 10

00

01

wx

11

10

1 1 0 0

1 1 1 0

1 0 1 1

Identify 2N subcubes by decreasing

N=4,3,2,1,0; using

wraparound.

Note there are no smaller subcubes.

The subcube choices reflect a minimal POS

expression.

f(w,x,y,z) = (x+y+z’)(x’+y’+z)(w+y’+z’)

Page 91: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

• SOP: f(w,x,y,z) = xy’ + x’z’ + wxz

– the 7 literals provide input to the and gates (operators)

– the 3 terms provide input to the or gates

– there are 7+3=10 gate inputs for this expression (circuit)

Page 92: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

• SOP: f(w,x,y,z) = xy’ + x’z’ + wxz

– the 7 literals provide input to the and gates (operators)

– the 3 terms provide input to the or gates

– there are 7+3=10 gate inputs for this expression (circuit)

• POS: f(w,x,y,z) = (x+y+z’)(x’+y’+z)(w+y’+z’)

– the 9 literals provide input to the or gates

– the 3 terms provide input to the and gates

– there are 9+3=12 gate inputs for this circuit

Page 93: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Case Study: 4 variable map

• SOP: f(w,x,y,z) = xy’ + x’z’ + wxz

– the 7 literals provide input to the and gates (operators)

– the 3 terms provide input to the or gates

– there are 7+3=10 gate inputs for this expression (circuit)

• POS: f(w,x,y,z) = (x+y+z’)(x’+y’+z)(w+y’+z’)

– the 9 literals provide input to the or gates

– the 3 terms provide input to the and gates

– there are 9+3=12 gate inputs for this circuit

• CONCLUSION: In this case, the SOP form is a minimal cost circuit expression.

Page 94: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps

• Sometimes the logic for a circuit function is specified incompletely– Some possible inputs may not have a corresponding “fixed” output

value

• What do we do when the client does not care about these special cases

Dealing with apathetic circuit specification

The case of Don’t Care Conditions

Page 95: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we

indicate those terms by a hyphen (or other dc token).

Page 96: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we

indicate those terms by a hyphen (or other dc token).

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 1

Page 97: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 1?

?

?

Page 98: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 11

1

Page 99: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

• Ignore all unused dc conditions.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 11

1

Page 100: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 1

0

PRIME IMPLICATES

Page 101: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 1

0

PRIME IMPLICATES

Page 102: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Karnaugh Maps• When an incompletely specified function is given, for which there exist “don’t care conditions”, we indicate those terms by a hyphen (or other dc token).

• We may treat those termsas if they are 1’s OR 0’s,whichever is more usefulin leading to a minimalform of expression.

• Ignore all unused dc conditions.

1 0 - 1

yz00 01 11 10

00

01

wx

11

10

0 1 - 0

1 1 1 0

- 0 0 1

0

PRIME IMPLICATES

Page 103: Computer Architecture I: Digital Design Dr. Robert D. Kent Lecture 3 Simplification of Boolean Expressions.

Summary

• We have studied and developed several techniques for simplifying Boolean expressions.

• These are based on the axioms, definitions and theorems of the Boolean Algebra, applied through the Boolean Calculus.

• Powerful tabular techniques have been developed for rapid reduction to some minimal cost forms using– Karnaugh maps

• An even more powerful technique has been developed by Quine and McCluskey (and Petrick). Time prevents covering this topic but it is described in advanced books on computer engineering and logic design.