Altifigence Academy

13 / 63 · Konzept

DEMUX und Decoder: Daten auf den gewählten Pfad leiten

Richtung und Aufgaben von MUX, DEMUX und Decoder vergleichen und One-hot- sowie Höchstens-eins-Bedingungen prüfen.

MUX führt zusammen, DEMUX verteilt

Ein MUXMultiplexer Kombinatorische Schaltung, die gemäß Auswahlsignal einen Eingang zum Ausgang verbindet. Die Zuordnung von Auswahlbits und Eingangsnummern muss festgelegt sein. Mehr erfahren leitet einen von mehreren Dateneingängen zum Ausgang. Ein DEMUXDEMUX Leitet einen Dateneingang zu dem vom Auswahlsignal bestimmten Ausgang. Auch die Werte ungewählter Ausgänge müssen festgelegt sein. leitet einen Dateneingang d zum ausgewählten Ausgang und setzt die anderen auf 0. Für einen 1-zu-4-DEMUX mit Adresse s1s0s_1s_0 gilt:

y0=ds1‾s0‾,y1=ds1‾s0,y2=ds1s0‾,y3=ds1s0y_0=d\overline{s_1}\overline{s_0},\quad y_1=d\overline{s_1}s_0,\quad y_2=ds_1\overline{s_0},\quad y_3=ds_1s_0

Dieselbe Funktion als Decoder mit Freigabe

Lesen Sie a1 und a0 unten als Auswahladresse und enable als Datenwert d. Die Ausgänge d0 bis d3 entsprechen y0 bis y3 der Gleichungen. Dieselbe kombinatorische Funktion kann je nach Einsatz anders heißen.

Mit enable als Dateneingang entsteht ein DEMUX

d[i] = enable AND (2 × a1 + a0 = i)

Bei Adresse 10 und Datenwert 1 ist nur y2 gleich 1. Bei Datenwert 0 sind auch der ausgewählte Ausgang und damit alle Ausgänge 0. „Immer genau eine 1“ ist also die falsche One-hot-BedingungOne-hot Darstellung mit genau einer 1 unter mehreren Bits. Die Variante, die auch nur Nullen erlaubt, heißt one-hot-or-zero. Mehr erfahren; für den gesamten Betrieb gilt „höchstens eine 1“.

Auswahlleitung und tatsächlichen Schreibvorgang trennen

Zum Schreiben eines von vier RegisternRegister Speichert einen Zustand aus mehreren Bits. Die synchronen Register dieses Kurses übernehmen festgelegte Eingaben an Taktflanken. Mehr erfahren kann write_en als d und die Adresse zur Auswahl dienen. Der DecoderDecoder Aktiviert die einem Binärcode zugeordnete Ausgangsleitung. Mit enable können im deaktivierten Zustand alle Ausgänge 0 sein. Mehr erfahren selbst speichert jedoch nichts. Erst an der Taktflanke übernimmt das Register seine Schreibfreigabe und Daten. Eine geänderte kombinatorische Auswahl ändert nicht sofort den gespeicherten Wert.

Auswahl und Speicherung sind zwei Schritte
  1. Adresse + write_en: Festlegen, wohin und ob geschrieben wird
  2. Decoder: enable für genau das ausgewählte Register erzeugen
  3. Taktflanke: Das ausgewählte Register speichert die Daten

Prüfen Sie neben dem ausgewählten Ausgang auch, dass alle anderen 0 sind. Vier Kombinationen mit d=0 und vier mit d=1 ergeben acht Tests. Diese Funktionsprüfung garantiert keine Glitchfreiheit beim Adresswechsel.

Selbst ausprobieren

Bestimmen Sie y3y2y1y0 bei s1s0=01 für d=1 und d=0. Wann schlägt eine Prüfung fehl, die stets genau eine aktive Registerfreigabe verlangt?

Erklärung lesen

Die Ergebnisse sind 0010 und 0000. Bei d beziehungsweise write_en gleich 0 ist es korrekt, dass kein Ausgang aktiv ist. Genau eine 1 ist nur bei d=1 vorgeschrieben.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.