270 likes | 538 Vues
Chapter 2 Minimization of Switching Functions. 2.1 Boolean Algebra. Table 1 Boolean Operators for Variables x 1 and x 2. Table 2 Truth Table for AND, OR, NOT, Exclusive-OR, and Exclusive-NOR Operations. Axiom 1: Boolean set definition
E N D
2.1 Boolean Algebra Table 1 Boolean Operators for Variables x1 and x2 Table 2 Truth Table for AND, OR, NOT, Exclusive-OR, and Exclusive-NOR Operations
Axiom 1: Boolean set definition • The set B contains at least two elements x1 and x2, where x1≠x2. • Axiom 2: Closure laws • For every x1,x2 ∈ B • (a) x1 + x2∈ B • (b) x1 • x2∈ B • Axiom 3: Identity laws • For every x1 ∈ B • (a) x1 + 0 = 0 + x1 = x1 • (b) x1 • 1 = 1 • x1 = x1
Axiom 4: Commutative laws • For every x1,x2∈ B • (a) x1 + x2 = x2 + x1 • (b) x1 • x2 = x2 • x1 • Axiom 5: Associative laws • For every x1, x2, x3∈ B • (a) (x1 + x2) + x3 = x1 + (x2 + x3) • (b) (x1 • x2) • x3 = x1 • (x2 • x3) • Axiom 6: Distributive laws • For every x1, x2, x3∈ B • (a) x1 + (x2 • x3) = (x1 + x2) • (x1 + x3) • (b) x1 • (x2 + x3) = (x1 • x2) + (x1 • x3)
Axiom 7: Complementation laws • For every x1 , x1' ∈ B • (a) x1 + x1' =1 • (b) x1 • x1' = 0 • Theorem 1: 0 and 1 associated with a variable • (a) x1 + 1 =1 • (b) x1 • 0 = 0 • Theorem 2: 0 and 1 complement • (a) 0' = 1 • (b) 1' = 0 • Theorem 3: Idempotent laws • (a) x1 + x1 = x1 • (b) x1 • x1 = x1
Theorem 4: Involution law • x1''= x1 • Theorem 5: Absorption law 1 • For every x1, x2∈ B • (a) x1 + (x1 • x2) = x1 (Does not imply x1 • x2 = 0 ) • (b) x1 • (x1 + x2) = x1 • Theorem 6: Absorption law 2 • (a) x1 + (x1' • x2) = x1 + x2 • (b) x1 • (x1' + x2) = x1 • x2 • Theorem 7: DeMorgan’s laws • (a) (x1 + x2) ' = x1' • x2' • (b) (x1 • x2) ' = x1' + x2'
Minterm • A minterm is the Boolean product of n variables and contains all n variables of the function exactly once, either true or complemented. • Example: x1x2'x3 • Maxterm • A maxterm is the Boolean sum of n variables and contains all n variables of the function exactly once, either true or complemented. • Example: x1 + x2' + x3 • Product term • A product term is the Boolean product of variables containing a subset of the possible variables or their complements. • Example: x1'x3(does not contain all the variables)
Sum term • A sum term is the Boolean sum of variables containing a subset of the possible variables or their complements. • Example: x1'+x3 (does not contain all the variables) • Sum of minterms • A sum of minterms is an expression in which each term contains all the variables, either true or complemented. • Example: z1(x1,x2,x3) = x1'x2x3+ x1x2'x3' + x1x2x3 • Sum of products • A sum of products is an expression in which at least one term does not contain all the variables; that is, at least one term is a proper subset of the possible variables or their complements. • Example: z1(x1,x2,x3) = x1'x2x3+ x2'x3' + x1x2x3
Product of maxterms • A product of maxterms is an expression in which each term contains all the variables, either true or complemented. • Example: z1(x1,x2,x3) = (x1+x2+x3) (x1+x2'+x3') (x1+x2+x3) • Product of sums • A product of sums is an expression in which at least one term does not contain all the variables; that is, at least one term is a proper subset of the possible variables or their complements. • Example: z1(x1,x2,x3) = (x1'+x2+x3) (x2'+x3') (x1+x2+x3)
2.2 Algebraic Minimization • The number of terms and variables that are necessary to generate a Boolean function can be minimized by algebraic manipulation. • Example x1x2 + x1'x3 + x2x3 = x1x2 + x1'x3 + x2x3 = x1x2 + x1'x3 + x2x3(x1 + x1')Complementation law = x1x2 + x1'x3 + x1x2x3 + x1'x2x3Distributive law = x1x2 + x1x2x3 + x1'x3 + x1'x2x3Commutative law = x1x2(1 + x3) + x1'x3(1 + x2) Distributive law = (x1x2 • 1) + (x1'x3 • 1) Theorem 1 = x1x2 + x1'x3Identity law
2.3 Karnaugh Maps • The Karnaugh map provides a simplified method for minimizing Boolean functions. • A Karnaugh map provides a geometrical representation of a Boolean function. • The Karnaugh map is arranged as an array of squares (or cells) in which each square represents a binary value of the input variables.
(a) (b) (c) Figure 1 Two-variable Karnaugh map: (a) truth table; (b) minterm placement; and (c) minterms
(a) (b) (c) Figure 2 Karnaugh maps showing minterm locations: (a) two variables; (b) three variables; (c) four variables.
(d) Figure 2 Karnaugh maps showing minterm locations: (d) five variables.
(e) Figure 2 Karnaugh maps showing minterm locations: (e) alternative map for five variables.
Example • The following function will be minimized using a 4-variable Karnaugh map: • z1(x1,x2,x3, x4) = x2x3' + x2x3x4' + x1x2'x3 + x1x3x4' • Karnaugh map representation of the function • z1(x1,x2,x3, x4) = x2x3' + x2x3x4' + x1x2'x3 + x1x3x4' • z1(x1,x2,x3, x4) = x2x3' + x2x4' + x1x2'x3 z1
2.3.1 Map-Entered Variables • Variables may also be entered in a Karnaugh map as map-entered variables, together with 1s and 0s. • A map of this type is more compact than a standard Karnaugh map, but contains the same information. • A map containing map-entered variables is particularly useful in analyzing and synthesizing synchronous sequential machines. • When variables are entered in a Karnaugh map, two or more squares can be combined only if the squares are adjacent and contain the same variable(s).
Example • The following Boolean equation will be minimized using a 3-variable Karnaugh map with x4 as a map-entered variable: z1(x1,x2,x3, x4) = x1x2'x3 x4' + x1x2 + x1'x2'x3'x4' + x1'x2'x3'x4 z1(x1,x2,x3, x4) = x1x2'x3(x4') + x1x2 + x1'x2'x3'(x4') + x1'x2'x3'(x4) z1
Location 0 : x4' + x4 = 1 • Location 7 : 1 = 1 + x4' • Minterm 0 equates to x1'x2'x3'. • Minterm locations 5 and 7 to be combined as x1x3x4'. • Minterms 6 and 7 combine to yield the term x1x2. • The minimized equation for z1 is : z1(x1,x2,x3,x4) = x1x3x4' + x1x2 + x1'x2'x3' z1
2.4 Quine-McCluskey Algorithm • The Quine-McCluskey algorithm is a tabular method of obtaining a minimal set of prime implicants that represents the Boolean function. • The method consists of two steps: • first obtain a set of prime implicants for the function; • then obtain a minimal set of prime implicants that represents the function. • The rationale for the Quine-McCluskey method relies on the repeated application of the distributive and complementation laws.
The following function will be minimized using the Quine-McCluskey method: Table 4 Minterms Listed in Groups
Figure 3 essential and nonessential prime implicants Figure 4 secondary essential prime implicants with minimal cover for remaining prime implicants
f(x1,x2,x3,x4) = x2x3x4' + x2'x3' + x1'x3x4 z1 Figure 5 Karnaugh map for Example
2.4.1 Petrick Algorithm • The function may not always contain an essential prime implicant, or the secondary essential prime implicants may not be intuitively obvious. • The technique for obtaining a minimal cover of secondary prime implicants is called the Petrick algorithm
Example Function is covered = (pi1 + pi2)(pi1 + pi3)(pi2 + pi4)(pi2 + pi3)(pi1 + pi4) All minterms are covered = pi1pi2 + pi2pi3pi4 + pi1pi3pi4