Frage von kaiuwe97, 22

NAND Funktion ohne negierte Variablen?

Hallo, ich hoffe ich bin hier richtig mit meiner Frage. Und zwar soll ich folgende Funktion: y= m0 + m15 nur unter der verwendung von NAND darstellen. Außerdem steht in der Aufgabe: negierte Variablen stehen nicht zur Verfügung und minimale Realisierung ist gesucht. Soweit bin ich bereits:

= (~x3*~x2*~x1*~x0)+(x3*x2*x1*x0)

= ~~((~x3*~x2*~x1*~x0)+(x3*x2*x1*x0)) -> doppelt negiert

=~(~(~x3*~x2*~x1*~x0)*~(x3*x2*x1*x0)) -> or in and umgewandelt.

und hier stellt sich mir die Frage wie bekommen ich die negierten Variablen weg. Ist es möglich, statt: (~(~x3~x2~x1~x0) -> (x3x2x1x0) und dafür nochmal doppel alles negieren?

~ = not

* = and

+ = or

Vielen dank für jede Hilfe

Antwort
von hawking42, 6

ich vermute m0 und m15 sind 8-bit Zahlen und sollen addiert werden? Du hast in deiner bisherigen Lösung nicht ausschließlich NAND verwendet, sondern not, and und or. Verstehe ich deine Frage richtig?

Kommentar von kaiuwe97 ,

m0 und m15 sind Minterme -> die erste Funktion soll diese in der Langform darstellen.

Ich darf nur den NAND Operator verwenden und nicht not, and und or.

Kommentar von kaiuwe97 ,

also bis jetzt habe ich: (~x3|~x2|~x1|~x0)|(x3|x2|x1|x0)

Kommentar von hawking42 ,

das heißt, also auf Deutsch, du hast zwei Aussagen X und Y und sollst das Ergebnis X OR Y nur mit der Nutzung von NAND realisieren? 

Als symbolisches (daher falsches) Beispiel:

((X NAND (X NAND Y)) NAND Y)

Kommentar von kaiuwe97 ,

ja soweit ich weiß kann man dies erreichen, indem man den gesamten Ausdruck doppelt negiert. dadurch wird aus dem or ein and und die beiden "Aussagen" werden einzeln negiert. Sodass man nur noch negierte and hat.

Kommentar von hawking42 ,

Das ist ein guter Ansatz, dann hast du aber

(not X) NAND (not Y) und du darfst ja X nicht negieren.

Kannst du nur mit NAND X negieren? Was kommt eigentlich bei (X NAND X) raus?

Keine passende Antwort gefunden?

Fragen Sie die Community