How do you find the minterm list of a boolean expression containing XOR?

19.2k Views Asked by At

Let's say I have a boolean expression, such as F1 = x'y' ⊕ z .

How do I go about finding the minterm list for that expression?

The method I've tried is to take each term, such as x'y' and z, then fill in the missing values with all possibilities. So for x'y' there exists two options of 00- where z is 000 and 001. Then for Z it's --1, where the values can be 001, 011, 101, 111. So the minterms would come out to be 0, 1, 1, 3, 5, and 7.

My method of finding them, however, is wrong, because the minterms are actually 0,3,5, and 7.

What's the appropriate method to obtain the minterm list in this situation?

2

There are 2 best solutions below

3
On BEST ANSWER

For an expression with just three variables, the usual way is to write a truth table, depict it as Karnaugh map and find a minimal set of terms which cover all 1entries in the map.

             xy
       00  01  11  10
      +---+---+---+---+
   0  | 1 | 0 | 0 | 0 |
z     +---+---+---+---+
   1  | 0 | 1 | 1 | 1 |
      +---+---+---+---+

The simplified expression:

$$xz \lor yz \lor x'y'z'$$

This assumes that the $\oplus$ exclusive or operator has lower precedence than the $\land$ logical and operator.

From the Karnaugh map, you can see that the expression has four minterms.
Assuming $z = false$, $x'y'$ must be $true$ for $F_1$ to be $true$. This implies $x = false$ and $y = false$.
Assumption $z = true$ implies $x'y' = false$. There are three possible combinations for this as shown in the lower row of the Karnaugh map.

0
On

Steps to find minterm:

  1. Write the expression as sum of products form, i.e., containing AND, OR, NOT operators only. If there are other operators like XOR, XNOR, NAND, NOR, you have to replace them with AND, OR, NOT.

    $(a'b')'z + (a'b')z'$

    $= (a + b)z + a'b'z'$

    $= az + bz + a'b'z'$

  2. Modify each product term to contain every variable.

    $= a(b+b')z + (a+a')bz + a'b'z'$

    $= abz + ab'z + abz + a'bz + a'b'z'$

  3. Remove the duplicate terms to get the required sum of minterms.

    $= abz + ab'z + a'bz + a'b'z'$

    $= m(7, 5, 3, 0)$