© BYU 03 BA1 Page 1 ECEn 224 Boolean Algebra – Part 1
© BYU 03 BA1 Page 2 ECEn 224 Boolean Algebra Objectives Understand Basic Boolean Algebra Relate Boolean Algebra to Logic Networks Prove Laws using Truth Tables Understand and Use First Basic Theorems Apply Boolean Algebra to: –Simplifying Expressions –Multiplying Out Expressions –Factoring Expressions
© BYU 03 BA1 Page 3 ECEn 224 A New Kind of Algebra
© BYU 03 BA1 Page 4 ECEn 224 Truth Tables A truth table provides a complete enumeration of the inputs and the corresponding output for a function. If there are n inputs, There will be 2 n rows In the table. Unlike with regular algebra, full enumeration is possible (and useful) in Boolean Algebra
© BYU 03 BA1 Page 5 ECEn 224 Complement Operation Also known as invert or not. The inverse of x is written as x’ or x.
© BYU 03 BA1 Page 6 ECEn 224 Logical AND Operation “” denotes AND Output is true iff all inputs are true
© BYU 03 BA1 Page 7 ECEn 224 Logical OR Operation “+” denotes OR Output is true if any inputs are true
© BYU 03 BA1 Page 8 ECEn 224 Boolean Expressions Boolean expressions are made up of variables and constants combined by AND, OR and NOT Examples: 1 A ’ A B C+D AB A(B+C) AB’+C A B is the same as AB ( is omitted when obvious ). Parentheses are used like in regular algebra for grouping. NOT has highest precedence, followed by AND then OR. A term is a grouping of variables ANDed together. A literal is each instance of a variable or constant. This expression has 4 variables, 3 terms, and 6 literals: a’b + bcd + a
© BYU 03 BA1 Page 9 ECEn 224 Boolean Expressions Each Boolean expression can be specified by a truth table which lists all possible combinations of the values of all variables in the expression. F = A’ + B C
© BYU 03 BA1 Page 10 ECEn 224 Boolean Expressions From Truth Tables Each 1 in the output of a truth table specifies one term in the corresponding boolean expression. The expression can be read off by inspection… F is true when: A is false AND B is true AND C is false OR A is true AND B is true AND C is true F = A’BC’ + ABC
© BYU 03 BA1 Page 11 ECEn 224 Another Example F = A’B’C + A’BC’ + AB’C’ + ABC F = ?
© BYU 03 BA1 Page 12 ECEn 224 Yet Another Example F = A’B’ + A’B + AB’ + AB = 1 (F is always true) There may be multiple expressions for any given truth table. F = ?
© BYU 03 BA1 Page 13 ECEn 224 Converting Boolean Functions to Truth Tables F = AB + BC AB BC
© BYU 03 BA1 Page 14 ECEn 224 Converting Boolean Functions to Truth Tables F = AB + BC AB BC
© BYU 03 BA1 Page 15 ECEn 224 Some Basic Boolean Theorems From these… We can derive these…
© BYU 03 BA1 Page 16 ECEn 224 Proof Using Truth Tables Truth Tables can be used to prove that 2 Boolean expressions are equal. If the two expressions have the same value for all possible combinations of input variables, they are equal. X Y’ + Y = X + Y = These two expressions are equal.
© BYU 03 BA1 Page 17 ECEn 224 Basic Boolean Algebra Theorems Here are the first 5 Boolean Algebra theorems we will study and use.
© BYU 03 BA1 Page 18 ECEn 224 Basic Boolean Algebra Theorems While these laws don’t seem very exciting, they can be very useful in simplifying Boolean expressions: Simplify: (M N ’ + M ’ N) P + P ’ + 1 X+ 1 1
© BYU 03 BA1 Page 19 ECEn 224 Commutative Laws X Y = Y X X + Y = Y + X Associative Laws (X Y) Z = X (Y Z) = X Y Z (X + Y) + Z = X + (Y + Z ) = X + Y + Z Just like regular algebra
© BYU 03 BA1 Page 20 ECEn 224 Distributive Law X ( Y + Z ) = X Y + X Z Prove with a truth table: = Just like regular algebra
© BYU 03 BA1 Page 21 ECEn 224 Other Distributive Law X + Y Z = ( X + Y ) ( X + Z ) NOT like regular algebra! Proof: ( X + Y ) ( X + Z )= X ( X + Z) + Y ( X + Z ) = X X + X Z + Y X + Y Z = X + X Z + X Y + Y Z = X 1 + X Z + X Y + Y Z = X ( 1 + Z + Y ) + Y Z = X 1 + Y Z = X + Y Z
© BYU 03 BA1 Page 22 ECEn 224 Simplification Theorems X Y + X Y’ = X( X + Y ) (X + Y’) = X X + X Y = XX ( X + Y ) = X X + Y X’ = X + YX ( X’ + Y ) = X Y These are useful for simplifying Boolean Expressions. The trick is to find X and Y. ( A’ + B + CD) (B’ + A’ + CD) ( A’ + CD + B) (A’ + CD + B’) A’ + CD Rearrange terms (X + Y)(X + Y’) = X
© BYU 03 BA1 Page 23 ECEn 224 Multiplying Out All terms are products only (no parentheses) A B C ’ + D E + F G H Yes A B + C D + E Yes A B + C ( D + E ) No Multiplied out = sum-of-products form (SOP)
© BYU 03 BA1 Page 24 ECEn 224 Multiplying Out - Example ( A’ + B )( A’ + C )( C + D ) Use ( X + Y )( X + Z ) = X + Y Z ( A’ + B C )( C + D ) Multiply Out A’ C + A’ D + B C C + B C D Use X X = X A’ C + A’ D + B C + B C D Use X + X Y = X A’ C + A’ D + BC Using the theorems may be simpler than brute force. But, brute force does work…
© BYU 03 BA1 Page 25 ECEn 224 Factoring Final form is products only All sum terms are single variables only ( A + B + C ’ ) ( D + E ) Yes ( A + B )( C + D ’ )E ’ F Yes ( A + B + C ’ ) ( D + E ) + H No ( A ’ + BC ) ( D + E ) No Factored out = product-of-sums form (POS)
© BYU 03 BA1 Page 26 ECEn 224 Factoring - Example A B + C D Use X + Y Z = ( X + Y )( X + Z ) ( A B + C )( A B + D ) Use X + Y Z = ( X + Y )( X + Z ) again ( A + C )( B + C )( A B + D ) And again ( A + C )( B + C )( A + D )( B + D ) Sum of Products (SOP) Product of Sums (POS)
© BYU 03 BA1 Page 27 ECEn 224 POS vs. SOP Any expression can be written either way Can convert from one to another using theorems Sometimes SOP looks simpler –AB + CD = ( A + C )( B + C )( A + D )( B + D ) Sometimes POS looks simpler –(A + B)(C + D) = BD + AD + BC + AC SOP will be most commonly used in this class but we must learn both
© BYU 03 BA1 Page 28 ECEn 224 Duality If an equality is true its dual will be true as well To form the dual: –AND OR –Invert constant 0’s or 1’s –Do NOT invert variables Because these are true These are also true
© BYU 03 BA1 Page 29 ECEn 224 Theorem Summary X + 0 = XX 1 = X X + 1 = 1X 0 = 0 X + X = XX X = X X + X’ = 1X X’ = 0 (X’)’ = X XY + XY’ = X(X + Y) (X + Y’) = X X + XY = XX(X + Y) = X X + YX’ = X + YX(Y + X’) = X Y XY + X’Z + YZ = XY + X’Z(X + Y)(X’ + Z)(Y + Z) = (X + Y)(X’ + Z) For each theorem on the left, the dual is listed on the right. HINT: when forming duals, first apply parentheses around all AND terms.