This action might not be possible to undo. Are you sure you want to continue?

Introduction Venn Diagrams 2-variable K-maps 3-variable K-maps 4-variable K-maps 5-variable and larger K-maps Simplification using K-maps

Karnaugh Maps

Converting to Minterms Form Simplest SOP Expressions Getting POS Expressions Don’t-care Conditions Review Examples

Introduction

Systematic method to obtain simplified sum-ofproducts (SOPs) Boolean expressions. Objective: Fewest possible terms/literals. Diagrammatic technique based on a special form of Venn diagram. Advantage: Easy with visual aid. Disadvantage: Limited to 5 or 6 variables.

Venn Diagrams

Venn diagram to represent the space of minterms. Example of 2 variables (4 minterms):

a'b'

ab' a

ab

a'b b

Venn Diagrams

Each set of minterms represents a Boolean function.

Examples:

{ ab, ab' } { a'b, ab } { ab } {} ab + ab' = a(b+b') = a a'b + ab = (a'+a)b = b ab 0 a'b' ab' ab a'b

{ ab, ab', a'b } ab + ab' + a'b = a + b { a'b',ab,ab',a'b } 1

a

b

2-variable K-maps

Karnaugh-map (K-map) is an abstract form of Venn

diagram, organised as a matrix of squares, where

each square represents a minterm adjacent squares always differ by just one literal (so

that the unifying theorem may apply: a + a' = 1)

** For 2-variable case (e.g.: variables a,b), the map can
**

be drawn as:

2-variable K-maps

Alternative layouts of a 2-variable (a, b) K-map

Alternative 1:

b a 'b' a ab' a'b ab a

Alternative 2:

b m0 m2 m1 m3 b a 'b' a'b a ab' ab b a

OR

OR

m0 m1 m2 m3

Alternative 3:

a b ab ab' a'b a 'b'

OR

b

a

m3 m2

m1 m0

and others…

2-variable K-maps

Equivalent labeling:

b a b

0

1

equivalent to:

a

0 1

a

b

a

1

0

equivalent to:

b

0 1

2-variable K-maps

The K-map for a function is specified by putting

a ‘1’ in the square corresponding to a minterm a ‘0’ otherwise

** For example: Carry and Sum of a half adder.
**

b 0 a 0 0 1 a 0 1 b 1 0

C = ab

S = ab' + a'b

3-variable K-maps

There are 8 minterms for 3 variables (a, b, c).

Therefore, there are 8 cells in a 3-variable K-map.

b a bc b bc a

00 0

a'b'c ' ab'c'

01

a'b'c ab'c c

11

a'bc abc

10

a'bc' abc'

00 0

m0 m4

01

m1 m5 c

11

m3 m7

10

m2 m6

OR

a

1

a

1

Above arrangement ensures that minterms of adjacent cells differ by only ONE literal. (Other arrangements which satisfy this criterion may also be used.)

Note Gray code sequence

3-variable K-maps

There is wrap-around in the K-map:

a'b'c' (m0) is adjacent to a'bc' (m2) ab'c' (m4) is adjacent to abc' (m6)

a bc

00 0 1

m0 m4

01

m1 m5

11

m3 m7

10

m2 m6

Each cell in a 3-variable K-map has 3 adjacent neighbours. In general, each cell in an n-variable K-map has n adjacent neighbours. For example, m0 has 3 adjacent neighbours: m1, m2 and m4.

**Solve it yourself (Exercise 6.1)
**

1. The K-map of a 3-variable function F is shown below. What is the sum-of-minterms expression of F? b

a bc

00 0

1 0

01

0 1

c

11

0 0

10

1 0

a

1

2. Draw the K-map for this function A: A(x, y, z) = x.y + y.z’ + x’.y’.z

4-variable K-maps

There are 16 cells in a 4-variable (w, x, y, z) K-map.

y yz wx

00 00 01

m0 m4 m1 2 m8

01

m1 m5 m1 3 m9 z

11

m3 m7 m1 5 m1 1

10

m2 m6 x m1 4 m1 0

w

11 10

4-variable K-maps

There are 2 wrap-arounds: a horizontal wrap-around

and a vertical wrap-around.

** Every cell thus has 4 neighbours. For example, the
**

cell corresponding to minterm m0 has neighbours m1, m2, m4 and m8.

wx yz

m0 m4 m1 2 m8 m1 m5 m1 3 m9 m3 m7 m1 5 m1 1

y

m2 m6 m1 4 m1 0

x

w

z

5-variable K-maps

Maps of more than 4 variables are more difficult to

use because the geometry (hyper-cube configurations) for combining adjacent squares becomes more involved.

For 5 variables, e.g. vwxyz, need 25 = 32 squares.

5-variable K-maps

**Organised as two 4-variable K-maps:
**

v'

yz wx y yz

v

y

00 00 01

m0 m4 m1 2 m8

01

m1 m5 m1 3 m9 z

11

m3 m7 m1 5 m1 1

10

m2 m6 x m1 4 m1 0 w

wx

00 00 01 11 10

m1 6 m2 0 m2 8 m2 4

01

m1 7 m2 1 m2 9 m2 5 z

11

m1 9 m2 3 m3 1 m2 7

10

m1 8 m2 2 m3 0 m2 6 x

w

11 10

Corresponding squares of each map are adjacent. Can visualise this as being one 4-variable map on TOP of the other 4-variable map.

Larger K-maps

6-variable K-map is pushing the limit of human

“pattern-recognition” capability. unheard of!

** K-maps larger than 6 variables are practically Normally, a 6-variable K-map is organised as four
**

4-variable K-maps, which are mirrored along two axes.

Larger K-maps

w ef cd

b 10

m1 8 m2 2 m3 0 m2 6 m5 8 m6 2 m5 4 m5 0

00

m0 m4

01

a'b'

11

10

m2 m6 m1 4 m1 0 m4 2 m4 6 m3 8 m3 4

11

a'b

01

00

m1 6 m2 0 m2 8 m2 4 m5 6 m6 0 m5 2 m4 8

ef cd

00

m1 m5 m1 3 m9

m3 m7 m1 5 m1 1 m4 3 m4 7 m3 9 m3 5

01 11 10 10 a 11 01

cd ef 00

m1 2 m8

m1 9 m2 3 m3 1 m2 7 m5 9 m6 3 m5 5 m5 1

m1 7 m2 1 m2 9 m2 5 m5 7 m6 1 m5 3 m4 9

00

01 11 10 10

m4 0 m4 4 m3 6 m3 2

00

m4 1 m4 5 m3 7 m3 3

11 01

ef cd

01

ab'

11

10

10

11

ab

01

00

00

Try stretch your recognition capability by finding simpliest sum-of-products expression for Σ m(6,8,14,18,23,25,27,29,41,45,57,61).

**Simplification Using K-maps
**

Based on the Unifying Theorem: A + A' = 1 In a K-map, each cell containing a ‘1’ corresponds to

a minterm of a given function F.

** Each group of adjacent cells containing ‘1’ (group
**

must have size in powers of twos: 1, 2, 4, 8, …) then corresponds to a simpler product term of F.

Grouping 2 adjacent squares eliminates 1 variable, grouping

4 squares eliminates 2 variables, grouping 8 squares eliminates 3 variables, and so on. In general, grouping 2n squares eliminates n variables.

**Simplification Using K-maps
**

Group as many squares as possible.

The larger the group is, the fewer the number of literals in

the resulting product term.

** Select as few groups as possible to cover all the
**

squares (minterms) of the function.

The fewer the groups, the fewer the number of product

terms in the minimized function.

**Simplification Using K-maps
**

**Example: F (w,x,y,z) = w'xy'z' + w'xy'z + wx'yz' + wx'yz + wxyz' + wxyz = Σ m(4, 5, 10, 11, 14, 15)
**

y yz wx

00 00 01

1

01

11

10

1

x

w

11 10

z

1 1

1 1

(cells with ‘0’ are not shown for clarity)

**Simplification Using K-maps
**

Each group of adjacent minterms (group size in powers of twos) corresponds to a possible product term of the given function.

y yz wx

00 00 01

1

01

11

10

A

1

x

w

11 10

z

1 1

1 1

B

**Simplification Using K-maps
**

There are 2 groups of minterms: A and B, where:

A = w'xy'z' + w'xy'z = w'xy'(z' + z) = w'xy' = = = = = wx'yz' + wx'yz + wxyz' + wxyz yz wx'y(z' + z) + wxy(z' + z) wx wx'y + wxy 00 w(x'+x)y A 01 wy

w y

B

00

01

11

10

1

1

x

11 10

z

1 1

1 1

B

**Simplification Using K-maps
**

Each product term of a group, w'xy' and wy,

represents the sum of minterms in that group.

** Boolean function is therefore the sum of product
**

terms (SOP) which represent all groups of the minterms of the function. F(w,x,y,z) = A + B = w'xy' + wy

**Simplification Using K-maps
**

Larger groups correspond to product terms of fewer

literals. In the case of a 4-variable K-map: 1 cell = 4 literals, e.g.: wxyz, w'xy'z 2 cells = 3 literals, e.g.: wxy, wy'z' 4 cells = 2 literals, e.g.: wx, x'y 8 cells = 1 literal, e.g.: w, y', z 16 cells = no literal, e.g.: 1

**Simplification Using K-maps
**

**Other possible valid groupings of a 4-variable K-map include:
**

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

**Simplification Using K-maps
**

Groups of minterms must be

(1) rectangular, and (2) have size in powers of 2’s. Otherwise they are invalid groups. Some examples of invalid groups:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

**Converting to Minterms Form
**

The K-map of a function is easily drawn when the

function is given in canonical sum-of-products, or sum-of-minterms form.

** What if the function is not in sum-of-minterms?
**

Convert it to sum-of-products (SOP) form. Expand the SOP expression into sum-of-minterms

expression, or fill in the K-map directly based on the SOP expression.

**Converting to Minterms Form
**

Example:

f(A,B,C,D) = A(C+D)'(B'+D') + C(B+C'+A'D) = A(C'D')(B'+D') + BC + CC' + A'CD = AB'C'D' + AC'D' + BC + A'CD

AB'C'D' + AC'D' + BC + A'CD = AB'C'D' + AC'D'(B+B') + BC + A'CD = AB'C'D' + ABC'D' + AB'C'D' + BC(A+A') + A'CD = AB'C'D' + ABC'D' + ABC + A'BC + A'CD = AB'C'D' + ABC'D' + ABC(D+D') + A'BC(D+D') + A'CD(B+B') = AB'C'D' + ABC'D' + ABCD + ABCD' + A'BCD + A'BCD' + A'B'CD

A

AB CD

00 00 01 11

01

11

10

1

1

D

1

1 1

B

1 1

C 10

**Simplest SOP Expressions
**

To find the simplest possible sum of products (SOP)

expression from a K-map, you need to obtain:

minimum number of literals per product term; and minimum number of product terms

** This is achieved in K-map using
**

bigger groupings of minterms (prime implicants) where

possible; and no redundant groupings (look for essential prime implicants)

Implicant: a product term that could be used to cover minterms of the function.

**Simplest SOP Expressions
**

A prime implicant is a product term obtained by

combining the maximum possible number of minterms from adjacent squares in the map.

** Use bigger groupings (prime implicants) where
**

possible.

1 1 1 1 1 1 1 1 1 1 1

1

**Simplest SOP Expressions
**

No redundant groups:

1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1

Essential prime implicants

** An essential prime implicant is a prime implicant that
**

includes at least one minterm that is not covered by any other prime implicant.

**Solve it yourself (Exercise 6.2)
**

Q. Identify the prime implicants and the essential prime implicants of the two K-maps below.

b a bc A

AB CD

00 0

1 0

01

1 1

c

11

0 0

10

1 0

00 00 01 11

01

11

10

1

1 1

1 1 1 1

B D

a

1

1 1

1

C 10

1

**Simplest SOP Expressions
**

Algorithm 1 (non optimal):

1. Count the number of adjacencies for each minterm on the K-map. 2. Select an uncovered minterm with the fewest number of adjacencies. Make an arbitrary choice if more than one choice is possible. 3. Generate a prime implicant for this minterm and put it in the cover. If this minterm is covered by more than one prime implicant, select the one that covers the most uncovered minterms. 4. Repeat steps 2 and 3 until all the minterms have been covered.

**Simplest SOP Expressions
**

Algorithm 2 (non optimal):

1. Circle all prime implicants on the K-map. 2. Identify and select all essential prime implicants for the cover. 3. Select a minimum subset of the remaining prime implicants to complete the cover, that is, to cover those minterms not covered by the essential prime implicants.

**Simplest SOP Expressions
**

Example: f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

All prime implicants

1

C 10

**Simplest SOP Expressions
**

AB CD 00 00 01 C 11 10 A 01 11 10

A

AB CD

D

1 1 1 1 1 1 1

B

1

00 00 01

01

11

10

1 1 1 1

B

1 1 1 1

D

Essential prime implicants

1

C

11 10 A

1

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Minimum cover

1

C 10

**Simplest SOP Expressions
**

A

AB

A'BC'

CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

AB'D'

1

C 10

BD

A'B'C f(A,B,C,D) = BD + A'B'C + AB'D' + A'BC'

**Solve it yourself (Exercise 6.3)
**

Q. Find the simplified expression for G(A,B,C,D).

A

AB CD

00 00 01 11

01

11

10

1 1 1 1 1 1 1

B

1

D

C 10

**Getting POS Expressions
**

Simplified POS expression can be obtained by

grouping the maxterms (i.e. 0s) of given function.

Example:

Given F=∑m(0,1,2,3,5,7,8,9,10,11), we first draw the K-map, then group the maxterms together:

A

AB CD

00 00 01 11 10

01

11

10

1 1 1 1

0 1 1 0

B

0 0 0 0

1 1 1 1

D

C

**Getting POS Expressions
**

AB CD

A 00 01 11 10

CD

AB

A 00 01 11 10

K-map of F

C

00 01 11 10

1 1 1 1

0 1 1 0

B

0 0 0 0

1 1 1 1

D C

00 01 11 10

0 0 0 0

1 0 0 1

B

1 1 1 1

0 0 0 0

D

K-map of F'

** This gives the SOP of F' to be:
**

F' = BD' + AB

** To get POS of F, we have:
**

F = (BD' + AB)' = (BD')'(AB)' = (B'+D)(A'+B') DeMorgan DeMorgan

**Don’t-care Conditions
**

In certain problems, some

outputs are not specified. or ‘0’.

** These outputs can be either ‘1’ They are called don’t-care Example: An odd parity
**

conditions, denoted by X (or sometimes, d). generator for BCD code which has 6 unused combinations.

No. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

P 1 0 0 1 0 1 1 0 0 1 X X X X X X

**Don’t-care Conditions
**

Don’t-care conditions can be used to help simplify

Boolean expression further in K-maps.

** They could be chosen to be either ‘1’ or ‘0’,
**

depending on which gives the simpler expression.

**Don’t-care Conditions
**

For comparison:

WITHOUT Don’t-cares:

CD AB

C 00 01 11 10

00 01 11 A 10

1 1

1 1

B

P = A'B'C'D’ + A'B'CD + A'BC'D + A'BCD' + AB'C'D

1

D

WITH Don’t-cares:

CD AB

C 00 01 11 10

P = A'B'C'D' + B'CD + BC'D + BCD' + AD

00 01

1 1 X 1

D

1 1 X X X X

B

11 X A 10

**Review – The Techniques
**

Algebraic Simplification.

requires skill but extremely open-ended.

Karnaugh Maps.

can obtain simplified standard forms. easy for humans (pattern-matching skills). limited to not more than 6 variables.

Other computer-aided techniques such as QuineMcCluskey method (not covered in this course).

Review – K-maps

Characteristics of K-map layouts:

(i) each minterm in one square/cell (ii) adjacent/neighbouring minterms differ by only 1 literal (iii) n-literal minterm has n neighbours/adjacent cells

** Valid 2-, 3-, 4-variable K-maps
**

b a 'b' a ab' a'b ab m0 a m2 b m1 m3

OR

Review – K-maps

b a bc bc b a

00 0

a'b'c ' ab'c'

01

a'b'c ab'c c

11

a'bc abc

10

a'bc' abc' a

00 0 1

m0 m4

01

m1 m5 c

11

m3 m7

10

m2 m6

a

1

yz wx

y

00 00

m0 m4

01

m1 m5 m1 3 m9 z

11

m3 m7 m1 5 m1 1

10

m2 m6 x m1 4 m1 0

w

01 11 10

m1 2 m8

Review – K-maps

Groupings to select product-terms must be:

(i) rectangular in shape (ii) in powers of twos (1, 2, 4, 8, etc.) (iii) always select largest possible groupings of minterms

(i.e. prime implicants) (iv) eliminate redundant groupings

** Sum-of-products (SOP) form obtained by selecting
**

groupings of minterms (corresponding to product terms).

Review – K-maps

Product-of-sums (POS) form obtained by selecting

groupings of maxterms (corresponding to sum terms) and by applying DeMorgan’s theorem.

** Don’t cares, marked by X (or d), can denote either 1
**

or 0. They could therefore be selected as 1 or 0 to further simplify expressions.

Examples

Example #1: f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Fill in the 1’s.

1

C 10

Examples

Example #1: f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

1

These are all the prime implicants; but do we need them all?

C 10

Examples

Example #1: f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Essential prime implicants: B.D A'.B.C' A.B'.D'

1

C 10

Examples

Example #1: f(A,B,C,D) = ∑ m(2,3,4,5,7,8,10,13,15)

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Minimum cover. EPIs: B.D, A'.B.C', A.B'.D' + A'.B'.C

1

C 10

f(A,B,C,D) = B.D + A'.B.C' + A.B'.D' + A'.B'.C

Examples

AB CD 00 00 01 C 11 10 A 01 11 10

A

AB CD

D

1 1 1 1 1 1 1

B

1

00 00 01

01

11

10

1 1 1 1

B

1 1 1 1

D

Essential prime implicants

1

C

11 10

1

A

AB CD

SUMMARY

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Minimum cover

1

C 10

f(A,B,C,D) = BD + A'B'C + AB'D' + A'B.C'

Examples

Example #2:

f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D'

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Fill in the 1’s.

C 10

1

Examples

Example #2:

f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D'

A

AB CD

00 00 01 11

01

11

10

1 1 1 1

B

1 1 1 1

D

Find all PIs: A.D A.C B'.D'

C 10

1

Are all ‘1’s covered by the PIs? Yes, so the answer is: f(A,B,C,D) = A.D + A.C + B'.D'

Examples

Example #3 (with don’t cares):

f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7)

A

AB CD

00 00 01 11

01

11

10

X X X 1

B

1

D

Fill in the 1’s and X’s.

X

1 1

C 10

Examples

Example #3 (with don’t cares):

f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7)

A

AB CD

00 00 01 11

01

11

10

X X X 1

B

1

D

Do we need to have an additional term A'.B' to cover the 2 remaining x’s? No, because all the 1’s (minterms) have been covered.

X

1 1

C 10

f(A,B,C,D) = B'.D' + B.C.D

Examples

To find simplest POS expression for example #2:

f(A,B,C,D) = A.B.C + B'.C.D' + A.D + B'.C'.D' Draw the K-map of the complement of f, f '.

A

AB CD

From K-map,

10

00 00 01 11

01

11

**f ' = A'.B + A'.D + B.C'.D' Using DeMorgan’s theorem,
**

D

1 1 1 1 1 1

B

1

f = (A'.B + A'.D + B.C'.D')' = (A+B').(A+D').(B'+C+D)

C 10

Examples

s

s

**To find simplest POS expression for example #3: f(A,B,C,D) = ∑ m(2,8,10,15) + ∑ d(0,1,3,7) Draw the K-map of the complement of f, f '. f '(A,B,C,D) = ∑ m(4,5,6,9,11,12,13,14) + ∑ d(0,1,3,7) A
**

AB CD

00 00 01 11

01

11

10

From K-map,

X X X

1 1 X 1

B

1 1 1 1 1

D

f ' = B.C' + B.D' + B'.D Using DeMorgan’s theorem, f = (B.C' + B.D' + B'.D)' = (B'+C).(B'+D).(B+D')

C 10

- Boolean Algebra And Karnaugh Map Simplification
- 5 Variable Karnaugh Map Example
- Boolean Algebra Examples
- Karnaugh Mapping
- Karnaugh Maps
- Karnaugh Map
- Map Entered Variables Extension of K’map
- WireShark_UDP
- Laws and Theorems of Boolean Algebra
- Digital Logic Design No Counters and Registers
- 13708385 Digital Principles Switching
- 390131 Karnaugh Maps
- VL25-englisch
- 1_2
- Summation Notation
- FIR Filter Using Distributed Arithmetic v3
- HW5
- leastsquares
- Unit -II
- Topografie lucrarea 8
- 2nd Quarter Mathematics(Edited)
- Micro-Insurance Model
- Dm Qm Background Mathematics Lecture 5
- TeoriaJocurilorCurs13
- Algorithms and Data Structures
- tower of hanoi
- Hardy Cross
- lec13
- Binomial
- Untitled
- Karnaugh Maps

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.

scribd