Prof. Dr. Thorsten Jungmann (last updated 2026-10-19)
Relates to DET-03 Representation and minimization of logic functions
Task
A logic function can be written in several equivalent forms: as a truth table, as a minterm list or a maxterm list, and as a canonical disjunctive normal form (DNF) or a canonical conjunctive normal form (CNF). In this exercise, you switch between these forms. In each function, the first variable has the highest weight, as in the truth tables of the lesson.
a) The function has the following truth table. Give its minterm list, its maxterm list, its canonical DNF and its canonical CNF.
| Row | |||
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 2 | 1 | 0 | 1 |
| 3 | 1 | 1 | 1 |
b) Set up the truth table of , and give its canonical DNF.
c) Give the minterm list and the canonical CNF of , and draw the two-level circuit of the canonical CNF.
d) The function has the following truth table. Give its minterm list and its maxterm list. Which of the two canonical normal forms needs fewer gates? Write that normal form down.
| Row | |||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 2 | 0 | 0 | 1 | 0 | 1 |
| 3 | 0 | 0 | 1 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 | 1 |
| 5 | 0 | 1 | 0 | 1 | 1 |
| 6 | 0 | 1 | 1 | 0 | 0 |
| 7 | 0 | 1 | 1 | 1 | 1 |
| 8 | 1 | 0 | 0 | 0 | 1 |
| 9 | 1 | 0 | 0 | 1 | 1 |
| 10 | 1 | 0 | 1 | 0 | 1 |
| 11 | 1 | 0 | 1 | 1 | 0 |
| 12 | 1 | 1 | 0 | 0 | 0 |
| 13 | 1 | 1 | 0 | 1 | 1 |
| 14 | 1 | 1 | 1 | 0 | 1 |
| 15 | 1 | 1 | 1 | 1 | 1 |
Solution
Given
Given explicitly:
- a) the truth table of
- b)
- c)
- d) the truth table of
Known:
- Minterms and the canonical DNF (DET-03, DET-03)
- Maxterms and the canonical CNF (DET-03, DET-03)
- Minterm and maxterm lists (DET-03)
- Truth table in the order of a binary count (DET-02)
- Effort of a circuit: the gates and their inputs (DET-03)
Required
a) the minterm list, the maxterm list, the canonical DNF and the canonical CNF of
b) the truth table and the canonical DNF of
c) the minterm list, the canonical CNF and the two-level circuit of
d) the minterm list and the maxterm list of , and the canonical normal form with fewer gates
a) Two inputs
The minterm list names the rows with , the maxterm list the rows with (DET-03, 2.5). Here, is 0 only in row 1:
For the canonical DNF, you need the minterm of each row with . A variable that is 0 in the row appears negated, a variable that is 1 appears as it is (DET-03, 2.1):
| Row | Minterm | |||
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | |
| 2 | 1 | 0 | 1 | |
| 3 | 1 | 1 | 1 |
In row 0, both inputs are 0, so both appear negated; in row 2, only is 0; in row 3, neither. The OR of the three minterms is the canonical DNF (DET-03, 2.2):
For the canonical CNF, you need the maxterm of each row with . Here, the rule is reversed: a variable that is 1 in the row appears negated, a variable that is 0 appears as it is (DET-03, 2.3). The only zero lies in row 1, with and . Its maxterm alone is the canonical CNF (DET-03, 2.4):
With a single zero, the canonical CNF needs only an OR gate with two inputs and an inverter, while the canonical DNF needs three AND gates and an OR gate.
Check in row 1, the only zero of . For and :
In every other row, or , and the sum is 1 ✓
b) From the minterm list to the canonical DNF
The minterm list names the rows in which : rows 1, 4 and 6. In the five other rows, . With three inputs, the truth table has rows, in the order of a binary count (DET-02, 2.2). The last column shows the minterm of each row with (DET-03, 2.1):
| Row | Minterm | ||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | |
| 1 | 0 | 0 | 1 | 1 | |
| 2 | 0 | 1 | 0 | 0 | |
| 3 | 0 | 1 | 1 | 0 | |
| 4 | 1 | 0 | 0 | 1 | |
| 5 | 1 | 0 | 1 | 0 | |
| 6 | 1 | 1 | 0 | 1 | |
| 7 | 1 | 1 | 1 | 0 |
The OR of the three minterms is the canonical DNF (DET-03, 2.2):
Check in row 4, where must be 1. For , and , only the second minterm is 1:
The 1 comes from the minterm of row 4 alone, as the minterm list demands ✓
c) From the maxterm list to the canonical CNF
Every row number appears in exactly one of the two lists (DET-03, 2.5). The maxterm list names rows 0 and 5, so in the six other rows:
In a maxterm, a variable that is 1 in the row appears negated, a variable that is 0 appears as it is (DET-03, 2.3):
| Row | Maxterm | ||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | |
| 5 | 1 | 0 | 1 | 0 |
The AND of the two maxterms is the canonical CNF (DET-03, 2.4):
The circuit has two levels: an OR gate with three inputs for each maxterm and an AND gate with two inputs that combines them (DET-03, 2.4). Two inverters provide and ; only appears as it is (figure).
Check in the two rows of the maxterm list, where must be 0. For , and , the first maxterm is 0:
For , and , the second maxterm is 0:
In every other row, both maxterms are 1, and so is their AND ✓
d) Four inputs: the shorter canonical normal form
has 12 ones and four zeros, the zeros in rows 1, 6, 11 and 12 (DET-03, 2.5):
The canonical DNF needs a minterm for each of the 12 ones, the canonical CNF a maxterm for each of the four zeros. Counted as in the lesson (DET-03, 3.1), with four inverters in both cases:
| Canonical normal form | AND gates | OR gates | Gate inputs |
|---|---|---|---|
| DNF | 12 | 1 | 60 |
| CNF | 1 | 4 | 20 |
The canonical CNF needs five gates instead of 13: with few zeros, the CNF is the shorter canonical form, with few ones the DNF (DET-03, 2.5). Its maxterms, one for each zero (DET-03, 2.3):
| Row | Maxterm | |||||
|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 1 | 0 | |
| 6 | 0 | 1 | 1 | 0 | 0 | |
| 11 | 1 | 0 | 1 | 1 | 0 | |
| 12 | 1 | 1 | 0 | 0 | 0 |
Check in row 6, where must be 0. For , , and , the second maxterm is 0:
and so is the whole AND. Together, the two lists contain row numbers, each of them once ✓
