february 7, 2002 john wawrzynek

20
Spring 2002 EECS150 - Lec6-bool1 Page 1 EECS150 - Digital Design Lecture 6 - Boolean Algebra I (Representations of Combinational Logic Circuits) February 7, 2002 John Wawrzynek

Upload: mira-vang

Post on 31-Dec-2015

27 views

Category:

Documents


0 download

DESCRIPTION

EECS150 - Digital Design Lecture 6 - Boolean Algebra I (Representations of Combinational Logic Circuits). February 7, 2002 John Wawrzynek. Outline. Review of three representations for combinational logic: truth tables, graphical (logic gates), and algebraic equations - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 1

EECS150 - Digital DesignLecture 6 - Boolean Algebra I

(Representations of Combinational Logic Circuits)

February 7, 2002

John Wawrzynek

Page 2: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 2

Outline• Review of three representations for combinational logic:

– truth tables, – graphical (logic gates), and – algebraic equations

• Relationship among the three• Adder example• Formal description of Boolean algebra• Laws of Boolean algebra

Page 3: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 3

Combinational Logic (CL) Defined

yi = fi(x0 , . . . . , xn-1), where x, y are {0,1}.

Y is a function of only X.

• If we change X, Y will change immediately (well almost!). • There is an implementation dependent delay from X to Y.

Page 4: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 4

CL Block Example #1

Truth Table Description:

Boolean Equation:

y0 = (x0 AND not(x1))

OR (not(x0) AND x1)

y0 = x0x1' + x0'x1

Gate Representation:

x0 x1 y0 0 00

00

1 111

1 1

How would we prove that all three representations are equivalent?

Page 5: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 5

Boolean Algebra/Logic Circuits

• Why are they called “logic circuits”? • The 19th Century Mathematician, George Boole, developed a

math. system (algebra) involving formal principles of reasoning, Boolean Algebra.

• His variables took on TRUE, FALSE• Later Claude Shannon (father of information theory) showed

(in his Master’s thesis!) how to map Boolean Algebra to digital circuits:

• Primitive functions of Boolean Algebra:

Page 6: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 6

Relationship Among Representations

Truth Table

BooleanExpression

gaterepresentation

(schematic)

??

unique

notunique

notunique

[convenient for manipulation]

[close toimplementaton]

* Theorem: Any Boolean function that can be expressed as a truth table can be written as an expression in Boolean Algebra using AND, OR, NOT.

How do we convert from one to the other?

Page 7: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 7

Notes on Example #1• The example is the standard

function called exclusive-or (XOR,EXOR)

• Has a standard algebraic symbol:

• And a standard gate symbol:

x0 x1 y0 0 00

00

1 111

1 1

Page 8: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 8

CL Block Example #2

• 4-bit adder:

R = A + B,

c is carry out

• Truth Table Representation:

In general: 2n rows for n inputs. Is there a more efficient (compact) way to specify this function?

256 rows!

Page 9: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 9

4-bit Adder Example• Motivate the adder circuit design

by hand addition:

• Add a0 and b0 as follows:

• Add a1 and b1 as follows:

carry to next stage

r = a XOR b c = a AND b = ab r = a XOR b XOR ci

co = ab + aci + bci

Page 10: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 10

4-bit Adder Example

• In general:

ri = ai XOR bi XOR cin

cout = aicin + aibi + bicin = cin(ai + bi) + aibi

• Now, the 4-bit adder:“Full adder cell”

“ripple” adder

Page 11: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 11

4-bit Adder Example• Graphical Representation of FA-cell

ri = ai XOR bi XOR cin

cout = aicin + aibi + bicin

• Alternative Implementation:

ri = (ai XOR bi) XOR cin

cout = cin(ai + bi) + aibi

Page 12: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 12

Boolean Algebra

Defined as:

.0 ,1

:Complement .6

.)( ),()()(

:laws veDistributi 5.

.1 ,0

in 1 ,0 :Identities .4

. ,

:laws eCommunitiv 3.

.in ,in ,in

,in :Closure 2.

.such that elements least twoat contains 1.

:hold axioms following thesuch that , operation

unary ,, operatorsbinary , elements ofSet

aaaa

cabacbacabacba

aaaa

B

abbaabba

BaBbaBba

Ba,b

baa,bB

B

Page 13: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 13

Logic Functions

Do the axioms hold?– Ex: communitive law: 0+1 = 1+0?

Algebra.Boolean valida is

NOT AND, OR, },1,0{ B

00 001 110 111 1

00 001 010 011 1

0 11 0

Page 14: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 14

• Theorem: Any Boolean function that can be expressed as a truth table can be expressed using NAND and NOR.– Proof sketch:

– How would you show that NAND or NOR is sufficient?

Other logic functions of 2 variables (x,y)x y f0 f100 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 101 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 110 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 111 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 AND X Y + OR NOR XNOR NAND 1

Look at NOR and NAND:

= NOT = AND

= OR

Page 15: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 15

Laws of Boolean AlgebraDuality: A dual of a Boolean expression is derived by interchanging OR

and AND operations, and 0s and 1s (literals are left unchanged).

)},,0,1,,...,,({)},,1,0,,...,,({ 2121 nD

n xxxFxxxF

Any law that is true for an expression is also true for its dual.

Operations with 0 and 1:1. x + 0 = x x * 1 = x2. x + 1 = 1 x * 0 = 0

Idempotent Law:3. x + x = x x x = x

Involution Law:4. (x’)’ = x

Laws of Complementarity:5. x + x’ = 1 x x’ = 0

Commutative Law:6. x + y = y + x x y = y x

Page 16: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 16

Laws of Boolean Algebra (cont.)Associative Laws:

(x + y) + z = x + (y + z) x y z = x (y z)Distributive Laws:

x (y + z) = (x y) + (x z) x +(y z) = (x + y)(x + z)

“Simplification” Theorems:x y + x y’ = x (x + y) (x + y’) = xx + x y = x x (x + y) = x(x + y’) y = x y (x y’) + y = x + y

DeMorgan’s Law:(x + y + z + …) = (x y z …)’ = x’ y’ z’ … x’ + y’ + z’ + …

Theorems for Multiplying and Factoring:(x + y) (x’ + z) = x y + x’ z = x z + x’ y (x + z) (x’ + y)

Consensus Theorem:x y + y z + x’ z = (x + y) (y + z) (x’ + z) x y + x’ z = (x + y) (x’ + z)

Page 17: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 17

Proving Theorems via axioms of Boolean Algebra

Ex: prove the theorem: x y + x y’ = xx y + x y’ = x (y + y’) distributive law

x (y + y’) = x (1) complementary law

x (1) = x identity

Ex: prove the theorem: x + x y = x x + x y = x 1 + x y identity

x 1 + x y = x (1 + y) distributive law

x (1 + y) = x (1) identity

x (1) = x identity

Page 18: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 18

DeMorgan’s Law

* DeMorgan’s Law can be used to convert AND/OR expressions to OR/AND expressions:

Example: z = a’b’c + a’bc + ab’c + abc’

z’ =

x y x' y' (x + y)' x'y'

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

x y x' y' (x y)' x' + y'

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

(x + y)’ = x’ y’

=

(x y)’ = x’ + y’

=

Page 19: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 19

Algebraic Simplification

Ex: full adder (FA) carry out function

Cout = a’bc + ab’c + abc’ + abc

Page 20: February 7, 2002 John Wawrzynek

Spring 2002 EECS150 - Lec6-bool1 Page 20

Algebraic SimplificationEx: full adder (FA) carry out function

Cout = a’bc + ab’c + abc’ + abc

= a’bc + ab’c + abc’ + abc + abc

= a’bc + abc + ab’c + abc’ + abc

= (a’ + a)bc + ab’c + abc’ + abc

= (1)bc + ab’c + abc’ + abc

= bc + ab’c + abc’ + abc + abc

= bc + ab’c + abc + abc’ + abc

= bc + a(b’ +b)c + abc’ +abc

= bc + a(1)c + abc’ + abc

= bc + ac + ab(c’ + c)

= bc + ac + ab(1)

= bc + ac + ab