Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Karnaugh Map Method: Simplifying Boolean Functions with 2-5 Variables, Study notes of Microelectronic Circuits

The karnaugh map method, a diagrammatic technique used to simplify boolean functions. It covers two-variable, three-variable, four-variable, and five-variable maps, as well as the product of sums simplification and don't-care conditions. The document also discusses nand and nor gate implementations.

Typology: Study notes

Pre 2010

Uploaded on 08/18/2009

koofers-user-onf
koofers-user-onf 🇺🇸

4

(2)

10 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
3-1 The Map Method
Karnaugh Maps
A Karnaugh map is a diagram made up of squares used for the purpose of
simplifying Boolean functions.
The Karnaugh map is like a graphical representation of a truth table.
Each square in the map represents one minterm of a Boolean function.
The map represents all possible ways a function can be expressed in standard
form.
Any two adjacent squares differ by only one variable which is primed in one
square and unprimed in the other.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download Karnaugh Map Method: Simplifying Boolean Functions with 2-5 Variables and more Study notes Microelectronic Circuits in PDF only on Docsity!

3-1 The Map Method

Karnaugh Maps  A Karnaugh map is a diagram made up of squares used for the purpose of simplifying Boolean functions.  The Karnaugh map is like a graphical representation of a truth table.  Each square in the map represents one minterm of a Boolean function.  The map represents all possible ways a function can be expressed in standard form.  Any two adjacent squares differ by only one variable which is primed in one square and unprimed in the other.

Two and Three-Variable Maps  A generic two-variable map  Representation of functions in a two variable map. example: f 1 = xy example: f 2 = x + y x\y y’ y x’ x’y’ x’y x xy’ xy x\y y’ y x’ m 0 m 1 x m 2 m 3 x\y y’ y x’ 0 0 x 0 1 x\y y’ y x’ 0 1 x 1 1 x y f 1 minterm 0 0 0 m 0 0 1 0 m 1 1 0 0 m 2 1 1 1 m 3 x y f 2 minterm 0 0 0 m 0 0 1 1 m 1 1 0 1 m 2 1 1 1 m 3 x y minterm 0 0 m 0 0 1 m 1 1 0 m 2 1 1 m 3

example: Simplify the Boolean function F ( x , y , z ) = x’z’ + xyz + xz’. F ( x , y , z )= (0, 2, 4, 6, 7) Step 1 – grouping Make a group of four by grouping m 0 , m 2 , m 4 , and m 6 = z’. Make a group of two by grouping m 7 and m 6 = xy. Step 2 – read the terms from each group and sum them F ( x , y , z )= xy + z’ Why does a Karnaugh map work?  A Karnaugh map works because two adjacent squares differ by only one variable. When these two squares are grouped, the variable that differs will be eliminated because any variable ORed with its complement is 1.  The number of variables eliminated from a term is related to the size of the group. Three-variable Map size of square literals eliminated 1 0 2 1 4 2 8 3 example from a three-variable map: m 1 + m 5 = x’y’z + xy’z = y’z ( x’ + x ) = y’z x\yz y’z’ y’z yz yz’ x’ 1 0 0 1 x 1 0 1 1

example: Simplify the Boolean function F ( A , B , C ) = A’BC’ + AB + A’BC. F ( A , B , C ) = (2, 3, 6, 7) Step 1 – grouping Make a group of four by grouping m 2 , m 3 , m 6 , and m 7 = B. Step 2 – read the terms from each group and sum them F ( x , y , z )= B example: Simplify the Boolean function F ( A , B , C ) = (0, 5, 7). Step 1 – grouping Make a group of one with m 0 = A’B’C’. Make a group of two by grouping m 5 and m 7 = AC. Step 2 – read the terms from each group and sum them F ( x , y , z )= A’B’C’ + AC example: Simplify the Boolean function F ( A , B , C ) = AB’ + AB’C. AB’ = AB’ ( C + C’ ) = AB’C + AB’C’ F ( A , B , C ) = (4, 5) Step 1 – grouping Make a group of two by grouping m 4 and m 5 = AB’. Step 2 – read the terms from each group and sum them F ( A , B , C )= AB’

A\BC B’C’ B’C BC BC’

A’ 0 0 1 1

A 0 0 1 1

A\BC B’C’ B’C BC BC’

A’ 1 0 0 0

A 0 1 1 0

A\BC B’C’ B’C BC BC’

A’ 0 0 0 0

A 1 1 0 0

example: Simplify the Boolean function F ( A , B , C , D ) = A’B’ CD + ABCD’ + A’BD’

  • ABC’D + ABC’D’ + A’BC’D + A’BC’D’ + A’B’C’D. A’BD’ = A’BD’ ( C + C’ ) = A’BCD’ + A’BC’D’ F ( A , B , C , D ) = (1, 3, 4, 5, 6, 12, 13, 14) Step 1 – grouping Make a group of two by grouping m 1 and m 3 = A’B’D. Make a group of four by grouping m 4 , m 5 , m 12 , and m 13 = BC’. Make a group of four by grouping m 4 , m 12 , m 6 , and m 14 = BD’. Step 2 – read the terms from each group and sum them F ( A , B , C , D ) = A’B’D + BC’ + BD’ Prime Implicants  A prime Implicant is a product term obtained by combining the maximum possible number of adjacent squares in the map.  An essential prime implicant is a minterm in a square covered by only one prime implicant.  The procedure for finding the simplified expression from the map requires that we first determine all the essential prime implicants.  The simplified expression is obtained from the logical sum of all the essential prime implicants, plus other prime implicants that may be needed to cover any remaining minterms not covered by the essential prime implicants.

AB\CD C’D’ C’D CD CD’

A’B’ 0 1 1 0

A’B 1 1 0 1

AB 1 1 0 1

AB’ 0 0 0 0

example: Find the prime implicants and essential prime implicants for the Boolean function F ( A , B , C , D ) = (1, 3, 5, 7, 8, 9, 10, 11, 12, 13). Step 1 – find largest possible groups group 1: m 1 , m 3 , m 5 , and m 7 = A’D group 2: m 1 , m 3 , m 9 , and m 11 = B’D group 3: m 12 , m 13 , m 8 , and m 9 = AC’ group 4: m 1 , m 5 , m 13 , and m 9 = C’D group 5: m 8 , m 9 , m 11 , and m 10 = AB’ Step 2 – identify essential prime implicants essential prime implicants: A’D , AC’ , AB’ Step 3 – identify prime implicants prime implicants: B’D , C’D

AB\CD C’D’ C’D CD CD’

A’B’ 0 1 1 0

A’B 0 1 1 0

AB 1 1 0 0

AB’ 1 1 1 1

wx\yz y’z’ y’z yz yz’ w’x’ m 0 m 1 m 3 m 2 w’x m 4 m 5 m 7 m 6 wx m 12 m 13 m 15 m 14 wx’ m 8 m 9 m 11 m 10 v’ wx\yz y’z’ y’z yz yz’ w’x’ m 16 m 17 m 19 m 18 w’x m 20 m 21 m 23 m 22 wx m 28 m 29 m 31 m 30 wx’ m 24 m 25 m 27 m 26 v wx\yz y’z’ y’z yz yz’ w’x’ w’x’y’z’ w’x’y’z w’x’yz w’x’yz’ w’x w’xy’z’ w’xy’z w’xyz w’xyz’ wx wxy’z’ wxy’z wxyz wxyz’ wx’ wx’y’z’ wx’y’z wx’yz wx’yz’ v’ wx\yz y’z’ y’z yz yz’ w’x’ w’x’y’z’ w’x’y’z w’x’yz w’x’yz’ w’x w’xy’z’ w’xy’z w’xyz w’xyz’ wx wxy’z’ wxy’z wxyz wxyz’ wx’ wx’y’z’ wx’y’z wx’yz wx’yz’ v

example: Simplify the Boolean function F ( A , B , C , D , E ) = (0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31). Step 1 – grouping Make a group of four by grouping m 0 , m 4 , m 2 , and m 6 = A’B’E’. Make a group of four by grouping m 21 , m 23 , m 29 , and m 31 = ACE. Make a group of four by grouping m 13 , m 9 , m 29 , and m 25 = BD’E. Step 2 – read the terms from each group and sum them F ( A , B , C , D , E ) = A’B’E’ + ACE + BD’E

BC\DE D’E’ D’E DE DE’

B’C’ 1 0 0 1

B’C 1 0 0 1

BC 0 1 0 0

BC’ 0 1 0 0

A’

BC\DE D’E’ D’E DE DE’

B’C’ 0 0 0 0

B’C 0 1 1 0

BC 0 1 1 0

BC’ 0 1 0 0

A

example: Simplify the Boolean function F ( A , B , C , D , E ) = (1, 3, 9, 11, 13, 29). Step 1 – grouping Make a group of four by grouping m 1 , m 3 , m 9 , and m 11 = A’C’E. Make a group of two by grouping m 13 , and m 29 = BCD’E. Step 2 – read the terms from each group and sum them F ( A , B , C , D , E ) = A’C’E + BCD’E

BC\DE D’E’ D’E DE DE’

B’C’ 0 1 1 0

B’C 0 0 0 0

BC 0 1 0 0

BC’ 0 1 1 0

A’

BC\DE D’E’ D’E DE DE’

B’C’ 0 0 0 0

B’C 0 0 0 0

BC 0 1 0 0

BC’ 0 0 0 0

A

3-4 Product Of Sums Simplification

 The minimized Boolean functions derived from the maps in all previous examples were expressed in sum of products form.  With a minor modification, the product of sums form can be obtained.  The 1s placed in the squares of the map represent the minterms of the function F.  The 0s represent the minterms of the complement of the function, i.e., F’.  The complement of F’ is the original function F.  Because of the generalized DeMorgan’s theorem, the function so obtained is automatically in the product of sums form.

3-5 Don’t-Care Conditions

 For some functions, not all input combinations are valid, e.g., a function who’s input will be coded in BCD. (BCD uses only 10 of the possible 16 combinations)  The minterms associated with these invalid or unused inputs are called “don’t- care conditions”  Including don’t-cares in a Karnaugh map is a way to achieve further simplification  Don’t-cares are represented on a map with an “X”  Individual don’t-cares are read as either a zero or a one, whichever results in the greater simplification Example: F ( A,B,C,D) = (0, 2, 4, 6, 8) This is a function to light an LED if an even number is input. The input will be in BCD so minterms 10 , 11 , 12 , 13 , 14 , and 15 are don’t-cares. First, without the don’t-cares AB\CD C’D’ C’D CD CD’ A’B’ 1 0 0 1 A’B 1 0 0 1 AB 0 0 0 0 AB’ 1 0 0 0 F ( A,B,C,D) = A’D’ + B’C’D’ Without don’t-cares

Now, with the don’t-cares AB\CD C’D’ C’D CD CD’ A’B’ 1 0 0 1 A’B 1 0 0 1 AB X X X X AB’ 1 0 X X F ( A,B,C,D) = D’ With don’t-cares Now, the same problem but we will simplify F’ AB\CD C’D’ C’D CD CD’ A’B’ 1 0 0 1 A’B 1 0 0 1 AB X X X X AB’ 1 0 X X F’ ( A,B,C,D) = D F ( A,B,C,D) = D’

NAND Implementation  Requires the Boolean function to be simplified in SOP form Method 1 (two logic levels)

  1. Simplify the function and express it in SOP form.
  2. Draw Level-1 gates  One 2-input NAND gate with both inputs connected together for each primed literal  One 2-input NAND gate with both inputs connected together for each unprimed literal that will go directly to Level-  One n-input NAND gate for each product term
  3. Draw Level-2 gate  One n-input NAND gate using the INVERT-OR symbol Method 2 (three logic levels)
  4. Simplify the complement of the function and express it in SOP form.
  5. Draw Level-1 gates  One 2-input NAND gate with both inputs connected together for each primed literal  One 2-input NAND gate with both inputs connected together for each unprimed literal that will go directly to Level-  One n-input NAND gate for each product term
  6. Draw Level-2 gate  One n-input NAND gate using the INVERT-OR symbol
  7. Draw Level-3 gate  One 2-input NAND gate with both inputs connected together to invert the function

Example: F = (0, 2, 4, 6, 7) Method 1, NAND logic A\BC B’C’ B’C BC BC’ A’ 1 0 0 1 A 1 0 1 1 F = AB + C’ AND-OR-INVERT Logic NAND Logic