Ich habe gerade angefangen, Computertechnik zu studieren, und ich habe einige Zweifel hinsichtlich des Verhaltens des XOR-Gatters.
Ich habe mit Logisim Schaltungen projiziert, deren XORs sich anders verhalten als die, die ich gelernt habe. Für mich sollte es sich wie ein Paritätsgatter verhalten und immer dann einen hohen Ausgang liefern, wenn die Eingänge eine ungerade Kombination erhalten. Bei mehr als zwei Eingängen ist dies jedoch nicht der Fall. Wie soll es sich verhalten?
Ich habe auch in einem Buch gelesen, dass XOR-Gatter nicht mit mehr als zwei Eingängen erzeugt werden. Ist das korrekt? Warum?
digital-logic
gabrieljcs
quelle
quelle
Antworten:
Es gibt unterschiedliche Sichtweisen, wie sich ein Exklusiv-ODER-Gatter mit mehr als zwei Eingängen verhalten soll. Meistens verhält sich ein solches XOR-Gatter wie eine Kaskade von Gattern mit zwei Eingängen und führt eine Funktion mit ungerader Parität aus. Einige Leute interpretieren die Bedeutung von EXKLUSIV-ODER jedoch wörtlicher und sagen, dass die Ausgabe nur dann eine 1 sein sollte, wenn genau eine der Eingaben eine 1 ist Mein rostiges Gedächtnis habe ich in einer ASIC-Zellbibliothek gesehen. Eines der internationalen Standardsymbole für ein XOR-Gatter ist ein beschriftetes Rechteck, das mit
=1
der Definition "1 und nur 1" konsistenter zu sein scheint.EDIT: Die Definition von EXKLUSIV-ODER als "1 und nur 1" ist ungewöhnlich, kann aber gefunden werden. Zum Beispiel gibt IEEE-Std91a-1991 das Symbol für das Exklusiv-ODER auf p an. 62 mit dem Hinweis: "Der Ausgang befindet sich im 1-Zustand, wenn nur einer der beiden Eingänge im 1-Zustand ist." Bei mehr als 2 Eingängen empfiehlt der Standard stattdessen die Verwendung des Symbols "Odd Parity". Zu den Websites, auf denen diese verwirrende Situation erörtert wird, gehören XOR: The Interesting Gate und Gate-Demos bei TAMS . Bei einer Google-Suche werden auch Websites gefunden, die genau genommen behaupten, dass es kein XOR-Gatter mit mehr als zwei Eingaben gibt.
quelle
Bei einem XOR mit zwei Gattern ist der Ausgang hoch, wenn die Eingänge unterschiedlich sind. Wenn die Eingänge gleich sind, ist der Ausgang niedrig.
Daher diese Wahrheitstabelle:
Sie können ein XOR-Gatter finden, das mehr als zwei Eingänge hat, aber eigentlich kein XOR mit drei Eingängen. Sie XOR-Eingabe A und B und das Ergebnis von ihnen "R" ist dann XOR mit Eingabe C. Und das Ergebnis von R XOR C ist dann XOR mit Eingabe 4 und so weiter.
Hier ist eine Wahrheitstabelle für die drei angezeigten Eingabe-XORs:
Ein einfacher Paritätsalgorithmus ist das XOR-Verknüpfen von Bits in einer empfangenen Nachricht über beispielsweise Ethernet. Wenn der Sender und der Empfänger wissen, dass die XOR-Verknüpfung der Nachrichtenbits 0 sein sollte (ein Bit in der Nachricht wird bereitgestellt, um eine Eins hinzufügen zu können, so dass eine Nachricht beliebiger Länge 0 sein kann, wenn XOR-verknüpft ist), kann der Empfänger wissen, ob 1 ist Bit wurde umgedreht. Dies ist eine schlechte Paritätsprüfung, da sie nur eine ungerade Anzahl von Bitänderungen findet, aber das Konzept zeigt.
quelle
Wenn Sie 4 Eingänge nehmen und zwei zu einem XOR und zwei zu einem anderen führen, nehmen Sie die beiden XOR-Ausgänge und führen Sie sie zu einem dritten XOR, dessen Ausgang das tut, was Sie glauben (ich denke).
quelle
XOR ist nicht vollständig ein Paritätsgatter. Wenn Sie den Ausgang von XOR als 1 definieren, wenn einer und nur einer der Eingänge 1 ist, dann würde ein XOR mit drei Eingängen 0 für alle-1-Eingänge ergeben. Dies wird nicht sehr oft verwendet und daher gibt es nur wenige XOR-Gatter mit 3 Eingängen.
Was die meisten Leute meinen, wenn sie sagen, dass XOR eine Modulo-2-Addition ist, die genau ein Paritätsprüfer ist. Die meisten als 3-Input-XORs bezeichneten Gatter sind tatsächlich Modulo-2-Additionsgatter. Für zwei Eingänge ist die Modulo-2-Addition das Gleiche wie XOR, aber die 0 aus dem oben beschriebenen XOR ist stattdessen eine 1 in Modulo-2-Gattern. Modulo 2-Gatter mit einer beliebigen Anzahl von Eingängen können aus einfachen XOR-Gattern mit zwei Eingängen erzeugt werden.
quelle
Ich habe ein bisschen nach Ihrer Frage gesucht und einen IC gefunden, der ein 3-Eingangs-XOR-Gatter ist. 74LVC1G386 von nxp. Der Link zur NXP-Site mit den Suchergebnissen für diese Teilenummer auf der NXP-Site lautet http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10
quelle
Also bin ich hingegangen und habe getestet! Ich habe eine kleine Verilog-Datei geschrieben, simuliert und mir die Wellenform angesehen.
Es stellt sich heraus, dass die richtige Interpretation für Verilog ist: Es gibt eine ungerade Menge von Einsen in der Eingabe AKA Interpretation 2 dieses Artikels
quelle
Gemäß der Logik eines einfachen ODER-Gatters mit mehreren Eingängen nimmt es den höchsten Wert unter allen Eingängen an, trifft jedoch keine Entscheidung. In Bezug auf EXOR (Verwechslung mit einem Halbaddierer ist nur ein Zufall, da dies in der mehrwertigen Logik EXOR nicht der Fall ist) wird entschieden, welcher der Eingänge der höchste ist, jedoch der höchste (einschließlich 0 + 0). 1 + 1) sind gleich, wenn die Auswahl unter den Eingängen fehlschlägt, kann keine Entscheidung getroffen werden. Keine Entscheidung bedeutet, dass die Ausgabe Null ist. Wenn beispielsweise jemand gebeten wird, die maximale Anzahl von Süßigkeiten einer Marke in einem Doller zu kaufen, und wenn es zwei Marken gibt (radix = 2), kann er diejenige mit der höchsten Süßigkeitszahl auswählen, aber wenn beide Marken kostenlos erhältlich sind, kann er ebenfalls keine (Mittel 0,0) auswählen, wenn beide Marken die gleiche Nummer (1, 1) von Süßigkeiten kann er keine Entscheidung treffen, bedeutet, dass die Ausgabe Null ist. Dieselbe Logik kann für 3, 4 oder mehr Marken (höherer Radix) von Süßigkeiten erweitert werden. Dies gilt auch für mehrwertige Logik. (x + x + .. + x = 0, wobei x einen beliebigen Wert haben kann) In drei Eingängen ist das EXOR-Gatter 1 + 1 + 1 = 0 (im Gegensatz zur normalen Interpretation 1 + 1 + 1 = 1, die falsch zu sein scheint) verwechselt mit Parität). VT Ingole, PhD
quelle