Hallo an alle!
Ich komm an einem - wenn auch ganz einfachen - Problem nicht weiter:
Sgen wir ich will folgende logische Verknüpfung sowohl mit NAND als auch
NOR Gattern realisieren und die Anzahl der benötigten Gatter
vergleichen.
DIe Funktion sei: Y = !A*B + A*!B (entspricht einem XOR Gatter).
Wie komm ich nun auf die(optimierte) NAND/NOR schaltung.
Ich habs mal mit doppelter inversion des ganzen ausdrucks und
anschließendem de Morgan versucht, aber dann weiß ich nicht weiter.
Kann jemand si freundlich sein, mir zu erklären, wie ich so einem
Problem systematisch zu Liebe rücken kann? Auf Wikipedia und ähnlichen
Seiten fand ich nur die Lösung, weiß aber nicht, wie ich mittels
bool´scher Algebra auf die nötige Gleichung gelangen kann.
DANKE!!
Lg,
Bernhard
Danke sehr für die Antwort!!
Ich habe auf Wikipedia bereits gefunden, dass es mit 4 NAND Gattern
möglich ist.
Was ich allerdings suche, ist die Gleichung, die dieses Netzwerk
beschreibt, bzw. wie ich von der Ausgangsgleichung auf die optimierte
Gleichung komme.
Wenn ich mir das anschreibe, schaff ich es immer nur mit 5 NAND Gattern.
Bzw mit 6 NOR Gattern, wobei ich auch net weiß, ob man das nicht noch
optimieren kann?!
DANKE!
Gruß,
Bernhard
nach Karnaugh optimierte Sachen sind nicht weiter zu optimieren!!!!
da kannst Du auf und niederspringen!
Y = !(!(!(A^B))^!(AvB))
!(AvB) -> NOr
!(A^B) -> NAnd
!A -> Neg
Gruß aus C an der C
Ja, das es nicht weiter zu optimieren ist, ist mir klar.
Tut mir leid, scheinbar seht ich jetzt total daneben, aber auf deine
oben genannte Gleichung
Y = !(!(!(A^B))^!(AvB))
komme ich einerseits nicht durch Umformungen und andererseits ist da ja
weider ein NOR drinnen, was in ein NAND umgeformt wieder 2 gatter
benötigt?!
Ich blick da einfach net durch?! ;-(
Grüße,
Bernhard
.. dann darfst Du "beim einkästeln" nur waagerechte Blöcke (And),
oder senkrechte (Or) zweier Blöcke nehmen!
Dieses bezieht sich auf die Ausrichrung:
Eingange links
Ausgange oben
gruß aus C?m*z an der C?m*z
Hi,
ich hab' das mal irgendwann so gelernt. Doppelt negieren -> ändert ja am
Gesamtausdruck nichts, dann solange die Rechenregeln anwenden bis man
auf NORs ist. Hab dir mal 'n Foto reingestellt - ohne Gewähr auf
richtigkeit, ist halt schon verdammt lang her
vielleicht hilft's
Gruß Strabe
Hallo Holger!
Ja genau so hab ich das bei der NOR Variante auch gemacht, (von daher
kommen die 6 benötigten Gatter) - hab leider keinen funktionierenden
scanner im Moment.
Nur wenn ich genau nach diesem Rechenschema vorgehe, dann erhalte ich
(mit NAND) 5 Gatter.
Bei einem Übungsbeispiel ist aber eine lösung mit 4 NAND gattern
gefordert. Und diesen Umformungs - Trick suche ich im Moment noch.
Lg,
Bernhard
ich war auf die Reaktion von Holger S. gespannt, aber er wirft eine
Sache in den Raum die wir alle kennen.
es geht neben der Umstellung auch um die Optimierung!
hab jetzt Feierabend bis morgen!
PS: Ich bin einer der noch TTL Bretter gemacht hat und es
nachträglich versucht hat es in Si zu gießen. Jetzt gibt
es solche feinen Sachen wie µC's, Gal's, ...
ich möchte diese Zeit niiiiiiiiieeeeeeeee wieder!
wenn sich Bernhard dafür interessiert "muß" wie es damals war,
frage ich mich besorgt warum ihm seine Dozenten mit solchen
Sinnlosen "Hausaufgaben" beschäftigen??????? beschäftigen können?
Ich fände es sinnvoller Ihm ordentlich ASM oder VHDL bei zubingen!!
Wenn wir allen die Grundschaltungen bis auf's letzte Gatter
optiemieren können sind wir wieder bei den TTL-Bretten und das
mit frischen Absolventen!
WAS SOLL DAS
wenn Du Holger S. wirklich Interesse daran hast, dann schaue Dir
wirklich das Karnaugh-Diagramm an und versuche es zu verstehen!
damit kannst Du jede Logik optimienen!
Gruß aus Chemnitz
Hallo Bernhard,
auflösen kann ich dein Rechenproblem leider nicht mehr ( hab' ehrlich
gesagt auch nicht den Trieb mich wieder intensiv damit auseinander zu
setzen). Wenn ich mich recht erinnere gibt's noch die Möglichkeit den
Term zu erweitern und anders zusammenzufassen. In der Praxis
funktioniert es jedenfalls sogar mit 4 NAND( s.Bild ) vielleicht kannst
du dir das Rückwärts auflösen und kommst so auf den Weg.
http://discuss.fogcreek.com/techInterview/default.asp?cmd=show&ixPost=2131
Gruß Strabe
der auch TTL-Bretter gemacht hat... ;)
Sorry @ Holger S.
bin jetzt zuhause.
Aber vieleiecht hast Du (Sie) einen an der Waffel mich so anzugreifen!
Ich wollte Dich (Sie) weder Bloßstellen noch Beleidigen!
Ich achte jeden der konstruktiv (ohne die .. wie kann ich eine
Stinkbombe
bauen), einen Beitrag auf dieser Seite leisten!
so auch Dich! (Sie)
Xor
nochmal @ Holger S.
Das mit den 4 Nand's hatte Bernhard schon vor Stunden.
Ihm geht es um den Rechenweg.
... den ich auch nicht so genau beschreiben kann. (auch zu lange her)
löse ich sowas über Karnaugh graphisch.
Ausgänge max 4, da max 4 Eingangszustände
(1) /Y/Z Y/Z /YZ YZ
/A/B 0/0 0 X X X
A/B 0/1 1 X X X
/A B 1/0 1 X X X
A B 1/1 0 X X X
ODER
(2) /Y/Z Y/Z /YZ YZ
/A/B 0/0 X 0 X X
A/B 0/1 X 1 X X
/A B 1/0 X 1 X X
A B 1/1 X 0 X X
ODER
(3) /Y/Z Y/Z /YZ YZ
/A/B 0/0 X X 0 X
A/B 0/1 X X 1 X
/A B 1/0 X X 1 X
A B 1/1 X X 0 X
ODER
(4) /Y/Z Y/Z /YZ YZ
/A/B 0/0 X X X 0
A/B 0/1 X X X 1
/A B 1/0 X X X 1
A B 1/1 X X X 0
jetzt kommt Logik -> Brain
,da weder NOR noch NAND mit 1/0 bzw 0/1 was anfangen können
(beide geben die gleichen Zustande aus (nicht Meckern ich kenn den
Unterschied), scheiden die zwei mittleren Spalten aus.
Daraus ergibt sich folgendes Diagramm
(5) /Y/Z YZ
/A/B 0/0 0 0
A/B 0/1 1 1
/A B 1/0 1 1
A B 1/1 0 0
wenn Du die beiden Blöcke waagerecht zusammenfasst Hast Du nur AND's
senkrecht nur OR's
(6) /Y/Z YZ
/A/B 0/0 0 0
A/B 0/1 1 1
/A B 1/0 1 1
A B 1/1 0 0
verdammt ich habe weder Farben noch ein Stich -_ überhalb der Zeichen!
somit kann ich das nicht "zusammen kästeln"!!!!
HILFE Moderator!
ha, hab die eckigen Klammern erfunden ...
(7) /Y/Z YZ
/A/B 0/0 0 0
A/B 0/1 [1 1]
/A B 1/0 [1 1]
A B 1/1 0 0
was genau deiner Ausgangsgleichung entspricht!
> Y = !A*B + A*!B
wenn Du jetzt senkrecht zusammen fäßt hasst Du Or's bzw Nor's
Hallo Xor,
ok --> Vertragung ! teilen wir 50/50 unglückliche
Formulierung/unglückliche Interpretation - ich hatte mich eben von Dir
angegriffen gefühlt...vergessen wir's.
sehr schöne Erklärung übrigens, ich glaube aber das Bernhard die
Kreativen Einfälle, den Term von der optimierten Form kommend,
umzubauen. Damit er als Ergebnis eine Schaltung mit 4 NAND aufbauen
kann. Den Weg zur Optimierung hat er anscheinend drin...
Nix für Ungut - ich klink mich jetzt aus - bis demnächst mal
Gruß Strabe
OK, die Herren. Wieder mal was von meiner Seite.
Sorry, das ich so lange weg war, aber auch ein Student wie ich muss
gelegentlich arbeiten, um was aufs Brot zu bekommen ^^
ICh werde mich nun jedenfalls erstmal eure ganzen Posts in Ruhe
durchlesen und analysieren :-)
SOllte ich danach noch immer nicht schlauer sein, meld ich mich eben
wieder ^^
Danke euch beiden für die Unterstützung!!
Lg,
Bernhard
:-) ^^ !!
ok:
Du (Sie) Student bist an einer Schauspielschule?
Es gibt mindestens zwei die sich über Deine (Ihre)
Aufgaben Gedanken gemacht haben.
Wenn Du einen mit deinem Beitrag uns "VERHOHNEPIPELN"
willst, macht evtl nur noch einer mit!
(ich glaube Holger S. war auch mal Student)
Xor (der, der weg ist!)
Hallo
Zitat Bernhard:
Ich habe auf Wikipedia bereits gefunden, dass es mit 4 NAND Gattern
möglich ist.
Was ich allerdings suche, ist die Gleichung, die dieses Netzwerk
beschreibt, bzw. wie ich von der Ausgangsgleichung auf die optimierte
Gleichung komme.
Zitat Ende
Der mathematische Weg von der Ausgangsgleichung zur optimierten
Gleichung ist meines Erachtens noch nicht aufgezeigt.
Darum hier:
EXOR = (!A^B)v(A^!B)
Terme ausmultiplzieren:
EXOR = (!AvA)^(!Av!B)^(BvA)^(Bv!B)
zusammenfassen:
EXOR = 1 ^(!Av!B)^(BvA)^ 1
EXOR = (!Av!B)^(BvA)
linken Term zum NAND umformen:
EXOR = !(A^B) ^(BvA)
Terme ausmultiplizieren:
EXOR = (!(A^B)^B) v (!(A^B)^A)
Terme doppelt negieren -> NAND
EXOR = !(!(!(A^B)^B)^!(!(A^B)^A))
Grus
dreg
@Xor:
Ich habe keine Ahnung, was für ein Problem du mit meinem letzten Post
hast, von daher werde ich dies auch nicht weiter kommentieren.
@dreg:
Danke, danke, danke, genau das wollte ich wissen :-P
Gruß an alle Helfenden,
Bernhard
@dreg:
Noch eine Frage, hab mir das noch mal auf Papier zu Gemüte geführt.
Wenn ich
EXOR = (!A^B)v(A^!B)
ausmultipliziere zu
EXOR = (!AvA)^(!Av!B)^(BvA)^(Bv!B)
Hast du da nicht die ^ und v verwechselt?!
Oder ist das die Anwendung eines Theorems? Denn "normales"
ausmultiplizieren wohl nicht?!
DANKE
Hallo allerseits,
perfekte Erklärung von dreg!
wenn man jetzt noch erkennt das !(A^B) zweimal vorkommt, also dafür 1
Nand ausreicht ist man am Ziel.
Gruß Strabe