- 50 Views
- Uploaded on
- Presentation posted in: General

Two-Level Simplification

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

- 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

Reduced S.O.P. form

- Reduced two-level forms are more efficient

B

A

B=1

B=0

A=0

A’B’

A’B

AB

AB’

A=1

Consider a Venn Diagram for 2 sets, A and B

A’B’

A’B

AB

AB’

A

B

F

0

0

0

0

1

1

F(A,B)

1

0

1

B

0

1

1

1

0

A

0

00

01

1

10

11

2-variable K-map

1

0

Space for A’B’

1

0

Space for A’B

Space for AB’

Space for AB

C

CD

C

0

1

00

01

11

10

AB

AB

000

001

0000

0001

0011

0010

00

00

m1

m1

m2

m0

m0

m3

010

011

0100

0101

0111

0110

01

01

m3

m5

m6

m2

m4

m7

B

B

C

110

111

1100

1101

1111

1110

11

11

m7

m13

m14

m6

m12

m15

A

A

100

101

1000

1001

1011

1010

10

10

m5

m9

m10

m4

m8

m11

D

K-maps can represent up to four variables easily

f(A,B,C)

f(A,B,C,D)

3-variable

K-map

4-variable

K-map

Numbering Scheme: 00, 01, 11, 10

Gray Code — only a single bit changes from one number to the next

C

CD

C

0

1

00

01

11

10

AB

AB

00

00

f(A,B,C)

01

01

B

B

C

11

11

A

A

10

10

D

0

0

0

0

0

0

0

0

0

0

0

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

1

1

1

1

1

0

0

1

1

1

0

0

1

4-variable

K-map

3-variable

K-map

B

0

1

A

0

0

1

1

0

1

B

0

1

A

0

1

1

1

0

0

We can combine A’B and AB

F = A’B + AB

= B

We can combine A’B’ and A’B

G = A’B’ + A’B

= A’

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

C

C

0

1

AB

00

01

B

11

A

10

Neighbors

Wrap from top to bottom

Wrap from left to right

F

F

C

C

1

1

1

1

C

C

0

0

1

1

AB

AB

1

1

0

0

00

00

0

0

0

0

01

01

B

B

0

0

1

1

11

11

A

A

10

10

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

In the K-map, adjacency wraps from left to right

and from top to bottom

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

Same function, alternative “circling”

Note: Larger circles are better

G

C

0

0

C

0

1

AB

1

1

00

1

1

01

B

0

0

11

A

10

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)

CD

00

01

11

10

AB

F

00

1

1

1

1

m1

m2

m0

m3

01

m5

m6

m4

m7

1

1

1

1

B

C

11

m13

m14

m12

m15

A

0

1

0

1

10

m9

m10

m8

m11

1

0

1

1

D

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 thatcontains this ‘1’ and go to next ‘1’
- Tie? – Skip this square for now and come back to it later...

F(A,B,C,D) =

A’

+ BC’D

+ CD’

+ B’D’

+ B’C

B

G

0

1

A

C

0

0

0

0

0

1

1

1

1

1

0

0

1

CD

CD

C

0

1

00

00

01

01

11

11

10

10

AB

AB

AB

1

1

1

1

1

0

0

0

0

0

1

0

1

00

00

00

0

0

0

0

0

1

1

1

1

1

01

01

01

B

B

B

1

1

1

1

1

0

0

0

0

0

C

C

11

11

11

Q

A

A

A

10

10

10

P

D

D

P= A Å B Å C Å D

F = A’B + AB’

= A Å B

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

= A Å B Å C

Q= A Å B Å C Å D

CD

00

01

11

10

AB

F

00

m1

m2

m0

m3

1

1

0

0

01

m5

m6

m4

m7

0

0

0

1

B

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

C

11

m13

m14

m12

m15

A

0

0

1

1

10

m9

m10

m8

m11

1

0

1

0

D

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

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

F’ =

A’C

+ A’BD’

+ AD

DeMorgan’s Law

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

Product-of-Sums!

- 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

CD

CD

00

00

01

01

11

11

10

10

AB

AB

F

F

00

00

0

0

1

1

1

1

0

0

m1

m1

m2

m2

m0

m0

m3

m3

01

01

0

0

1

1

1

1

x

x

m5

m5

m6

m6

m4

m4

m7

m7

B

B

C

C

11

11

m13

m13

m14

m14

m12

m12

m15

m15

A

A

x

x

x

x

0

0

0

0

10

10

m9

m9

m10

m10

m8

m8

m11

m11

0

0

1

1

0

0

0

0

D

D

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

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

F = assuming x’s are zero

A’D

+ B’C’D

Tie! - Skip and come back

F = using don’t cares

A’D

+C’D

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

C

D

F

F

F

A

B

1

2

3

AB = CD

A

0

0

0

0

0

F1

N

B

1

1

AB < CD

0

1

F2

1

1

0

AB > CD

C

1

F3

1

1

N

2

D

0

0

0

0

1

=, >, <

0

0

1

1

1

0

1

0

1

0

0

1

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

1

1

0

1

1

0

1

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

1

1

0

0

0

1

1

1

1

0

0

0

0

1

0

1

0

1

1

0

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

DC and BA are two-bitbinary numbers

F2

F1

F3

CD

CD

CD

00

00

00

01

01

01

11

11

11

10

10

10

AB

AB

AB

0

0

0

1

0

0

0

0

0

1

1

1

00

00

00

m1

m1

m1

m2

m2

m2

m0

m0

m0

m3

m3

m3

0

0

0

1

1

0

0

0

0

0

1

1

01

01

01

m5

m5

m5

m6

m6

m6

m4

m4

m4

m7

m7

m7

B

B

B

0

0

1

0

1

1

0

1

0

0

0

0

11

11

11

A

A

A

m13

m13

m13

m14

m14

m14

m12

m12

m12

m15

m15

m15

0

0

0

1

1

1

0

0

0

0

1

0

C

C

C

10

10

10

m9

m9

m9

m10

m10

m10

m8

m8

m8

m11

m11

m11

D

D

D

F1 = AB==CD

F2 = AB<CD

F3 = AB>CD

F1 =

F2 =

A’B’C’D’

+ A’BC’D

+ ABCD

+ AB’CD’

A’B’D

+ A’C

+B’CD

-OR-

F3 =

BC’D

+AC’

+ABD’

F1’ =

B’D

+A’C

+BD’

+AC’

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

N2

N1

ABCDWXYZ

00001001

00010000

00100001

00110010

01000011

01010100

01100101

01110110

10000111

10011000

1010XXXX

1011XXXX

1100XXXX

1101XXXX

1110XXXX

1111XXXX

- 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)

Y

W

Z

X

CD

CD

CD

CD

00

00

00

00

01

01

01

01

11

11

11

11

10

10

10

10

AB

AB

AB

AB

0

0

0

0

0

1

0

1

0

0

0

0

00

00

00

00

m1

m1

m1

m1

m2

m2

m2

m2

m0

m0

m0

m0

m3

m3

m3

m3

0

1

1

1

1

1

0

0

0

0

0

0

01

01

01

01

m5

m5

m5

m5

m6

m6

m6

m6

m4

m4

m4

m4

m7

m7

m7

m7

B

B

B

B

x

x

x

x

x

x

x

x

x

x

x

x

11

11

11

11

A

A

A

A

m13

m13

m13

m13

m14

m14

m14

m14

m12

m12

m12

m12

m15

m15

m15

m15

x

x

x

x

x

x

0

1

1

1

0

C

C

C

C

0

10

10

10

10

m9

m9

m9

m9

m10

m10

m10

m10

m8

m8

m8

m8

m11

m11

m11

m11

D

D

D

D

0

0

1

1

1

0

1

0

x

x

x

x

x

x

1

0

W =

A’B’C’D’

+AD

X =

BD

+BC

+AD’

Y =

CD

+BC’D’

+AD’

Z =

D’