+ All Categories
Home > Documents > IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are...

IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are...

Date post: 28-Dec-2015
Category:
Upload: philippa-clark
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC, which is derived from Howard Huang’s work and developed by Jeff Carlyle.
Transcript
Page 1: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

IKI1020103a-Boolean Algebra

Bobby NaziefSemester-I 2005 -

2006

The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC, which is derived from Howard Huang’s work and developed by Jeff Carlyle.

Page 2: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

2

Road Map

Boolean Algebra

Logic Gates &Flip-flops

Register-TransferDesign

Finite-StateMachines

Binary Systems& Data Represent.

Generalized FSM

Sequential DesignTechniques

Logic DesignTechniques

CombinatorialComponents

StorageComponents

ProcessorComponents

2

3

3

4

5

6

7

6

8 8

9

Page 3: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

3

Boolean Algebra

Page 4: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

4

Boolean values

• Earlier, we used electrical voltages to representtwo discrete values 1 and 0, from which binary numberscan be formed.

• It’s also possible to think of voltages as representingtwo logical values, true and false.

• For simplicity, we often still write digits instead:

– 1 (high) is true

– 0 (low) is false

• We will use these values 1 and 0 as the elements of our Boolean System.

Page 5: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

5

Basic boolean operations

• There are two basic operations for logical values.

x y xy

0 0 0

0 1 0

1 0 0

1 1 1

x y x+y

0 0 0

0 1 1

1 0 1

1 1 1

AND (product)of two inputs

OR (sum) of two inputs

xy, or xy x + y

Operation:

Expression:

Truth table:

Page 6: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

6

Axiomatic definition of Boolean Algebra

• A Boolean algebra requires

– A set of elements B, consisting of two elements (0 and 1)

– Two binary operations OR and AND

– The axioms below must always be true

– Based on axiom #5, we can develop a unary (one-argument) operation NOT

1. x + y B x y B Closure 2. x + 0 = x x 1 = x I dentity 3. x + y = y + x x y = y x Commutativity 4. x(y + z) = xy + xz x + yz = (x + y)(x + z) Distributivity 5. x + x’ = 1 x x’ = 0 Complement 6. At least 2 elements: x,y B such that x y Cardinality

x x’

0 1

1 0

Page 7: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

7

Basic theorems of Boolean Algebra

• In addition to the axioms, additional laws can be derived; they are called theorems of Boolean Algebra

• These theorems are useful in performing algebraic manipulations of Boolean expressions

1. x + x = x x x = x I dempotency 2. x + 1 = 1 x 0 = 0 3. yx + x = x (y + x) x = x Absorption 4. (x’)’ = x I nvolution 5. x + (y + z) = (x + y) + z x(yz) = (xy)z Associative 6. (x + y)’ = x’y’ (xy)’ = x’ + y’ DeMorgan’s

Page 8: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

8

Proofing the theorems using axioms

• Idempotency: x + x = xProof:

x + x = (x + x) 1 by identity= (x + x) (x + x’) by complement= x + x x’ by distributivity= x + 0 by complement= x by identity

• Idempotency: x x = xProof:

x x = (x x) + 0 by identity= (x x) + (x x’) by complement= x (x + x’) by distributivity= x 1 by complement= x by identity

Page 9: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

9

Duality principle

• The left and right columns of axioms are duals

– exchange all ANDs with ORs, and 0s with 1s

• So are the theorems:

1. x + y B x y B Closure 2. x + 0 = x x 1 = x I dentity 3. x + y = y + x xy = yx Commutativity 4. x(y + z) = xy + xz x + yz = (x + y)(x + z) Distributivity 5. x + x’ = 1 x x’ = 0 Complement 6. At least 2 elements: x,y B such that x y Cardinality

1. x + x = x x x = x I dempotency 2. x + 1 = 1 x 0 = 0 3. yx + x = x (y + x) x = x Absorption 4. (x’)’ = x I nvolution 5. x + (y + z) = (x + y) + z x(yz) = (xy)z Associative 6. (x + y)’ = x’y’ (xy)’ = x’ + y’ DeMorgan’s

Page 10: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

10

Boolean Functions

• Computers take inputs and produce outputs, just like functions in math!

• Mathematical functions can be expressed in two ways:

• We can represent logical functions in two analogous ways too:

– A finite, but non-unique Boolean expression.

– A truth table, which will turn out to be unique and finite.

x y f (x,y)

0 0 0… … …2 2 6… … …23 41 87… … …

f(x,y) = 2x + y= x + x + y= 2(x + y/2)= ...

An expression isfinite but not unique

A function table isunique but infinite

Page 11: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

11

Boolean expressions

• We can use these basic operations to form more complex expressions:

f(x,y,z) = (x + y’)z + x’

• Some terminology and notation:

– f is the name of the function.

– (x,y,z) are the input variables, each representing 1 or 0. Listing the inputs is optional, but sometimes helpful.

– A literal is any occurrence of an input variable or its complement. The function above has four literals: x, y’, z, and x’.

• Precedence is important, but not too difficult.

– NOT has the highest precedence, followed by AND, and then OR.

– Fully parenthesized, the function above would be kind of messy:

f(x,y,z) = (((x +(y’))z) + x’)

Page 12: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

12

Truth tables

• A truth table shows all possible inputs and outputs of a function.

• Remember that each input variable represents either 1 or 0.

– Because there are only a finite number of values (1 and 0), truth tables themselves are finite.

– A function with n variables has 2n possible combinations of inputs.

• Inputs are listed in binary order—in this example, from 000 to 111.

x y z f (x,y,z)

0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1

f(0,0,0) = (0 + 1)0 + 1 = 1f(0,0,1) = (0 + 1)1 + 1 = 1f(0,1,0) = (0 + 0)0 + 1 = 1f(0,1,1) = (0 + 0)1 + 1 = 1f(1,0,0) = (1 + 1)0 + 0 = 0f(1,0,1) = (1 + 1)1 + 0 = 1f(1,1,0) = (1 + 0)0 + 0 = 0f(1,1,1) = (1 + 0)1 + 0 = 1

f(x,y,z) = (x + y’)z + x’

Page 13: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

13

Complement of a function

• The complement of a function always outputs 0 where the original function outputted 1, and 1 where the original produced 0.

• In a truth table, we can just exchange 0s and 1s in the output column(s)

f(x,y,z) = x(y’z’ + yz)

x y z f (x,y,z)

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

x y z f ’(x,y,z)

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

Page 14: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

14

Complementing a function algebraically

• You can use DeMorgan’s law to keep “pushing” the complements inwards

• You can also take the dual of the function, and then complement each literal

– If f(x,y,z) = x(y’z’ + yz)…

– …the dual of f is x + (y’ + z’)(y + z)…

– …then complementing each literal gives x’ + (y + z)(y’ + z’)…

– …so f’(x,y,z) = x’ + (y + z)(y’ + z’)

f(x,y,z) = x(y’z’ + yz)

f’(x,y,z) = ( x(y’z’ + yz) )’ [ complement both sides ]= x’ + (y’z’ + yz)’ [ because (xy)’ = x’ + y’ ]= x’ + (y’z’)’ (yz)’ [ because (x + y)’ = x’ y’ ]= x’ + (y + z)(y’ + z’) [ because (xy)’ = x’ + y’, twice]

Page 15: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

15

Algebraic manipulation

• We can now start doing some simplifications

x’y’ + xyz + x’y= x’(y’ + y) + xyz [ Distributive; x’y’ + x’y = x’(y’ +

y) ]= x’1 + xyz [ Axiom 5; y’ + y = 1 ]= x’ + xyz [ Axiom 2; x’1 = x’ ]= (x’ + x)(x’ + yz) [ Distributive ]= 1 (x’ + yz) [ Axiom 5; x’ + x = 1 ]= x’ + yz [ Axiom 2 ; x’1 = x’]

Page 16: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

16

Canonical Forms

• Any boolean function that is expressed as a sum of minterms or as a product of maxterms is said to be in its canonical form.

Page 17: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

17

Minterms

• A minterm is a special product of literals, in which each input variable appears exactly once.

• A function with n variables has 2n minterms (since each variable can appear complemented or not)

• A three-variable function, such as f(x,y,z), has 23 = 8 minterms:

• Each minterm is true for exactly one combination of inputs:

x’y’z’ x’y’z x’yz’ x’yzxy’z’ xy’z xyz’ xyz

Minterm Is true when… Shorthandx’y’z’ x=0, y=0, z=0 m0

x’y’z x=0, y=0, z=1 m1

x’yz’ x=0, y=1, z=0 m2

x’yz x=0, y=1, z=1 m3

xy’z’ x=1, y=0, z=0 m4

xy’z x=1, y=0, z=1 m5

xyz’ x=1, y=1, z=0 m6

xyz x=1, y=1, z=1 m7

Page 18: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

18

Sum of minterms form

• Every function can be written as a sum of minterms, which is a special kind of sum of products form

• The sum of minterms form for any function is unique

• If you have a truth table for a function, you can write a sum of minterms expression just by picking out the rows of the table where the function output is 1 (1-minterm).

x y z f (x,y,z) f ’(x,y,z)

0 0 0 1 00 0 1 1 00 1 0 1 00 1 1 1 01 0 0 0 11 0 1 0 11 1 0 1 01 1 1 0 1

f = x’y’z’ + x’y’z + x’yz’ + x’yz + xyz’= m0 + m1 + m2 + m3 + m6

= (0,1,2,3,6)

f’ = xy’z’ + xy’z + xyz

= m4 + m5 + m7

= (4,5,7)f’ contains all the minterms not in f

Page 19: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

19

Sum of minterms: practise

• F = x + yz, how to express this in the sum of minterms? = x(y + y’)(z + z’) + (x + x’)yz = xyz + xyz’ + xy’z + xy’z’ + xyz + x’yz = x’yz + xy’z’ + xy’z + xyz’ + xyz = (3,4,5,6,7)

or, convert the expression into truth-table and then read the minterms from the table

Page 20: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

20

Maxterms

• A maxterm is a sum of literals, in which each input variable appears exactly once.

• A function with n variables has 2n maxterms

• The maxterms for a three-variable function f(x,y,z):

• Each maxterm is false for exactly one combination of inputs:

x’ + y’ + z’ x’ + y’ + z x’ + y + z’ x’+ y + zx + y’ + z’ x + y’ + z x + y + z’ x + y + z

Maxterm Is false when… Shorthandx + y + z x=0, y=0, z=0 M0

x + y + z’ x=0, y=0, z=1 M1

x + y’ + z x=0, y=1, z=0 M2

x + y’ + z’ x=0, y=1, z=1 M3

x’ + y + z x=1, y=0, z=0 M4

x’ + y + z’ x=1, y=0, z=1 M5

x’ + y’ + z x=1, y=1, z=0 M6

x’ + y’ + z’ x=1, y=1, z=1 M7

Page 21: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

21

Product of maxterms form

• Every function can be written as a unique product of maxterms

• If you have a truth table for a function, you can write a product of maxterms expression by picking out the rows of the table where the function output is 0 (0-maxterm).

x y z f (x,y,z) f ’(x,y,z)

0 0 0 1 00 0 1 1 00 1 0 1 00 1 1 1 01 0 0 0 11 0 1 0 11 1 0 1 01 1 1 0 1

f = (x’ + y + z)(x’ + y + z’)(x’ + y’ + z’)= M4 M5 M7

= ∏(4,5,7)

f’ = (x + y + z)(x + y + z’)(x + y’ + z)

(x + y’ + z’)(x’ + y’ + z)= M0 M1 M2 M3 M6

= ∏(0,1,2,3,6)f’ contains all the maxterms not in f

Page 22: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

22

Product of maxterms: practise

• F = x’y’ + xz, how to express this in the product of maxterms? = (x’y’ + x)(x’y’ + z) = (x’ + x)(y’ + x)(x’ + z)(y’ + z) = (x + y’)(x’ + z)(y’ + z) = (x + y’ + zz’)(x’ + z + yy’)(xx’ + y’ + z) = (x + y’ + z)(x + y’ + z’)(x’ + y + z)(x’ + y’ + z)(x + y’ + z)(x’ + y’ + z) = (x + y’ + z)(x + y’ + z’)(x’ + y + z)(x’ + y’ + z) = ∏(2,3,4,6)

or, convert the expression into truth-table and then read the minterms from the table

Page 23: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

23

Minterms and maxterms are related

• Any minterm mi is the complement of the corresponding maxterm Mi

• For example, m4’ = M4 because (xy’z’)’ = x’ + y + z

Maxterm Shorthandx + y + z M0

x + y + z’ M1

x + y’ + z M2

x + y’ + z’ M3

x’ + y + z M4

x’ + y + z’ M5

x’ + y’ + z M6

x’ + y’ + z’ M7

Minterm Shorthandx’y’z’ m0

x’y’z m1

x’yz’ m2

x’yz m3

xy’z’ m4

xy’z m5

xyz’ m6

xyz m7

Page 24: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

24

Converting between canonical forms

• We can convert a sum of minterms to a product of maxterms

• In general, just replace the minterms with maxterms, using maxterm numbers that don’t appear in the sum of minterms:

• The same thing works for converting from a product of maxterms to a sum of minterms

From before f = (0,1,2,3,6)and f’ = (4,5,7)

= m4 + m5 + m7

complementing (f’)’ = (m4 + m5 + m7)’so f = m4’ m5’ m7’ [ DeMorgan’s law ]

= M4 M5 M7 [ By the previous page ]

= ∏(4,5,7)

f = (0,1,2,3,6)= ∏(4,5,7)

Page 25: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

25

Standard Forms

• Any boolean function that is expressed as a sum of products (SOP) or as a product of sums (POS), where each product-term or sum-term may require fewer than (n-1) operations, is said to be in its standard form.

• Standard forms are not unique, there can be several different SOPs and POSs for a given function.

• A SOP expression contains:

– Only OR (sum) operations at the “outermost” level

– Each term (implicant) must be a product of literals

• A POS expression contains:

– Only AND (product) operations at the “outermost” level

– Each term (implicate) must be a sum of literals

f(x,y,z) = xy + x’yz + xy’z

f(x,y,z) = (x’ + y’)(x + y’ + z’)(x’ + y + z’)

Page 26: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

26

Strategy for operator (literal) reduction

Page 27: IKI10201 03a-Boolean Algebra Bobby Nazief Semester-I 2005 - 2006 The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,

27

Other Logic Operations

• We’ve already seen all the basic Boolean operations and the associated primitive logic gates.

• There is a few additional gates that are often used in logic design.

– They are all equivalent to some combination of primitive gates.

– But they have some interesting properties in their own right.

x y (xy)’

0 0 1

0 1 1

1 0 1

1 1 0

x y (x+y)’

0 0 1

0 1 0

1 0 0

1 1 0

NAND(NOT-AND)

NOR(NOT-OR)

XOR(eXclusive OR)

(xy)’ = x’ + y’

(x + y)’ = x’ y’ x y = x’y + xy’

Operation:

Expressions:

Truth table: x y xy

0 0 0

0 1 1

1 0 1

1 1 0


Recommended