ECE 301 – Digital Electronics Truth Tables, Boolean Expressions, and Boolean Algebra (Lecture #3) 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.
ECE 301 - Digital Electronics Logic Functions A logic function can be described by a Truth table Boolean expression (i.e. equation) Circuit diagram (aka. Logic Circuit) Each can equally describe the logic function. Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Truth Tables Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Truth Tables A truth table defines the value of the output of a logic function for each combination of the input variables. Each row in the truth table corresponds to a unique combination of the input variables. For n input variables, there are 2n rows. Each row is assigned a numerical value, with the rows listed in ascending order. The order of the input variables defined in the logic function is important. Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics 3-input Truth Table # A B C F(A,B,C) 1 2 3 4 5 6 7 3 variables → 23 = 8 rows Spring 2011 ECE 301 - Digital Electronics
4-input Truth Table # A B C D F(A,B,C,D) 1 2 3 4 5 6 … 12 13 14 15 1 2 3 4 5 6 … 12 13 14 15 Spring 2011 4 variables → 24 = 16 rows
Truth Tables: Examples F1 is completely defined by: F2 is completely defined by: Are F1 and F2 the same logic functions? A B C F1(A,B,C) 1 A B C F2(A,B,C) 1 Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Expressions (and Logic Circuits) Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Expressions A Boolean expression is composed of Literals – variables and their complements Logical operators Examples F1 = A.B.C + A'.B'.C + A.B'.C' + A'.B.C' F2 = (A'+B+C).(A+B'+C).(A+B+C') F3 = A'.(B+C) + B.(A+C') Literals highlighted in green Logical operators highlighted in blue Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Expressions A Boolean expression is evaluated by Substituting a 0 or 1 for each literal Calculating the logical value of the expression A truth table represents the evaluation of a Boolean expression for all combinations of the input variables. Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #1 Simple AND and OR Functions Using a truth table, evaluate the following Boolean expressions: F1(A,B,C) = A'.B.C' F2(A,B,C) = A + B' + C' An AND function = 1 when all literals = 1. An OR function = 1 when any literal = 1. Literal = X or X' If X' = 1 then X = 0 If X' = 0 then X = 1 An OR function = 0 when all literals = 0. Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #1 C A' B' C' F1 F2 1 Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #2 More Complex Functions of ANDs and ORs Using a truth table, evaluate the following Boolean expression: F(A,B,C) = A'.C + B.C' + A.B'.C' An AND term = 1 when all literals = 1. An OR function = 1 when any term = 1. Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #2 C A'C BC' AB'C' F(A,B,C) 1 Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #3 More Complex Functions of ANDs and ORs Using a truth table, evaluate the following Boolean expression: F(A,B,C) = (A+B').(A'+C).(A+B'+C') An OR term = 1 when any literal = 1. An AND function = 1 when all terms = 1. Spring 2011 ECE 301 - Digital Electronics
Boolean Expressions: Example #3 C A+B' A'+C A+B'+C' F(A,B,C) 1 Spring 2011 ECE 301 - Digital Electronics
Logic Circuits A Boolean expression is realized using a network of logic gates, known as a logic circuit or a circuit diagram, where Each logic gate represents a logical operator Each input to a logic gate represents a literal logical operators literals A B F Circuit Diagram Spring 2011
(Combinational) Logic Circuits Composed of an interconnected set of logic gates. Also known as Switching Circuits Logic circuits can be designed from Truth tables Boolean expressions Logic circuits are realized through Interconnection of discrete components Synthesis from a Hardware Description Language Spring 2011 ECE 301 - Digital Electronics
Logic Circuit: Example #1 Given the following truth table, 1. Derive a Boolean expression 2. Draw the corresponding circuit diagram A B F(A,B) 1 Spring 2011 ECE 301 - Digital Electronics
Logic Circuit: Example #2 Given the following truth table, 1. Derive a Boolean expression 2. Draw the corresponding circuit diagram A B C F(A,B,C) 1 Spring 2011 ECE 301 - Digital Electronics
Equivalency of Boolean Expressions Two Boolean expressions are equivalent iff they have the same value for each combination of the variables in the Boolean expression. How do you prove that two Boolean expressions are equivalent? Truth table Boolean Algebra Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Equivalence: Example Using a Truth table, prove that the following two Boolean expressions are equivalent. F1(A,B) = A'.B + A.B' F2(A,B) = (A'.B' + A.B)' Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Equivalence: Example A B A'B AB' A'B' AB F1 F2 1 Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Algebra Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Algebra George Boole developed an algebraic description for processes involving logical thought and reasoning. Became known as Boolean Algebra Claude Shannon later demonstrated that Boolean Algebra could be used to describe switching circuits. Switching circuits are circuits built from devices that switch between two states (e.g. 0 and 1). Switching Algebra is a special case of Boolean Algebra in which all variables take on just two distinct values Boolean Algebra is a powerful tool for analyzing and designing logic circuits. Spring 2011 ECE 301 - Digital Electronics
ECE 301 - Digital Electronics Boolean Algebra Boolean algebra can be used to manipulate or simplify Boolean expressions. Why is this useful? Spring 2011 ECE 301 - Digital Electronics
Boolean Algebra Manipulating a Boolean expression results in an alternate expression that is functionally equivalent to the original. Simplifying a Boolean expression results in an expression with fewer logic operations and/or fewer literals than the original. The circuit diagram corresponding to the new expression may be Easier to build than the circuit diagram corresponding to the original expression. More cost effective than the circuit diagram corresponding to the original expression. Spring 2011
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 301 - Digital Electronics
Basic Laws and Theorems Commutative laws: 6. X + Y = Y + X 6D. XY = YX Associative laws: 7. (X + Y) + Z = X + (Y + Z) 7D. (XY)Z = X(YZ) = XYZ = X + Y + Z Distributive laws: 8. X(Y + Z) = XY + XZ 8D. X + YZ = (X + Y)(X + Z) Simplification theorems: 9. XY + XY' = X 9D. (X + Y)(X + Y') = X 10. X + XY = X 10D. X(X + Y) = X 11. (X + Y')Y = XY 11D. XY' + Y = X + Y Spring 2011 ECE 301 - Digital Electronics
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 301 - Digital Electronics
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 = (AB+C).(D'+E) Spring 2011 ECE 331 - Digital System Design
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'.E Spring 2011 ECE 331 - Digital System Design
ECE 301 - Digital Electronics Questions? Spring 2011 ECE 301 - Digital Electronics