february 7, 2002 john wawrzynek
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 PresentationTRANSCRIPT
Spring 2002 EECS150 - Lec6-bool1 Page 1
EECS150 - Digital DesignLecture 6 - Boolean Algebra I
(Representations of Combinational Logic Circuits)
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
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.
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?
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:
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?
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
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!
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
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
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
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
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
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
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
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)
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
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’
=
Spring 2002 EECS150 - Lec6-bool1 Page 19
Algebraic Simplification
Ex: full adder (FA) carry out function
Cout = a’bc + ab’c + abc’ + abc
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