Warum werden NAND-Gatter verwendet, um AND-Gatter in Computern zu erstellen?


41

Warum ist dies ein Standard für UND-Gatter?

Bildbeschreibung hier eingeben

Wann könnte es stattdessen mit zwei FETs und einem Widerstand gemacht werden?

Bildbeschreibung hier eingeben


21
NAND (und NOR) sind funktional vollständig , was bedeutet, dass jede logische Funktion nur mit NAND (oder NOR) implementiert werden kann. Das macht es zu einem sehr praktischen einheitlichen Baustein für alles. Ich bin mir nicht sicher, ob dies der einzige (und wichtigste) Grund ist.
Eugene Sh.

1
VOH

26
Im Kontext des IC-Designs sind Widerstände physikalisch größer als Transistoren. Und die Verlustleistung, die Widerstände beim Entwerfen von ICs mit hoher Dichte verursachen, macht Widerstände als Logikgatter-Komponenten sehr unerwünscht.
mkeith


4
Hier scheint es zwei Fragen zu geben. „Warum verwenden wir keine Pull-Down-Widerstände anstelle der zwei zusätzlichen Transistoren in z. B. einem Nand-Gate?“ Und „Warum verwenden wir zwei zusätzliche Transistoren zum Invertieren, anstatt im ersten ein nicht invertierendes Gate zu erstellen Ort? ”
Strg-Alt-Delor

Antworten:


67

Um eine nicht invertierende Operation für die Logik zu erhalten (dh UND oder ODER gegen NAND oder NOR), müssen Sie die Transistoren im Common-Drain-Modus betreiben, der auch als "Source Follower" -Modus bezeichnet wird.

Zu den Problemen mit diesem Modus für die Logik:

  • Es gibt keine Spannungsverstärkung. Nach mehr als ein paar Schritten ist das Signal auf Null gesunken.
  • Zwischen den Eingängen und Ausgängen besteht ein signifikanter Offset (als Schwellenspannung bezeichnet). Ein High-Level-Ausgang ist niedriger als der entsprechende High-Level-Eingang.

Zusammen bedeuten diese Probleme, dass Sie den Ausgang dieses Gatters nicht mit den Eingängen einer anderen Kopie von sich selbst verbinden können. Dies macht es für den Aufbau komplexerer Schaltungen ziemlich nutzlos.

Aus diesem Grund werden alle erfolgreichen Logikfamilien 1 mit Transistoren im Common-Source-Modus (oder Common-Emitter-Modus) aufgebaut, die eine erhebliche Spannungsverstärkung und keine kumulativen Offsets zwischen Ein- und Ausgängen aufweisen. Der Ausgang wird jedoch in Bezug auf den Eingang invertiert. Zu den Grundfunktionen gehört daher eine Inversion: entweder NAND oder NOR.

Als Bonus sind NAND- und NOR-Gatter "funktional vollständig", was bedeutet, dass Sie jede logische Funktion (einschließlich Speicherelementen wie Latches und Flip-Flops) aus allen NAND- oder NOR-Gattern erstellen können.


1 Um genau zu sein, Logikfamilien, die Spannungen als logische Zustände verwenden. Dies umfasst RTL, DTL, TTL, PMOS, NMOS und CMOS. Current-Mode-Logikfamilien wie ECL verwenden in der Tat eine Kombination aus Emitterfolgern und Common-Base-Transistoren, um die gleichen Ziele zu erreichen und gleichzeitig die Sättigung (aus Gründen der Geschwindigkeit) zu vermeiden.


2
Eine interessante Nebenfrage wäre, warum wir dies nicht für jedes andere Tor verwenden.
Joshua

2
@Joshua: Ich bin nicht sicher, worauf sich "dies" bezieht, aber wenn es sich um eine Current-Mode-Logik handelt, hat dies viel mit dem relativ hohen stationären Stromverbrauch pro Gate zu tun.
Dave Tweed

@ DaveTweed Ich glaube, Joshua meinte dies: Wenn Sie das tun, was OP vorschlägt, 2 NMOS als Spannungsfolger (keine Spannungsverstärkung) haben und auf der nächsten Stufe der implementierten Logik eine Hochspannungsverstärkung verwenden. Sie wechseln also zwischen "Spannungsfolger" / "Irgendwo einen Wechselrichter". - Die Frage von Joshua ist, warum dieses Design (Wechselfolger / Wechselrichter) speziell nicht verwendet wird. - Vielleicht richtet sich Ihr Kommentar dagegen, ich habe Schwierigkeiten, Ihre Antwort zu verstehen / zu begründen.
Harry Svensson

@ HarrySvensson: Sie können richtig sein. Ich war mir auch nicht sicher, was Joshua mit "jedem anderen Tor" meinte, aber ich beschloss, einen Stich in die Dunkelheit zu machen. Da er nie zurückkam, um zu klären, werden wir es nie genau wissen.
Dave Tweed

2
@HarrySvensson Du hast es getan und DaveTweed hat bereits gesagt, was daran falsch ist.
Joshua

24

Was Sie beschreiben, ist PMOS-Logik . Es hat einige wesentliche Nachteile gegenüber CMOS:

  • Wenn der Wert des Widerstands niedrig ist, verbraucht das Gate eine erhebliche Menge statischer Energie, wenn das Gate aktiv ist. CMOS-Gatter verbrauchen im Wesentlichen keine Energie, wenn sie nicht aktiv schalten.

  • Wenn der Wert des Widerstands hoch ist, schaltet sich das Gate nur langsam aus, da die Kapazität aller vom Ausgang angesteuerten Gates über den Widerstand entladen werden muss. Außerdem wird ein Widerstand mit hohem Wert wahrscheinlich mehr Fläche verbrauchen als ein Satz komplementärer Transistoren.

  • Aus prozessbedingten Gründen ist PMOS weniger effizient als die inverse NMOS-Logik .


4
Nein, das OP zeigt N-Kanal-Transistoren. Scheitert aus einem ganz anderen Grund.
Dave Tweed

3
@ DaveTweed Ich arbeitete unter der Annahme, dass ein Teil ein Schreibfehler war. Wenn Sie in einer separaten Antwort erklären möchten, was sie falsch gemacht haben, kann dies ebenfalls hilfreich sein.
Duskwuff

5
Es sollte immer noch offensichtlich sein - wenn dies P-Kanal-Transistoren wären, würde es eine NOR-Funktion implementieren, nicht UND.
Dave Tweed

4
Die Anzahl der positiven Stimmen, die diese Antwort hervorruft, verwirrt mich sehr.
Harry Svensson

3
@HarrySvensson Hot-Network-Question-Syndrom vielleicht. Eine Flut von Benutzern mit 101 Vertretern, die nur über geringe Domänenkenntnisse verfügen und nur Upvotes und keine Downvotes durchführen können. Verzerrt die Statistiken auf einer kleinen Site wie dieser erheblich.
Pipe

22

Ein Grund, von dem ich glaube, dass noch niemand etwas erwähnt hat:

  1. Widerstände auf dem Chip sind im Vergleich zu Transistoren massiv . Um einen anständigen Wert zu erhalten, sprechen wir von Größenordnungen, die größer sind als die kleinsten Transistoren. Mit anderen Worten, neben all den anderen Vorteilen, die Sie mit dem richtigen CMOS erhalten (statischer Strom, Laufwerkspegel, Ausgangsschwankung), ist es auch viel billiger.

  2. Strukturierung: Die Transistoren in der Logik können so klein sein, weil sie sich wiederholend strukturiert sind. Dies ermöglicht ihnen auch höhere Erträge und eine gleichmäßigere Leistung. Widerstände zu werfen würde dies ruinieren.

  3. Kapazität: Die Begrenzung der Geschwindigkeit in einem Logiksystem ist die Kapazität der nächsten Stufe. Mehr Kapazität bedeutet, dass langsamer (weniger Leistung) oder mehr Treiberstärke benötigt wird (größere Transistoren, mehr Fläche, mehr statischer Strom, mehr Stromverbrauch, mehr Kapazität für die vorherige Stufe). Ein großer Widerstand wird Ihnen wahrscheinlich viel Kapazität zum Aufladen geben, da er eine physikalisch große Fläche einnimmt. Dies könnte die Leistung beeinträchtigen.

Dies wird manchmal bei spezielleren Technologien durchgeführt, bei denen Sie möglicherweise keine guten Logiktransistoren haben (für Analog- / HF-Anwendungen).


8

Transistorwiderstandslogik ist ein Wissensgebiet. Die Eigenschaften von Logikgattern, die auf Widerständen beruhen, unterscheiden sich stark von denen, die Transistoren verwenden. Zum einen verbrauchen Pulldown-Widerstände, die im hohen Zustand gehalten werden, kontinuierlich Energie. Dies kann ein Problem für batteriebetriebene Designs oder Designs mit hoher Dichte sein. Gleiches gilt umgekehrt (für niedrig gehaltene Pulldowns).

Ein weiterer Bereich, in dem ein großer Unterschied besteht, ist die Geschwindigkeit und die Antriebsstärke. Die in CMOS verwendete Gegentakt-Ausgangsstruktur kann schnell schalten, ohne dass bei statischer Aufladung Leistung verloren geht.

Bitte beachten Sie, dass die Schaltung, die Sie gezeichnet haben, überhaupt nicht funktioniert. Sie können NMOS nur dann in den oberen Zweig stellen, wenn die Eingangsspannung höher als VCC ist. Wenn der Ausgang überhaupt stark belastet ist, kann Ihre Schaltung nicht in der Nähe von VCC betrieben werden. Es ist möglicherweise nicht einmal hoch genug, um von einigen Logikgattern als "hoch" erkannt zu werden.

Dies ist nicht nur ein Trottel. Wie sich herausstellt, ist es sehr schwierig, etwas zu bauen, das Rail-to-Rail in einer Stufe umschaltet, es sei denn, es ist von Natur aus invertierend (wie NAND und NOR). Und dies ist der wahre Grund, warum AND-Gatter NAND gefolgt von NOT (Inverter) verwenden. Niemand auf der Welt kennt eine Möglichkeit, ein CMOS AND-Gate für allgemeine Zwecke mit weniger als 6 Transistoren herzustellen. Gleiches gilt für OR.


Bei 5-Volt-NMOS-Geräten ist es nicht ungewöhnlich, High-Side-Signale mit NMOS-Transistoren ohne eine Gate-Vorspannungsquelle über VDD zu schalten. Die Schaltschwelle liegt unter 2,4 Volt, so dass man es sich leisten könnte, einen schwachen Pull-up zu haben, der einen Knoten auf 4 Volt anhebt, und diesen dann zum Betreiben des Gates eines Durchlasstransistors zu verwenden. Die im TIA-Chip des Atari 2600 enthaltenen dynamischen Schieberegister sind auf diese Weise implementiert.
Supercat

Vielen Dank, @supercat. Ich wusste das nicht. Offensichtlich gibt es jedoch viele Einschränkungen. Und es ändert nichts an der Tatsache, dass die OP-Schaltung kein brauchbares UND-Gatter für allgemeine Zwecke ist. Dies funktioniert jedoch möglicherweise für Lasten, die keinen Eingang in der Nähe von VCC benötigen.
mkeith

6

Ein Hauptgrund in der TTL-Logik, und ich würde in den meisten Logikfamilien vorschlagen, ist, dass das Verstärkungselement invertiert. Um einen nicht invertierenden Ausgang mit guten Antriebseigenschaften zu erhalten, ist ein zusätzlicher Inverter erforderlich.

Dieser Wechselrichter ist eine schlechte Sache.

  • Es verbraucht Kraft
  • Es verlangsamt die Logikfunktion
  • Normalerweise interessiert dich die Inversion nicht und manchmal brauchst du sie.

Da wir normalerweise mit diskreten Toren gegen Geschwindigkeit kämpfen (oder wir waren, als sie die einzige Wahl waren), herrschten invertierende Tore über den Tag. Es gab nicht invertierende Tore (vergleichen Sie den 7400 mit dem 7408).

Das Hauptbeispiel dafür ist das Und-Oder-Invertieren-Gatter . Für typische TTL-Nummern ist die Laufzeit wie bei NAND und NOR, umfasst jedoch zwei Logikebenen.


6

Die Vorteile eines CMOS-Designs sind vielfältig:

  1. In der von Ihnen beschriebenen NMOS-Logik gibt es einen direkten (ohmschen) Pfad für den Stromfluss, wenn der Ausgang hoch ist (beide Eingänge sind hoch). In diesem Fall verbraucht das Gate auch im eingeschwungenen Zustand viel Strom (V ^ 2 / R). Im CMOS kann der Strom jedoch nur fließen, wenn alle 4 Transistoren eingeschaltet sind (dh wenn das Gate schaltet).
  2. Typischerweise sind Widerstände auf Silizium sehr schwer zu erzielen und nehmen viel Chipraum in Anspruch. Auch genaue Widerstandswerte sind praktisch nicht erreichbar.
  3. In der NMOS-Logik kann die Ausgangsspannung möglicherweise nicht ihren Maximalwert (+5 V) erreichen, da die Transistoren nach Erreichen eines Minimalwerts abschalten (und somit den Ladezweig abschalten). Dies führt direkt zu verringerten Rauschmargen.
  4. Die CMOS-Logik kann sehr einfach verwendet werden, um möglicherweise jede Schaltung mit einer sehr geringen Anzahl von Transistoren herzustellen, die wenig Energie verbraucht, und um mit hohen Geschwindigkeiten zu arbeiten. Daher ist es sehr umständlich und ineffizient, einen Teil der Schaltung als NMOS (mit ohmscher Last) auszuführen.

So wird ein NAND-Gatter, gefolgt von einem Inverter, zum Entwerfen eines UND-Gatters verwendet.


Punkt 1 zeigt deutlich, warum NMOS mehr Leistung als CMOS benötigt.
Camille Goudeseune

4

Das Bilden eines UND aus einem NAND ermöglicht es, minimale Gate-Größen für die Logik und die Größe der zwei (und nur zwei) Transistoren im Inverter zu verwenden, um die Leitung anzusteuern. Dies maximiert die Geschwindigkeit und minimiert den Leistungsverlust auf Kosten von nur wenig mehr Fläche, die für die zusätzlichen Transistoren verwendet wird (unter Berücksichtigung der Größe des Widerstands, der zum Betreiben der Leitung in der beabsichtigten Anwendung benötigt wird).

Außerdem, um einige der Weisheiten zu teilen, die ich im College gelernt habe (vor langer Zeit in einer weit entfernten Galaxie ...): Wir haben einmal eine Präsentation über Gate-Array-Logik genossen. Am Ende fragte ein Student, warum sich ein Ingenieur die Mühe machen sollte, die Anzahl der verwendeten NAND-Gatter zu minimieren, wenn sich alle diese NAND-Gatter überhaupt auf dem Chip befanden? Die Antwort des Moderators ist mir seit 30 Jahren treu geblieben: Wenn wir das nicht tun, werden es unsere Konkurrenten tun.

Wenn Ihr Mitbewerber eine schnellere und leistungsfähigere Schaltung ohne nennenswerten Kostenunterschied herstellen kann, ist die Verwendung des Widerstands ein kommerzieller Fehler und nicht nur ein technischer Fehler.


2

Ein logisches Signal, das durch ein nicht verstärkendes Gatter läuft, wird wesentlich schwächer als ursprünglich. Während ein nicht invertierendes UND-Gatter in einem Chip enthalten sein könnte, würden Gatter, die durch das schwache Ausgangssignal gespeist werden, wahrscheinlich so viel langsamer schalten als Gatter, die durch ein starkes Ausgangssignal gespeist werden, dass die Zeit, die erforderlich ist, um ein Signal durch einen NAND-Inverter zu leiten und ein anderes Gatter wären wahrscheinlich kleiner als wenn das NAND und der Inverter durch ein UND mit schwachem Ausgang ersetzt würden.

Selbst wenn man sowohl NMOS- als auch PMOS-Transistoren zur Verfügung hat und ein UND-Gatter mit schwachem Ausgang bauen möchte, sollte man das Gatter ähnlich wie ein CMOS-NOR-Gatter aufbauen, jedoch die NMOS- und PMOS-Transistoren umkehren, um dies zu vermeiden statische Verlustleistung. Widerstände sind sehr teuer, daher sollte man sie vermeiden, es sei denn, dies ist unbedingt erforderlich.

Ein Punkt, der in anderen Antworten nicht erwähnt wurde, ist jedoch, dass ein invertierendes Gate eine Mischung aus seriellen und parallelen Ausgängen enthalten kann. Beispielsweise könnte man ein praktisches komplexes Gatter haben, das "nicht ((X und Y) oder (X und Z) oder (Y und Z))" unter Verwendung nur einer Inversionsstufe berechnet. Obwohl es nicht praktikabel ist, ein "UND" zu haben, das seinen Ausgang an mehrere Stellen in einer Schaltung speist, kann man ein "UND" -Gatter an einem oder mehreren Eingängen eines "NOR" -Gatters oder ein "ODER" -Gatter an einem oder mehreren enthalten weitere Eingänge eines "NAND" -Gatters.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.