Wie werden Logikgatter elektronisch erstellt?

Wir haben also UND-, NICHT-, NAND-, NOR-, ODER-Gatter, aber wie werden sie elektronisch/elektrisch erzeugt?

Was bewirkt zum Beispiel, dass NOT Gate den Wert umkehrt?

Hier ist ein Blogbeitrag, den ich geschrieben habe, der zeigt, wie man die Schaltungen physikalisch aus Transistoren herstellt und erklärt, warum sie funktionieren. Ich fand es am einfachsten zu verstehen, nachdem ich es praktisch gemacht hatte, anstatt nur Theorie zu lesen. Die Schaltungen basieren auf Diagrammen von hier .

Antworten (5)

Ich habe daraus ein Community-Wiki gemacht, damit wir coole Logikgatter-Implementierungen sammeln können, auf die wir uns in Zukunft beziehen können.

Zunächst müssen Sie Transistoren auf einfache Weise verstehen. Ich werde mich mit CMOS befassen, da 99% aller Logik, die jemals existiert hat (in der Anzahl), als CMOS existiert.

Es werden zwei Arten von Transistoren verwendet, PMOS und NMOS, hier sind ihre Symbole:Abb. 1

Die Transistoren sind elektrisch gesteuerte Stromquellen/Senken. Der PMOS wird Strom (die gepunktete Linie im Diagramm zeigt den Stromfluss im eingeschalteten Zustand) von einer Stromversorgung (an Source angeschlossen) durch den Drain und in andere Schaltkreise liefern, wenn die Gate-Spannung NIEDRIGER als die Source ist. Der NMOS leitet Strom durch den Drain in die Source (die Sie sich in diesem Fall als Senke vorstellen sollten) in Masse.

Bitte beachten Sie, dass ich mir aus Gründen der Übersichtlichkeit einige Freiheiten bei der Benennung genommen habe.

PMOS ist normalerweise mit einer positiven Spannung verbunden und NMOS ist normalerweise mit negativen Spannungen verbunden, typischerweise Masse.

Interessanterweise können Sie die Geräte stapeln, um verschiedene Funktionen zu erfüllen. Das Stapeln von zwei PMOS ergibt eine Stromquelle, die von zwei Spannungen gesteuert wird, das Stapeln von zwei NMOS ergibt eine Stromsenke, die von zwei Spannungen gesteuert wird.

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass sowohl die Spannung an A (wir nennen es A) als auch B BEIDE unter +V liegen müssen, damit Strom fließt. Beachten Sie auch, dass sowohl C als auch D höher als der Boden sein müssen (das lustige schraffierte Dreieckssymbol), damit der Strom sinken kann (versenkt?). Sie könnten sagen "Sowohl A als auch B müssen zu niedrig sein, damit Strom fließt" und "Sowohl C als auch D müssen hoch sein, damit Strom fließt".

So wie Sie "stapeln" (eigentlich in Reihe schalten) können, können Sie Geräte parallel schalten.Geben Sie hier die Bildbeschreibung ein

Sie könnten sagen, dass "entweder A ODER B für den Stromfluss niedrig sein kann" für den PMOS und Sie könnten sagen, dass "entweder C ODER D für den Stromfluss hoch sein kann" für die NMOS-Schaltung.

Sie werden feststellen, dass wir bereits die logische Sprache verwenden, um Funktionen (UND, ODER) zu beschreiben, sodass wir jetzt damit beginnen können, Schaltungen zusammenzusetzen.

Zuerst der Wechselrichter:

Geben Sie hier die Bildbeschreibung ein

Wenn Vin auf Masse liegt, ist der PMOS eingeschaltet und kann Strom liefern, aber der NMOS ist ausgeschaltet und kann keinen Strom aufnehmen. Infolgedessen versucht der Vout-Pin, Ladung auf jede verfügbare Kapazität zu legen, und lädt diese Kapazität auf, bis sie den V+-Pegel erreicht.

Ebenso ist, wenn Vin hoch ist, der NMOS eingeschaltet und kann Strom aufnehmen, aber der PMOS ist jetzt ausgeschaltet und kann keinen Strom liefern. Infolgedessen versucht der Vout-Pin, Ladung von jeder verfügbaren Kapazität abzuziehen und entlädt diese Kapazität, bis sie den Massepegel erreicht.

Ein „High“ am Eingang ergibt ein „Low“ am Ausgang, ein „Low“ am Eingang ergibt ein „High“ am Ausgang. Es invertiert!

Wenn Sie sich das Symbol für PMOS und NMOS ansehen, sehen Sie, dass das Gate auf dem Symbol wie ein Kondensator aussieht. Dies ist beabsichtigt, da ein MOS-Transistor ein Kondensator ist und hauptsächlich diese Kapazität im Betrieb geladen und entladen wird. Strom ist der Ladungsfluss pro Zeit und Kapazität ist die Ladungsspeicherung pro Spannung. Transistoren wandeln die Gate-Spannung in kontrollierte Ströme um, die dann Gate-Kapazitäten laden und entladen, wodurch diese Ladungsänderung wieder in eine Spannungsänderung umgewandelt wird.

Nun für das erste Gate mit zwei Eingängen das NAND-Gatter:

Geben Sie hier die Bildbeschreibung ein

Der NMOS-"Stapel" wird immer nur unter einer Bedingung Strom aufnehmen, und das ist, wenn BEIDE A & B hoch sind. Beachten Sie, dass für diesen Zustand BEIDE PMOS ausgeschaltet sind (dh keinen Strom liefern). In diesem Zustand sinkt also Vout und Vout ist niedrig.

Unter allen anderen Bedingungen liefert mindestens einer der PMOS Strom und der NMOS-Stapel kann keinen Strom aufnehmen. Der Ausgang wird dann aufgeladen und Vout = hoch.

A B Out
0 0 1
0 1 1
1 0 1
1 1 0

Diese Wahrheitstabelle zeigt, dass if Not(A&B) AKA NAND. 0 = Erde, 1 = V+.

Um sich in ein UND-Gatter zu verwandeln, müssen Sie nur den Ausgang invertieren.

Geben Sie hier die Bildbeschreibung ein

Und es ist Wahrheitstabelle:

A B Out
0 0 0
0 1 0
1 0 0
1 1 1

Und als nächstes das NOR-Gatter

Geben Sie hier die Bildbeschreibung ein

Ich hoffe, Sie sollten inzwischen in der Lage sein, die Wahrheitstabelle selbst zu bekommen.

C D Out
0 0 1
0 1 0
1 0 0
1 1 0

Es gibt eine angenehme Symmetrie von NOR zu NAND. die Struktur ist eine einfache Umkehrung.

Jetzt das OR

Geben Sie hier die Bildbeschreibung ein

und Wahrheitstafel

C D Out
0 0 0
0 1 1
1 0 1
1 1 1

Das Erweitern der Designs auf Eingänge höherer Ordnung ist einfach, wie ein NAND mit 3 Eingängen zeigt.

Geben Sie hier die Bildbeschreibung ein

Indem Sie NMOS und PMOS in Reihen-/Parallelkombinationen platzieren, können Sie verschiedene Logikfunktionen auf Transistorebene implementieren. Dies geschieht häufig aus Gründen der Flächeneffizienz, Energieeffizienz oder sogar der Geschwindigkeit. Diese Funktionen müssen nicht strikt UND-, ODER- oder XOR-Funktionen sein. Folgendes wird als UND/ODER-Gatter bezeichnet:

Geben Sie hier die Bildbeschreibung ein

und hat die folgende Wahrheitstabelle.

C A B Out
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Damit Sie nicht glauben, dass dies der einzige Weg ist, diese Funktionen zu implementieren, werde ich ein Gerät vorstellen, das als Transmission Gate bezeichnet wird.

Geben Sie hier die Bildbeschreibung ein

Sowohl das NMOS- als auch das PMOS-Gatter müssen entgegengesetzt angesteuert werden, um richtig zu arbeiten.

Hier ist eine Beispielschaltung, was Sie mit einem zusätzlichen NMOS machen können.

Geben Sie hier die Bildbeschreibung ein

Hier /A = Not(A) in digitaler Logik

A+B = A ODER B

A*B = A UND B

Sie können also sehen, dass Sie mit nur 3 Transistoren A ODER B implementieren können. Seien Sie jedoch gewarnt, dass diese Schaltung schwerwiegende Nebenwirkungen hat und im Allgemeinen nicht verwendet wird. Aber illustrativ ist es trotzdem.

Hier ist eine ganze Sammlung von TG-basierten Logikfunktionen:

Geben Sie hier die Bildbeschreibung ein

Es gibt auch Pass-Transistor-Logic oder PTL. Ein Beispiel dafür:PTL

Ich habe es selbst geschrieben, weil EE.SE eigenständig sein soll und Links generell verpönt sind. Außerdem habe ich daraus ein Community-Wiki gemacht, damit in Zukunft coole Ideen hier gesammelt werden können.
Super Antwort!!!
Es ist erwähnenswert, dass viele Situationen eine Funktion zum NAND-Verknüpfen der Ausgänge einiger ODER-Gatter oder NOR-Verknüpfung der Ausgänge einiger NAND-Gatter erfordern. Ein Ausdruck wie (A or B) nand (C or D)kann in einer einzigen Logikebene unter Verwendung von acht Transistoren implementiert werden – viel effizienter als die Verwendung von zwei vollwertigen „Oder“-Gattern und NAND-Verknüpfung des Ergebnisses.
Was sind die „schwerwiegenden Nebenwirkungen“ der TG OR-Implementierung?
@apalopohapa: Der größte Nebeneffekt ist, dass TG-Logikschaltungen ihre Eingänge manchmal zumindest vorübergehend zurücktreiben können. Ich denke, das "/A" oben in der "TG" oder Implementierung sollte "/B" sein. Angenommen, das ist der Fall und sowohl A als auch B beginnen niedrig. Zunächst werden A und B mit dem Ausgang und damit miteinander verbunden . Wenn eine steigende Flanke an A vor einer fallenden Flanke an /A auftritt, kann Strom von A zurück nach B fließen. Solche Rückflüsse können, selbst wenn sie kurz sind, unerwünschtes Schaltungsverhalten verursachen.
@supercat Danke für die Antwort. Die Schaltung sieht jedoch nicht richtig aus, auch nicht mit dem /B am NMOS-Gate: Wenn A = 1 ist, ist das untere TG ausgeschaltet, sodass der einzige Weg, eine 1 am Ausgang zu erhalten, über das NMOS führt. Aber das NMOS kann nur so viel tun, um 1s durchzulassen. Es scheint also ein PMOS mit /A an seinem Gate zu sein. Unabhängig davon erkenne ich die Backdriving-Probleme an (danke für die Erklärung).
@apalopohapa: Hmm ... vielleicht könnte man den oberen NFET durch einen von / A gesteuerten PFET ersetzen, obwohl in diesem Fall die Quelle des PFET genauso gut mit VDD und nicht mit A verbunden werden kann.
Übrigens habe ich ein BJT-basiertes XOR-Gate entworfen, um die Lichter des Anhängers meines Vaters um 1977 zu steuern (linkes Licht = linker Blinker x oder Bremse; rechtes Licht = rechter Blinker x oder Bremse); Es war konzeptionell ähnlich wie das Transmission-Gate-XOR, das übrigens in NMOS besser funktioniert als in CMOS.
@apalopohapa hat das NOR-Gatter repariert, da ich die falsche Polarität für den /A-Eingang hatte. /A hat Recht. Die Zelle kann eine starke Last darstellen, während eine normale Zelle nur kapazitiv aussieht. Normale Logikgatter haben jedoch auch einen Durchschussstrom (NMOS- und PMOS-Antriebskonflikt), sodass dies nicht ungewöhnlich ist. Richtig ist jedoch, dass Sie diese Geräte nicht kaskadieren können (es sei denn, Sie können sicherstellen, dass der Antrieb mit niedriger Impedanz durchläuft) und sie können potenziell langsamer sein, da eine zusätzliche Kanallänge durchgeleitet wird.
@placeholder Danke. Nur zur Verdeutlichung, wir sprachen über das ODER-Gatter, das ein TG plus einen Transistor verwendet. Es scheint, dass der NMOS ein PMOS sein sollte, um die volle Spannung von A = 1 durchzulassen.
„Die Pass-Transistor-Logik (PTL) ist ein besserer Weg, um Schaltungen zu implementieren, die für Low-Power-Anwendungen ausgelegt sind. Die Low-Power-Pass-Transistor-Logik und ihre Entwurfsanalyseverfahren wurden in [12, 13] beschrieben. Transistornetzwerk (entweder pMOS oder nMOS) ist ausreichend, um die Logikfunktion zu implementieren, was zu einer geringeren Anzahl von Transistoren und einer geringeren Eingangslast führt Darüber hinaus werden Direkt-zu-Masse-Pfade eliminiert, die zu einem Verlust von Kurzschlussenergie führen können. " hindawi.com/journals/vlsi/2012/173079

Insbesondere das NICHT-Gatter in CMOS besteht aus komplementären PMOS- und NMOS-Bauelementen, die so konfiguriert sind, dass sie den Ausgang invertieren.

Der beste Rat, den ich Ihnen geben kann, ist, sich das Buch Digital Integrated Circuits anzusehen . Es enthält alles, was Sie über das Entwerfen von Logik auf Transistorebene wissen möchten.

Verwenden von RTL (Widerstands-Transistor-Logik).

Außerdem werden einige Tore durch Kombinieren von Toren hergestellt. Zum Beispiel ist ein XOR ein (ODER) UND (NICHT UND). Außerdem ist ein NAND nur ein umgekehrtes UND.

Ein Inverter und ein NOR: http://en.wikipedia.org/wiki/Resistor%E2%80%93transistor_logic
Ein OR ist ein invertiertes NOR.
Ein AND ist ein NOR mit invertierten Eingängen.
Ein NAND ist ein umgekehrtes UND.
Ein XOR ist ein ODER mit einem NAND UND.
Ein NXOR ist ein invertiertes XOR oder ein AND ORed mit einem NOR.

überprüfen Sie diesen Link

http://www.instructables.com/id/Digital-Logic-Gates-Just-Using-Transistors/

NICHT TorGeben Sie hier die Bildbeschreibung ein


ODER-GatterGeben Sie hier die Bildbeschreibung ein


UND-GatterGeben Sie hier die Bildbeschreibung ein

Ein Emitterfolger fällt wie eine Diode um 0,7 V ab. Den und und oder Gattern sollten zwei Inverter folgen, um die Spannung zu verstärken.

Sie werden es wahrscheinlich besser verstehen, wenn Sie eine visuelle Darstellung dessen haben, was in Logikgattern passiert. Einer der besten Orte dafür ist dieser ausgezeichnete interaktive Simulator Falstad . Es ist Java-basiert und wird von Ihrem Browser ausgeführt.