Decodierer
Übersicht
- Zweck: Der Decodierer ist eine kombinatorische Logikschaltung, die einen binären Eingangscode in eine Reihe einzelner Ausgangsleitungen umwandelt, wobei für jede eindeutige Eingangskombination genau ein Ausgang aktiv ist. Er expandiert eine kompakte Binärdarstellung in ein „One-Hot"-Format.
- Symbol: Der Decodierer in DigiSim.io ist ein 2-zu-4-Decodierer, dargestellt als rechteckiger Block mit 2 binären Eingangsleitungen (A0, A1) und 4 Ausgangsleitungen (Y0, Y1, Y2, Y3).
- Rolle in DigiSim.io: Dient als grundlegender Baustein für Adressdecodierung, Datenführung und Erzeugung von Steuersignalen in Digitalschaltungen.

Funktionsbeschreibung
Logikverhalten
Der Decodierer aktiviert basierend auf dem an seinen Eingängen anliegenden Binärwert genau eine Ausgangsleitung. Nur der Ausgang, der der binären Eingangskombination entspricht, geht auf HIGH; alle anderen Ausgänge bleiben LOW.
Wahrheitstabelle (2-zu-4-Decodierer):
| A1 | A0 | Y0 | Y1 | Y2 | Y3 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 |
Eingänge und Ausgänge
Eingänge:
- Adresseingänge (A0, A1): 2 binäre Eingänge, die bestimmen, welcher Ausgang aktiviert wird.
Ausgänge:
- Ausgangsleitungen (Y0–Y3): 4 Ausgangsleitungen, von denen für jede eindeutige Eingangskombination genau eine aktiv (HIGH) ist.
Konfigurierbare Parameter
- Aktiver Pegel: Ob die Ausgänge aktiv-high (1) oder aktiv-low (0) sind.
- Laufzeitverzögerung: Die Zeit, die die Ausgänge benötigen, um nach einer Eingangsänderung zu wechseln.
Visuelle Darstellung in DigiSim.io
Der Decodierer wird als rechteckiger Block mit 2 Eingangspins (A0, A1) auf der linken oder unteren Seite und 4 Ausgangspins (Y0–Y3) auf der rechten oder oberen Seite dargestellt. Er ist mit der Größenangabe „2:4" beschriftet. In einer Schaltung zeigt die Komponente durch Farbänderungen auf den Verbindungsleitungen visuell an, welcher Ausgang aktiv ist.
Pädagogischer Wert
Schlüsselkonzepte
- Binäre Codierung/Decodierung: Veranschaulicht, wie Binärwerte in One-Hot-Darstellungen expandiert werden können.
- Adressauswahl: Verdeutlicht, wie Binäradressen zur Auswahl bestimmter Speicherorte oder Geräte verwendet werden.
- One-Hot-Codierung: Führt das Konzept ein, dass von vielen möglichen Signalen genau eines aktiv ist.
- Entwurf kombinatorischer Logik: Zeigt, wie komplexe Funktionen mit elementaren Logikbausteinen umgesetzt werden können.
Lernziele
- Verstehen, wie Binärwerte in einzelne Auswahlleitungen decodiert werden.
- Lernen, wie Decodierer eine effiziente Adressierung in digitalen Systemen ermöglichen.
- Die Rolle von Decodierern in Speichersystemen und Steuerwerken erkennen.
- Decodierer beim Entwurf von Adressdecodierschaltungen und Steuersignalgeneratoren anwenden.
- Erfassen, wie Decodierer kaskadiert werden, um größere Decodierstrukturen zu bilden.
Anwendungsbeispiele/Szenarien
- Speicheradressierung: Auswahl bestimmter Speicherchips oder Speicherorte anhand von Adressbits.
- Befehlsdecodierung: Erzeugung von Steuersignalen aus Befehlsopcodes in Prozessoren.
- Eingangs-/Ausgangsauswahl: Aktivierung bestimmter Peripheriegeräte anhand von Adresswerten.
- Anzeigetreiber: Umwandlung von Binärwerten in Segmentmuster in Anzeigesystemen.
- Zustandsdecodierung: Erzeugung spezifischer Steuersignale auf Basis des aktuellen Zustands in Zustandsmaschinen.
Technische Hinweise
- Der DigiSim.io-Decodierer ist ein 2-zu-4-Decodierer mit 2 Eingängen (A0, A1) und 4 Ausgängen (Y0–Y3).
- Das Verhältnis zwischen der Anzahl der Eingänge (n) und der Ausgänge (m) eines Decodierers lautet typischerweise m = 2^n.
- Decodierer können kaskadiert werden, um größere Decodierer zu bilden. Beispielsweise lassen sich mit zwei 2-zu-4-Decodierern und einem zusätzlichen Eingang ein 3-zu-8-Decodierer realisieren.
- Bei aktiv-low-Decodierern sind die Ausgänge normalerweise HIGH und gehen bei Auswahl auf LOW; dies wird häufig für Chip-Select-Signale in Speicherchips genutzt.
- In DigiSim.io reagieren Decodierer unmittelbar auf Eingangsänderungen und modellieren so das kombinatorische Logikverhalten dieser Bausteine.
Arten von Decodierern
Binärdecodierer
- Standard-n-zu-2ⁿ-Decodierer (z. B. 2-zu-4, 3-zu-8, 4-zu-16)
- Wandeln Binärcode in One-Hot-Ausgang um
BCD-zu-Dezimal-Decodierer
- 4-zu-10-Decodierer zur Umwandlung von BCD in eine Dezimalanzeige
- Häufig in Anzeigeanwendungen
Adressdecodierer
- Verwendet zur Auswahl von Speicher- und I/O-Adressen
- Liefern oft Chip-Select-Ausgänge
Decodierer für 7-Segment-Anzeigen
- Wandeln binäre/BCD-Eingänge in Ausgänge für 7-Segment-Anzeigen um
- 4-zu-7-Decodierer für numerische Anzeigen
Demultiplexer
- Sonderfall von Decodierern zur Datenführung
- Leiten einen Eingang zu einem von mehreren Ausgängen
Aktiv-Low-Decodierer
- Ausgänge sind normalerweise HIGH; aktive Ausgänge gehen auf LOW
- Häufig in Speichersystemen verwendet
Anwendungen
Speicheradressdecodierung
- Auswahl des korrekten Speicherchips oder Speicherorts
- Erzeugung von Chip-Select-Signalen in Speichersystemen
Befehlsdecodierung
- Erzeugung von Steuersignalen in CPUs
- Interpretation von Opcodes
Datenführung
- Lenkung von Daten zu den passenden Verarbeitungseinheiten
- Bus-Adressierung in Mikroprozessoren
Anzeigesysteme
- Ansteuerung von 7-Segment-Anzeigen
- Steuerung von LCD/LED-Matrizen
Tastatur-/Tastenfeldabtastung
- Abtastung von Matrixtastaturen
- Steuerung von Eingabegeräten
Demultiplex-Operationen
- Signalführung in Kommunikationssystemen
- Kanalauswahl
Erzeugung von Steuersignalen
- Erzeugung spezifischer Steuersignale anhand von Befehlscodes
- Ausgänge von Zustandsmaschinen
Implementierungsmethoden
Logikgatter-Arrays
- AND-Gatter mit nach Bedarf vorgeschalteten Invertern
- Häufig in Baumstruktur angeordnet
Integrierte Schaltungen
- 74LS138: 3-zu-8-Decodierer
- 74LS154: 4-zu-16-Decodierer
- 74LS47: BCD-zu-7-Segment-Decodierer
NAND/NOR-Gatter-Implementierung
- Verwendung universeller Gatter für alle Decodierfunktionen
- Erfordert typischerweise weniger Gatter als AND/OR
HDL-Entwurf
- Mit Case-Anweisungen oder bedingten Zuweisungen
- Leicht parametrisierbar für unterschiedliche Größen
ROM-basierte Implementierung
- Verwendung von Lookup-Tabellen für komplexe Decodierfunktionen
- Programmierbare Logikansätze
Schaltungsimplementierung (2:4-Decodierer)
Ein einfacher 2-zu-4-Decodierer kann mit AND-Gattern und Invertern realisiert werden:
graph LR
InputA0[A0] --> NotGate0[NOT]
InputA1[A1] --> NotGate1[NOT]
NotGate0 --> AndGate0[AND]
NotGate1 --> AndGate0
AndGate0 --> OutputY0[Y0: 00]
InputA0 --> AndGate1[AND]
NotGate1 --> AndGate1
AndGate1 --> OutputY1[Y1: 01]
NotGate0 --> AndGate2[AND]
InputA1 --> AndGate2
AndGate2 --> OutputY2[Y2: 10]
InputA0 --> AndGate3[AND]
InputA1 --> AndGate3
AndGate3 --> OutputY3[Y3: 11]
Ausgangsauswahl: Jeder Ausgang entspricht einer eindeutigen 2-Bit-Adresskombination.
Boolesche Gleichungen (2:4-Decodierer)
Für einen 2-zu-4-Decodierer:
- Y0 = Ā1 · Ā0
- Y1 = Ā1 · A0
- Y2 = A1 · Ā0
- Y3 = A1 · A0
Wobei · das logische UND und Ā das logische NICHT bezeichnet
Verwandte Komponenten
- Codierer: Führen die inverse Operation aus (One-Hot zu Binär)
- Multiplexer: Wählen einen von mehreren Eingängen anhand der Auswahlleitungen aus
- Demultiplexer: Funktional ähnlich, leiten jedoch Daten weiter, statt Muster zu erzeugen
- Prioritätscodierer: Spezielle Codierer, die mehrere aktive Eingänge handhaben
- Anzeigetreiber: Enthalten häufig Decodierer zur Anzeigesteuerung
- Speicheradressdecodierer: Spezialisiert für Speichersysteme
- Programmierbare Logik-Arrays: Können Decodierfunktionen implementieren