ECE DIGITAL LOGIC LECTURE 8: BOOLEAN FUNCTIONS Assistant Prof. Fareena Saqib Florida Institute of Technology Spring 2016, 02/11/2016
Recap Chapter 2: Boolean Functions Operator Precedence Demorgan’s Theorem Simplification Theorems Complement of Function using Demorgan’s Theorem Canonical and Standard Forms
Agenda Complement of a Function with more than 2 variables Representation of Boolean Expression in Canonical form Minterms and Maxterms Representation of Boolean Expression in Standard Forms Sum of Products Product of Sums Representation of Boolean Expression in Non-standard form Conversion between different forms.
Complement of a Boolean Function The complement of a function F is F Is obtained from an interchange of 0’s for 1’s and 1’s for 0’s in the value of F in truth table. The complement of a function may be derived algebraically through DeMorgan’s theorems as described for two variables and can be extended for three or more variables. The three ‐ variable form of the first DeMorgan’s theorem is derived as follows, from postulates and theorems listed in Table 2.1 : (A + B + C) = (A + x) let B + C = x = Ax by theorem 5(a) (DeMorgan) = A(B + C) substitute B + C = x = A(BC) by theorem 5(a) (DeMorgan) = ABC by theorem 4(b) (associative) The generalized form of DeMorgan’s theorems states that the complement of a function is obtained by interchanging AND and OR operators and complementing each literal. (NOTE)
Complement of Function: Example F1 = x’yz’ + x’y’z and F2 = x(y’z’ + yz). F1’ =? F1’ =? F1’ = (x’yz’ + x’y’z )’ = (x’yz’ )’(x’y’z)’ = (x + y’ + z)(x + y + z’ ) F2’ = [x(y’z’ + yz)]’ = x’ + (y’z’ + yz)’ = x’ + (y’z’ ) (yz)’ = x’ + (y + z)(y’ + z’ ) = x’ + yz’ + y’z
Complement of Function: Example Note: A simpler procedure for deriving the complement of a function is to take the dual of the function and complement each literal. Dual of a function is obtained from the interchange of AND and OR operators and interchanging identity elements1’s and 0’s. F1 = x’yz’ + x’y’z and F2 = x(y’z’ + yz). F1’ =? F1’ =? F1’ = (x’yz’ + x’y’z)’ = (x’yz’)’ (x’y’z)’ = ((x’)’ + y’ + (z’)’ )(x + y + z’) = (x+y’+z)(x+y+z’) F2’ = x(y’z’ + yz) = x’ + (y’z’+yz)’ = x’ + [(y’z’) (yz) ] = x’ + (y+z)(y’+z’) = x’ + yy’ + zy’ +yz’+zz’ = x’ + zy’ + yz’
Complement of Function: Example A simpler procedure for deriving the complement of a function is to take the dual of the function and complement each literal. Where dual of a function is obtained from the interchange of AND and OR operators and 1’s and 0’s. F1 = x’yz’ + x’y’z and F2 = x(y’z’ + yz). F1’ =? F1’ =? F1’ = (x’yz’ + x’y’z) = (x+y’+z) (x+y+z’) F2’ = x(y’z’ + yz) = x’+ (y+z) (y’+z’)
Canonical and Standard Forms In canonical form, boolean function is expressed using min terms and max terms. In Standard form, boolean function is expressed in the form of sum of products and products of sums.
Canonical and Standard Forms For a given operation “and” with two variables x and y, there are four possible combinations: xy, x’y, xy,’ and x’y.’ Each of these four AND terms is called a minterm, or a standard product. In a similar fashion, n variables forming an OR term Each variable being primed or unprimed, provide 2 n possible combinations, called maxterms, or standard sums Boolean function in terms of minterms from truth table Any Boolean function can be expressed as a sum of minterms (with “sum” meaning the ORing of terms). Boolean function in terms of maxterm from truth table: Any Boolean function can be expressed as a product of maxterms (with “product” meaning the Anding of terms). Conversion between canonical forms Boolean function in terms of POS from a given SOP
Canonical Form using minterm and maxterms A Boolean function can be expressed algebraically from a given truth table by forming a minterm for each combination of the variables that produces a 1 in the function and then taking the OR of all those terms. Example: f1 = x’y’z + xy’z’ + xyz It may be read from the truth table by forming a minterm for each combination that produces a 1 in the function and then ORing those terms Example: f1 = x’y’z + xy’z’ + xyz = m1 + m4 + m7 = M0. M2. M3. M5. M6
Canonical Form using minterm and maxterms A Boolean function can be expressed algebraically from a given truth table by forming a maxterm for each combination of the variables that produces a 0 in the function. Each maxterm is obtained from an OR term of the n variables, with each variable being unprimed if the corresponding bit is a 0 and primed if a 1 Example: f1 = x’y’z + xy’z’ + xyz = m1 + m4 + m7 = M0. M2. M3. M5. M6
Conversion Between Canonical Forms: From SOP to POS Example: F1 = x’y’z + xy’z’ + xyz = m1 + m4 + m7 F1’ = m0 + m2+m3+m5+m6 F1’ = x’y’z’ + x’yz’+ x’yz +xy’z+xyz’ Take complement of f1’ = ? F1 = x’y’z’ + x’yz’+ x’yz +xy’z+xyz’ F1 = x’y’z’ + x’yz’+ x’yz +xy’z+xyz’ F1 = (x+y+z)(x+y’+z)(x+y’+z’)(x’+y+z’)(x’+y’+z)
Conversion Between Canonical Forms: … Contd The complement of a function expressed as the sum of minterms equals the sum of minterms missing from the original function. Consider an example F(A, B, C) = ∑ (1, 4, 5, 6, 7) This function has a complement that can be expressed as F’ (A, B, C) = ∑ (0, 2, 3) = m0 + m2 + m3 Complement of F’ by demorgan’s theorem, we obtain F in form of maxterms F = (m0 + m2 + m3) = (m’0 m’2 m’3) = M0M2M3 = ∏ (0, 2, 3) where following relation holds: m i ’ =M i Example F= xy+x’z??
Practice Example Examples F1 = x’y’z + xy’z’ + xyz F2 = x’yz + xy’z + xyz’ + xyz Part 1) Express Boolean function in terms of minterms Part 2) Express Boolean function in terms of maxterms
Standard Form Another way to express Boolean functions is in standard form. The two canonical forms of Boolean algebra are basic forms that one obtains from reading a given function from the truth table. These forms are very seldom the ones with the least number of literals, because each minterm or maxterm must contain, by definition, all the variables, either complemented or uncomplemented The terms that form the function may contain one, two, or any number of literals. There are two types of standard forms: the sum of products and products of sums. The sum of products is a Boolean expression containing AND terms, called product terms, with one or more literals each. The sum denotes the ORing of these terms.
Standard Form : Sum of Products - Example An example of a function expressed as a sum of products is F1 = y’ + xy + x’yz’ The expression has three product terms, with one, two, and three literals. Their sum is, in effect, an OR operation. Logic diagram of a sum-of-products? The logic sum is formed with an OR gate whose inputs are the outputs of the AND gates and the single literal. This circuit configuration is referred to as a two ‐ level implementation. (assumed that the input variables are directly available in their complements)
Standard Form : Products of Sum - Example An example of a function expressed as a sum of products is F2 = x(y’ + z)(x’ + y + z’) The expression has three sum terms, with one, two, and three literals. Their product is, in effect, an AND operation. Logic diagram of a sum-of-products? The logic sum is formed with an OR gate whose inputs are the outputs of the AND gates and the single literal. This circuit configuration is referred to as a two ‐ level implementation as well. (assumed that the input variables are directly available in their complements)
Example 2.4 is conversion from standard form to canonical form Express the Boolean function F = A + B’C as a sum of minterms. The function has three variables: A, B, and C. The first term A is missing two variables; therefore A = A(B + B‘ ) = AB + AB‘ AB = AB(C+C‘) AB‘ = AB‘(C+C‘) AB = ABC+ABC‘ AB‘ = AB‘C + AB‘C‘ A = ABC+ABC‘ + AB‘C + AB‘C‘ The second term B‘C is missing one variable; therefore B‘C = B‘C(A+A‘) B‘C = B‘CA + B‘CA‘ F = A + B‘C = ABC+ABC‘ + AB‘C + AB‘C‘ + B‘CA + B‘CA‘ = ABC + ABC‘ + AB‘C + AB‘C‘ + B‘CA‘ F= ∑(1,4,5,6,7) = m1+m4+m5+m6+m7
Example 2.5 is conversion from standard form to canonical form Express the Boolean function F = xy + x’z as a product of maxterms. First, convert the function into OR terms by using the distributive law: F = xy + x’ z = (xy + x’ )(xy + z) = (x + x’ )(y + x’ )(x + z)(y + z) = (x’ + y)(x + z)(y + z) The function has three variables: x, y, and z. Each OR term is missing one variable X’ + y = x’ + y + zz’ = (x’ + y + z)(x’ + y + z’ ) x + z = x + z + yy’ = (x + y + z)(x + y’ + z) y + z = y + z + xx’ = (x + y + z)(x’ + y + z) Combining all the terms and removing those which appear more than once, we obtain F = (x + y + z)(x + y’ + z)(x’ + y + z)(x’ + y + z’ ) = M 0 M 2 M 4 M 5
Next Class Karnaugh Maps or K-map 2,3 and 4 input K-Map Don’t Care conditions