Forum: Mikrocontroller und Digitale Elektronik Schaltung nur mit NANDs


von Dani (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

grundsätzlich ist mir das Prinzip wie man eine Schaltung in eine 
Schaltung nur mit NANDs umwandelt bekannt. Meine Lösung (siehe Bild) 
funktioniert definitiv, nur weiß ich, dass es eine bessere gibt (also 
weniger NAND Gatter für die selbe Schaltung). Nur weiß ich nicht wie ich 
es besser machen kann?
Es dürfen nur NANDs mit 2 Eingängen verwendet werden.

Vieleicht kann mir ja wer helfen :)

: Verschoben durch Moderator
von Zeno (Gast)


Lesenswert?

In der Vorlesung geschlafen?

Schon mal was von den Herren Karnaugh und Veitch gehört?

von Wolfgang (Gast)


Lesenswert?


von Zeno (Gast)


Lesenswert?

Es helfen eigentlich alle 3. Mit den ersten beiden bildet man zuerst die 
vereinfachte logische Gleichung um dann mit Hilfe des 3. Herrn das Ganze 
mit NAND oder auch NOR zu machen.

von NAND (Gast)


Angehängte Dateien:

Lesenswert?

Ta daaa

von Yalu X. (yalu) (Moderator)


Lesenswert?

Dani schrieb:
> grundsätzlich ist mir das Prinzip wie man eine Schaltung in eine
> Schaltung nur mit NANDs umwandelt bekannt.

Ist dir auch bekannt, wie man einen logischen Term vereinfacht? Das
solltest du vor der Umwandlung in NANDs tun. Am schnellsten (in 2 oder 3
Schritten) geht das, indem du die einschlägigen Gesetze anwendest:

  https://de.wikipedia.org/wiki/Formelsammlung_Logik#Logische_Grundgesetze

Karnaugh-Veitch geht natürlich auch, ist in diesem Fall aber ziemlich
mühselig und fehlerträchtig.

Die Lösung ist perfekt, wenn du auch zeigen kannst, dass die Anzahl der
verwendeten NANDs minimal ist. Auch das ist in diesem einfachen Fall
nicht so schwer.

Die minimale Anzahl der benötigten NANDs wurde ja schon genannt,
allerdings ohne Beweis :)

von Michel M. (elec-deniel)


Lesenswert?


von Helmut S. (helmuts)


Lesenswert?

Also ich komme auf 3 NAND-Gatter.

Der dritte Term entspricht v*w. Das ergibt zusammen mit dem ersten Term
v*w*(u+1) = v*w

Ergebnis:

( (v*w)\ * (u*x)\ )\


* UND
+ ODER
x\ Invertierung von x

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Lesenswert?

Helmut S. schrieb:
> ( (v*w)\ * (u*x)\ )\

(u*x) muss aber doppelt negiert werden:

  ( (v*w)\ * (u*x)\\ )\

Damit sind es 4 NANDs, also genau der Bildanhang des Users "NAND" :)

: Bearbeitet durch Moderator
von Helmut S. (helmuts)


Lesenswert?

Yalu X. schrieb:
> Helmut S. schrieb:
>> ( (v*w)\ * (u*x)\ )\
>
> (u*x) muss aber doppelt negiert werden:
>
>   ( (v*w)\ * (u*x)\\ )\
>
> Damit sind es 4 NANDs, also genau der Bildanhang des Users "NAND" :)

Ja stimmt. Da hatte ich die Invertierung bei v*x übersehen.

von Michel M. (elec-deniel)


Lesenswert?


von Yalu X. (yalu) (Moderator)


Lesenswert?

Michel M. schrieb:
> Proof by
> ...

1. Dein Term enthält mehr öffnende als schließende Klammern.

2. Auch nach dem Korrekturversuch von WolframAlpha stimmt der Term nicht
   mit dem des TE überein, folglich ist auch der Ausdruck mit NANDs ein
   anderer.

3. Gibt man den Term richtig ein, erhält man als Lösung einen Ausdruck
   mit einem Zweifach- und einem Dreifach-NAND. Das ist zwar die
   einfachste NAND-Form, gesucht ist aber eine Lösung mit nur Zweifach-
   NANDs.

Somit hilft hier WolframAlpha leider nicht weiter.

von Zeno (Gast)


Lesenswert?

Yalu X. schrieb:
> Karnaugh-Veitch geht natürlich auch, ist in diesem Fall aber ziemlich
> mühselig und fehlerträchtig.

Das ist weder mühselig noch fehlerträchtig.
Aus der ersten Gleichung eine Logiktabelle aufstellen und das in ein KV 
Diagramm eintragen dauert keine 5 Minuten.
Was bei der puren Anwendung der Rechengesetze der Logik raus kommt sieht 
man ja.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Zeno schrieb:
> Yalu X. schrieb:
>> Karnaugh-Veitch geht natürlich auch, ist in diesem Fall aber ziemlich
>> mühselig und fehlerträchtig.
>
> Das ist weder mühselig noch fehlerträchtig.
> Aus der ersten Gleichung eine Logiktabelle aufstellen und das in ein KV
> Diagramm eintragen dauert keine 5 Minuten.

Ich habe mit Tabelle und KV-Diagramm bis zur disjunktiven Minimalform
315s gebraucht, mit logischen Umformungen waren es 15s. Dazu kamen dann
jeweils noch 25s für die Umwandlung in die NAND-Form.

> Was bei der puren Anwendung der Rechengesetze der Logik raus kommt sieht
> man ja.

Falls du dich auf Helmuts Beitrag beziehst: Der Fehler ist ihm nicht bei
der Vereinfachung des Terms unterlaufen, sondern bei der anschließenden
Umwandlung in die NAND-Form, die ja bei beiden Verfahren gleichermaßen
gemacht werden muss. Oder gibt es eine Möglichkeit, die NAND-Form direkt
und ohne weitere Umformungen aus dem KV-Diagramm abzulesen?

von Zeno (Gast)


Lesenswert?

Yalu X. schrieb:
> Falls du dich auf Helmuts Beitrag beziehst: Der Fehler ist ihm nicht bei
> der Vereinfachung des Terms unterlaufen

Nö ich habe mich da eher auf den Eröffnungspost bezogen. Habe aber 
gerade festgestellt, das der TO da gar nichts vereinfacht hat, sondern 
nur stur die Verknüpfung in NAND umgewandelt hat.

Yalu X. schrieb:
> Ich habe mit Tabelle und KV-Diagramm bis zur disjunktiven Minimalform
> 315s gebraucht, mit logischen Umformungen waren es 15s. Dazu kamen dann
> jeweils noch 25s für die Umwandlung in die NAND-Form.
Mir fällt es mit KV einfach leichter, was Optimales heraus zu bekommen. 
Da muß ich nicht groß überlegen. Bis 4 Eingangsvariablen finde ich KV 
einfacher. Die logischen Umformungen liegen mir halt nicht so. Bin mir 
auch nicht sicher ob logische Umformungen immer zu einem Minimalaufwand 
führen. Bei KV bin ich mir da aber ziemlich sicher.

Yalu X. schrieb:
> Oder gibt es eine Möglichkeit, die NAND-Form direkt
> und ohne weitere Umformungen
Bei KV kommen in aller Regel OR verknüpfte AND-Verknüpfungen heraus. Die 
sind aber nach den Regeln von DeMorgan schnell umgewandelt.

von Michel M. (elec-deniel)


Lesenswert?

Yalu X. schrieb:
> Michel M. schrieb:
>> Proof by
>> ...
>
> 1. Dein Term enthält mehr öffnende als schließende Klammern.
>
> 2. Auch nach dem Korrekturversuch von WolframAlpha stimmt der Term nicht
>    mit dem des TE überein, folglich ist auch der Ausdruck mit NANDs ein
>    anderer.
>
> 3. Gibt man den Term richtig ein, erhält man als Lösung einen Ausdruck
>    mit einem Zweifach- und einem Dreifach-NAND. Das ist zwar die
>    einfachste NAND-Form, gesucht ist aber eine Lösung mit nur Zweifach-
>    NANDs.
>
> Somit hilft hier WolframAlpha leider nicht weiter.

sorry beim kopieren scheinbar zerlegt ..  :-(

Allg Info:
https://www.wolframalpha.com/input/?i=+boolean+algebra+NAND+

Korrigiert:
https://www.wolframalpha.com/input/?i=DNF%28U+AND+V+AND+W%29+OR+%28NOT+%28U+OR+X%29%29+OR+%28NOT+%28+NOT+V+OR+NOT+W+%29%29+

Danach rechter Rand zu [Minimal forms:]gehen
und [Text notation] anwählen.
Liest sich leichter

...mit einem NAND als NOT verschaltet müssten es 5 NAND sein ?!
... habe es jetzt aber nicht mehr extra geprüft ..... :-)

: Bearbeitet durch User
von Egon D. (Gast)


Lesenswert?

Yalu X. schrieb:

> Oder gibt es eine Möglichkeit, die NAND-Form direkt
> und ohne weitere Umformungen aus dem KV-Diagramm abzulesen?

Sind die Strukturen einer AND-OR-Schaltung und einer
NAND-NAND-Schaltung nicht identisch?

von Michel M. (elec-deniel)


Lesenswert?

https://www.youtube.com/watch?v=W0ERxCemTl8

in der Struktur bezogen auf den W-Text  CNF u. NOR

von Zeno (Gast)


Lesenswert?

Egon D. schrieb:
> Sind die Strukturen einer AND-OR-Schaltung und einer
> NAND-NAND-Schaltung nicht identisch?

Im Prinzip ja - s.DeMorgan

von Helmut S. (helmuts)


Lesenswert?

Egon D. schrieb:
> Yalu X. schrieb:
>
>> Oder gibt es eine Möglichkeit, die NAND-Form direkt
>> und ohne weitere Umformungen aus dem KV-Diagramm abzulesen?
>
> Sind die Strukturen einer AND-OR-Schaltung und einer
> NAND-NAND-Schaltung nicht identisch?

Im KV-Diagramm bekommt man niemals die Lösung mit NAND. Man bekommt 
Terme mit UND und die Terme sind ODER verknüpft. Einzelne Signale sind 
auch invertiert. Das KV-Diagramm dient "nur" zur Minimierung der Terme. 
Allerdings hat man dabei den Aufwand erst mal das Ergebnis aller 
Kombinationen zu berechnen um das KV-Diagramm mit 0 und 1 zu füllen.

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Lesenswert?

Egon D. schrieb:
> Yalu X. schrieb:
>
>> Oder gibt es eine Möglichkeit, die NAND-Form direkt
>> und ohne weitere Umformungen aus dem KV-Diagramm abzulesen?
>
> Sind die Strukturen einer AND-OR-Schaltung und einer
> NAND-NAND-Schaltung nicht identisch?

Ja. Nur lässt sich das auf die vorliegende Aufgabenstellung nicht
anwenden, da

1. nur NAND-Gatter mit jweils zwei Eingängen verwendet werden dürfen und

2. offensichtlich eine Lösung mit der minimalen Anzahl von Gattern
   gesucht ist.

Beide Forderungen werden durch die direkt aus der DNF abgeleiteten
NAND-Form i.Allg. nicht erfüllt.

von Willie Tanner (Gast)


Angehängte Dateien:

Lesenswert?

Yalu X. schrieb:
> nur NAND-Gatter mit jweils zwei Eingängen verwendet werden dürfen

Daraus kann man aber auch ein NAND Gatter mit 3 Eingängen basteln.

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.