ECE- 1551 DIGITAL LOGIC
LECTURE 8: BOOLEAN FUNCTIONS
Assistant Prof. Fareena SaqibFlorida 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 2n 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 maxtermsA 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 termsExample: 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: mi’ =Mi
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’ ) = M0M2M4M5
Next Class
Karnaugh Maps or K-map 2,3 and 4 input K-Map Don’t Care conditions