Schaltnetz m.H. von Multiplex. < Netzwerke < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:27 Mo 25.02.2008 | Autor: | RalU |
Aufgabe | Hallo!
Ich steh vor einer Aufgabe und komm nicht weiter.
Es geht um eine Textaufgabe, bei der sich folgende Wertetabelle ergibt:
(siehe Bildanhang 1):
[Dateianhang nicht öffentlich] |
Die sich für y ergebene Funktion soll nun mit einem Multiplexer realisiert werden.
Wie geht man denn nun am besten vor.
Ich weiß ja, dass ein Multiplexer immer nur einen bestimmten Eingang auf den Ausgang durchschaltet.
Ich vermute mal, dass ein 4:1 Multiplexer hier ausreicht. So kann ich mit Hilfe der beiden Steuerleitung s0 und s1 alle 4 Variablen durchschalten.
Allerdings ist die korrekte Lösung mit einem 8:1-Multiplexer angegeben. (siehe Bildanhang 2), dessen Beschaltung ich allerdings nicht verstehe.
[Dateianhang nicht öffentlich]
Wie kommt denn diese Lösung zustande? Warum liegt denn an einem Eingang das x4 und die anderen xe (x1 bis x3) dienen als Steuerleitungen?
Kann mir jemand helfen, die Lösung besser zu verstehen?
Gruß, Ralf
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich] Anhang Nr. 2 (Typ: JPG) [nicht öffentlich]
|
|
|
|
Hallo!
Ich versuche mal, dir das Lösungsverfahren kurz vorzustellen:
Das Ziel bei diesem Verfahren ist es, einen Multiplexer zu Benutzen um eine binäre Funktion zu realisieren. Dabei wird davon ausgegangen, dass alle Variablen auch negiert zur Verfügung stehen. Auch zur Verfügung stehen immer 0 und 1. Weitere Bauteile werden nicht gebraucht.
Sei n die Anzahl der Variablen. Dann "nimmt" man sich (n-1) der Variablen und nutzt diese als Steuerleitungen. Damit ergibt sich auch, dass man hier einen 8:1 Multiplexer braucht: 4 Variablen => 3 Steuerleitungen = 8:1 Multiplexer.
Jetzt musst du dein y durch [m]x_4[/m] bzw. falls möglich 0 oder 1 ausdrücken. Dabei kannst du dir vorstellen, das du die Wertetabelle in der Mitte "nach oben klappst".
[m]
\begin{bmatrix}
& x_3 & x_2 & x_1 & y & Eingang\\
0 & 0 & 0 & 0 & 0 & 0\\
1 & 0 & 0 & 1 & 0 & x_4\\
2 & 0 & 1 & 0 & 0 & x_4\\
3 & 0 & 1 & 1 & 1 & \bar x_4\\
4 & 1 & 0 & 0 & 0 & x_4\\
5 & 1 & 0 & 1 & 1 & \bar x_4\\
6 & 1 & 1 & 0 & 1 & \bar x_4\\
7 & 1 & 1 & 1 & 0 & 0\\
\end{bmatrix}
[/m]
Wenn du die erste Spalte mit dem [m]x_4[/m] weglässt, gibt es ja alle Zeilen doppelt. Du Vergleichst also das y in der 0. Zeile mit dem in der 8.:
Für [m]x_4 = 0[/m] ist y=0 und für [m]x_4 = 1[/m] ist y=0 - in dieser Zeile hängt y also nicht von [m]x_4[/m] ab, es ist immer 0.
Oder du vergleichst das y aus der 1. und der 9. Zeile:
Für [m]x_4 = 0[/m] ist y=0 und für [m]x_4 = 1[/m] ist y=1 - in dieser Zeile gilt offenbar [m]y = x_4[/m].
So gehst du für alle Zeilen vor und erhälst obige Tabelle die der Beschaltung des Multiplexers entspricht. Du schaltest quasi mit [m]x_3[/m], [m]x_2[/m] und [m]x_1[/m] 8 Verschiedene Funktionen y von [m]x_4[/m] durch.
Ich hoffe es ist einigermaßen klar geworden... =)
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 10:49 Di 26.02.2008 | Autor: | RalU |
Aufgabe | Erst mal vielen Dank für deine Hilfe. Wurde mir jetzt endlich klar, wie es funktioniert! |
Angenommen, ich hätte 5 Variablen (x1 bis x5). Dann bräuchte ich also einen 16:1 Multiplexer (5 Var -> 4 Steuerleitungen -> 16:1 Mulitplexer). Und x5 würde dann entsprechend an den Eingängen des Muliplexers (negiert oder nicht negiert) liegen. Ist das so richtig?
|
|
|
|
|
Genau! So wäre das richtig.
Noch ein Hinweis:
Welche von den Variablen man - negiert oder nicht negiert - an die Steuereingänge legt kann man sich natürlich frei aussuchen. Bei manchen Aufgaben "sieht" man vielleicht sofort das sich eine bestimmte Variable anbietet. Das kann zum Beispiel eine sein, so dass wir den Mux mit besonders vielen 1en oder 0en beschalten können (also das Ergebnis möglichst oft nicht von dieser Variable abhängt). Meisstens ist es aber völlig egal welche Variable man nimmt, dann bietet sich vielleicht die mit dem höchsten [m]x_{index}[/m] an.
|
|
|
|