In this part of the tutorial I will introduce three new concepts: minterms, maxterms and truth table
The idea behind minterms and maxterms is to study which values for the different variables make the function F return 1 and which make it return 0. The values for which F returns 1 are called minterms, while the values that make F return 0 are called maxterms.
Minterms are represented as a summation of numbers, in maths the symbol for summation is Σ (sigma), so a well represented array of minterms for a function would be as an example: Σ(1,2,3,4,5,...), but my keyboard doesn't have the Σ in it so for now on I will represent them as S(1,2,3,4,5,...), same goes for maxterms, they are multiplication of numbers, in math the symbol for multiplication is Π, so the maxterms of a function are represented as Π(1,2,3,4,5,...), but I will represent them as P(1,2,3,4,5,...). Just remember that on paper, you must use Σ and Π.
A truth table is a table (duh) that holds all possible values the variables can have and the respective output of the function, the tables will have this structure:
Code: Select all
|Values of the variables| value of F|
|---------------------------|------------|
|blablabla |blablabla |
|---------------------------|-----------|
As we know there are two types of functions: summation of products or product of sums.
- Summation of products: functions that have the type AB+C, you have to obtain minterms first.
- Product of sums: functions that have the type (A+B)*C, you must obtain the maxterms first.
Obtaining the minterms of the function AB'+C
This function we know is a summation of products, so we need to obtain the minsterms first.
We also know that this function has three variables: A, B and C, and the function has two products: AB' and C.
With this we know we have to make two truth tables, one for AB and another one for C.
The first thing we do is write these truth tables using three X's as we have three variables:
Code: Select all
XXX XXXCode: Select all
AB'X XXXCode: Select all
AB'X XXCNow that we have this, we must write all possible combinations that the X's can have, let's start with the first one:
AB'X, it has only one X so the only possible combinations are 0 and 1, so I write that bellow the X, leaving space for the known variables:
Code: Select all
AB'X
0
1Code: Select all
AB'X
100
101Code: Select all
XXCWe write that:
Code: Select all
XXC
00
01
10
11Code: Select all
XXC
001
011
101
111Code: Select all
AB'X XXC
100 001
101 011
101
111
Code: Select all
AB'X XXC
100|4 001|1
101|5 011|3
101|5
111|7
Code: Select all
AB'X XXC
100|4 001|1
101|5 011|3
111|7
Code: Select all
S(1,3,4,5,7)Now, onto the maxterms, obtaining the maxterms means obtaining the numbers that make F return 0, those numbers, obviously, are the ones that aren't on the minterms, you can do this directly and we get that:
Code: Select all
P(0,2,6)Code: Select all
ABC
000|0
001|1
010|2
011|3
100|4
101|5
110|6
111|7Code: Select all
ABC
000|0
010|2
110|6Obtaining the maxterms of the function: (A+B')*(C+B)
This function is the exact opposite type of the previous one, it's a product of sums rather than a sum of products, this means that we need to obtain the maxterms for this one first. It also means that, when doing the truth table, a negated variable will be equal 1 and a variable that is not negated will be equal 0, the opposite of the previous function, but the truth table is done in a similar manner. First we see that we have two sums: A+B' and C+B, and we have three variables: A, B and C, so the truth table will look like this:
Code: Select all
XXX XXXCode: Select all
AB'X XXXCode: Select all
AB'X XBCCode: Select all
AB'X XBC
0 0
1 1
Code: Select all
AB'X XBC
010 000
011 100
Code: Select all
AB'X XBC
010|2 000|0
011|3 100|4
Code: Select all
P(0,2,3,4)Code: Select all
S(1,5,6,7)Usage
Minterms and maxterms are used in conjunction with Karnaugh maps (we'll see them in the next lesson) to do one of the following:
- Simplify the original function to the max.
- Given only the minterms or maxterms, you can obtain a simplified version of the original function.
Exercise
As a learning exercise, I want you obtain the minterms and maxterms for the following functions:
Code: Select all
F = BD + BC'(AD' + A'D)Code: Select all
G = AB'C'D + AC'D' + AB + A'BD + AB'CCode: Select all
H = (B + E)*(C + D' + E)*(B' + C + D')*(C + E')Next: viewtopic.php?f=37&t=33704
