Altifigence Academy

15 / 63 · Konzept

Von der Wahrheitstabelle zu MUX und Shannon-Zerlegung

Auswahllogik herleiten und beliebige Logikfunktionen durch MUX zerlegen.

Die Auswahlregel als Gleichung herleiten

Um bei sel=0 a und bei sel=1 b auszugeben, verknüpfen wir jeden Dateneingang mit seiner Auswahlbedingung durch AND und beide Ergebnisse durch OR.

y=s‾a+sby=\overline s a+s b

Mit s=0s=0 bleibt nur a, mit s=1s=1 nur b. Sind a und b gleich, ändert sel den Ausgang nicht. Auswahlfehler erfordern daher unbedingt Tests mit unterschiedlichen Daten.

Der blaue Pfad ist der gewählte Eingang. Wählen Sie für a und b unterschiedliche Werte und ändern Sie sel. Bei gleichen Werten ist selbst eine vertauschte Auswahl am Ausgang schwer zu erkennen.

Die Auswahlleitung verändert den Datenpfad

y = sel ? b : a

MUX als allgemeine Zerlegung einer Logikfunktion

Für eine beliebige boolesche Funktion F seien F0,F1F_0,F_1 die Teilfunktionen bei festem s=0 beziehungsweise s=1.

F=s‾F0+sF1F=\overline s F_0+sF_1

Dies ist die Shannon-Zerlegung. s ? F1 : F0 zerlegt jede Funktion in zwei Teile. Für F=a⊕bF=a\oplus b und Auswahl a gilt etwa F0=bF_0=b, F1=b‾F_1=\overline b: XOR lässt sich aus MUXMultiplexer Kombinatorische Schaltung, die gemäß Auswahlsignal einen Eingang zum Ausgang verbindet. Die Zuordnung von Auswahlbits und Eingangsnummern muss festgelegt sein. und InversionInversion NOT vertauscht 0 und 1. Ein Überstrich wendet NOT auf den gesamten darunterstehenden Ausdruck an. Mehr erfahren bilden.

4-zu-1-Auswahl und Priorität

Mit zwei Auswahlbits lassen sich vier Eingänge über zwei Stufen von 2-zu-1-MUX auswählen. Dagegen gibt if (req0) ... else if (req1) ... bei gleichzeitigen Anforderungen der früheren Vorrang. Adressauswahl und Prioritätsauswahl sind unterschiedliche Aufgaben.

SystemVerilog
assign y = sel[1] ? (sel[0] ? d3 : d2)
                 : (sel[0] ? d1 : d0);

Ein idealer balancierter Baum mit 2m2^m Eingängen hat m Auswahlstufen. Die physische Verzögerung hängt auch von Eingangsankunft, Last und Verdrahtung ab. Funktionszerlegung liefert Implementierungskandidaten, keinen Beweis optimaler Verzögerung.

Selbst ausprobieren

Stellen Sie F=ab+a‾cF=a b+\overline a c als MUX mit Auswahl a dar. Welche zwei Dateneingänge sind nötig?

Erklärung lesen

Bei a=0a=0 gilt F0=cF_0=c, bei a=1a=1 gilt F1=bF_1=b: assign f = a ? b : c;. Berechnen Sie zuerst die Teilfunktionen, damit die Eingänge für Auswahl 0 und 1 nicht vertauscht werden.

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