Zpět na domů

BCD-dekódér 7seg: syntéza a simulace

Článek popisuje syntézu BCD-dekódéru pro sedmisegmentový indikátor: od tabulky pravdivostních hodnot přes DNF/KNF a minimalizaci po hierarchické schéma v Digital Deeds. Uvedeny kompletní vzorce pro segmenty a–g a instrukce k realizaci.

Sestavte BCD-7seg dekódér od nuly v simulátoru
Advertisement 728x90

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 |

Google AdInline article slot

|---------|----|----|----|----|---|---|---|---|---|---|---|

| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |

| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |

Google AdInline article slot

| 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 |

Google AdInline article slot

| 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

Advertisement 728x90

Číst dál