Boolean Algebra
Outline Laws and theorems of Boolean Algebra Switching functions Logic functions: NOT, AND, OR, NAND, XOR, XNOR Switching function representations Canonical forms CS 3402--Digital Logic Boolean Algebra
Axiomatic of Boolean Algebra A Boolean algebra consists of a set B with two binary operations ( “AND”, “OR”) and a unary operation ( ¯ or “NOT”), such that the following axioms satisfy: Set B contains at least two distinct elements a and b. Closure: For every a, b B, a + b B a b B Commutative Laws: For every a, b B, a + b = b + a a b = b a CS 3402--Digital Logic Boolean Algebra
Axiomatic of Boolean Algebra Associative Laws: For every a, b, c B, (a + b) + c = a + (b + c) (a b) c = a (b c) Identities: For every a B, an identity element 0, such that a + 0 = a an identity element 1, such that a 1 = a Distributive Laws: For every a, b, c B, a (b + c) = (a b) + (a c) Complement: For each a B, an such that a + = 1 a = 0 CS 3402--Digital Logic Boolean Algebra
Boolean function A Boolean function uniquely maps Bn to B. A Boolean function uniquely maps Bn to B. A Boolean expression is an algebraic statement containing Boolean (binary) variables and operators (, +, and ), that is (AND, OR, and NOT) A literal is a variable itself or its complement. When a Boolean function is implemented with logic gates, each literal represents an input to a gate, and each term is implemented a gate. CS 3402--Digital Logic Boolean Algebra
Examples F = XYZ F = X + Y Z F = X Y Z + X YZ + XZ Z = A B (C + D) Z = (A (B (C + D))) CS 3402--Digital Logic Boolean Algebra
Laws and Theorems of Boolean Algebra Duality Every Boolean expression is deducible from the postulates of Boolean algebra remains valid if the operators and the identity elements are interchanged. That is interchange OR and AND operators and replace 1's by 0's and 0's by 1's. CS 3402--Digital Logic Boolean Algebra
Examples X + 1 = 1 X 0 = 0 X + XY = X X(X + Y) CS 3402--Digital Logic Boolean Algebra
Laws and Theorems Boundness law: A + 1 = 1 A 0 = 0 Identity law: Idempotent Theorem: A + A = A A A = A Involution Theorem: (A) = A Theorem of complementarity: A + A = 1 A A = 0 Commutative law: A + B = B + A AB = BA Associative law: A + (B + C) = (A + B) + C A(BC) = (AB)C Distributive law: A (B + C) = AB + AC A + BC = (A+B)(A+C) DeMorgan's Theorem: (A + B) = A B (AB) = A + B Absorption law: A + AB = A A(A + B) = A Consensus Theorem: AB+BC+AC = AB+AC (A+B)(B+C)(A+C) = (A+B)(A+C) CS 3402--Digital Logic Boolean Algebra
Examples Simplify the following Boolean expressions to a minimum number of literals X + X Y X + Y XY + X Y Y X (X + Y ) XY X Y Z + X YZ + XY X Z + XY XY + X Z + YZ XY + X Z (X+Y)(X+Z)(Y+Z) X Y + XZ CS 3402--Digital Logic Boolean Algebra
Switching Functions A switching algebra is a Boolean algebra whose set B contains only two values 0 and 1. A switching function uniquely maps Bn to B. f (X, Y, Z) = XY + X Z + YZ If X = 0, Y = 1, Z = 0, then f (X, Y, Z) = 0. If X = 0, Y = 1, Z = 1, then f (X, Y, Z) = 1. CS 3402--Digital Logic Boolean Algebra
Truth Tables A switching function can be represented as a Boolean function or in a tabular form called truth table. A truth table is a list of possible combinations of inputs that correspond to the values of the switching function (output). CS 3402--Digital Logic Boolean Algebra
Example Truth table of f (X, Y, Z) = XY + X Z + YZ X Y Z f 1 1 CS 3402--Digital Logic Boolean Algebra
Switching Functions There are 16 possible switching functions of two variables: X Y XY X Y OR NOR = Y X NAND 1 CS 3402--Digital Logic Boolean Algebra
Canonical and Standard Forms Minterms Maxterms CS 3402--Digital Logic Boolean Algebra
Minterms For two binary variables A and B combined with an AND operation, the minterms or standard products are: AB, AB, AB, and AB. That is, two binary variables provide 22 = 4 possible combinations (minterms.) n variables have 2n minterms. Each minterm has each variable being primed if the corresponding bit of the binary number is a 0 and unprimed if a 1. CS 3402--Digital Logic Boolean Algebra
Maxterms Similarly, two binary variables A and B combined with an OR operation, the maxterms or standard sums are: A+B, A+B, A+B, and A+B. That is, two binary variables provide 22 = 4 possible combinations (maxterms.) n variables have 2n maxterms. Each maxterm has each variable being primed if the corresponding bit of the binary number is a 1 and unprimed if a 0. A maxterm is the complement of its corresponding minterm, and vice versa. CS 3402--Digital Logic Boolean Algebra
Boolean function Sum of Products (or Minterms) Sum of Products (or Minterms) A Boolean function can be expressed as a sum of minterms. The minterms whose sum defines the Boolean function are those that give the 1's of the function in a truth table. Product of Sums (or Maxterms) A Boolean function can be expressed as a product of maxterms. The maxterms whose sum defines the Boolean function are those that give the 0's of the function in a truth table. CS 3402--Digital Logic Boolean Algebra
Minterms and Maxterms for Three Binary Variables Input Minterm Maxterm X Y Z Term Designation XYZ m0 X+Y+Z M0 1 XYZ m1 X+Y+Z M1 XYZ m2 X+Y+Z M2 XYZ m3 X+Y+Z M3 XYZ m4 X+Y+Z M4 XYZ m5 X+Y+Z M5 XYZ m6 X+Y+Z M6 XYZ m7 X+Y+Z M7 CS 3402--Digital Logic Boolean Algebra
Examples X Y Z Function F1 Function F2 1 CS 3402--Digital Logic 1 CS 3402--Digital Logic Boolean Algebra
Examples F1 and F2 can be expressed as a sum of products as follows: F1 = XYZ+XYZ+XYZ = m1+ m4+ m7 F2 = XYZ+XYZ+XYZ +XYZ = m3+ m5+ m6 + m7 F1 and F2 can also be expressed as a product of sums as follows: F1 = (X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z) = M0 M2 M3 M5 M6 F2 = (X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z) = M0 M1 M2 M4 CS 3402--Digital Logic Boolean Algebra
Notation Boolean functions expressed as a sum of products or product of sums are said to be in canonical form A convenient way to express these function is by using a short notation, decimal form: F1(X, Y, Z) = m(1,4,7) F2(X, Y, Z) = m(3,5,6,7) or F1(X, Y, Z) = M(0,2,3,5,6) F2(X, Y, Z) = M(0,1,2,4) CS 3402--Digital Logic Boolean Algebra
Standard forms A Boolean function is said to be in standard form if the function contains one, two or any number of literals. For example: F1 = Y+XY+XYZ or F2 = X(Y+Z)(X+Y+Z+W) A Boolean function may be expressed in a nonstandard form. For example, the function F = (WX+YZ)(WX+YZ) CS 3402--Digital Logic Boolean Algebra
Example 1 1. Given the following truth table. Express F in a canonical minterms and maxterms. X Y Z F 1 CS 3402--Digital Logic Boolean Algebra
Example 2 2. Design a digital logic circuit that will activate an alarm if a door or window is open during non-business hours. Assume that Clock C = 0 (non-business hours) 1 (business hours) Door D = 0 (closed) 1 (opened) Window W = 0 (closed) Alarm A = 0 (off) 1 (on) CS 3402--Digital Logic Boolean Algebra
Conversion between canonical form To convert from a sum of products to a product of sums: rewrite the minterm canonical form in a shorthand notation then replace the existing term numbers by the missing numbers. For example: F1(X, Y, Z) = m(1,3,6,7) = M(0,2,4,5) CS 3402--Digital Logic Boolean Algebra
Conversion between canonical form To convert from a product of sums to a sum of products: rewrite the maxterm canonical form in a shorthand notation then replace the existing term numbers by the missing numbers. For example: F1(X, Y, Z) = M(0,2,4,5) = m(1,3,6,7) CS 3402--Digital Logic Boolean Algebra
Conversion between canonical form To obtain the minterm (or maxterm) canonical form of the complement, given the Boolean function in a sum of products (or product of sums) form : list the term numbers that are missing in For example: F(X, Y, Z) = m(0,2,4,5) F(X, Y, Z) = m (1,3,6,7) F(X, Y, Z) = M(1,3,6,7) F(X, Y, Z) = M(0,2,4,5) CS 3402--Digital Logic Boolean Algebra
Don't Care Conditions F(A,B,C,D) = m(1,3,7,11,13,15) + d(0,2,5) BCD increment by 1 function. CS 3402--Digital Logic Boolean Algebra
Logic Functions AND Operation Z = X Y Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions OR Operation Z = X + Y Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions NOT Operation Z = X Inputs Output X Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions NAND Operation Z = (X Y) Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions NOR Operation Z = (X + Y) Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions XOR Operation Z = X Y Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Logic Functions XNOR Operation Z = (X Y) Inputs Output X Y Z 1 1 CS 3402--Digital Logic Boolean Algebra
Switching function representations There are 3 ways to represent a switching function: Boolean expression Truth table Logic diagram CS 3402--Digital Logic Boolean Algebra
Positive and Negative Logic CS 3402--Digital Logic Boolean Algebra
Positive and Negative Logic Truth Table Positive Logic Negative Logic x y z low 1 high CS 3402--Digital Logic Boolean Algebra
Positive and Negative Logic Truth Table Positive Logic Negative Logic x y z low 1 high CS 3402--Digital Logic Boolean Algebra
Example Example: Traffic lights -- to define three signals CS 3402--Digital Logic Boolean Algebra