Seite 1 von 1

Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 14:21
von tzeenie
Hi *,

wiederhol grad noch mal ein paar Sachen, bei denen ich in der letzten Klausur nicht gerade geglänzt hab. :lol: Jetzt hab ich mir selbst ne tolle Aufgabe gestellt und bin mir ned sicher ob die Lösung passt. :oops:

Angenommen wir sollen eine Funktion \($F(A,B,C,D) = \overline{A}$\hspace{0.5ex}$\overline{B} + A\overline{B} + CD + AC\) mit 4:1 Muxen implementieren, alle Literale, sowie Konstanten 0,1 stehen zur Verfügung.

Wäre das hier eine korrekte Lösung?
Schaltbild
Schaltbild
Picture 3.png (7.61 KiB) 1855 mal betrachtet
Danke + Gruß!

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 14:31
von robert.n
Naja, ich weiß nicht ob es so sinnvoll ist eine Funktion dieser Form mit 4:1 Multiplexern zu implementieren.
Da bieten sich doch 2:1 Multiplexer an, weil man da in jedem Schritt 1 Variable eliminieren kann. Ich frage mich aber gerade, ob man die von dir angegebene Funktion überhaupt mit Multiplexern umsetzen kann...

Deine Lösung kannst du doch ganz einfach mit einer Wahrheitstabelle überprüfen. Wenn die mit der ursprünglichen Funktion übereinstimmt, dann ist die Lösung richtig...

//EDIT: Deine Funktion ist noch nicht mal minimiert. ;)

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 14:53
von Mspringer
Wieso sollte das nicht mit Multiplexer machbar sein? Prinzipell ist es das gleiche wie mit 2:1 Multiplexern, nur das man hier eben 2 Variablen hat, bei denen man alle Fälle durchgehen muss. Ich rechne es grad mal nach.

Edit: So, wenn man minimiert bekommt man offensichtlich F(A,B,C,D) = !B + CD + AC

Damit habe ich jetzt mal deine 4:1 Implementierung gemacht:

Code: Alles auswählen

(A=0,B=0): F' = 1 + CD = 1
(A=0,B=1): F'' = CD
(A=1,B=0): F'''= 1 + CD + C = 1
(A=1,B=1): F''''= CD + C = D + C

Damit Brauchen wir noch 2 weitere 4:1 Mux.

Für F'':
(C=0,D=0): E' = 0 
(C=0,D=1): E'' = 0
(C=1,D=0): E''' = 0
(C=1,D=1): E'''' = 1

Für F'''':
(C=0,D=0): D' = 0
(C=0,D=1): D'' = 1
(C=1,D=0): D''' = 1
(C=1,D=1): D'''' = 1 
Bilder spar ich mir ^^

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:00
von tzeenie
Mspringer hat geschrieben:Wieso sollte das nicht mit Multiplexer machbar sein? Prinzipell ist es das gleiche wie mit 2:1 Multiplexern, nur das man hier eben 2 Variablen hat, bei denen man alle Fälle durchgehen muss.
Ja, denke ich eig auch.
Ich rechne es grad mal nach.
Super, danke, laut meiner WT ist da nämlich ein Fehler den ich ned finden kann. :?

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:14
von Mspringer
Bei deinem Muxer ist direkt der erste Fall falsch übrigens. Für (A=0,B=0) müsste sich auch bei dir direkt 1 Ergeben (weil damit ja !A = 1 und !B = 1), du nimmst aber noch nen Mux.

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:31
von tzeenie
Stimmt, danke! Interessanterweise kann man einen Mux einsparen, wenn man die control inputs anders wählt:

Code: Alles auswählen

F(A,B,C,D) = 'C'D + A'B + CD + AC

f(C=0,D=0) = 1
f(C=0,D=1) = A'B = g
f(C=1,D=0) = A'B + A = A
f(C=1,D=1) = 1

g(A=0,B=0) = 0
g(A=0,B=1) = 0
g(A=1,B=0) = 1
g(A=1,B=1) = 0
Sofern ich mich also (nicht schon wieder *g*) verrechnet hab, müssts dann so aussehen:
Schaltbild
Schaltbild
Picture 6.png (5.14 KiB) 1769 mal betrachtet
Auf alle Fälle danke für die Hilfe + Gruß!

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:34
von robert.n
Frage: Wie machst du denn die hübschen Bildchen? 8)

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:47
von tzeenie
Mit LaTeX + dem fantastischen Package PGF/TikZ: http://sourceforge.net/projects/pgf/. :)

Re: Fkt. mit Muxen implementieren

Verfasst: 31. Mär 2009 15:51
von robert.n
Das ist ja cool, danke!