Syntéza BCD dekodéru pro sedmisegmentový displej: od pravdivostní tabulky po simulaci
BCD dekodér převádí 4bitový binárně-desítkový kód (0–9) na signály pro sedmisegmentový displej. Každý segment (a–g) je řízen logickou funkcí vstupů x3 (nejvyšší bit), x2, x1, x0 (nejnižší bit). Pro číslice 10–15 (1010–1111) jsou segmenty vypnuty.
Pravdivostní tabulka určuje stavy segmentů:
| Číslice | x3 | x2 | x1 | x0 | a | b | c | d | e | f | g |
|---------|----|----|----|----|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 3 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 4 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 6 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| 8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 9 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
Metody syntézy logických funkcí
Pro každý segment se syntetizuje Booleova funkce. Výběr metody závisí na převažujícím počtu jedniček nebo nul:
- DNF (podle jedniček): konjunkce minitermů s jedničkou na výstupu, spojené disjunkcí. Doporučeno při >50 % jedniček.
- KNF (podle nul): disjunkce makstermů s nulou na výstupu, spojené konjunkcí. Doporučeno při >50 % nul.
Příklad pro segment A (2 nuly: 1,4) – KNF:
- Řádek 0001:
(x3 ∨ x2 ∨ x1 ∨ ¬x0) - Řádek 0100:
(x3 ∨ ¬x2 ∨ x1 ∨ x0) - A =
(x3 ∨ x2 ∨ x1 ∨ ¬x0) ∧ (x3 ∨ ¬x2 ∨ x1 ∨ x0)
Příklad pro E (4 jedničky) – DNF:
- 0000:
¬x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0 - 0010:
¬x3 ∧ ¬x2 ∧ x1 ∧ ¬x0 - 0110:
¬x3 ∧ x2 ∧ x1 ∧ ¬x0 - 1000:
x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0 - E = sjednocení prostřednictvím ∨.
Minimalizace výrazů
Zjednodušení pomocí Karnaughových map nebo online kalkulaček. Úplné minimalizované formule (součet součinů):
- a:
((¬x0 ∧ ¬x2) ∨ x3 ∨ x1 ∨ (x0 ∧ x2)) - b:
((¬x0 ∧ ¬x1) ∨ ¬x2 ∨ x3 ∨ (x0 ∧ x1)) - c:
x3 ∨ x2 ∨ ¬x1 ∨ x0 - d:
((¬x0 ∧ ¬x2) ∨ x3 ∨ (¬x0 ∧ x1) ∨ (x0 ∧ ¬x1 ∧ x2) ∨ (x1 ∧ ¬x2)) - e:
((¬x0 ∧ ¬x1 ∧ ¬x2) ∨ (¬x0 ∧ x1 ∧ ¬x3)) - f:
((¬x0 ∧ ¬x1) ∨ x3 ∨ (¬x0 ∧ x2) ∨ (¬x1 ∧ x2)) - g:
((¬x0 ∧ ¬x1 ∧ ¬x2) ∨ (¬x0 ∧ x1 ∧ ¬x2) ∨ (x0 ∧ x1 ∧ ¬x2) ∨ (x3 ∧ ¬x2 ∧ ¬x1))
Tyto výrazy lze realizovat pomocí hradel AND, OR, NOT.
Hierarchická realizace v Digital Deeds
Digital Deeds podporuje hierarchické bloky (.cbe pro bloky, .pbs pro schémata).
Krok 1: Blok segmentu
- Nový blok: 4 vstupy (x3–x0), 1 výstup.
- Piny přejmenovat: dvojklik.
- Propojit vodiči (Ctrl+W) podle vzorce, např. pro A.
Krok 2: Hlavní schéma
- Nové obvod.
- Import uživatelských komponent (7 bloků).
- Paralelní vstupy x0–x3 ke všem blokům.
- Výstupy na sedmisegmentový displej.
Testování: procházení 0000–1001 ukazuje správné číslice. Simulátor generuje časové diagramy pro ladění.
Co je důležité
- Volba DNF/KNF závisí na hustotě jedniček/nul v pravdivostní tabulce.
- Minimalizace snižuje počet hradel: Karnaughovy mapy pro 4 proměnné jsou optimální.
- Hierarchické bloky usnadňují škálování pro FPGA/ASIC.
- BCD dekodér je základním blokem pro čítače, časovače, displeje.
- Testování v simulátoru odhaluje chyby před fyzickou montáží.
— Editorial Team
Zatím žádné komentáře.