Forum: FPGA, VHDL & Co. Schaltnetz entwickeln?


von wert (Gast)


Lesenswert?

Hi Leute!

Ich hab folgende Aufgabe:

Entwickeln Sie ein einfaches Schaltnetz, dass bei binärcodierten Zahlen 
von 0 bis 15 eine „1“ als Ausgabe liefert, wenn am Eingang eine 
Primzahl(d.h. 2,3,5,7,11,13) oder eine 15 anliegt. Sonst soll eine „0“ 
ausgegeben werden (zur Übersichtlichkeit sollten Invertierte Signale 
durch einen „Kreis“ am Eingang gekennzeichnet werden). Wie sieht die 
Schaltung aus, wenn sie „ 8 zu 1“ Multiplexer für die Realisierung 
verwenden.
1
ABCDQ
2
00000
3
00010
4
00101
5
00111
6
01000
7
01011
8
01100
9
01111
10
10000
11
10010
12
10100
13
10111
14
11000
15
11011
16
11100
17
11111

Ich hab nun aus der Aufgabe diese Tabelle entworfen. Und daraus diese 
DNF abgelesen:
Q = (~A * ~B  C  ~D) + (~A * ~B  C  D) + (~A  B  ~C * D) + (~A * B 
 C  D) +(A * ~B  C  D) + (A  B  ~C * D) + (A  B  C * D)

minimiert sieht das ganze dann so aus: Qmin = (C * D) + (D  B  ~C) + 
(C * ~A * ~B)

Soweit sollte das alles stimmen. Was ich aber nun nicht verstehe, ist, 
wie ich das ganze mit einem 8 zu 1 - Multiplexer funktionieren soll? Der 
Multiplexer is übrigens auch vorgegeben und besitzt nur 3 Eingänge der 
Datenleitungen! Wie verschalte ich das nun richtig?

von wert (Gast)


Lesenswert?

Leider fehlen etz da ein paar UND weil der "*" anscheinend ein 
Steuerzeichen ist. Die ~ soll die negation Ausdrücken!

von Fritz J. (fritzjaeger)


Lesenswert?

Wie sieht die
> Schaltung aus, wenn sie „ 8 zu 1“ Multiplexer für die Realisierung
> verwenden.
>

> Soweit sollte das alles stimmen. Was ich aber nun nicht verstehe, ist,
> wie ich das ganze mit einem 8 zu 1 - Multiplexer funktionieren soll?


Lies richtig, da steht nix davon das du nur einen Muxer verwenden 
darfst.

Und wie man kombinatorische Schaltnetze aus Muxern baut steht im 
lehrbuch, bspw. dort:

 http://books.google.de/books?id=h1C6xbz11-UC&pg=PA257&lpg=PA257&dq=Kombinatorik+aus+Multiplexer&source=bl&ots=zjcHRsR3QR&sig=W44_Z8DMLt5BfbWgHIf7BYLP240&hl=de&sa=X&ei=uY4KUPacNe7Y4QSN7smvCg&ved=0CEsQ6AEwAQ#v=onepage&q=Kombinatorik%20aus%20Multiplexer&f=false

MfG

von wert (Gast)


Lesenswert?

Sorry, ich hätte vielleicht dazuschreiben sollen, dass in der Aufgabe 
ein Schaltbild EINES 8zu1 Multiplexer mit drei Eingängen gegeben ist, 
den man benutzen MUSS, indem man die Steuer-Eingänge mit den 
Eingangsvariablen bezeichnet und die zu schaltenden Eingänge mit Q 
belegt.

Wenn nun ein 8zu1-MUX mit 4 Steuersignaleingängen gegeben wäre, wär das 
alles ja kein Problem. Man legt an diese Eingänge A-D an und an die zu 
schaltenden Eingänge die Qs der Wahrheitstabelle. Fertig.

Aber wie geht das mit 3 Eingängen?

von wert (Gast)


Lesenswert?

Ich hab nun in der Wikipedia im Artikel zum Multiplexer eigentlich die 
gleiche Aufgabe gefunden, wo auch erklärt wird, wie das mit einem 3er 
MUX geht. Ehrlich gesagt verstehe ich das aber so nicht. Es wird davon 
gesprochen, dass man in Abhängigkeit der höchsten Eingangsvariable (im 
Artikel S3; bei mir wär das dann A) das angeben soll.

Hier der Link: http://de.wikipedia.org/wiki/Multiplexer

Es befindet sich relativ mittig.

Vielleicht könnt ihr mir ja das nochmal erklären. Danke!

von wert (Gast)


Lesenswert?

Zusätzliche Frage vergessen:

Was bedeutet bei so einem 4-MUX eigentlich dieses: G 0/15. Dass die 4 
Steuereingänge von 0 bis 15 aufgeteilt werden ist klar, aber was hat das 
"G" für eine Bedeutung?

von Fritz J. (fritzjaeger)


Lesenswert?

wert schrieb:
> Ich hab nun in der Wikipedia im Artikel zum Multiplexer eigentlich die
> gleiche Aufgabe gefunden, wo auch erklärt wird, wie das mit einem 3er
> MUX geht. Ehrlich gesagt verstehe ich das aber so nicht. Es wird davon
> gesprochen, dass man in Abhängigkeit der höchsten Eingangsvariable (im
> Artikel S3; bei mir wär das dann A) das angeben soll.
>
> Hier der Link: http://de.wikipedia.org/wiki/Multiplexer
>
> Es befindet sich relativ mittig.
>
> Vielleicht könnt ihr mir ja das nochmal erklären. Danke!

Wenn man nach belieben Inverter an die Eingänge setzen kann, ist es 
natürlich einfach. Das ging aus Deiner Wiedergabe der Aufgabe nicht so 
hervor.

Schaut dir doch die Wahreitstabelle an: Also bei 2 und 8 sind die 
unteren 3 bits (B,C,D) gleich. ("010") 2 ist eine Primzahl also q <= 1; 
acht nicht also q <= 0,

das entspricht genau dem negierten Höchstwertigen Bit A -> also an den 
dritten und Dateneingang (Die Zählung beginnt mit dem ersten) einen 
Kreis für negation einzeichnen.
Dann such dir noch ein anderes Paar nach diesem Schema aus (untere 3 
bits gleich, Q jeweils unterschiedlich) und beleg Dateneingang mit A 
resp A negiert. Achtung, deine Aufgabe ist nicht mit dem WP Beispiel 
identisch, aber mit dieser Erklärung wirst du sicher die richtige Lösung 
finden, also wie der erste, zweite, vierte bis achte dataneingang zu 
beschalten ist.

MfG

von wert (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> Schaut dir doch die Wahreitstabelle an: Also bei 2 und 8 sind die
> unteren 3 bits (B,C,D) gleich. ("010") 2 ist eine Primzahl also q <= 1;
> acht nicht also q <= 0,

Entschuldigung, aber wenn ich bei 2 schaue, dann steht da für BCD 010 
und bei 8 steht für BCD 000. Die unteren drei Bits BCD sind somit NICHT 
gleich, oder hab ich mich vertan?

von wert (Gast)


Lesenswert?

Meinst du vielleicht 3 und 11? Da sind die unteren 3 Bits jeweils gleich 
und 3 und 11 sind auch beides Primzahlen...

von wert (Gast)


Lesenswert?

Oh, ich merke grad, dass bei 3 und 11 zwar die unteren 3 Bits BCD zwar 
gleich sind, aber der Ausgang Q auch gleich ist, was er ja nicht darf. 
Ich verstehe aber dennoch immer noch nicht, wie 2 und 8 passen soll, wo 
doch die unteren 3 Bits hier eben nicht gleich sind!

von wert (Gast)


Lesenswert?

2 und 10 würde die Fälle abdecken:

Die unteren 3 Bits gleich und die Ausgänge unterschiedlich...

von wert (Gast)


Lesenswert?

1
0000
2
0010
3
010A~
4
0111
5
1000
6
1011
7
1100
8
1111

Ist das nun für mein Beispiel die korrekte Wahrheitstabelle für den 
3-MUX?


Abschließende Frage:

Muss ich für so Aufgaben der Art "4 Variablen aber nur 3-MUX" IMMER die 
unteren drei Bits zum Vergleich heranziehen?  Sind auch für die 3 
Steuersignale IMMER die unteren drei Bits verantwortlich?

Geht das auch mit bspw. 5 Variablen und einem 3-MUX, oder muss das dann 
ein 4-MUX sein?

von Fritz J. (fritzjaeger)


Lesenswert?

wert schrieb:
> 2 und 10 würde die Fälle abdecken:
>
> Die unteren 3 Bits gleich und die Ausgänge unterschiedlich...

Ja, tippfehler meinerseits: 2 und 10 aind gemeint.

von Fritz J. (fritzjaeger)


Lesenswert?

wert schrieb:

>
> Abschließende Frage:
>
> Muss ich für so Aufgaben der Art "4 Variablen aber nur 3-MUX" IMMER die
> unteren drei Bits zum Vergleich heranziehen?  Sind auch für die 3
> Steuersignale IMMER die unteren drei Bits verantwortlich?
>
> Geht das auch mit bspw. 5 Variablen und einem 3-MUX, oder muss das dann
> ein 4-MUX sein?

Hallo wert,

wenn man das grundprinzip versteht, beantworten sich die Fragen von 
selbst.


Sortiere die Zeilnen der Wahrheitstabells so um, das sich in zwei 
benachbarten zeilen 3 eingangsvariablen gleich sind. Also
ABCD Q
0001 0
0000 0
0010 1
0011 0
...

Mit 3 drei-select Leitungen lassen sich 8 Schaltwege kodieren. Diese 
drei leitungen können mit 3 bits verbunden werden.  Für ein viertes bit 
das ein seinen Wert wechselt alle möglichen Fälle auf, sind es vier:

Das bit bleibt zweimal 0
das bil bleibt zweimal 1
Das Bit wechselt von 0 auf 1
Das bit wechselt von 1 auf 0

Jetzt sind die Datenleitungen des Muxers so zu verschalten, das Q sich 
wie gefordert verhält.
Q bleibt 0 wenn die 3 bits gleich sind -> '0' an den entsprechenden 
Dateneingang
Q wechselt von 0 auf 1, wenn das vierte bit von1 auf 0 wechsel -> 
'negiert viertes' an die datenleitung.

...

MfG

von wert (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> Sortiere die Zeilnen der Wahrheitstabells so um, das sich in zwei
> benachbarten zeilen 3 eingangsvariablen gleich sind. Also
> ABCD Q
> 0001 0
> 0000 0
> 0010 1
> 0011 0

Ich muss ja die ganze Wahrheitstabelle nicht gleich umsortieren, sondern 
kann doch auch nach den 3 gleichen und zugleich niedrigsten 
Eingangsvariablen schlicht "suchen". Oder muss ich auch die drei 
höchsten gleichen Eingangsvariablen beachten?

Ich lese das aber nun so, dass ich immer auf die niedrigsten Bits schaun 
muss. Wie geht das nun wenn ich z.B. 5 Eingangsvariablen in der 
Wahrheitstabelle hab? Muss ich dann nach 4 unteren gleichen Bits suchen 
bei denen sich der Ausgang Q abwechselt?




> Mit 3 drei-select Leitungen lassen sich 8 Schaltwege kodieren. Diese

Das ist logisch 2^3=8.




> drei leitungen können mit 3 bits verbunden werden.

Was verstehst du unter 3 Bits? An diese 3 Steuereingänge oder 
select-Leitungen, muss ich eben einfach die 3 untersten 
Eingangsvariablen anlegen; in meinem Fall B, C und D.


> Für ein viertes bit
> das ein seinen Wert wechselt alle möglichen Fälle auf, sind es vier:

> Das bit bleibt zweimal 0
> das bil bleibt zweimal 1
> Das Bit wechselt von 0 auf 1
> Das bit wechselt von 1 auf 0
>
> Jetzt sind die Datenleitungen des Muxers so zu verschalten, das Q sich
> wie gefordert verhält.
> Q bleibt 0 wenn die 3 bits gleich sind -> '0' an den entsprechenden
> Dateneingang
> Q wechselt von 0 auf 1, wenn das vierte bit von1 auf 0 wechsel ->
> 'negiert viertes' an die datenleitung.

Mit 'negiert viertes' wirst du wohl die höchste Variable der Tabelle, 
also A, meinen. Welche Variable einer solchen Tabelle höher/niedriger 
als eine andere Variable ist, bestimmt sich ja durch die Häufigkeit der 
Abwechslungen von 0 und 1, oder? An der Stelle wo sich 0 und 1 nach 
jeder Zeile abwechseln ist 2^0 da wo sich 0, 1 und nur zweites Mal 
abwechseln ist dann 2^1 usw. usf... Stimmt's?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.