Powrót do strony głównej

Dekoder BCD 7seg: synteza i symulacja

Artykuł opisuje syntezę dekodera BCD dla wyświetlacza siedmiosegmentowego: od tablicy prawdy przez PND/PNK i minimalizację do hierarchicznego schematu w Digital Deeds. Podano pełne formuły dla segmentów a–g i instrukcje realizacji.

Zbuduj dekoder BCD-7seg od zera w symulatorze
Advertisement 728x90

Synteza dekodera BCD do wyświetlacza 7-segmentowego: od tabeli prawdy do symulacji

Dekoder BCD przekształca 4-bitowy kod dwójkowo-dziesiętny (0–9) w sygnały sterujące wyświetlaczem 7-segmentowym. Każdy segment (a–g) jest sterowany funkcją logiczną od wejść x3 (najstarszy bit), x2, x1, x0 (najmłodszy bit). Dla cyfr 10–15 (1010–1111) wszystkie segmenty są wygaszone.

Tabela prawdy określa stany poszczególnych segmentów:

| Cyfra | 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 syntezowania funkcji logicznych

Dla każdego segmentu tworzy się funkcję boolowską. Wybór metody zależy od dominacji jedynek lub zer:

  • DNF (wg jedynek): koniunkcje minitermów z wynikiem 1, połączone alternatywą. Skuteczne przy >50% jedynek.
  • KNF (wg zer): alternatywy makstermów z wynikiem 0, połączone koniunkcją. Optymalne przy >50% zer.

Przykład dla segmentu A (2 zera: 1,4) — KNF:

  • Wiersz 0001: (x3 ∨ x2 ∨ x1 ∨ ¬x0)
  • Wiersz 0100: (x3 ∨ ¬x2 ∨ x1 ∨ x0)
  • A = (x3 ∨ x2 ∨ x1 ∨ ¬x0) ∧ (x3 ∨ ¬x2 ∨ x1 ∨ x0)

Przykład dla E (4 jedynki) — DNF:

  • 0000: ¬x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0
  • 0010: ¬x3 ∧ ¬x2 ∧ x1 ∧ ¬x0
  • 0110: ¬x3 ∧ x2 ∧ x1 ∧ ¬x0
  • 1000: x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0
  • E = połączenie przez ∨.

Minimalizacja wyrażeń

Uproszczenie za pomocą map Karnaugh lub kalkulatorów online. Pełne zminimalizowane formuły (suma iloczynów):

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

Te wyrażenia realizuje się na bramkach AND, OR, NOT.

Realizacja hierarchiczna w Digital Deeds

Digital Deeds obsługuje bloki hierarchiczne (.cbe dla bloków, .pbs dla schematów).

Krok 1: Blok segmentu

  • Nowy blok: 4 wejścia (x3–x0), 1 wyjście.
  • Zmiana nazw pinów: podwójne kliknięcie.
  • Połączenie przewodami (Ctrl+W) według wzoru, np. dla A.

Krok 2: Główny schemat

  • Nowy obwód.
  • Import komponentów niestandardowych (7 bloków).
  • Wejścia x0–x3 połączone równolegle do wszystkich bloków.
  • Wyjścia podłączone do wyświetlacza 7-segmentowego.

Testowanie: przejrzenie 0000–1001 pokazuje poprawne cyfry. Symulator generuje wykresy czasowe do debugowania.

Co warto pamiętać

  • Wybór DNF/KNF zależy od gęstości jedynek i zer w tabeli prawdy.
  • Minimalizacja zmniejsza liczbę elementów: karty Karnaugh dla 4 zmiennych są optymalne.
  • Bloki hierarchiczne ułatwiają skalowanie do FPGA/ASIC.
  • Dekoder BCD to podstawowy blok w licznikach, zegarach, wyświetlaczach.
  • Testowanie w symulatorze wykrywa błędy przed fizyczną montażem.

— Editorial Team

Advertisement 728x90

Czytaj dalej