seattle pacific university ee 1210 - logic system designkmaps-1 two-level simplification all boolean...

17
eattle Pacific University EE 1210 - Logic System Design KMaps-1 Two-Level Simplification All Boolean expressions can be represented in two-level forms Sum-of-products Product-of-sums c b a c b a bc a c b a f ) , , ( Canonical S.O.P. form Reduced S.O.P. form Canonical forms are very easy to produce Just read them off of a truth table But, they’re not the most efficient representation Reduced two-level forms are more efficient f abc abc ab c abc f abc abc ab c c f abc abc ab (,,) (,,) ( ) (,,)

Upload: kerrie-moore

Post on 18-Jan-2018

220 views

Category:

Documents


0 download

DESCRIPTION

 Seattle Pacific University EE Logic System DesignKMaps-3 Karnaugh maps 2-variable K-map A B F B A F(A,B) Space for A’B Space for AB Space for A’B’ Space for AB’

TRANSCRIPT

Page 1: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-1

Two-Level Simplification

• All Boolean expressions can be represented in two-level forms• Sum-of-products• Product-of-sums cbacbabcacbaf ),,(

Canonical S.O.P. form

Reduced S.O.P. form

• Canonical forms are very easy to produce• Just read them off of a

truth table• But, they’re not the most

efficient representation• Reduced two-level forms

are more efficient

f a b c abc ab c ab cf a b c abc ab c cf a b c abc ab

( , , )( , , ) ( )( , , )

Page 2: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-2

Venn Diagrams

Consider a Venn Diagram for 2 sets, A and B

AB’

A’B

AB

A’B’

B=0 B=1

A=0

A=1

A

B A’B’

AB’ AB

A’B

Page 3: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-3

Karnaugh maps

2-variable K-map

A 0 0 1 1

B 0 1 0 1

F 0 110

0

1

1

0

B A 0 1

0

1

00

10

01

11

F(A,B)

Space for A’B

Space for AB

Space for A’B’

Space for AB’

Page 4: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-4

Karnaugh maps

K-maps can represent up to four variables easily

3-variableK-map 4-variable

K-map

Numbering Scheme: 00, 01, 11, 10Gray Code — only a single bit changes from one number to the next

A

f(A,B,C)f(A,B,C,D)AB

C

00

01

11

10

0 1

000 001

010 011

110 111

100 101

B

ABCD

00 01 11 10

00

01

11

10

0000 0001

0100 0101

1100 1101

1000 1001

0011 0010

0111 0110

1111 1110

1011 1010A

B

C

D

C

m0 m1

m2 m3

m6 m7

m4 m5

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

Page 5: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-5

Filling in a K-map

F(A,B,C,D) = ABC’D’ + AB’CD’ + ABC’D + AB’CD + A’BCD

F (A,B,C) = A’B’C’ + ABC’ + A’B’C + AB’C

3-variableK-map

4-variableK-map

1 1

1

1

00

00

11

1 1

1

0 0 0

0

0

00

0

0 0

0

f(A,B,C)AB

C

00

01

11

10

0 1

B

C

A

ABCD

00 01 11 10

00

01

11

10 A

B

C

D

Page 6: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-6

Finding Combinations with K-maps

F = A’B + AB = B

G = A’B’ + A’B = A’

We can combine A’B and AB

We can combine A’B’ and A’B

With Karnaugh maps, adjacent 1’s mean we can combine them

B A 0 1

0 1

0 1

0

1

BA 0 1

1 1

0 0

0

1

Page 7: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-7

Adjacencies in the K-map

Wrap from left to right

Wrap from top to bottom

Neighbors

ABC

00

01

11

10

0 1

B

C

A

Page 8: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-8

3-variable K-map examples

F(C,B,A) = A’C’ + B’C

In the K-map, adjacency wraps from left to rightand from top to bottom

F(C,B,A) = A’BC’ + AB’C + A’B’

Same function, alternative “circling”Note: Larger circles are better

0

1

FAB

C

00

01

11

10

0 1

B

C

A

1

1

1

0 0

0

0

1

FAB

C

00

01

11

10

0 1

B

C

A

1

1

1

0 0

0

Page 9: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-9

3-variable K-map examples

We can use the combining theorem on larger units as well.

G(A,B,C) = A’BC’ + A’BC + ABC’ + ABC = A’B(C’ + C) + AB(C’ + C) = A’B + AB = B(A’ + A) = B

• What can we circle?• Any rectangle that contains all ones• As long as its size is a power of two

• 1, 2, 4, 8, 16, ...• No rectangles of 3, 5, 6, ...

Find the smallest number of the largest possible rectangles that cover all the 1’s at least once (overlapping circles are allowed)

GAB

C

00

01

11

10

0 1

B

C

A

1

0 0

0 0

1

1 1

Page 10: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-10

4-variable K-map example

0 0

0

1

1

1 1 1

1 1 1

1 1

1 1 1

F(A,B,C,D) = m(0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14)

Find the smallest number of the largest possible rectangles that cover all the 1’s

Start at upper left corner and search for 1’s:• Circled? – Go to next ‘1’• Not circled? – Circle largest term that

contains this ‘1’ and go to next ‘1’• Tie? – Skip this square for now and come back to it later...

F(A,B,C,D) =

ABCD

00 01 11 10

00

01

11

10

A

B

C

D

F

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

A’ + BC’D + CD’ + B’D’ + B’C

Page 11: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-11

K-maps for XORs and XNORsB

A 0 1

0 1

1 0

0

1

F = A’B + AB’ = A B

G = A’B’C + A’BC’ + ABC’ + AB’C = A B C

P= A B C D

Q= A B C D

GAB

C

00

01

11

10

0 1

B

C

A

0

1

1

0

0 1

1

0

ABCD

00 01 11 10

00

01

11

10 A

B

C

D

0

1

1

0

0 1

1

0

0

1

1

0

0 1

1

0

Q

ABCD

00 01 11 10

00

01

11

10 A

B

C

D

0

1

1

0

0 1

1

0

0

1

1

0

0 1

1

0

P

Page 12: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-12

Product-of-Sums

F(A,B,C,D) = m(0,1,5,8,10,12,14)

We can circle 0’s to find a sum-of-products for the complement

• Circling 1’s gives S.O.P. for F• Complementing S.O.P. of F gives P.O.S. for F’

• Circling 0’s gives S.O.P. for F’• Complementing S.O.P. for F’ gives P.O.S. for F

Product-of-Sums!

F’ =AB

CD00 01 11 10

00

01

11

10

A

B

C

D

F

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

0

0

1

1

1

1

0 0

0

0

0 0

0

1

1

1

A’C + A’BD’ + AD

F = A’C + A’BD’ + AD

F = (A+C’)(A+B’+D)(A’+D’) DeMorgan’s Law

Page 13: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-13

K-maps and Don’t Cares

F(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13)

Invalid Inputs (Don’t Cares) can be treated as 1's or 0's if it is advantageous to do so

By treating this X as a "1", a largerrectangle can be formed

F = assuming x’s are zero

Tie! - Skip and come back

ABCD

00 01 11 10

00

01

11

10

A

B

C

D

F

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

0

1

1

1

x

0

0 1

0

x

1 0

x

0

0

0

A’D + B’C’D

ABCD

00 01 11 10

00

01

11

10

A

B

C

D

F

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

0

1

1

1

x

0

0 1

0

x

1 0

x

0

0

0 F = using don’t caresA’D + C’D

Page 14: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-14

Example: 2-bit Comparator

Will need a 4-variable K-map for each of the 3 output functions

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0

0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0

=, >, <

AB = CD AB < CD AB > CD

AB

C D

N 1

N 2

F1

F2F3

DC and BA are two-bitbinary numbers

F 1 F 2 F 3 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

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

B 0 1 0 1

A 0 0 1 1

Page 15: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-15

K-maps for 2-bit comparator

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

F1

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

F2

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

F3

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

F1 = AB==CD F2 = AB<CD F3 = AB>CD

1

1

1

1

0

0

0

0

0 0

0 0

0

0 0

0

1

1

1 1

1

1

00

0

0

0 0

0 0

0 0

1

1

1

1 1

1

0

0

0

0 0 0

0 0

0 0

F1 =

F2 =

F3 =

A’B’C’D’ + A’BC’D + ABCD + AB’CD’ A’B’D + A’C + B’CD

BC’D + AC’ + ABD’F1’ =

B’D + A’C + BD’ + AC’F1 = (B+D’)(A+C’)(B’+D)(A’+C)

-OR-

Page 16: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-16

BCD Decrement by 1

• BCD – Binary Coded Decimal• Represents ‘0’ through ‘9’

in four bits• Binary patterns for 10-15

are invalid inputs

• Decrement by 1 function• N2 = N1 – 1• 0 – 1 = 9 (rolls over)

A B C D W X Y Z0 0 0 0 1 0 0 10 0 0 1 0 0 0 00 0 1 0 0 0 0 10 0 1 1 0 0 1 00 1 0 0 0 0 1 10 1 0 1 0 1 0 00 1 1 0 0 1 0 10 1 1 1 0 1 1 01 0 0 0 0 1 1 11 0 0 1 1 0 0 01 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

N1 N2

Page 17: Seattle Pacific University EE 1210 - Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms

Seattle Pacific University EE 1210 - Logic System Design KMaps-17

BCD Decrement by One

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

W

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

X

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

Y

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

ABCD 00 01 11 10

00

01

11

10

A

B

C

D

Z

m0 m1

m4 m5

m12 m13

m8 m9

m3 m2

m7 m6

m15 m14

m11 m10

x

x

x

x x x

1

1

0

0

0

0 0

0 0

0 x

x

x

x x x

1 1 1

1

0

0

0 0 0

0

x

x

x

x x x

1

1 1

1

0

0

0

0

0 0

x

x

x

x x x

1

1

1

1

1

0

0

0 0

0

W =

X =

A’B’C’D’+ AD

Y =

Z =

BD+ BC + AD’

CD+ BC’D’ + AD’

D’