1-zu-8-Demultiplexer (DEMUX)
Übersicht
- Zweck: Der 1-zu-8-Demultiplexer ist eine Digitalschaltung, die ein einzelnes Eingangssignal anhand der Werte dreier Auswahlleitungen zu einem von acht möglichen Ausgängen leitet und damit die Eingangsdaten an ein bestimmtes Ziel verteilt.
- Symbol: Üblicherweise dargestellt als rechteckiger Block mit einem Dateneingang (DATA), drei Auswahleingängen (S0–S2) und acht Ausgängen (Y0–Y7).
- Rolle in DigiSim.io: Dient als wesentliche Komponente für Datenverteilung, Adressdecodierung und Routing von Steuersignalen in digitalen Systemen und ermöglicht die selektive Übertragung von Signalen an mehrere Ziele.

Funktionsbeschreibung
Logikverhalten
Der 1-zu-8-Demultiplexer leitet die Eingangsdaten zu einer bestimmten Ausgangsleitung, die durch den Binärwert seiner Auswahleingänge angegeben wird. Nur ein Ausgang (entsprechend den Werten der Auswahlleitungen) erhält die Eingangsdaten, während alle anderen Ausgänge inaktiv bleiben. Ist der Eingangsdatenwert LOW, bleiben unabhängig von den Auswahlwerten alle Ausgänge LOW.
Wahrheitstabelle:
| S2 | S1 | S0 | DATA | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Hinweis: Wenn DATA = 0, bleiben unabhängig von den Auswahlwerten alle Ausgänge auf 0.
Eingänge und Ausgänge
Eingänge:
- DATA: 1-Bit-Eingangssignal, das zu einem der acht Ausgänge geleitet wird.
- S0: Niedrigwertigstes Bit (LSB) des 3-Bit-Auswahleingangs.
- S1: Mittleres Bit des 3-Bit-Auswahleingangs.
- S2: Höchstwertiges Bit (MSB) des 3-Bit-Auswahleingangs.
Ausgänge:
- Y0–Y7: Acht 1-Bit-Ausgänge, von denen jeweils nur einer aktiv sein kann, wenn die Komponente aktiviert ist. Welcher Ausgang aktiv ist, wird durch den Binärwert von S2, S1 und S0 bestimmt.
Konfigurierbare Parameter
- Ausgangslogik: Ob die Ausgänge aktiv-high oder aktiv-low sind.
- Aktivierungslogik: Ob der Aktivierungseingang aktiv-high oder aktiv-low ist.
- Mehrere Aktivierungen: Manche Implementierungen unterstützen mehrere Aktivierungseingänge (mit AND/OR-Funktion).
- Ausgangstyp: Standard-, Open-Collector- oder Open-Drain-Konfigurationen.
- Laufzeitverzögerung: Die Zeit, die die Ausgänge benötigen, um nach einer Eingangsänderung zu wechseln.
Visuelle Darstellung in DigiSim.io
Der 1-zu-8-Demultiplexer wird als rechteckiger Block mit Eingangspins auf der linken Seite (DATA, S0, S1, S2) und acht Ausgangspins (Y0–Y7) auf der rechten Seite dargestellt. In einer Schaltung zeigt die Komponente durch Farbänderungen auf den Verbindungsleitungen visuell den aktiven Datenpfad an.
Pädagogischer Wert
Schlüsselkonzepte
- Signalverteilung: Veranschaulicht, wie digitale Systeme ein einzelnes Signal zu mehreren möglichen Zielen leiten.
- Binäre Adressierung: Zeigt, wie Binärcodes bestimmte Ausgangskanäle auswählen können.
- Selektive Aktivierung: Verdeutlicht, wie ein System eine von vielen Komponenten anhand einer Adresse aktivieren kann.
- Datenführung: Stellt grundlegende Konzepte der Signalführung und Kanalauswahl vor.
- Inverses Multiplexen: Demonstriert die zum Multiplexen komplementäre Operation.
Lernziele
- Verstehen, wie Demultiplexer Signale anhand der Werte der Auswahlleitungen leiten.
- Den Zusammenhang zwischen Binärcodes und aktivierten Ausgängen erlernen.
- Erkennen, wie Demultiplexer für Adressdecodierung und Datenverteilung verwendet werden können.
- Demultiplexerkonzepte bei der Erstellung größerer digitaler Systeme anwenden.
- Die Dualität zwischen Multiplexern und Demultiplexern im Digitalentwurf erfassen.
- Fähigkeiten zur Signalführung und -verteilung in Digitalschaltungen entwickeln.
Anwendungsbeispiele/Szenarien
- Speicheradressierung: Auswahl eines von acht Speicherchips anhand von Adressbits.
- I/O-Port-Erweiterung: Verteilung von Steuersignalen an mehrere Peripheriegeräte.
- Erzeugung paralleler Daten: Umwandlung serieller Daten in parallele, indem jedes Bit über die Zeit hinweg an unterschiedliche Ausgänge geleitet wird.
- Verteilung von Steuersignalen: Lenkung von Steuersignalen zu bestimmten Subsystemen anhand von Operationscodes.
- Kanalauswahl: Führung von Audio- oder Datensignalen zu bestimmten Ausgangskanälen.
- Selektive Komponentenaktivierung: Aktivierung einer von mehreren ähnlichen Komponenten zur Energieeffizienz.
- Seriell-zu-Parallel-Wandlung: Verteilung sequenzieller Bits an parallele Ausgänge in Kommunikationssystemen.
Technische Hinweise
- Der 1-zu-8-Demultiplexer kann mit einem 3-zu-8-Decodierer und nachgelagerten AND-Gattern realisiert werden.
- Jede Ausgangsleitung folgt der booleschen Funktion: Y(n) = DATA • EN • (S2, S1, S0 == n).
- Häufige IC-Implementierungen umfassen den 74138 mit zusätzlichen AND-Gattern für den Dateneingang.
- Durch Kaskadierung zweier 1-zu-4-Demultiplexer mit einem zusätzlichen Auswahlbit lässt sich ein 1-zu-8-Demultiplexer realisieren.
- Die Laufzeitverzögerung beträgt in Standard-IC-Implementierungen typischerweise 10–25 ns, abhängig von der Technologie.
- In DigiSim.io modelliert der Demultiplexer den Betrieb gängiger Demultiplexerschaltungen genau und zeigt die korrekte Signalführung anhand der Auswahleingänge.
Eigenschaften
Eingangskonfiguration:
- Ein Dateneingang (DATA)
- Drei Auswahleingänge (S0, S1, S2)
- Optionaler Aktivierungseingang (EN)
- Eingangslast entsprechend der verwendeten Logikfamilie
- Standard-Logikpegel (typischerweise TTL- oder CMOS-kompatibel)
- In manchen Implementierungen mit aktiv-low-Aktivierung
- Kann mehrere Aktivierungseingänge enthalten (AND/OR-Funktion)
- Üblicherweise mit Eingangsschutz gegen statische Entladung
Ausgangskonfiguration:
- Acht sich gegenseitig ausschließende Ausgänge (Y0–Y7)
- Aktiv-high- oder aktiv-low-Ausgänge je nach Implementierung
- Jeweils nur ein Ausgang aktiv (wenn DATA = 1)
- Alle Ausgänge inaktiv, wenn der Demultiplexer deaktiviert ist
- Alle Ausgänge inaktiv, wenn DATA = 0 (unabhängig von den Auswahlwerten)
- In der Lage, Standard-Digitallasten zu treiben
- Kann Open-Collector-/Open-Drain-Varianten enthalten
- Ausgangslast beeinflusst die Laufzeitverzögerung
Funktionalität:
- Leitet einen einzelnen Eingang zu einem von acht Ausgängen
- Auswahlleitungen bestimmen, welcher Ausgang den Eingang erhält
- Aktivierungseingang steuert den Gesamtbetrieb
- Kombinatorischer Logikbetrieb (kein Takt erforderlich)
- Kann für mehr Ausgänge kaskadiert werden
- Binär-zu-One-Hot-Verteilung
- In Bussystemen häufig mit aktiv-low-Ausgängen verwendet
- Ausgang ausschließlich durch den aktuellen Eingangszustand bestimmt
Laufzeitverzögerung:
- Dateneingang zu Ausgang: typischerweise 7–20 ns
- Auswahleingang zu Ausgang: typischerweise 10–25 ns
- Aktivierung zu Ausgang: typischerweise 8–22 ns
- Technologieabhängig (TTL, CMOS usw.)
- Konsistente Verzögerung über alle Ausgangspfade ist wünschenswert
- Kritischer Parameter in der schnellen Datenverteilung
- Wird durch die Ausgangslast beeinflusst
- Temperatur- und spannungsabhängig
Fan-Out:
- Jeder Ausgang treibt typischerweise 10–20 Standardlasten
- Ausgangsstrom durch die Logikfamilie definiert
- Kann bei hohem Fan-Out Pufferung erfordern
- Aktiver Ausgang muss ausreichende Treiberleistung für die Zielgeräte bieten
- Konsistent mit den Spezifikationen der Logikfamilie
- Kann zwischen Geräten derselben Familie variieren
- Kritisch für eine zuverlässige Signalverteilung
Stromverbrauch:
- Niedrige bis moderate Anforderungen
- Statischer Verbrauch in CMOS-Implementierungen minimal
- Dynamischer Verbrauch steigt mit der Schaltfrequenz
- Proportional zur Schaltaktivität
- Technologieabhängig (CMOS hat den geringsten statischen Verbrauch)
- Verbrauch steigt mit der Fan-Out-Last
- Typische Werte: 5–25 mW aktiv, <1 mW Standby (CMOS)
Schaltungskomplexität:
- Mittlere Komplexität
- Mit elementaren Logikgattern realisiert
- AND-basierte oder NAND-basierte Implementierungen üblich
- Struktur aus Decodierer und nachgeschalteten AND-Gattern
- Zusätzliche Logik für die Aktivierungsfunktion
- Integrierte Implementierungen reduzieren die Anzahl externer Bauelemente
- Geringe Komplexität im Verhältnis zur gebotenen Funktionalität
Implementierungsmethoden
Decodiererbasierte Implementierung
- Aufgebaut aus einem 3-zu-8-Decodierer und AND-Gattern
- Decodierer wandelt die Auswahlleitungen in One-Hot-Format um
- Jeder Ausgang verwendet ein AND-Gatter mit Decodiererausgang und Dateneingang
- Aktivierungssignal steuert den Decodierer
- Häufigste und übersichtlichste Implementierung
- Klare funktionale Trennung zwischen Adressierung und Daten
- Pädagogisches Beispiel für Demultiplex-Prinzipien
- Kann vorhandene Decodiererkomponenten nutzen
Direkte Implementierung auf Gatterebene
- Aufgebaut direkt aus elementaren Logikgattern (AND, NOT)
- Jeder Ausgang benötigt ein 4-Eingangs-AND-Gatter (3 Auswahleingänge + Daten)
- Eingangsinverter erzeugen bei Bedarf Komplementsignale
- Keine Zwischenstufe mit Decodierer
- Mehr Gatter, aber potenziell schneller als der decodiererbasierte Ansatz
- Direkte Umsetzung der Demultiplexerfunktion
- Hilfreich zum Verständnis der grundlegenden Funktionsweise
- Regelmäßige Struktur vereinfacht das Layout
Implementierung als integrierte Schaltung
- Spezielle Demultiplexer-ICs: 74xx138 mit AND-Gattern
- Verschiedene Funktionen: Aktivierungen, Latches, Open-Collector
- In unterschiedlichen Logikfamilien verfügbar
- Gut charakterisiertes Timing- und Lastverhalten
- Standardisierte Schnittstellen und Pinbelegungen
- Häufig in der Datenverteilung und im Routing von Steuersignalen eingesetzt
- Mehrere Aktivierungseingänge zur Kaskadierung
- Kostengünstige, platzsparende Lösung
Implementierung mit Transmissionsgattern
- Verwendet CMOS-Transmissionsgatter als Schalter
- Geringere Laufzeitverzögerung als der Gatter-Level-Ansatz
- Effizient in CMOS-Technologie
- Geringerer Stromverbrauch
- Empfindlicher gegenüber Signalintegritätsproblemen
- Erfordert sorgfältigen Entwurf
- Häufig in modernen integrierten CMOS-Schaltungen
- Gut geeignet für ASIC-/FPGA-Implementierungen
Multiplexer-basierte Implementierung
- Verwendet einen Multiplexer mit umgestalteten Verbindungen
- Verbindet den Dateneingang mit allen Multiplexereingängen
- Auswahlleitungen steuern, welcher Pfad aktiv ist
- Kann verfügbare Multiplexerkomponenten nutzen
- Demonstriert die Dualität zwischen Multiplexern und Demultiplexern
- Alternativer Ansatz, wenn keine Demultiplexer verfügbar sind
- Kann andere Timing-Eigenschaften aufweisen
- Nützlich in ressourcenbeschränkten Designs
FPGA-/ASIC-Implementierung
- Realisiert mit LUTs oder dedizierten Ressourcen
- Optimiert für die Zieltechnologie
- Aus HDL-Beschreibungen synthetisiert
- Kann zusätzliche Funktionen integrieren
- Ressourcennutzung wird durch Tools optimiert
- Performance je nach Anforderung anpassbar
- Kann eng mit anderer Logik integriert werden
- Moderner Implementierungsansatz für komplexe Systeme
Baumstrukturierte Implementierung
- Hierarchische Struktur aus 1-zu-2-Demultiplexern
- Erste Ebene verwendet S2, zweite S1, dritte S0
- Logarithmisches Verzögerungsverhalten
- Modulares, skalierbares Design
- In manchen Technologien effizienter
- Gleichmäßige Verzögerung über alle Ausgänge
- Pädagogischer Wert bei der Demonstration der Zerlegung
- Bausteinansatz für komplexe Funktionen
Anwendungen
Datenverteilung
- Führung von Steuersignalen zu mehreren Zielen
- Signalverteilung in Busarchitekturen
- Selektive Aktivierung von Subsystemen
- Befehlsverteilung an spezifische Ziele
- Routing von Konfigurationssignalen
- Verteilung von Steuerwörtern
- Protokollbasierte selektive Kommunikation
Speicher- und Speichersysteme
- Auswahl von Speicherchips
- Aktivierung von Speicherbänken
- Verteilung von Schreibfreigabesignalen
- Aufteilung des Adressraums
- Auswahl von Speichergeräten
- Memory-Mapped-I/O-Adressierung
- Auswahl von Cache-Lines
Seriell-zu-Parallel-Wandlung
- Umwandlung serieller Datenströme in parallele Ausgänge
- Zeitmultiplex-Demultiplexing
- Kanaltrennung
- Bitverteilung von seriellen Schnittstellen
- Protokolldecodierung
- Frame-Zerlegung
- Verteilung von Sensordaten
Anzeigesysteme
- Segmentansteuerung in multiplexierten Anzeigen
- Zeilen-/Spaltenauswahl in Anzeigematrizen
- Pixeladressierung
- Auswahl der Zeichenposition
- Routing von Anzeigemodus-Steuersignalen
- Steuerung von Backlight-Zonen
- Verteilung von Farbkanälen
Kommunikationssysteme
- Kanalzuweisung
- Empfängerauswahl
- Protokollspezifische Signalisierung
- Adressierung von Netzwerkknoten
- Routing von Datenpaketen
- Auswahl drahtloser Kommunikationskanäle
- Schnittstellenwahl in Multistandard-Systemen
Test und Debugging
- Signaleinspeisung an bestimmten Testpunkten
- Diagnostisches Routing
- Selektive Schaltungsstimulation
- Erzeugung von Fehlermustern
- Systemvalidierung
- Fehlerisolierung
- Steuerung des Built-in Self-Test
Eingangs-/Ausgangserweiterung
- Vervielfachung von GPIO-Pins
- Erweiterung von I/O-Ports
- Verteilung von Steuersignalen an Peripheriegeräte
- Routing von Schnittstellensignalen
- Sensorauswahl
- Verteilung von Aktorsteuerungen
- Adressierung externer Geräte
Einschränkungen
Beschränkungen der Signalverteilung
- Jeweils nur ein Ausgang aktiv
- Daten können nicht gleichzeitig an mehrere Ausgänge geleitet werden
- Eingangssignal muss während der Auswahl gültig sein
- Fan-Out durch die Ausgangstreiberkapazität begrenzt
- Kann bei hohen Lasten Pufferung erfordern
- Laufzeitverzögerung wirkt sich auf Hochgeschwindigkeitsanwendungen aus
- Begrenzte Isolation zwischen Kanälen
Timing-Überlegungen
- Auswahlleitungen müssen vor der Datengültigkeit stabil sein
- Glitches während Übergängen der Auswahlleitungen möglich
- Anforderungen an Setup- und Hold-Zeiten
- Daten müssen für die Verteilung gültig bleiben
- Synchronisation mit dem Systemtiming kritisch
- Verzögerung von Auswahländerung bis zur Stabilisierung des Ausgangs
- Wettlaufsituationen in asynchronen Systemen
Skalierungsprobleme
- Exponentielles Wachstum der Auswahlleitungen bei linearem Anstieg der Ausgänge
- 16 Ausgänge erforderten 4 Auswahlleitungen
- Große Demultiplexer benötigen erhebliche Ressourcen
- Pin-Anzahl-Beschränkungen bei größeren Implementierungen
- Kaskadierung führt zu zusätzlicher Verzögerung
- Komplexität wächst stark mit der Größe
- Testaufwand wächst exponentiell
Probleme der Signalintegrität
- Crosstalk zwischen Ausgangskanälen
- Ground Bounce beim Hochgeschwindigkeitsschalten
- Versorgungsspannungsrauschen während Übergängen
- Übertragungsleitungseffekte auf langen Leiterbahnen
- Clock Feedthrough in Implementierungen mit Transmissionsgattern
- Signalverschlechterung über mehrere Stufen hinweg
- Verringerung des Rauschabstands bei hohen Geschwindigkeiten
Implementierungs-Trade-offs
- Geschwindigkeit vs. Stromverbrauch
- Ressourcennutzung vs. Performance
- Aktive vs. passive Implementierungen
- Größe vs. Modularität
- Verzögerungsanpassung vs. Bauelementezahl
- Treiberkapazität vs. Integrationsdichte
- Eigenentwicklung vs. Standardkomponenten
Schaltungsimplementierungs-Detail
Decodiererbasierter 1-zu-8-Demultiplexer
graph TB
S0[S0] --> DEC[3-to-8 Decoder]
S1[S1] --> DEC
S2[S2] --> DEC
EN[Enable] --> DEC
DEC -->|Y0'| AND0[AND]
DEC -->|Y1'| AND1[AND]
DEC -->|Y2'| AND2[AND]
DEC -->|Y3'| AND3[AND]
DEC -->|Y4'| AND4[AND]
DEC -->|Y5'| AND5[AND]
DEC -->|Y6'| AND6[AND]
DEC -->|Y7'| AND7[AND]
DATA[Data Input] --> AND0
DATA --> AND1
DATA --> AND2
DATA --> AND3
DATA --> AND4
DATA --> AND5
DATA --> AND6
DATA --> AND7
AND0 --> Y0[Y0 Output]
AND1 --> Y1[Y1 Output]
AND2 --> Y2[Y2 Output]
AND3 --> Y3[Y3 Output]
AND4 --> Y4[Y4 Output]
AND5 --> Y5[Y5 Output]
AND6 --> Y6[Y6 Output]
AND7 --> Y7[Y7 Output]
Funktionsweise: Der Decodierer wählt anhand von S2:S1:S0 eine Ausgangsleitung; AND-Gatter leiten DATA zum ausgewählten Ausgang.
Direkte Gatter-Implementierung (nur Y0-Ausgang)
graph LR
Select0[S0] --> NotGate0[NOT]
Select1[S1] --> NotGate1[NOT]
Select2[S2] --> NotGate2[NOT]
NotGate0 --> AndGate[AND Gate]
NotGate1 --> AndGate
NotGate2 --> AndGate
DataIn[Data] --> AndGate
EnablePin[Enable] --> AndGate
AndGate --> OutputY0[Y0 Output]
Logik für Y0: Y0 = DATA · /S2 · /S1 · /S0 · Enable (aktiv, wenn S2:S1:S0 = 000)
Implementierung mit 74HC138 + 74HC08
Konfiguration:
| Komponente | Eingang | Ausgang | Verbindung |
|---|---|---|---|
| 74HC138 | A, B, C | Y0–Y7 | Auswahleingänge S0–S2 |
| 74HC138 | G1, /G2A, /G2B | Enable | G1=1, /G2A=0, /G2B=0 |
| 74HC08 | 1A–4A, 1B–4B | 1Y–4Y | UND-Verknüpfung der Decodiererausgänge mit DATA |
Implementierung:
graph LR
S[S2:S1:S0] --> DEC[74HC138 Decoder]
DEC --> AND[74HC08 Quad AND]
DATA[Data Input] --> AND
AND --> OUT[Y0-Y7 Outputs]
Funktionsweise: Der 74HC138 decodiert die Adresse, der 74HC08 verknüpft die Decodiererausgänge mit dem DATA-Signal über AND.
Hinweis: G1 ist aktiv-high und G2A, G2B sind aktiv-low-Aktivierungseingänge am 74HC138. Für einen 1-zu-8-Demultiplexer G1 auf Logik 1 sowie G2A und G2B auf Logik 0 legen oder als Aktivierungseingänge verwenden.
Verwandte Komponenten
- 1-zu-2-Demultiplexer: Einfachster Demultiplexer mit einer Auswahlleitung
- 1-zu-4-Demultiplexer: Mittlerer Demultiplexer mit zwei Auswahlleitungen
- 1-zu-16-Demultiplexer: Größerer Demultiplexer mit vier Auswahlleitungen
- 3-zu-8-Decodierer: Komponente, die häufig in Demultiplexerimplementierungen verwendet wird
- 8-zu-1-Multiplexer: Führt die inverse Operation eines 1-zu-8-Demultiplexers aus
- Datenverteiler: Alternative Bezeichnung für Demultiplexer in bestimmten Anwendungen
- Seriell-zu-Parallel-Wandler: Nutzt Demultiplex-Prinzipien zur Wandlung
- Bus-Demultiplexer: Spezialisiert auf die Verteilung von Busdaten
- Kanal-Demultiplexer: Wird in Kommunikationssystemen zur Kanaltrennung verwendet
- Adressdecodierer: Verwandte Komponente, die für Speicher- und I/O-Adressierung verwendet wird