| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
| x | f |
|---|---|
| 0 | 1 |
| 1 | 0 |
| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| x₁ | x₂ | f |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
kde:
Například:
Obecný tvar pravdivostní tabulky:
| i | x₁ | x₂ | … | xₙ | f |
|---|---|---|---|---|---|
| 0 | 0 | 0 | … | 0 | ? |
| 1 | 0 | 0 | … | 1 | ? |
| 2 | 0 | 1 | … | 0 | ? |
| . | . | . | … | . | . |
| . | . | . | … | . | . |
| . | . | . | … | . | . |
kde:
Navrhněte kombinační obvod zadaný funkcí $f(2,3,5,6)$.
Kombinační obvod můžeme obecně znázornit jako blok, do kterého vstupují vstupní proměnné a na základě jejich kombinace vzniká výstupní funkce $f$.
V tomto případě:

Laicky řečeno:
Funkce $f$ říká, na jakém indexu jsou jedničky na výstupu. Protože nejvyšší index je $6$, celkový počet indexů bude $2^3 = 8$, protože pro tři vstupní proměnné existuje celkem $2^3$ různých kombinací nul a jedniček. Indexy píšeme od 0, tedy v tomto případě $0$-$7$. Ptám se kolik musím mít proměnných, abych měl v pravdivostní tabulce alespoň index 6 - resp. na kolikátou musím umocnit dvojku, aby vyšlo číslo alespoň 6. Výjde 3 (proto $2^3$), protože třetí mocnina dvojky je nejblíže číslu 6.
Dle $f(2,3,5,6)$ jsou jedničky na výstupu na indexech $2$, $3$, $5$:
| i | x₁ | x₂ | x₃ | f |
|---|---|---|---|---|
| 0 | ||||
| 1 | ||||
| 2 | 1 | |||
| 3 | 1 | |||
| 4 | ||||
| 5 | 1 | |||
| 6 | 1 | |||
| 7 |
Vyplňování hodnot u proměnných ($x₁$, $x₂$, $x₃$) se řídí jednoduchými pravidly:
Každá další proměnná střídá hodnoty dvakrát rychleji než předchozí. Poslední proměnná se mění na každém řádku. První proměnná se mění nejpomaleji.
| i | x₁ | x₂ | x₃ | f |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 2 | 0 | 1 | 0 | 1 |
| 3 | 0 | 1 | 1 | 1 |
| 4 | 1 | 0 | 0 | 0 |
| 5 | 1 | 0 | 1 | 1 |
| 6 | 1 | 1 | 0 | 1 |
| 7 | 1 | 1 | 1 | 0 |
Existuje dokonce univerzální uzavřený vzorec, který nám řekne, po kolika řádcích se mají hodnoty $0$ a $1$ střídat:
\[2^{n-k}\]kde:
Tento vzorec tedy určuje velikost bloku stejných hodnot.
Například pro:
dostaneme:
\[2^{3-1} = 2^2 = 4\]To znamená, že pokud máme $3$ proměnné a zajímá nás jak má být velký blok stejných hodnot u $1$. proměnné, tak výjde $4$, takže budeme psát $4$ nuly, $4$ jedničky.
Navrhněte dekodér Dual na Gray (3 bity).
Máme tedy 3 vstupní nožičky, do kterých vstupuje Dual, a 3 výstupní nožičky, ze kterých vystupuje Gray.

| i | x₁ | x₂ | x₃ | y₁ | y₂ | y₃ |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 0 | 0 | 1 | 1 |
| 3 | 0 | 1 | 1 | 0 | 1 | 0 |
| 4 | 1 | 0 | 0 | 1 | 1 | 0 |
| 5 | 1 | 0 | 1 | 1 | 1 | 1 |
| 6 | 1 | 1 | 0 | 1 | 0 | 1 |
| 7 | 1 | 1 | 1 | 1 | 0 | 0 |
Pro každý řádek pravdivostní tabulky:
Obecné vztahy jsou:
\[y_1 = x_1\] \[y_i = x_{i-1} \oplus x_i \qquad \text{pro } i \ge 2\]Tímto způsobem postupně vypočítáme všechny řádky pravdivostní tabulky. Zde je příklad pro řádek na 0. indexu pravdivostní tabulky:

První bit se vždy pouze opíše, všechny další bity jsou XOR dvou sousedních bitů.
Navrhněte dekodér M z N (2 ze 3) (3 bity).

| i | x₁ | x₂ | x₃ | y |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 2 | 0 | 1 | 0 | 0 |
| 3 | 0 | 1 | 1 | 1 |
| 4 | 1 | 0 | 0 | 0 |
| 5 | 1 | 0 | 1 | 1 |
| 6 | 1 | 1 | 0 | 1 |
| 7 | 1 | 1 | 1 | 0 |
Výstupní nožička ($y$) svítí právě tehdy, když právě/alespoň 2 ze 3 vstupních nožiček ($x₁$, $x₂$,, $x₃$) svítí najednou.
Napsal jsem “právě/alespoň” proto, že záleží na záměru součástky. Pokud není záměr v zadání explicitně zadán, doporučuji implicitně vybrat buď variantu “právě”, nebo “alespoň”, a pak to zkoušejícímu explicitně oznámit. Další vhodnou variantou je doptat se na záměr, nicméně první varianta působí více sebevědomě, protože jako autoři součástky uděláte vědomé rozhodnutí a nedelegujete rozhodování na zkoušejícího.
Další možné varianty zadání:

Navrhněte dekodér Dual na 7segment. displej (3 bit).
Zde je postup, kde je k minimalizaci použita Kaurnaughova mapa:

Zde je postup, kde je k minimalizaci použit Algoritmus Quine-McCluskey:

Navrhněte multiplexor 8 na 1 (8 vstupů, 1 výstup).

Multiplexor 8 na 1 má osm vstupních nožiček (D0-D8), tři výběrové nožičky (x1, x2, x3) a jednu výstupní (y).
Výběrové vstupy tvoří binární číslo, které určuje, který vstup se přepošle na výstup.
Protože:
\[2^3 = 8\]pomocí tří bitů dokážeme vybrat jeden z osmi vstupů.
Například:
| $x_1x_2x_3$ | Vybraný vstup |
|---|---|
| 000 | $D_0$ |
| 001 | $D_1$ |
| 010 | $D_2$ |
| 011 | $D_3$ |
| 100 | $D_4$ |
| 101 | $D_5$ |
| 110 | $D_6$ |
| 111 | $D_7$ |
Multiplexor funguje jako elektronický přepínač.
Na vstupu jsou připravená data:
a binární číslo (v tomto případě o délce 3) na výběrových vstupech říká:
„Který vstup mám právě poslat na výstup?“
