Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
introduction_to_digital_systems:combinatorial_logic [2023/11/21 07:13] – mexleadmin | introduction_to_digital_systems:combinatorial_logic [2024/11/22 00:03] (aktuell) – mexleadmin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== 3 Combinatorical | + | ====== 3 Combinatorial |
- | < | + | < |
< | < | ||
< | < | ||
- | {{url> | + | {{url> |
</ | </ | ||
- | The combinatorial logic shown in <imgref pic1> enables | + | The combinatorial logic shown in <imgref pic1> enables |
Tasks: | Tasks: | ||
Zeile 159: | Zeile 159: | ||
"$Y=1$ when $X_0$ is $0$ OR $X_1$ is $1$ OR $X_2$ is $1$ " | "$Y=1$ when $X_0$ is $0$ OR $X_1$ is $1$ OR $X_2$ is $1$ " | ||
- | This is the same as: $\overline{X_0} + X_1 + X_2$ \\ The boolean operator we need here is the OR-operator. | + | This is the same as: $\overline{X_0} + X_1 + X_2$ \\ The boolean operator we need here is the OR operator. |
Similarly, the combinations '' | Similarly, the combinations '' | ||
Zeile 198: | Zeile 198: | ||
Y & | Y & | ||
& | & | ||
- | Y & | + | Y & |
\end{align*} | \end{align*} | ||
This result from $Y$ by the sum-of-products is different compared to the result in a product-of-sums: | This result from $Y$ by the sum-of-products is different compared to the result in a product-of-sums: | ||
* product-of-sums: | * product-of-sums: | ||
- | * sum-of-products: | + | * sum-of-products: |
- | In this case, these results cannot be transformed into each other with the means of boolean rules. | + | In this case, these results cannot be transformed into each other using boolean rules. This is because the don' |
<WRAP column 100%> <panel type=" | <WRAP column 100%> <panel type=" | ||
Zeile 212: | Zeile 212: | ||
* When all inputs are used in each of the minterms the normal form is called **full conjunctive normal form** | * When all inputs are used in each of the minterms the normal form is called **full conjunctive normal form** | ||
* When synthesizing a logic circuit by the sum-of-products, | * When synthesizing a logic circuit by the sum-of-products, | ||
- | * The products-of-sum is the DeMorgan dual of the sum-of-products **__if__** there are no don't care terms. Otherwise, the results cannot be transformed into each other with the means of boolean rules. | + | * The products-of-sum is the DeMorgan dual of the sum-of-products **__when__** there are no don't care terms. Otherwise, the results cannot be transformed into each other with the means of boolean rules. |
</ | </ | ||
Zeile 236: | Zeile 236: | ||
We will in the future write this as in <imgref pic13> (c). This diagram is also called **{{wp> | We will in the future write this as in <imgref pic13> (c). This diagram is also called **{{wp> | ||
- | In the shown Karnaugh map the coordinate $X_0$ is shown vertically and $X_1$ horizontally. Similar to the coordinate system the upper left cell is for $X_1=0$ and $X_0=0$. The upper right cell is for $X_1=1$ and $X_0=0$, and the lower right one is for $X_1=1$ and $X_0=1$. In each cell the result $Y(X_1, X_0)$ is shown as a large number - similar to the color code in the coordinate system. The small number is the decimal representation of the number given by $X_1$ and $X_0$. This index is often __not__ explicitly shown in the Karnaugh map, but simplifies the fill-in of the map and helps for the start. | + | In the shown Karnaugh map the coordinate $X_0$ is shown vertically and $X_1$ horizontally. Similar to the coordinate system the upper left cell is for $X_1=0$ and $X_0=0$. The upper right cell is for $X_1=1$ and $X_0=0$, and the lower right one is for $X_1=1$ and $X_0=1$. In each cell the result $Y(X_1, X_0)$ is shown as a large number - similar to the color code in the coordinate system. The small number is the decimal representation of the number given by $X_1$ and $X_0$. This index is often __not__ explicitly shown in the Karnaugh map, but it simplifies the fill-in of the map and helps for the start. |
<WRAP center> | <WRAP center> | ||
Zeile 248: | Zeile 248: | ||
==== 3.2.2 The three-dimensional Karnaugh Map ==== | ==== 3.2.2 The three-dimensional Karnaugh Map ==== | ||
- | In this subchapter, we will have a look at our example of thermo--safety. For this example, we found two possible gate logic which can produce the required output. We have also seen, that optimizing the terms (i.e. the min- or maxterms) is often possible. However we do not know how we can find the optimum implementation. | + | In this subchapter, we will have a look at our example of thermo--safety. For this example, we found two possible gate logic which can produce the required output. We have also seen, that optimizing the terms (i.e. the min- or maxterms) is often possible. However, we do not know how we can find the optimum implementation. |
For this, we try to interpret the inputs of our example again as dimensions in a multidimensional space. The three input variables $X_0$, $X_1$, $X_2$ span a 3-dimensional space. The point '' | For this, we try to interpret the inputs of our example again as dimensions in a multidimensional space. The three input variables $X_0$, $X_1$, $X_2$ span a 3-dimensional space. The point '' | ||
Zeile 325: | Zeile 325: | ||
</ | </ | ||
- | We also have to remember, that there are multiple permutations to show exactly the same logic assignment. This can be interpreted as other ways to unwrap the cube. The <imgref pic17> shows the variant from before at (a). In the image (b) the coordinates are mixed ($X_0 \rightarrow X_1$, $X_1 \rightarrow X_2$, $X_2 \rightarrow X_0$). In image (c) the position of the origin is not in the upper left corner anymore. \\ | + | We also have to remember, that there are multiple permutations to show exactly the same logic assignment. This can be interpreted as other ways to unwrap the cube. The <imgref pic17> shows the variant from before at (a). In the image (b) the coordinates are mixed ($X_0 \rightarrow X_1$, $X_1 \rightarrow X_2$, $X_2 \rightarrow X_0$). In the image (c) the position of the origin is not in the upper left corner anymore. \\ |
Independent of the permutation, | Independent of the permutation, | ||
Zeile 355: | Zeile 355: | ||
</ | </ | ||
- | To create a four-dimensional Karnaugh map, we look at first how the two and three-dimensional Karnaugh maps can be derived. The <imgref pic19> (a) shows, that the two-dimensional Karnaugh map can be created from a one-dimensional one by folding the table on the x-axis and adding $10_2$ to all values. The additional line is marked with the new dimension $X_1$. | + | To create a four-dimensional Karnaugh map, we first look at how the two and three-dimensional Karnaugh maps can be derived. The <imgref pic19> (a) shows, that the two-dimensional Karnaugh map can be created from a one-dimensional one by folding the table on the x-axis and adding $10_2$ to all values. The additional line is marked with the new dimension $X_1$. |
The three-dimensional one is created by folding the table on the __y-axis__ and adding $100_2$ to all values. The additional line is marked with the new dimension $X_2$ (<imgref pic19> (b) ). Be aware, that the $X_0$ marking now has to be extended - it is also folded to the right. | The three-dimensional one is created by folding the table on the __y-axis__ and adding $100_2$ to all values. The additional line is marked with the new dimension $X_2$ (<imgref pic19> (b) ). Be aware, that the $X_0$ marking now has to be extended - it is also folded to the right. | ||
Zeile 560: | Zeile 560: | ||
* Online: [[https:// | * Online: [[https:// | ||
* in the [[https:// | * in the [[https:// | ||
- | * '' | + | |
- | * filling the truth table | + | |
- | * change | + | * '' |
- | * '' | + | * Change |
+ | * Filling the truth table | ||
+ | * '' | ||
+ | * The Kmap can be resorted by moving the rows in the truth table via drag-and-drop | ||
</ | </ |