Lesson 03: Minterms and Maxterms
3.1 Minterms and Maxterms
Minterms and Maxterms are fundamental concepts in digital logic design, used in simplifying and analyzing boolean functions. These concepts are crucial for understanding how to represent and minimize logical expressions, especially when dealing with Karnaugh maps and Boolean algebra.
Relationships between Minterms and Maxterms:
- The product of all minterms of a function is equal to 1 (tautology).
- The sum of all maxterms of a function is equal to 0 (contradiction).
- De Morgan's Law: The negation of a minterm is a maxterm, and vice versa.
Applications of Minterms and Maxterms:
- Simplifying logic expressions: We can identify redundant terms and simplify the expression by expressing a function in terms of minterms or maxterms.
- Designing logic circuits: Minterms and maxterms can be used to translate a Boolean function directly into a logic circuit using AND, OR, and NOT gates.
Minterms
Minterms - Standard Product Form
A minterm is a product term that contains all the variables used in a function, where each variable is either true or complemented. Minterms are especially useful because they represent unique combinations of input values for which a Boolean function outputs a true value (1).
F(inputs) = 1
AND term (Product term): constructed by ANDing uncomplemented or complemented variables.
A B B C D A E
Minterms: AND term of n variables where each variable appears only once in either complimented or uncomplemented form.
Understanding Minterms:
- Definition: A minterm is a specific combination of variables that results in the output being true for exactly one unique input combination and false for all others.
- Number of Minterms: The number of minterms for a function with n variables is 2n.
- Notation: mi, where 0 ≤ i ≤ 2n
This definition sounds much more complicated than it actually is. Table 3-1 shows the eight minterms and their notations for n = 3 using the three variables x, y, and z.
Table 3-1: Minterms for Three Variables
x | y | z | Minterm | Notation |
---|---|---|---|---|
0 | 0 | 0 | x y z | m0 |
0 | 0 | 1 | x y z | m1 |
0 | 1 | 0 | x y z | m2 |
0 | 1 | 1 | x y z | m3 |
1 | 0 | 0 | x y z | m4 |
1 | 0 | 1 | x y z | m5 |
1 | 1 | 0 | x y z | m6 |
1 | 1 | 1 | x y z | m7 |
Example: Minterms for a 3-variable Function
Example: Minterms for a 3-variable Function
When specifying a function, we usually start with product terms that contain all of the variables used in the function. In other words, we want the sum-of-midterms, and more specifically, the sum of the one-minterms (i.e., the minterms for which the function is a 1) as opposed to the zero-minterms (i.e., the minterms for which the function is a 0). We use the notion of 1-minterm to denote one-minterm and 0-minterm to denote zero-minterm.
Let us consider a function f(x, y, z) with three variables.
F(x, y, z) = x y z + x y z + y z
= x y z + x y z + x y z + x y z
and repeated in the following truth table has the 1-minterms: m3, m5, m6, and m7.
x | y | z | F | Minterm | Notation |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | x y z | m0 |
0 | 0 | 1 | 0 | x y z | m1 |
0 | 1 | 0 | 0 | x y z | m2 |
0 | 1 | 1 | 1 | x y z | m3 |
1 | 0 | 0 | 0 | x y z | m4 |
1 | 0 | 1 | 1 | x y z | m5 |
1 | 1 | 0 | 1 | x y z | m6 |
1 | 1 | 1 | 1 | x y z | m7 |
Thus, a shorthand notation for the function is
F(x, y, z) = m3 + m5 + m6 + m7
We can further simplify the notation by using the standard algebraic symbol Σ for summation and listing out the minterm index numbers. Therefore, we can rewrite the equation as follows:
F(x, y, z) = Σ m(3, 5, 6, 7)
Because a function is obtained from the sum of the 1-minterms, the inverse of the function ( F ) must be the sum of the 0-minterms. This can be obtained easily by replacing the indices with those excluded from the original set. Therefore, the inverse of the above function is:
F(x, y, z) = Σ m(0, 1, 2, 4)
Conver a Function to the Sum-of-Minterms Format
Given the Boolean function F(x, y, z) = y + x z, use Boolean algebra to convert the function to the sum-of-minterms format.
- Identify the Variables and Number of Minterms:
- The function has three variables: x, y, and z
- Therefore, there will be 23 = 8 possible minterms.
- Combine Term Using Distributive Law:
- Apply the distributive law to combine terms when necessary.
- Express Ecah Minterm with All Variables:
- In a sum-of-minterms format, all product terms must have all variables.
- Ensure that each minterm includes all three variables, even if they appear complemented.
F(x, y, z) = y + x z
= y (x + x)(z + z) + x z (y + y) # Expand 1st term by ANDing it with (x + x)(z + z),
# and 2nd term with (y + y)
= x y z + x y z + x y z + x y z + x y z + x y z
= m7 + m6 + m3 + m2 + m1
= Σ m(1, 2, 3, 6, 7) # Sum of 1-minterms
Convert the Inverse of a Function to the Sum-of-Minterms Format
Given the Boolean function F(x, y, z) = y + x z, use Boolean algebra to convert the function's inverse to the sum-of-minterms format.
F(x, y, z) = y + x z # Inverse
= y (x + z)
= y x + y z
= y x (z + z) + y z (x + x)
= x y z + x y z + x y z + x y z
= m5 + m4 + m0
= Σ m(0, 4, 5) # Sum of 0-minterms
Maxterms
Maxterms - Standard Sum Term
Maxterms in digital logic design represent an alternative way to express Boolean functions, complementary to minterms. While minterms are used to construct a Boolean function as a sum (OR) of products (AND), maxterms are used to construct a Boolean function as a product (AND) of sums (OR). Each maxterm corresponds to a unique combination of input variables, resulting in the output being false (0).
F(inputs) = 0
OR term (SUM term): constructed by ORing uncomplemented or complemented variables.
A + B B + C + D D + E + F
Maxterms: OR term of n variables where each variable appears only once in either a complimented or uncomplemented form, which are denoted as Maxterms or Standard Sum Terms.
Understanding Maxterms:
- Definition: A maxterm is a sum (OR) of all the variables in a function, where each variable is in either its true form or complemented form, corresponding to a unique input combination that makes the function output 0.
- Number of Maxterms: Similar to minterms, the number of maxterms for a function with n variables is also 2n.
- Notation: Mi, where 0 ≤ i ≤ 2n
This definition sounds much more complicated than it actually is. Table 3-1 shows the eight minterms and their notations for n = 3 using the three variables x, y, and z.
Table 3-2: Maxterms for Three Variables
x | y | z | Maxterm | Notation |
---|---|---|---|---|
0 | 0 | 0 | x + y + z | M0 |
0 | 0 | 1 | x + y + z | M1 |
0 | 1 | 0 | x + y + z | M2 |
0 | 1 | 1 | x + y + z | M3 |
1 | 0 | 0 | x + y + z | M4 |
1 | 0 | 1 | x + y + z | M5 |
1 | 1 | 0 | x + y + z | M6 |
1 | 1 | 1 | x + y + z | M7 |
Maxterms for a 3-variable Function
We have seen that a function can also be specified as a product-of-maxterms, or more specifically, a product of the zero-maxterms (I.e., the maxterms for which the function is a 0). Just like the minterms, we use the notation 1-maxterm to denote one-maxterm and 0-maxterm to denote zero-maxterm.
Let us consider a function f(x, y, z) with three variables:
F(x, y, z) = x y z + x y z + y z
= (x + y + z)·(x + y + z)·(x + y + z)·(x + y + z)
Which is shown in the following table:
x | y | z | F | Maxterm | Notation |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | x + y + z | M0 |
0 | 0 | 1 | 0 | x + y + z | M1 |
0 | 1 | 0 | 0 | x + y + z | M2 |
0 | 1 | 1 | 1 | x + y + z | M3 |
1 | 0 | 0 | 0 | x + y + z | M4 |
1 | 0 | 1 | 1 | x + y + z | M5 |
1 | 1 | 0 | 1 | x + y + z | M6 |
1 | 1 | 1 | 1 | x + y + z | M7 |
can be specified as the product of the 0-maxterms M0, M1, M2, and M4. The shorthand notation for the function is:
F(x, y, z) = M0 · M1 · M2 · M4
By using the standard algebraic symbol ∏ for the product and listing out the maxterm index numbers, the notation is further simplified to
F(x, y, z) = ∏ M(0, 1, 2, 4)
Conver a Function to the Product-of-Maxterms Format
Given the Boolean function F(x, y, z) = y + x z, use Boolean algebra to convert the function to the product-of-maxterms format.
- Identify the Function's False Outputs
- Use Distributive Law to change to product-of-sums format
- Express each maxterm with all variables:
Remember, each maxterm should include all variables (x, y, and z) even if they are complemented.
F(x, y, z) = y + x z
= y + (x z) # Use Distributive Law
= (y + x)(y + z)
= (y + x + z z)(y + z + x x) # Expand 1st term by ORing it with z z,
# and 2nd term with x x
# Use Distributive Law
= (x + y + z)(x + y + z)(x + y + z)(x + y + z)
= M4 · M5 · M0
= ∏ M(0, 4, 5) # Product of 0-maxterms
Convert the Inverse of a Function to the Product-of-Maxterms Format
Given the Boolean function F(x, y, z) = y + x z, use Boolean algebra to convert the function's inverse to the product-of-maxterms format.
F(x, y, z) = y + x z
= y · (x + z)
= (y + x x + z z)· (x + z + y y) # Expand 1st term by ORing it with (x x + z z),
# and 2nd term with y y
= (x + y + z)(x + y + z)(x + y + z)(x + y + z)(x + y + z)(x + y + z)
= M2 · M3 · M6 · M7 · M1
= ∏ M(1, 2, 3, 6, 7) # Product of 1-maxterms
Notice that it is always the Σ of minterms and ∏ of maxterms; you never have Σ of maxterms or ∏ of minterms.
3.2 Conversion Between Maxterm and Maxterm
Relations between minterms and Maxterms
- Minterm is the complementary of Maxterm:
- mi = Mi
- Mj = mj
- Example:
- m1 = A B C = A + B + C = M1
Conversion between two forms
- The complement of a function = the sum-of-minterm missing from the original function
- F(A, B, C) = Σ m(1, 4, 5, 6, 7)
⇒ F(A, B, C) = Σ m(0, 2, 3) = m0 + m2 + m3
- F(A, B, C) = Σ m(1, 4, 5, 6, 7)
- From DeMorgan's theorem
- F = F = (m0 + m2 + m3) = m0 m1 m3 = M0 M2 M3 = ∏ M(0, 2, 3)
The number of maxterms that are excluded from the standard product-of-maxterm form correspond to minterms that are included in the standard sum-of-minterms form:
- F(A, B, C) = Σ m(2, 3, 6, 7)
= ∏ M(0, 1, 4, 5)
To convert from one canonical form to another:
- Interchange the symbol Σ and ∏
- List those numbers missing from the original form
3.3 Sum-of-Product and Product-of-Sum
Sum-of-Products (SoP)
Sum-of-Products (SoP)
- When we simplify a function in the sum-of-minterm form by reducing the number of product terms or by reducing the number of literals in the terms, the simplified expression is said to be in the sum-of-product form.
- A Sum-of-Products expression can be implemented using a two-level circuit.
F = Σ m(0, 1, 2, 3, 4, 5, 7) # Sum-of-Minterm
= y + x y z + x y # Sum-of-Product
Convert Sum-of-product into Sum-of-Minterm form:
- Each term must contain all the variables
- If x is missing, ANDed with (x + x)
- Example: Express F = A + (B C) in a sum of minterms
- The first term is missing two variables (B, C)
A = A (B + B) (C + C) = A B C + A B C + A B C + A B C - The second term is missing one variable (A)
B C = B C (A + A) = A B C + A B C - ∴ F = A + B C = A B C + A B C + A B C + A B C + A B C # Sum-of-minterm form
= m1 + m4 + m5 +m6 + m7
= Σ m(1, 4, 5, 6, 7)
- The first term is missing two variables (B, C)
Product-of-Sums (PoS)
Product-of-Sums (PoS)
- When we simplify a function in the product-of-maxterm form by reducing the number of sum terms or by reducing the number of literals in terms, the simplified expression is said to be in the product-of-sum form.
- A product-of-sum expression can be implemented using a two-level circuit.
F = ∏ M(0, 2, 3, 4, 5) # Product-of-Maxterm
= x (y + z) (x + y + z) # Product-of-Sum
Convert Product-of-Sum into Product-of-Maxterm form:
- Conver SoP to PoS format by using Distributive Law
- Each term must contain all the variables
- If x is missing, ORed with (x· x) and apply Distributive Law
- Example: Express F = x y + (x z) in a product-of-maxterms
- F(x, y, z) = x y + x z # SoP Format
= (x y + x) (x y + z)
= (x + x) (y + x) (x + z) (y + z)
= (x + y) (x + z) (y + z) # PoS format
Here ⇒ x + y = x + y + z z = (x + y + z)(x + y + z)
⇒ x + z = x + z + y y = (x + y + z)(x + y + z)
⇒ y + z = y + z + x x = (x + y + z)(x + y + z)
∴ F = (x + y + z)(x + y + z) (x + y + z)(x + y + z) (x + y + z) (x + y + z) # Product-of-Maxterms
= M0· M2· M4· M5
= ∏ M(0, 2, 4, 5)
- F(x, y, z) = x y + x z # SoP Format
3.4 Canonical, Stand, and Non-Standard Forms
Canonical Forms
Any Boolean function expressed as a sum-of-minterms or a product-of-maxterms is said to be in its canonical form.
Example: The following two equations are in their canonical forms:
- F = x y z + x y z + x y z + x y z # sum-of-minterms
- F = (x + y + z) (x + y + z) (x + y + z) (x + y + z) # product-of-maxterms
Standard Forms
Standard Sum-of-Product Form = Sum-of-Minterms Form
- If the Boolean function is represented as a sum-of-minterms only, the function is said to be in standard Sum-of-Product form.
- F(A, B, C) = A B C + A B C + A B C + A B C # Standard SoP form
= m2 + m6 + m3 + m7
= Σ m(2, 3, 6, 7)
- F(A, B, C) = A B C + A B C + A B C + A B C # Standard SoP form
Convert into Standard SoP Form
Convert the following Boolean function into Standard SoP form:
F(A, B, C) = A B + B C + A C # SoP
= A B (C + C) + (A + A) B C + A (B + B) C
= A B C + A B C + A B C + A B C + A B C + A B C
= A B C + A B C + A B C + A B C # Standard SoP form
= m7 + m6 + m3 + m5
= Σ m(3, 5, 6, 7)
Standard Product-of-Sum Form = Product-of-Maxterm Form
- If a Boolean function is represented as a product-of-maxterm form only, the function is said to be in standard Product-of-Sum form.
- F(A, B, C) = (A + B + C) (A + B + C) (A + B + C) (A + B + C) # Standard PoS form
= M0 · M1 · M4 · M5
= ∏ M(0, 1, 4, 5)
- F(A, B, C) = (A + B + C) (A + B + C) (A + B + C) (A + B + C) # Standard PoS form
Convert into Standard PoS Form
Convert the following Boolean function into Standard PoS form:
F(x, y, z) = x y + x z
= (x y + x) (x y + z)
= (x + x) (y + x) (x + z) (y + z)
= (x + y) (x + z) (y + z)
Here ⇒ x + y = x + y + z z = (x + y + z)(x + y + z)
⇒ x + z = x + z + y y = (x + y + z)(x + y + z)
⇒ y + z = y + z + x x = (x + y + z)(x + y + z)
∴ F = (x + y + z)(x + y + z) (x + y + z)(x + y + z) (x + y + z) (x + y + z) # Standard PoS form
= M0· M2· M4· M5
= ∏ M(0, 2, 4, 5)
Non-Standard Forms
A Boolean function is no longer in a sum-of-product or product-of-sum format, and then it is in an non-standard form.
Example: The following equation is converted from standard form to non-standard form:
- F = x y z + x y z + y z # standard sum-of-product form
= x (y z + y z) + y z # non-standard form