two-level simplification

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: hayes-levine

Post on 02-Jan-2016

41 views

Category:

Documents


5 download

DESCRIPTION

Two-Level Simplification. All Boolean expressions can be represented in two-level forms Sum-of-products Product-of-sums. Canonical 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Two-Level Simplification

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: Two-Level Simplification

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: Two-Level Simplification

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: Two-Level Simplification

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 1010

A

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: Two-Level Simplification

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

0

0

11

1 1

1

0 0 0

0

0

00

0

0 0

0

f(A,B,C)

ABC

00

01

11

10

0 1

B

C

A

ABCD

00 01 11 10

00

01

11

10

A

B

C

D

Page 6: Two-Level Simplification

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: Two-Level Simplification

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: Two-Level Simplification

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

F

ABC

00

01

11

10

0 1

B

C

A

1

1

1

0 0

0

0

1

F

ABC

00

01

11

10

0 1

B

C

A

1

1

1

0 0

0

Page 9: Two-Level Simplification

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)

G

ABC

00

01

11

10

0 1

B

C

A

1

0 0

0 0

1

1 1

Page 10: Two-Level Simplification

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: Two-Level Simplification

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

K-maps for XORs and XNORs

B 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

G

ABC

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: Two-Level Simplification

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: Two-Level Simplification

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: Two-Level Simplification

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

F2

F3

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: Two-Level Simplification

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: Two-Level Simplification

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: Two-Level Simplification

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’