Schaltfunktion mit NAND < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 22:20 Di 15.12.2009 | Autor: | Acronis |
Hallo,
ich komme irgendwie nicht so recht auf die Lösung. Die Schaltfunktion soll ausschließlich aus NANDs bestehen. Kann mir bitte jemand weiterhelfen?
(x [mm] \wedge [/mm] y) [mm] \vee [/mm] (x [mm] \wedge [/mm] z) [mm] \vee [/mm] (y [mm] \wedge [/mm] z)
Ich bin hab so gerechnet:
1. [mm] \overline{\overline{(x \wedge y) \vee (x \wedge z)} \wedge \overline{(y \wedge z)}}
[/mm]
2. [mm] \overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}} \wedge \overline{(y \wedge z)}}
[/mm]
irgendwas stimmt nicht, weil wenn ich in Digitalsimulator die Schaltung konstruiere und teste, dann stimmt das Ergebnis nicht. Was habe ich falsch gemacht beim Umformen?
Vielen Dank in Voraus
Gruß
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:35 Di 15.12.2009 | Autor: | fencheltee |
> Hallo,
>
> ich komme irgendwie nicht so recht auf die Lösung. Die
> Schaltfunktion soll ausschließlich aus NANDs bestehen.
> Kann mir bitte jemand weiterhelfen?
>
> (x [mm]\wedge[/mm] y) [mm]\vee[/mm] (x [mm]\wedge[/mm] z) [mm]\vee[/mm] (y [mm]\wedge[/mm] z)
>
> Ich bin hab so gerechnet:
>
> 1. [mm]\overline{\overline{(x \wedge y) \vee (x \wedge z)} \wedge \overline{(y \wedge z)}}[/mm]
>
> 2. [mm]\overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}} \wedge \overline{(y \wedge z)}}[/mm]
>
wo kommt denn hier der 3. strich her?
> irgendwas stimmt nicht, weil wenn ich in Digitalsimulator
> die Schaltung konstruiere und teste, dann stimmt das
> Ergebnis nicht. Was habe ich falsch gemacht beim Umformen?
>
> Vielen Dank in Voraus
>
> Gruß
gruß tee
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:45 Di 15.12.2009 | Autor: | Acronis |
Hi, was ist bei dir der 3. Strich?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:48 Di 15.12.2009 | Autor: | fencheltee |
> Hi, was ist bei dir der 3. Strich?
$ [mm] \overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}} \wedge \overline{(y \wedge z)}} [/mm] $
na ^ und ^ hier zähl ich 3 striche übereinander, da waren vorher ja nur 2
|
|
|
|
|
> Hallo,
>
> ich komme irgendwie nicht so recht auf die Lösung. Die
> Schaltfunktion soll ausschließlich aus NANDs bestehen.
> Kann mir bitte jemand weiterhelfen?
>
> (x [mm]\wedge[/mm] y) [mm]\vee[/mm] (x [mm]\wedge[/mm] z) [mm]\vee[/mm] (y [mm]\wedge[/mm] z)
>
> Ich bin hab so gerechnet:
>
> 1. [mm]\overline{\overline{(x \wedge y) \red{\vee} (x \wedge z)} \wedge \overline{(y \wedge z)}}[/mm]
an der stelle den unteren strich auftrennen, womit aus dem oder ein und wird und du hast deine schaltung
>
> 2. [mm]\overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}} \wedge \overline{(y \wedge z)}}[/mm]
der schritt scheint völlig falsch, was ist hier passiert?
>
> irgendwas stimmt nicht, weil wenn ich in Digitalsimulator
> die Schaltung konstruiere und teste, dann stimmt das
> Ergebnis nicht. Was habe ich falsch gemacht beim Umformen?
>
> Vielen Dank in Voraus
>
> Gruß
gruß tee
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:18 Di 15.12.2009 | Autor: | Acronis |
Hmm,
also
[mm] \overline{(x \wedge y) \vee (x \wedge z)} [/mm]
wird bei mir zu
[mm] \overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}} [/mm]
also ich habe das ODER zu einem NAND umgewandelt
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 01:27 Mi 16.12.2009 | Autor: | felixf |
Hallo!
> also
>
> [mm]\overline{(x \wedge y) \vee (x \wedge z)}[/mm]
>
> wird bei mir zu
>
> [mm]\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}}[/mm]
>
> also ich habe das ODER zu einem NAND umgewandelt
Das stimmt aber so nicht. Aus $(x [mm] \wedge [/mm] y) [mm] \vee [/mm] (x [mm] \wedge [/mm] z)$ wird [mm] $\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}}$. [/mm] Und aus [mm] $\overline{(x \wedge y) \vee (x \wedge z)}$ [/mm] wird [mm] $\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}$.
[/mm]
LG Felix
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:39 Mi 16.12.2009 | Autor: | Acronis |
Also wenn das falsch ist, wie mache ich dann daraus ein NAND?
|
|
|
|
|
> Also wenn das falsch ist, wie mache ich dann daraus ein
> NAND?
deine ausgangsfunktion:
(x and y) OR (x and z) or (y and z)
dann hast du doppelt negiert, was ja nichts ändert, nun kannst du ja den unteren strich an den ors auftrennen und daraus ein and machen:
$ [mm] \overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)} \wedge \overline{(y \wedge z)}} [/mm] $
nun hast du ja jeweils 2 eingänge auf ein nand geführt, deren ausgänge auf ein weiteres nand gehen
gruß tee
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:47 Mi 16.12.2009 | Autor: | Acronis |
> [mm]\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)} \wedge \overline{(y \wedge z)}}[/mm]
>
> nun hast du ja jeweils 2 eingänge auf ein nand geführt,
> deren ausgänge auf ein weiteres nand gehen
>
> gruß tee
also das ist irgendwie noch nicht komplett.
Ich versuch es mal weiter:
[mm] \overline{\left [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}\right ] \wedge \overline{(y \wedge z)}}
[/mm]
Ich betrachte jetzt nur mal den linken Term: [mm] [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}]
[/mm]
nächster Schritt: versuchen ein NAND daraus zu machen:
[mm] [\overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}]}}
[/mm]
Jetzt ist alles schief gegangen und ich bin in einer Sackgasse, weil ich immer ein OR bekomme.
[mm] [\overline{\overline{\overline{(x \wedge y)}} \vee \overline{\overline{(x \wedge z)}]}}
[/mm]
Wie kann ich aus: [mm] [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}] [/mm] ein NAND machen?
|
|
|
|
|
> > [mm]\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)} \wedge \overline{(y \wedge z)}}[/mm]
>
> >
> > nun hast du ja jeweils 2 eingänge auf ein nand geführt,
> > deren ausgänge auf ein weiteres nand gehen
> >
> > gruß tee
>
> also das ist irgendwie noch nicht komplett.
>
> Ich versuch es mal weiter:
>
> [mm]\overline{\left [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}\right ] \wedge \overline{(y \wedge z)}}[/mm]
>
> Ich betrachte jetzt nur mal den linken Term: [mm][\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}][/mm]
>
> nächster Schritt: versuchen ein NAND daraus zu machen:
>
> [mm][\overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}]}}[/mm]
>
> Jetzt ist alles schief gegangen und ich bin in einer
> Sackgasse, weil ich immer ein OR bekomme.
>
> [mm][\overline{\overline{\overline{(x \wedge y)}} \vee \overline{\overline{(x \wedge z)}]}}[/mm]
>
> Wie kann ich aus: [mm][\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}][/mm]
> ein NAND machen?
was machst du denn da immer mit den 3 strichen dort? und warum werden links die 2 klammern anders behandelt als rechts die?
den term den ich dir zuletzt geschrieben hab, stellt eine reine NAND schaltung dar, wie verlangt
gruß tee
edit:
mein geposteter term sagt aus:
([x und y] nicht) und ([x und z] nicht) und ([y und z]nicht)
und das gesamte ist wieder "nicht".. also kannst du die schaltung mit 4 nands bauen, wobei der letzte 3 eingänge hat
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:38 Mi 16.12.2009 | Autor: | Acronis |
ok, jetzt kapiere ich deins. 3 Eingänge sind bei der Aufgabe nicht erlaubt. Man hat nur NANDS mit 2 Eingängen zur Verfügung. Kannst du mir da weiterhelfen?
|
|
|
|
|
> ok, jetzt kapiere ich deins. 3 Eingänge sind bei der
> Aufgabe nicht erlaubt. Man hat nur NANDS mit 2 Eingängen
> zur Verfügung. Kannst du mir da weiterhelfen?
hallo,
ok, hatte nicht daran gedacht, dass es solche begrenzung geben könnte, also bestand die ganze zeit ein missverständnis deshalb. naja hab dir weiter unten nun _eine_ möglichkeit gegeben, gibt sicher auch noch andere, die mit trickreichem ausklammern etc arbeiten, aber so sollte es fast am schnellsten gehn.
hier http://de.wikipedia.org/wiki/NAND-Gatter stehen auch noch nützliche umwandlungen
gruß tee
|
|
|
|
|
> > [mm]\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)} \wedge \overline{(y \wedge z)}}[/mm]
>
> >
> > nun hast du ja jeweils 2 eingänge auf ein nand geführt,
> > deren ausgänge auf ein weiteres nand gehen
> >
> > gruß tee
>
> also das ist irgendwie noch nicht komplett.
>
> Ich versuch es mal weiter:
>
> [mm]\overline{\left [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}\right ] \wedge \overline{(y \wedge z)}}[/mm]
>
> Ich betrachte jetzt nur mal den linken Term: [mm][\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}][/mm]
>
> nächster Schritt: versuchen ein NAND daraus zu machen:
>
> [mm][\overline{\overline{\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}]}}[/mm]
>
> Jetzt ist alles schief gegangen und ich bin in einer
> Sackgasse, weil ich immer ein OR bekomme.
>
> [mm][\overline{\overline{\overline{(x \wedge y)}} \vee \overline{\overline{(x \wedge z)}]}}[/mm]
>
> Wie kann ich aus: [mm][\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}][/mm]
> ein NAND machen?
der ansatz mit dem ausklammern ist ganz gut..
[mm] [\overline{(x \wedge y)} \wedge \overline{(x \wedge z)}]
[/mm]
nun gibt es eine formel:
u AND v ≡ (u NAND v) NAND (u NAND v)
mit [mm] u=\overline{\text{x and y}} [/mm] und [mm] v=\overline{\text{x and z}} [/mm] solltest du dann ans ziel kommen
gruß tee
|
|
|
|