ECE 331 – Digital System Design Boolean Algebra and Standard Forms of Boolean Expressions (Lecture #4) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6th Edition, by Roth and Kinney, and were used with permission from Cengage Learning. Basic Laws and Theorems Operations with 0 and 1: 1. X + 0 = X 1D. X • 1 = X 2. X + 1 = 1 2D. X • 0 = 0 Idempotent laws: 3. X + X = X 3D. X • X = X Involution law: 4. (X')' = X Laws of complementarity: 5. X + X' = 1 5D. X • X' = 0 Spring 2011 ECE 331 - Digital System Design 2 Basic Laws and Theorems Commutative laws: 6. X + Y = Y + X 6D. XY = YX Associative laws: 7. (X + Y) + Z = X + (Y + Z) =X+Y+Z Distributive laws: 8. X(Y + Z) = XY + XZ Simplification theorems: 9. XY + XY' = X 10. X + XY = X 11. (X + Y')Y = XY Spring 2011 7D. (XY)Z = X(YZ) = XYZ 8D. X + YZ = (X + Y)(X + Z) 9D. (X + Y)(X + Y') = X 10D. X(X + Y) = X 11D. XY' + Y = X + Y ECE 331 - Digital System Design 3 Basic Laws and Theorems DeMorgan's laws: 12. (X + Y + Z +...)' = X'Y'Z'... 12D. (XYZ...)' = X' + Y' + Z' +... Duality: 13. (X + Y + Z +...)D = XYZ... 13D. (XYZ...)D = X + Y + Z +... Theorem for multiplying out and factoring: 14. (X + Y)(X' + Z) = XZ + X'Y 14D. XY + X'Z = (X + Z)(X' + Y) Consensus theorem: 15. XY + YZ + X'Z = XY + X'Z 15D. (X + Y)(Y + Z)(X' + Z) = (X + Y)(X' + Z) Spring 2011 ECE 331 - Digital System Design 4 Duality (13) The dual of a Boolean expression can be written by Replacing AND with OR, and OR with AND Replacing 0 with 1, and 1 with 0 Leaving literals unchanged See the Boolean laws and theorems, previously discussed, for examples of Boolean expressions and their duals. Spring 2011 ECE 331 - Digital System Design 5 Distributive Law: Example #1 Distributive law (8): X.(Y + Z) = X.Y + X.Z Use the distributive law to multiply out the following Boolean expression: F = (A+B).(C+D).(E+F) Spring 2011 ECE 331 - Digital System Design 6 Distributive Law: Example #2 Distributive law (8D): X + Y.Z = (X+Y).(X+Z) Use the distributive law to factor the following Boolean expression: F = A.B + C.D Spring 2011 ECE 331 - Digital System Design 7 Simplification Theorems: Example #1 Simplification Theorems (9 – 11): X.Y + X.Y' = X (X+Y).(X+Y') = X X + X.Y = X X.(X+Y) = X (X+Y').Y = X.Y X.Y' + Y = X+Y Use the simplification theorems to simplify the following Boolean expression: F = ABC' + AB'C' + A'BC' Spring 2011 ECE 331 - Digital System Design 8 Simplification Theorems: Example #2 Simplification Theorems (9 – 11): X.Y + X.Y' = X (X+Y).(X+Y') = X X + X.Y = X X.(X+Y) = X (X+Y').Y = X.Y X.Y' + Y = X+Y Use the simplification theorems to simplify the following Boolean expression: F = (A'+B'+C').(A+B'+C').(B'+C) Spring 2011 ECE 331 - Digital System Design 9 Simplification Theorems: Example #3 Simplification Theorems (9 – 11): X.Y + X.Y' = X (X+Y).(X+Y') = X X + X.Y = X X.(X+Y) = X (X+Y').Y = X.Y X.Y' + Y = X+Y Use the simplification theorems to simplify the following Boolean expression: F = AB'CD'E + ACD + ACF'GH' +ABCD'E +ACDE' + E'H' (See Programmed Exercise 3.4 on page 75) Spring 2011 ECE 331 - Digital System Design 10 Consensus Theorem: Example #1 Consensus Theorem: (15) X.Y + Y.Z + X'.Z = X.Y + X'.Z (15D) (X+Y).(Y+Z).(X'+Z) = (X+Y).(X'+Z) Use the consensus theorem to simplify the following Boolean expression: F = ABC + BCD + A'CD + B'C'D' Spring 2011 ECE 331 - Digital System Design 11 Consensus Theorem: Example #2 Consensus Theorem: (15) X.Y + Y.Z + X'.Z = X.Y + X'.Z (15D) (X+Y).(Y+Z).(X'+Z) = (X+Y).(X'+Z) Use the consensus theorem to simplify the following Boolean expression: F = (A+C+D')(A+B'+D)(B+C+D)(A+B'+C) Spring 2011 ECE 331 - Digital System Design 12 Consensus Theorem: Example #3 Consensus Theorem: (15) X.Y + Y.Z + X'.Z = X.Y + X'.Z (15D) (X+Y).(Y+Z).(X'+Z) = (X+Y).(X'+Z) Use the consensus theorem to simplify the following Boolean expression: F = AC' + AB'D + A'B'C + A'CD' + B'C'D' (See Programmed Exercise 3.5 on page 77) Spring 2011 ECE 331 - Digital System Design 13 DeMorgan's Law DeMorgan's Law: (12) (X + Y + Z + … )' = X'.Y'.Z'... (12D) (X.Y.Z… )' = X' +Y' + Z' … Prove (using a truth table): (X+Y)' = X'.Y' Spring 2011 X Y X+Y (X + Y)' X' Y' X'.Y' 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 ECE 331 - Digital System Design 14 DeMorgan's Law Graphical representation of DeMorgan's Law x x y x y y (X.Y)' X' + Y' x x y x y y (X+Y)' Spring 2011 X'.Y' ECE 331 - Digital System Design 15 DeMorgan's Law: Example DeMorgan's Law: (12) (X + Y + Z + … )' = X'.Y'.Z'... (12D) (X.Y.Z… )' = X' +Y' + Z' … Find the complement of the following Boolean expression using DeMorgan's law: F = (A + (BC)').((AD)' + C.(B' + D)) Spring 2011 ECE 331 - Digital System Design 16 Simplifying Boolean Expressions Boolean algebra can be used in several ways to simplify a Boolean expression: Spring 2011 Combine terms Eliminate redundant or consensus terms Eliminate redundant literals Add redundant terms to be combined with or allow the elimination of other terms ECE 331 - Digital System Design 17 Equivalency of Boolean Expressions Two Boolean expressions are equivalent iff both expressions evaluate to the same value for all combinations of the variables in the expressions. The equivalency can be proven using Spring 2011 A Truth table Boolean algebra theorems to manipulate one expression until it is identical to the other. Boolean algebra theorems to reduce both expressions independently to the same expression. ECE 331 - Digital System Design 18 Importance of Boolean Algebra Boolean algebra is used to simplify Boolean expressions. Simpler expressions leads to simpler logic circuits. Reduces cost Reduces area requirements Reduces power consumption The objective of the digital circuit designer is to design and realize optimal digital circuits. Spring 2011 Thus, Boolean algebra is an important tool to the digital circuit designer. ECE 331 - Digital System Design 19 Problem with Boolean Algebra In general, there is no easy way to determine when a Boolean expression has been simplified to a minimum number of terms or a minimum number of literals. Karnaugh Maps provide a better mechanism for the simplification of Boolean expressions. Spring 2011 ECE 331 - Digital System Design 20 Circuit Design: Example For the following Boolean expression: F(A,B,C) = A.B.C + A'.B.C + A.B'.C + A.B.C' 1. Draw the circuit diagram 2. Simplify using Boolean algebra 3. Draw the simplified circuit diagram Spring 2011 ECE 331 - Digital System Design 21 Standard Forms of Boolean Expressions Spring 2011 ECE 331 - Digital System Design 22 Standard Forms There are two standard forms in which all Boolean expressions can be written: 1. Sum of Products (SOP) 2. Product of Sums (POS) Spring 2011 ECE 331 - Digital System Design 23 Sum of Products (SOP) Product Term Logical product = AND operation A product term is the ANDing of literals Examples: A.B, A'.B.C, A.C', B.C'.D', A.B.C.D “Sum of” Spring 2011 Logical sum = OR operation The sum of products is the ORing of product terms. ECE 331 - Digital System Design 24 Sum of Products (SOP) The distributive laws are used to multiply out a general Boolean expression to obtain the sum of products (SOP) form. The distributive laws are also used to convert a Boolean expression in POS form to one in SOP form. A SOP expression is realized using a set of AND gates (one for each product term) driving a single OR gate (for the sum). Spring 2011 ECE 331 - Digital System Design 25 Product of Sums (POS) Sum Term Logical sum = OR operation A sum term is the ORing of literals Examples: A+B, A'+B+C, A+C', B+C'+D' “Product of” Spring 2011 Logical product = AND operation The product of sums is the ANDing of sum terms. ECE 331 - Digital System Design 26 Product of Sums (POS) The distributive laws are used to factor a general Boolean expression to obtain the product of sums (POS) form. The distributive laws are also used to convert a Boolean expression in SOP form to one in POS form. A POS expression is realized using a set of OR gates (one for each sum term) driving a single AND gate (for the product). Spring 2011 ECE 331 - Digital System Design 27 SOP and POS: Examples For each of the following Boolean expressions, identify whether it is in SOP or POS form: 1. 2. 3. 4. 5. 6. Spring 2011 F(A,B,C) = (A+B).(A'+B'+C').(B+C') F(A,B,C) = A.B.C + B'.C' + A.C' + A'.B.C' F(A,B,C) = A + B.C + B'.C' + A'.B'.C F(A,B,C) = (A'+B'+C).(B+C').(A+C').(B') F(A,B,C) = A.B.C + A'.(B+C) + (A+C').B F(A,B,C) = A + B + C ECE 331 - Digital System Design 28 Questions? Spring 2011 ECE 331 - Digital System Design 29