1Spring 2003 EECS150 – Lec4-bool1Page 1EECS150 - Digital DesignLecture 4 - Boolean Algebra I(Representations of Combinational Logic Circuits)January 30, 2003John WawrzynekSpring 2003 EECS150 – Lec4-bool1Page 2Outline• 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 algebra2Spring 2003 EECS150 – Lec4-bool1Page 3Combinational Logic (CL) Definedyi=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 2003 EECS150 – Lec4-bool1Page 4CL Block Example #1Truth Table Description:Boolean Equation:y0= (x0AND not(x1)) OR (not(x0) AND x1)y0= x0x1' + x0'x1Gate Representation:x0 x1y0 0 00001 1111 1How would we prove that all three representations are equivalent?3Spring 2003 EECS150 – Lec4-bool1Page 5Boolean Algebra/Logic Circuits• Why are they called “logic circuits”? • Logic: The study of the principles of reasoning.• The 19th Century Mathematician, George Boole, developed a math. system (algebra) involving logic, 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 2003 EECS150 – Lec4-bool1Page 6Relationship Among RepresentationsTruth Table BooleanExpression gaterepresentation (schematic)??uniquenotuniquenotunique[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?4Spring 2003 EECS150 – Lec4-bool1Page 7Notes 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 x1y0 0 00001 1111 1Spring 2003 EECS150 – Lec4-bool1Page 8CL Block Example #2• 4-bit adder:R = A + B, c is carry out• Truth Table Representation:In general: 2nrows for n inputs. Is there a more efficient (compact) way to specify this function? 256 rows!5Spring 2003 EECS150 – Lec4-bool1Page 94-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 stager = a XOR b c = a AND b = abr = a XOR b XOR cico = ab + aci + bciSpring 2003 EECS150 – Lec4-bool1Page 104-bit Adder Example• In general:ri=aiXOR biXOR cincout=aicin+aibi+bicin=cin(ai+ bi) + aibi• Now, the 4-bit adder:“Full adder cell”“ripple” adder6Spring 2003 EECS150 – Lec4-bool1Page 114-bit Adder Example• Graphical Representation of FA-cellri=aiXOR biXOR cincout=aicin+aibi+ bicin• Alternative Implementation (with 2-input gates):ri= (aiXOR bi) XOR cincout= cin(ai+ bi) + aibiSpring 2003 EECS150 – Lec4-bool1Page 12Boolean AlgebraDefined 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 =′•=′+•+•=+•+•+=•+=•=+•=•+=+′•+≠′•+aaaacabacbacabacbaaaaaBabbaabbaBaBbaBbaBa,bbaa,bBB7Spring 2003 EECS150 – Lec4-bool1Page 13Logic FunctionsDo the axioms hold?– Ex: communitive law: 0+1 = 1+0?Algebra.Boolean valida is NOT AND, OR, },1,0{=′=•=+=B00 001 110 111 100 001 010 011 10 11 0Spring 2003 EECS150 – Lec4-bool1Page 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 either 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 10 AND X Y + ORNORXNORNAND1Look at NOR and NAND:= NOT= AND= OR8Spring 2003 EECS150 – Lec4-bool1Page 15Laws 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+•=•+nDnxxxFxxxFAny 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 = 0Idempotent Law:3. x + x = x x x = xInvolution Law:4. (x’)’ = xLaws of Complementarity:5. x + x’ = 1 x x’ = 0Commutative Law:6. x + y = y + x x y = y xSpring 2003 EECS150 – Lec4-bool1Page 16Laws 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) = xDeMorgan’s Law:(x + y + z + …)’ = x’y’z’ (x y z …)’ = x’ + y’ +z’Theorem for Multiplying and Factoring:(x + y) (x’ + z) = x z + x’ yConsensus Theorem:x y + y z + x’ z = (x + y) (y + z) (x’ + z)x y + x’ z = (x + y) (x’ + z)9Spring 2003 EECS150 – Lec4-bool1Page 17Proving Theorems via axioms of Boolean AlgebraEx: prove the theorem: x y + x y’ = xx y + x y’ = x (y + y’) distributive lawx (y + y’) = x (1) complementary lawx (1) = x identityEx: prove the theorem: x + x y = x x + x y = x 1 + x y identityx 1 + x y = x (1 + y) distributive lawx (1 + y) = x (1) identityx (1) = x identitySpring 2003 EECS150 – Lec4-bool1Page 18DeMorgan’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’ = a’b’c’ + a’b’c + ab’c’ + abcx 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
View Full Document