• 沒有找到結果。

Fundamentals of Computer Systems Boolean Logic Stephen A. Edwards

N/A
N/A
Protected

Academic year: 2022

Share "Fundamentals of Computer Systems Boolean Logic Stephen A. Edwards"

Copied!
72
0
0

加載中.... (立即查看全文)

全文

(1)

Fundamentals of Computer Systems

Boolean Logic

Stephen A. Edwards

Columbia University

Spring 2012

(2)

Boolean Logic

George Boole 1815–1864

(3)

Boole’s Intuition Behind Boolean Logic

Variables X, Y, . . . represent classes of things No imprecision: A thing either is or is not in a class

If X is “sheep”

and Y is “white things,” XY are all white sheep,

XY = YX and

XX = X.

If X is “men”

and Y is

“women,” X + Y is “both men and women,”

X + Y = Y + X and

X + X = X.

If X is “men,” Y is “women,” and Z is “European,”

Z(X + Y) is

“European men and women”

and

Z(X+Y) = ZX+ZY.

(4)

The Axioms of (Any) Boolean Algebra

A Boolean Algebra consists of A set of values A

An “and” operator “·”

An “or” operator “+”

A “not” operator X A “false” value 0 ∈ A A “true” value 1 ∈ A

Axioms

X + Y = Y + X X· Y = Y · X X + (Y + Z) = (X + Y) + Z X· (Y · Z) = (X · Y) · Z

X + (X· Y) = X X· (X + Y) = X

X· (Y + Z) = (X · Y) + (X · Z) X + (Y · Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

We will use the first non-trivial Boolean Algebra: A = {0, 1}. This adds the law of excluded middle: if X6= 0 then X = 1 and if X 6= 1 then X = 0.

(5)

The Axioms of (Any) Boolean Algebra

A Boolean Algebra consists of A set of values A

An “and” operator “·”

An “or” operator “+”

A “not” operator X A “false” value 0 ∈ A A “true” value 1 ∈ A Axioms

X + Y = Y + X X· Y = Y · X X + (Y + Z) = (X + Y) + Z X· (Y · Z) = (X · Y) · Z

X + (X· Y) = X X· (X + Y) = X

X· (Y + Z) = (X · Y) + (X · Z) X + (Y · Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

We will use the first non-trivial Boolean Algebra: A = {0, 1}. This adds the law of excluded middle: if X6= 0 then X = 1 and if X 6= 1 then X = 0.

(6)

The Axioms of (Any) Boolean Algebra

A Boolean Algebra consists of A set of values A

An “and” operator “·”

An “or” operator “+”

A “not” operator X A “false” value 0 ∈ A A “true” value 1 ∈ A Axioms

X + Y = Y + X X· Y = Y · X X + (Y + Z) = (X + Y) + Z X· (Y · Z) = (X · Y) · Z

X + (X· Y) = X X· (X + Y) = X

X· (Y + Z) = (X · Y) + (X · Z) X + (Y · Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

We will use the first non-trivial Boolean Algebra:

A = {0, 1}. This adds the law of excluded middle: if X6= 0 then X = 1 and if X 6= 1 then X = 0.

(7)

Simplifying a Boolean Expression

“You are a New Yorker if you were born in New York or were not born in New York and lived here ten years.”

X + (X· Y)

= (X + X)· (X + Y)

= 1 · (X + Y)

= X + Y

Axioms X + Y = Y + X

X· Y = Y · X X + (Y + Z) = (X + Y) + Z

X· (Y · Z) = (X · Y) · Z X + (X· Y) = X X· (X + Y) = X X· (Y + Z) = (X · Y) + (X · Z) X + (Y· Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

Lemma:

X· 1 = X· (X + X)

= X· (X + Y) if Y = X

= X

(8)

Simplifying a Boolean Expression

“You are a New Yorker if you were born in New York or were not born in New York and lived here ten years.”

X + (X· Y)

= (X + X)· (X + Y)

= 1 · (X + Y)

= X + Y

Axioms X + Y = Y + X

X· Y = Y · X X + (Y + Z) = (X + Y) + Z

X· (Y · Z) = (X · Y) · Z X + (X· Y) = X X· (X + Y) = X X· (Y + Z) = (X · Y) + (X · Z) X + (Y· Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

Lemma:

X· 1 = X· (X + X)

= X· (X + Y) if Y = X

= X

(9)

Simplifying a Boolean Expression

“You are a New Yorker if you were born in New York or were not born in New York and lived here ten years.”

X + (X· Y)

= (X + X)· (X + Y)

= 1 · (X + Y)

= X + Y

Axioms X + Y = Y + X

X· Y = Y · X X + (Y + Z) = (X + Y) + Z

X· (Y · Z) = (X · Y) · Z X + (X· Y) = X X· (X + Y) = X X· (Y + Z) = (X · Y) + (X · Z) X + (Y· Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

Lemma:

X· 1 = X· (X + X)

= X· (X + Y) if Y = X

= X

(10)

Simplifying a Boolean Expression

“You are a New Yorker if you were born in New York or were not born in New York and lived here ten years.”

X + (X· Y)

= (X + X)· (X + Y)

= 1 · (X + Y)

= X + Y

Axioms X + Y = Y + X

X· Y = Y · X X + (Y + Z) = (X + Y) + Z

X· (Y · Z) = (X · Y) · Z X + (X· Y) = X X· (X + Y) = X X· (Y + Z) = (X · Y) + (X · Z) X + (Y· Z) = (X + Y) · (X + Z)

X + X = 1 X· X = 0

Lemma:

X· 1 = X· (X + X)

= X· (X + Y) if Y = X

= X

(11)

More properties

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 1 + 1 + · · · + 1 = 1 X + 0 = X X + 1 = 1 X + X = X X + XY = X X + XY = X + Y

0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1 1 · 1 · · · 1 = 1 X· 0 = 0 X· 1 = X X· X = X X· (X + Y) = X X· (X + Y) = XY

(12)

More Examples

XY + YZ(Y + Z) = XY + YZY + YZZ

= XY + YZ

= Y(X + Z)

X + Y(X + Z) + XZ = X + YX + YZ + XZ

= X + YZ + XZ

= X + YZ

(13)

More Examples

XYZ + X(Y + Z) = XYZ + XY + XZ

= X(YZ + Y + Z)

= X(YZ + Y + YZ + Z)

= X€Y(Z + Z) + Y + ZŠ

= X(Y + Y + Z)

= X(1 + Z)

= X

(X + Y + Z)(X + YZ) = XX + XYZ + YX + Y YZ + ZX + Z YZ

= X + XYZ + XY + YZ + XZ

= X + YZ

(14)

Sum-of-products form

Can always reduce a complex Boolean expression to a sum of product terms:

XY + X€X + Y(Z + XY) + ZŠ = XY + X(X + YZ + YXY + Z)

= XY + XX + XYZ + XYXY + X Z

= XY + XYZ + X Z (can do better)

= Y(X + XZ) + X Z

= Y(X + Z) + X Z

= YX Z + X Z

= Y + X Z

(15)

What Does This Have To Do With Logic Circuits?

Claude Shannon 1916–2001

(16)

Shannon’s MS Thesis

“We shall limit our treatment to circuits containing only relay contacts and switches, and therefore at any given time the circuit between any two terminals must be either open (infinite impedance) or closed (zero impedance).

(17)

Shannon’s MS Thesis

“It is evident that with the above definitions the following postulates hold.

0 · 0 = 0 A closed circuit in parallel with a closed circuit is a closed circuit.

1 + 1 = 1 An open circuit in series with an open circuit is an open circuit.

1 + 0 = 0 + 1 = 1 An open circuit in series with a closed circuit in either order is an open circuit.

0 · 1 = 1 · 0 = 0 A closed circuit in parallel with an open circuit in either order is an closed circuit.

0 + 0 = 0 A closed circuit in series with a closed circuit is a closed circuit.

1 · 1 = 1 An open circuit in parallel with an open circuit is an open circuit.

At any give time either X = 0 or X = 1

(18)

Alternate Notations for Boolean Logic

Operator Math Engineer Schematic

Copy x X X or X X

Complement ¬x X X X

AND x ∧ y XY or X · Y XY XY

OR x ∨ y X + Y X

Y X + Y

(19)

Definitions

Literal: a Boolean variable or its complement E.g., X X Y Y

Implicant: A product of literals E.g., X XY XYZ

Minterm: An implicant with each variable once E.g., XYZ XYZ X YZ

Maxterm: A sum of literals with each variable once E.g., X + Y + Z X + Y + Z X + Y + Z

(20)

Be Careful with Bars

X Y6= XY

Let’s check all the combinations of X and Y:

X Y X Y X· Y XY XY

0 0 1 1 1 0 1

0 1 1 0 0 0 1

1 0 0 1 0 0 1

1 1 0 0 0 1 0

(21)

Be Careful with Bars

X Y6= XY

Let’s check all the combinations of X and Y:

X Y X Y X· Y XY XY

0 0 1 1 1 0 1

0 1 1 0 0 0 1

1 0 0 1 0 0 1

1 1 0 0 0 1 0

(22)

Truth Tables

A truth table is a canonical representation of a Boolean function

X Y Minterm Maxterm X XY XY X + Y X + Y

0 0 X Y X + Y 1 0 1 0 1

0 1 X Y X + Y 1 0 1 1 0

1 0 X Y X + Y 0 0 1 1 0

1 1 X Y X + Y 0 1 0 1 0

Each row has a unique minterm and maxterm The minterm is 1

maxterm is 0 for only its row

(23)

Sum-of-minterms and Product-of-maxterms

Two mechanical ways to translate a function’s truth table into an expression:

X Y Minterm Maxterm F

0 0 X Y X + Y 0

0 1 X Y X + Y 1

1 0 X Y X + Y 1

1 1 X Y X + Y 0

The sum of the minterms where the function is 1:

F = X Y + X Y

The product of the maxterms where the function is 0:

F = (X + Y)(X + Y)

(24)

Expressions to Schematics

F = X Y + X Y

= (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(25)

Expressions to Schematics

F = X Y + X Y

= (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(26)

Expressions to Schematics

F = X Y + X Y

= (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(27)

Expressions to Schematics

F = X Y + X Y

= (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(28)

Expressions to Schematics

F = X Y + X Y

= (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(29)

Expressions to Schematics

F = X Y + X Y = (X + Y)(X + Y)

X

Y

X

Y

X Y

X Y

X Y + X Y = F

(X + Y)(X + Y) = F

(30)

Minterms and Maxterms: Another Example

The minterm and maxterm representation of functions may look very different:

X Y Minterm Maxterm F

0 0 X Y X + Y 0

0 1 X Y X + Y 1

1 0 X Y X + Y 1

1 1 X Y X + Y 1

The sum of the minterms where the function is 1:

F = X Y + X Y + X Y

The product of the maxterms where the function is 0:

F = X + Y

(31)

Expressions to Schematics 2

F = X Y + X Y + X Y = X + Y

X

Y

X Y + X Y + X Y = F

X + Y = F

(32)

The Menagerie of Gates

(33)

The Menagerie of Gates

Buffer

0 0 1 1

Inverter

0 1 1 0

AND

· 0 1

0 0 0 1 0 1

NAND

· 0 1

0 1 1 1 1 0

OR

+ 0 1 0 0 1 1 1 1

NOR

+ 0 1 0 1 0 1 0 0

XOR

0 1

0 0 1 1 1 0

XNOR

0 1

0 1 0 1 0 1

(34)

De Morgan’s Theorem

X + Y = X· Y X· Y = X + Y

Proof by Truth Table:

X Y X + Y X· Y X · Y X + Y

0 0 0 1 0 1

0 1 1 0 0 1

1 0 1 0 0 1

1 1 1 0 1 0

(35)

De Morgan’s Theorem in Gates

AB = A + B

=

A + B = A· B

=

(36)

Bubble Pushing

A B

C D

F

Apply De Morgan’s Theorem:

Transform NAND into OR with inverted inputs

Two bubbles on a wire cancel

(37)

Bubble Pushing

A B

C D

F

Apply De Morgan’s Theorem:

Transform NAND into OR with inverted inputs Two bubbles on a wire cancel

(38)

Bubble Pushing

A B

C D

F

Apply De Morgan’s Theorem:

Transform NAND into OR with inverted inputs Two bubbles on a wire cancel

(39)

PONG

PONG, Atari 1973

Built from TTL logic gates; no computer, no software Launched the video arcade game revolution

(40)

Horizontal Ball Control in PONG

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

The ball moves either left or right.

Part of the control circuit has three inputs: M (“move”), L (“left”), and R (“right”).

It produces two outputs A and B.

Here, “X” means “I don’t care what the output is; I never expect this input combination to occur.”

(41)

Horizontal Ball Control in PONG

M L R A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 0 0

1 0 0 0 0

1 0 1 1 0

1 1 0 1 1

1 1 1 0 0

E.g., assume all the X’s are 0’s and use Minterms:

A = MLR + MLR

B = M LR + M LR + MLR

3 inv + 4 AND3 + 1 OR2 + 1 OR3

(42)

Horizontal Ball Control in PONG

M L R A B

0 0 0 1 1

0 0 1 0 1

0 1 0 0 1

0 1 1 1 1

1 0 0 1 1

1 0 1 1 0

1 1 0 1 1

1 1 1 1 1

Assume all the X’s are 1’s and use Maxterms:

A = (M + L + R)(M + L + R) B = M + L + R

3 inv + 3 OR3 + 1 AND2

(43)

Horizontal Ball Control in PONG

M L R A B

0 0 0 0 1

0 0 1 0 1

0 1 0 0 1

0 1 1 0 1

1 0 0 1 1

1 0 1 1 0

1 1 0 1 1

1 1 1 1 0

Choosing better values for the X’s and being much more clever:

A = M B = MR 1 NAND2 (!)

(44)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

The M’s are already arranged nicely

(45)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(46)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(47)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0 1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(48)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(49)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(50)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(51)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(52)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

Let’s rearrange the L’s by permuting two pairs of rows

(53)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

The R’s are really crazy; let’s use the second dimension

(54)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

0 0 0 X X

0 0 1 0 1

0 1 0 0 1

0 1 1 X X

1 0 0 X X

1 0 1 1 0

1 1 0 1 1

1 1 1 X X

The R’s are really crazy; let’s use the second dimension

(55)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

00 00 01 X0 X1 00 11 01 0X 1X

11 00 01 X1 X0 11 11 01 1X 1X

The R’s are really crazy; let’s use the second dimension

(56)

Karnaugh Maps

Basic trick: put “similar” variable values near each other so simple functions are obvious

M L R A B

00 00 01 X0 X1 00 11 01 0X 1X

11 00 01 X1 X0 11 11 01 1X 1X

M MR

(57)

Maurice Karnaugh’s Maps

Transactions of the AIEE, 1953

(58)

The Seven-Segment Decoder Example

a b

c d e

f g

W X Y Z a b c d e f g

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 0 0 1 1

1 0 1 0 X X X X X X X

1 0 1 1 X X X X X X X

1 1 0 0 X X X X X X X

1 1 0 1 X X X X X X X

1 1 1 0 X X X X X X X

1 1 1 1 0 0 0 0 0 0 0

(59)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

The Karnaugh Map

Sum-of-Products Challenge Cover all the 1’s and none of the 0’s using as few literals(gate inputs) as possible.

Few, large rectangles are good.

Covering X’s is optional.

(60)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

The minterm solution: cover each 1 with a single implicant.

a = W X Y Z + W X Y Z + W X Y Z + W X Y Z + W X Y Z + W X Y Z + W X Y Z + W X Y Z

8 × 4 = 32 literals

4 inv + 8 AND4 + 1 OR8

(61)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

Merging implicants helps Recall the distributive law:

AB + AC = A(B + C)

a = W X Y Z + W Y + W X Z + W X Y 4 + 2 + 3 + 3 = 12 literals

4 inv + 1 AND4 + 2 AND3 + 1 AND2 + 1 OR4

(62)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

Missed one: Remember this is actually a torus.

a = X Y Z + W Y + W X Z + W X Y 3 + 2 + 3 + 3 = 11 literals

4 inv + 3 AND3 + 1 AND2 + 1 OR4

(63)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

Taking don’t-cares into account, we can enlarge two implicants:

a = X Z + W Y + W X Z + W X 2 + 2 + 3 + 2 = 9 literals

3 inv + 1 AND3 + 3 AND2 + 1 OR4

(64)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

Can also compute the complement of the function and invert the result.

Covering the 0’s instead of the 1’s:

a = W X Y Z + X Y Z + W Y 4 + 3 + 2 = 9 literals

5 inv + 1 AND4 + 1 AND3 + 1 AND2 + 1 OR3

(65)

Karnaugh Map for Seg. a

W X Y Z a

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 X

1 0 1 1 X

1 1 0 0 X

1 1 0 1 X

1 1 1 0 X

1 1 1 1 0

1 0 1 1 0 1 1 1 X X 0 X 1 1 X X

Z

Y X

W

To display the score, PONG used a TTL chip with this solution in it:

OUTPUT b (12)

OUTPUT a (13)

(66)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

W X Y Z + W X Y Z+

W X Y Z + W X Y Z+

W X Y Z + W X Y Z+

W X Y Z + W X Y Z Factor out the W’s

(67)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

(W + W) X Y Z+

(W + W) X Y Z+

(W + W) X Y Z+

(W + W) X Y Z Use the identities

W + W = 1 and 1 X = X.

(68)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

X Y Z+

X Y Z+

X Y Z+

X Y Z Factor out the Y’s

(69)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

(Y + Y) X Z+

(Y + Y) X Z

Apply the identities again

(70)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

X Z+

X Z Factor out Z

(71)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

X (Z + Z) Simplify

(72)

Boolean Laws and Karnaugh Maps

0 0 1 1

0 0 1 1

0 0 1 1

0 0 1 1

W

X Y

Z

X Done

參考文獻

相關文件

bgez Branch on greater than or equal to zero bltzal Branch on less than zero and link. bgezal Branch on greter than or equal to zero

a substance, such as silicon or germanium, with electrical conductivity intermediate between that of an insulator and a

In this project, we discovered a way to make a triangle similar to a target triangle that can be inscribed in any given triangle. Then we found that every triangle we’ve made in a

Therefore, it is our policy that no Managers/staff shall solicit or accept gifts, money or any other form of advantages in their course of duty respectively without the

We must assume, further, that between a nucleon and an anti-nucleon strong attractive forces exist, capable of binding the two particles together.. *Now at the Institute for

A Boolean function described by an algebraic expression consists of binary variables, the constant 0 and 1, and the logic operation symbols.. For a given value of the binary

In case of any disputes regarding any competition(s), and/or other related matters, the decision of the Organiser shall be final, binding and

¾ PCS systems can connected to Public Switched Telephone Network (PSTN)6. ¾ Goal of PCS:enabling communications with a person at anytime, at any place and in any