-
Die vorliegende Erfindung betrifft eine Matrixschaltung zur Verarbeitung eines Vektors von Spannungen.
-
Stand der Technik
-
In vielen rechenintensiven Aufgaben, insbesondere bei Künstliche-Intelligenz-Anwendungen bzw. bei Anwendungen des maschinellen Lernens, ist eine Verarbeitung von Vektoren mittels Matrixoperationen notwendig. Beispielsweise müssen Vektor-Matrix-Multiplikationen durchgeführt werden. Um solche Matrix-Operationen schnell und effizient durchzuführen, können Vektor-Matrix-Multiplizierer in Form eigens dafür vorgesehener elektronischer Schaltungen verwendet werden.
-
In diesen Vektor-Matrix-Multiplizierern, die auch als „Dot-Product-Engines“ bezeichnet werden, wird ein Vektor von Eingangsspannungen mittels einer matrixförmigen Anordnung von Memristoren, die an Kreuzungspunkten von orthogonal zueinander verlaufenden Leitungen angeordnet sind und die die sich kreuzenden Leitungen paarweise verbinden, in einen Vektor von Ausgangsspannungen gewandelt, wobei die Ausgangsspannungen jeweils proportional zum Skalarprodukt („dot product“) des Vektors der Eingangsspannungen mit den Leitfähigkeiten der in einer Spalte angeordneten Memristoren sind. Die Eingangsspannungen werden dabei an die in eine Richtung verlaufenden Zeilenleitungen angelegt und führen zu Strömen über die Memristoren in die dazu orthogonal verlaufenden Spaltenleitungen, deren Potential auf Masse liegt. Die Ströme werden mittels Transimpedanzverstärkern in die Ausgangsspannungen gewandelt. Solche Schaltungen können Größen von jeweils einigen 100 Zeilen und Spalten erreichen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß wird eine Matrixschaltung zur Verarbeitung eines Vektors von Spannungen mit den Merkmalen des unabhängigen Patentanspruchs vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Die Erfindung bedient sich der Maßnahme, dass in einer solchen Matrixschaltung mit zahlreichen Speicherzellen jede Speicherzelle einen Spannungsanschluss, einen Stromeingang und einen Masseanschluss aufweist und dazu eingerichtet ist, einen Strom von dem Stromeingang zum Masseanschluss zu leiten, wobei die Stärke des Stroms durch eine am Spannungsanschluss anliegende Spannung und einen programmierbaren Zustand der Speicherzelle gesteuert wird. Ein Strom gleicher Stärke wird mittels eines Stromspiegels in der Speicherzelle in eine jeweilige zweite Spaltenleitung geleitet. Die Summen der in die zweiten Spaltenleitungen geleiteten Ströme dienen als Messgrößen. In der erfindungsgemäßen Matrixschaltung bedingen die an den Zeilenleitungen angelegten Spannungen keinen Stromfluss von den Zeilenleitungen in die Spaltenleitungen, so dass unvermeidliche Leitungswiderstände der Zeilenleitungen und Spaltenleitungen nicht zu einem Spannungsabfall der angelegten Spannungen entlang der Zeilenleitungen und daraus resultierend unterschiedlichen Spannungen an den Speicherzellen führen. Vektor-Matrix-Operationen können mit dieser Schaltung mit höherer Genauigkeit ausgeführt werden.
-
Die ersten Spaltenleitungen können als Stromzufuhrleitungen angesehen werden und die zweiten Spaltenleitungen können als Messstromleitungen angesehen werden. Der Versorgungsanschluss ist für eine Spannungsversorgung vorgesehen, die als Stromquelle dient.
-
Bevorzugt umfasst jede Speicherzelle einen Stromspiegel, der mit dem Stromeingang und dem Stromausgang verbunden ist und der dazu eingerichtet ist, den vom Stromeingang zum Masseanschluss geleiteten ersten Strom zu spiegeln und den gespiegelten Strom als zweiten Strom am Stromausgang bereitzustellen. Durch Verwendung von Stromspiegeln wird auf einfache und stabile Weise ermöglicht, in die zweite Spaltenleitung zweite Ströme zu leiten, deren Stärke mit den ersten Strömen identisch ist. Der zu messende Summenstrom auf jeder der zweiten Spaltenleitungen ist damit unabhängig von Spannungsabfällen entlang einer Zeilen- oder Spaltenleitung. Als Stromspiegel wird dabei, wie dem Fachmann bekannt ist, eine Schaltung verstanden, die aus einem gegebenen Strom (hier der erste Strom) einen weiteren Strom (hier der zweite Strom) gleicher Stärke ableitet und diesen an einem Ausgang bereitstellt, d.h. ein Stromspiegel erzeugt zu einem gegebenen Strom einen weiteren, gleich starken Strom, er „spiegelt“ bzw. „kopiert“ den gegebenen Strom sozusagen.
-
Bevorzugt umfasst jede Speicherzelle ein Stromsteuerungselement, das mit dem Spannungsanschluss und dem Masseanschluss verbunden ist und das dazu eingerichtet ist, die Stärke des ersten Stroms zu steuern. Das Stromsteuerungselement stellt das Element der Speicherzelle dar, das deren programmierbaren Zustand speichert und den ersten Strom bzw. dessen Stromstärke in Abhängigkeit von der am Spannungsanschluss anliegenden Spannung und dem programmierbaren Zustand steuert. Das Stromsteuerungselement ist weiter bevorzugt mit dem Stromspiegel verbunden, d.h. der Stromspiegel leitet, vom Stromeingang ausgehend, einen Strom als ersten Strom zum Stromsteuerungselement, welches die Stärke dieses ersten Stroms steuert, und spiegelt bzw. kopiert diesen ersten Strom und stellt ihn als zweiten Strom am Stromausgang bereit.
-
Bevorzugt umfasst jede der Speicherzellen ein Halbleiterschaltelement, das den ersten Strom vom Stromeingang zum Masseanschluss bzw. dessen Stromstärke steuert. Das Halbleiterschaltelement ist weiter bevorzugt ein Feldeffekttransistor, FET, mit einstellbarer Schwellenspannung, insbesondere ein Ferroelektrischer Feldeffekttransistor (FeFET), wobei der Gateanschluss des FET mit dem Spannungsanschluss verbunden ist. Der programmierbare Zustand der Speicherzellen entspricht hier der einstellbaren Schwellenspannung. Die Verwendung von FETs ist vorteilhaft, da die Stärke des ersten Stroms nur von der angelegten Spannung und von der eingestellten Schwellenspannung abhängig ist, d.h. unabhängig von Leitungswiderständen der Leitungen. Dieses Halbleiterschaltelement ist vorzugsweise in dem Stromsteuerungselement der Speicherzellen enthalten.
-
Bevorzugt umfasst jede der Speicherzellen, insbesondere im Stromsteuerungselement, einen Memristor. Durch das Vorsehen eines Memristors, gegebenenfalls zusätzlich zu einem Halbleiterschaltelement, kann die Bandbreite der programmierbaren Zustände einer Speicherzelle vergrößert werden. Hier ergeben sich insbesondere zwei Realisierungsmöglichkeiten. Gemäß der ersten Möglichkeit umfasst jede Speicherzelle ein Halbleiterschaltelement (insbesondere einen FET), einen Memristor und einen Widerstand, wobei der Memristor und der Widerstand einen Spannungsteiler an einem Steueranschluss des Halbleiterschaltelements (insbesondere an dem Gateanschluss des FET) bilden. Die am Spannungsanschluss anliegende Spannung liegt dadurch nicht direkt am Gateanschluss an, sondern wird entsprechend dem Teilungsverhältnis, das durch den Spannungsteiler aus Memristor und Widerstand vorgegeben ist, geteilt. Gemäß der zweiten Möglichkeit umfasst jede Speicherzelle ein Halbleiterschaltelement und einen Memristor, wobei der Memristor mit dem Halbleiterschaltelement in Reihe geschaltet ist.
-
Bevorzugt sind die Strommesseinrichtungen eingerichtet, eine zum gemessenen Strom proportionale Ausgangsspannung zu erzeugen, wobei ebenso bevorzugt die Stromesseinrichtungen jeweils einen Transimpedanzverstärker umfassen. Aus einem Vektor von Eingangsspannungen, die an den Zeilenleitungen angelegt werden, kann so ein Vektor von Ausgangsspannungen erzeugt werden, d.h. die Matrixschaltung führt eine Vektor-Matrix-Operation durch, dies kann als „In-Memory-Datenverarbeitung“ angesehen werden.
-
Die Begriffe „Verbindung“, „verbunden“, ... „Anschluss“, „angeschlossen“, ... beziehen sich in dieser Anmeldung jeweils auf elektrisch leitende Verbindungen bzw. elektrisch leitende Anschlüsse, soweit nichts anderes erwähnt ist.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Figurenliste
-
- 1A und 1B zeigen einen nicht-erfindungsgemäßen Vektor-Matrix-Multiplizierer;
- 2 zeigt die Struktur einer bevorzugten Matrixschaltung gemäß der Erfindung;
- 3 zeigt eine Spalte von Speicherzellen einer Matrixschaltung gemäß einer bevorzugten Ausführungsform der Erfindung.
-
Ausführungsform(en) der Erfindung
-
Die 1A und 1B stellen einen nicht-erfindungsgemäßen Vektor-Matrix-Multiplizierer, auch als „dot produkt engine“ bezeichnet, dar. Der Vektor-Matrix-Multiplizierer umfasst in Zeilen und Spalten matrixförmig angeordnete Speicherzellen in Form von Memristoren 2. Die Anzahl von Zeilen und die Anzahl von Spalten sind jeweils beliebig, wobei exemplarisch eine 4x4-Anordnung dargestellt ist. Die Speicherfunktion der Memristoren ergibt sich daraus, dass der Widerstand der Memristoren durch Anlegen einer Programmierspannung einstellbar ist.
-
Der Vektor-Matrix-Multiplizierer umfasst weiterhin für jede Zeile der matrixförmigen Anordnung eine Zeilenleitung 4 und für jede Spalte eine Spaltenleitung 6 (wobei der Übersichtlichkeit halber jeweils nur einige Elemente mit Bezugszeichen versehen sind). Die Memristoren 2 sind an den Kreuzungspunkten der zueinander senkrecht verlaufenden Zeilen- und Spaltenleitungen angeordnet und verbinden jeweils eine Zeilenleitung mit einer Spaltenleitung, die anderweitig nicht verbunden sind.
-
Werden an die Zeilenleitungen Spannungen angelegt, so fließen Ströme von den Zeilenleitungen 4 durch die Memristoren 2 in die Spaltenleitungen 6. Dies ist für eine Spalte und zwei Zeilen in 1B illustriert. Dort wird an eine der Zeilenleitungen eine Spannung U1 angelegt und an die andere eine Spannung U2. Der Strom 11 durch einen der Memristoren wird durch dessen Leitfähigkeit G1 bestimmt: 11 = G1 . U1; der Strom 12 durch den anderen Memristor, dessen Leitfähigkeit G2 ist, ist entsprechend 12 = G2 . U2. Durch die Spaltenleitung 6 fließt dann die Summe der Ströme, d.h. der Gesamtstrom I = 11 + 12 = G1 . U1 + G2 . U2. Es findet also eine Multiplikation der als Vektor aufgefassten Spannungen U1, U2 an den Zeilenleitungen 4 mit den als Vektor aufgefassten Leitfähigkeiten G1, G2 der Memristoren in einer Spalte statt, wobei der Gesamtstrom proportional zum Ergebnis dieses Vektorprodukts ist. Bezogen auf die gesamte Matrixanordnung findet also im Prinzip eine Multiplikation des Vektors der Spannungen mit den als Matrixelemente aufgefassten Leitfähigkeiten der Memristoren statt.
-
Der Gesamtstrom jeder Spalte wird üblicherweise mittels eines Transimpedanzverstärkers 8 in eine Ausgangspannung Ua gewandelt. Der hier beispielhaft dargestellte, an sich bekannte Transimpedanzverstärker 8 umfasst einen Operationsverstärker 10, dessen invertierender Eingang mit der Spaltenleitung verbunden ist und dessen nichtinvertierender Eingang auf Masse liegt, und einen Widerstand 12, über den der Operationsverstärker gegengekoppelt ist, so dass die Ausgangsspannung Ua gegeben ist als Ua = - R · I, wobei R der Widerstandswert des Widerstands 12 ist.
-
Die Spannungen an den Zeilenleitungen werden typischerweise aus digitalen Signalen mittels Digital-Analog-Wandlern 14 erzeugt. Ebenso werden typischerweise die Ausgangsspannungen an den Spaltenleitungen mittels Abtast-HalteGliedern 16 (Sample-and-Hold-Schaltungen) und einem Analog-Digital-Wandler 18 wieder in ein digitales Signal umgesetzt.
-
Diese nicht-erfindungsgemäße Schaltung weist mehrere Nachteile auf, so verringern die Leitungswiderstände der Zeilen- bzw. Spaltenleitungen zwischen einzelnen Zellen die Genauigkeit der Vektor-Matrix-Multiplikation, da diese Leitungswiderstände ebenso wie die Memristoren die Stärke der Ströme beeinflussen. Weiter führt ein stärkerer Strom in einer Spaltenleitung zu einem größeren Spannungsabfall entlang der Spaltenleitung, was zu Ungenauigkeiten führt, da die Berechnung darauf beruht, dass das Potential einer Spaltenleitung dem MassePotential entspricht. Dies gilt ebenso für die Zeilenleitungen, je stärker der Strom ist, desto größer ist der Spannungsabfall entlang der Zeilenleitungen, so dass die Eingangsspannungen einzelner Speicherzellen verschoben werden. Diese Nachteile sind umso größer, je größer die Matrix ist.
-
2 stellt eine beispielhafte erfindungsgemäße Matrixschaltung dar, in der eine matrixförmige bzw. gitterförmige Anordnung durch eine Anzahl N von Zeilen und eine Anzahl M von Spalten gebildet ist. Die Schaltung umfasst N Zeilenleitungen 321, 322, ... 32N, M erste Spaltenleitungen 341, 342, ... 34M, M zweite Spaltenleitungen 361, 362, ... 36M, und M·N Speicherzellen 381,1, 381,2, ... 381,M, 382,1, 382,2, ... 382,M, ... 38N,1, 38N,2, ... 38N,M, wobei jedem Paar von Spaltenleitung und Zeilenleitung eine Speicherzelle zugeordnet ist. Die Speicherzellen sind lediglich symbolisch dargestellt, wobei die Anschlüsse an die Spaltenleitungen und Zeilenleitungen jeweils durch einen Punkt hervorgehoben sind, abgesehen von diesen Anschlusspunkten sind die Speicherzellen nicht mit den Spaltenleitungen und Zeilenleitungen verbunden (vgl. 3 für eine konkrete Ausführung der Speicherzellen). Neben den dargestellten Spaltenleitungen und Zeilenleitungen können zusätzliche, nicht dargestellte Leitungen vorgesehen sein, die insbesondere der Programmierung der Speicherzellen dienen, oder auch dazu dienen können, bestimmte einzelne Speicherzellen oder Gruppen von Speicherzellen gezielt auszuwählen und zuzuschalten oder auszuschalten.
-
Die ersten Spaltenleitungen 341, 342, ... 34M sind mit einem Versorgungsanschluss 51 an eine Versorgungsspannung 50, die eine Stromquelle darstellt, verbunden. Die zweiten Spaltenleitungen 361, 362, ... 36M sind mit Masseverbindungspunkten 491, 492, ... 49M an eine Masse 47 verbunden.
-
Jedes der Speicherzellen 381,1, ... 38N,M weist einen Spannungsanschluss 40, einen Stromeingang 42, einen Stromausgang 44 und einen Masseanschluss 46, der mit der Masse 47 verbunden werden kann, auf; wobei in der Figur der Übersichtlichkeit wegen lediglich eine Speicherzelle 381,1 exemplarisch mit entsprechenden Bezugszeichen versehen ist. Der Spannungsanschluss 40 jeder Speicherzelle 38i,j ist mit der Zeilenleitung 32i, der die Speicherzelle zugeordnet ist, verbunden. Der Stromeingang 42 jeder Speicherzelle 38i,j ist mit der ersten Spaltenleitung 34j, der die Speicherzelle zugeordnet ist, verbunden; und er Stromausgang 44 jeder Speicherzelle 38i,j ist mit der zweiten Spaltenleitung 36j, der die Speicherzelle zugeordnet ist, verbunden.
-
Jede Speicherzelle ist dazu eingerichtet, einen ersten Strom vom Stromeingang 42 zum Masseanschluss 46, d.h. von der ersten Spaltenleitung, der die Speicherzelle zugeordnet ist, zur Masse, zu leiten. Der Stromfluss bzw. die Stärke des ersten Stroms durch eine Speicherzelle wird einerseits durch die am Spannungsanschluss, d.h. an der entsprechenden Zeilenleitung, anliegende Spannung und andererseits durch einen einstellbaren bzw. programmierbaren Zustand der Speicherzelle gesteuert. Weiterhin ist jede Speicherzelle ebenfalls eingerichtet, einen zweiten Strom, der in seiner Stärke dem ersten Strom gleich ist, vom Stromeingang 42 zum Stromausgang 44, d.h. von der ersten Spaltenleitung zur zweiten Spaltenleitung (denen die Speicherzelle zugeordnet ist) zu leiten. Eine beispielhafte Ausführung entsprechender Speicherzellen ist in 3 dargestellt.
-
Weiter umfasst die dargestellte Matrixschaltung Strommesseinrichtungen 481, 482, ... 48M, die zwischen den Speicherzellen und den Masseverbindungspunkten 491, 492, ... 49M der zweiten Spaltenleitungen 361, 362, ... 36M angeordnet sind, um durch die zweiten Spaltenleitungen nach Masse 47 (wenn die Matrixschaltung an eine Spannungsversorgung/Stromquelle und an eine Masse angeschlossen ist) fließende Ströme zu messen, wobei hier für jede zweite Spaltenleitung jeweils eine Strommesseinrichtung vorgesehen ist. Weiterhin ist hier jeder Strommesseinrichtung die gleiche Anzahl von Spaltenleitungen (nämlich jeweils eine) zugeordnet. Die Strommesseinrichtungen 481, 482, ... 48M erzeugen als Messergebnis jeweils eine Spannung Va1, Va2, ... VaM, die zu dem in der zweiten Spaltenleitung, der die Strommesseinrichtung zugeordnet ist, fließenden Strom proportional ist. Die Spannungsversorgung dient als Stromquelle. Eine beispielhafte Realisierung solcher Strommesseinrichtungen ist in 3 gezeigt.
-
Werden an die Zeilenleitungen Eingangsspannungen Ve1, Ve2, ... VeN angelegt, so leiten die Speicherzellen abhängig von der jeweiligen Eingangsspannung und vom programmierten Zustand der jeweiligen Speicherzelle erste Ströme von den ersten Spaltenleitungen nach Masse. Gleichzeitig werden an den Stromausgängen der Speicherzellen zweite Ströme bereitgestellt, die die gleiche Stärke wie die ersten Ströme aufweisen. Diese zweiten Ströme fließen in die zweiten Spaltenleitungen. Die Summe der in einer Spalte durch die Speicherzellen von der Spannungsversorgung in die entsprechende zweite Spaltenleitung fließenden zweiten Ströme wird von der zugehörigen Strommesseinrichtung gemessen und in eine Ausgangsspannung gewandelt. Diese Summe der zweiten Ströme ist gleich der Summe der ersten Ströme, welche wiederum durch die Eingangsspannungen und die programmierten Zustände der Speicherzellen bestimmt sind. Die Spannungen an den Zeilenleitungen stellen einen Eingangsvektor von Eingangsspannungen Ve1, Ve2, ... VeN dar und die Spannungen an den Ausgängen der Strommesseinrichtungen stellen einen Ausgangsvektor von Ausgangsspannungen Va1, Va2, ... VaM dar, so dass die Matrixschaltung sozusagen eine Matrixoperation auf den Eingangsvektor anwendet und diesen auf den Ausgangsvektor abgebildet, wobei diese Abbildung durch die programmierten Zustände der Speicherzellen, die als Matrixelemente bzw. Einträge der Matrix angesehen werden können, bestimmt ist. Für diese Funktion (und auch die Funktionsbeschreibung der Schaltung in 3) muss die Matrixschaltung offensichtlich an den dafür vorgesehenen Anschlüssen und Verbindungspunkten mit einer Spannungsversorgung/Stromquelle und einer Masse verbunden sein.
-
Wie im Zusammenhang mit 1 erläutert, können die Eingangsspannungen an den Zeilenleitungen z.B. durch Digital-Analog-Wandler erzeugt werden. Ebenso können die Ausgangsspannungen durch eine geeignete Schaltung, die einen Analog-Digital-Wandler einschließt, wieder in digitale Signale gewandelt werden. Insgesamt kann die Matrixschaltung so in digitale Schaltungen integriert werden und darin zur Verarbeitung von Vektoren eingesetzt werden.
-
3 stellt beispielhaft eine Spalte einer Matrixschaltung dar, wobei Speicherzellen sowie Zeilenleitungen und jeweils eine erste und zweite Spaltenleitung, die mit den Speicherzellen verbunden sind, dargestellt sind. Weiter ist in der Figur eine Strommesseinrichtung dargestellt, die mit der zweiten Spaltenleitung verbunden ist, um den von einer Stromquelle bzw. Spannungsversorgung durch die zweite Spaltenleitung nach Masse fließenden Strom zu messen bzw. zu bestimmen. Eine Matrixschaltung umfasst im Allgemeinen eine Anzahl M von solchen Spalten und eine Anzahl N von Zeilen, wie im Zusammenhang mit 2 beschrieben.
-
Die Spalte umfasst entsprechend der Zeilenanzahl N Speicherzellen, von denen einige Speicherzellen 581, 582, 58N stellvertretend dargestellt sind. Entsprechend der Anzahl N von Speicherzellen in der Spalte sind N Zeilenleitungen 521, 522, ... 52N vorgesehen. Jede Speicherzelle weist einen Spannungsanschluss 60, einen Stromeingang 62, einen Stromausgang 64 und einen Masseanschluss 66 auf, die exemplarisch für eine der Speicherzellen 581 mit Bezugszeichen versehen sind. Der Spannungsanschluss 60 ist mit der Zeilenleitung 521, 522, ... 52N verbunden, welcher die jeweilige Speicherzelle 581, 582, ... 58N zugeordnet ist. Der Stromeingang 62 ist mit der ersten Spaltenleitung 54 verbunden, der Stromausgang 64 ist mit der zweiten Spaltenleitung 56 verbunden und der Masseanschluss 66 ist mit einer Masse 68 verbunden.
-
Die erste Spaltenleitung 54 ist weiterhin mit einem Anschluss 70 an eine Versorgungsspannung 72 bzw. Stromquelle verbunden. Die zweite Spaltenleitung 56 ist über eine Strommesseinrichtung 74, die hier beispielhaft als Transimpedanzverstärker realisiert ist, mit Masse 68 verbunden.
-
Die Speicherzellen 581, 582, ... 58N der dargestellten Ausführung umfassen jeweils zwei Bauelemente: ein Stromsteuerungselement 80 und einen damit verbundenen Stromspiegel 82 (nur für eine der Speicherzellen mit Bezugszeichen versehen). Der Stromspiegel 82 ist mit dem Stromeingang 62, dem Stromsteuerungselement 80 und dem Stromausgang 64 verbunden und eingerichtet, ausgehend vom Stromeingang 62 einen ersten Strom zum Stromsteuerungselement 80 und einen zweiten Strom zum Stromausgang 64 zu leiten. Das Stromsteuerungselement 80 ist weiterhin mit dem Spannungsanschluss 60 und dem Masseanschluss 66 verbunden und eingerichtet, den vom Stromspiegel kommenden Strom, d.h. den ersten Strom, zum Masseanschluss 66 zu leiten. Dabei ist das Stromsteuerungselement 80 eingerichtet, die Stärke des ersten Stroms in Abhängigkeit von der am Spannungsanschluss 60 anliegenden Spannung und von einem eingestellten bzw. programmierten Zustand des Stromsteuerungselements zu steuern, d.h. das Stromsteuerungselement stellt das programmierbare Element der Speicherzelle dar, das die programmierten Zustand der Speicherzelle speichert. Der Stromspiegel 82 ist weiterhin eingerichtet, die Stärke des zweiten Stroms so einzustellen, dass der zweite Strom gleich groß wie der erste Strom (dessen Stärke durch das Stromsteuerungselement bestimmt wird), d.h. der Stromspiegel spiegelt bzw. kopiert den ersten Strom, dessen Stärke durch das Stromsteuerungselement bestimmt wird, und stellt diesen als zweiten Strom am Stromausgang 64 bereit.
-
Die Stromsteuerungselemente 80 der dargestellten Ausführung weisen ein Halbleiterschaltelement 84 (insbesondere einen Transistor) zur Steuerung des vom Stromspiegel 82 zum Stromsteuerungselement 80 geleiteten Stromflusses, d.h. des ersten Stroms, zum Masseanschluss 66 auf. Das Halbleiterschaltelement 84 ist hier ein n-Kanal Feldeffekttransistor (FET) vom Anreicherungstyp (selbstsperrend). Der Gateanschluss des FET ist mit dem Spannungsanschluss 60 der Speicherzelle, d.h. mit der Zeilenleitung 521, verbunden. Der Drainanschluss des FET ist mit dem Stromspiegel 82 der Speicherzelle verbunden, so dass der erste Strom zum Drainanschluss geleitet wird. Der Sourceanschluss ist mit dem Masseanschluss 66, d.h. mit Masse 68, verbunden. Wird an die jeweilige Zeilenleitung 521 eine Spannung V1 angelegt, so liegt diese am Gate des FET an und schaltet, bei ausreichend hoher Spannung, die Drain-Source-Strecke des FET in einen leitenden Zustand, d.h. ein Strom, genauer der erste Strom, wird vom Stromspiegel 82 (durch das Stromsteuerungselement) zum Masseanschluss 66 geleitet, wenn die erste Spaltenleitung 54 mit einem Anschluss (Versorgungsanschluss) 70 an eine Spannungsversorgung 72 verbunden ist. Die Stärke des Stroms IDS, der durch die Drain-Source-Strecke fließt, ist von der Gate-Source-Spannung UGS, d.h. von der an der Zeilenleitung anliegenden Spannung, abhängig. Da die an den Zeilenleitungen 521, 522, ... 52N anliegenden Spannungen V1, V2, ... VN zur Ansteuerung des Gates der FETs verwendet werden, fließt kein Strom über die Zeilenleitungen, so dass das Problem eines Spannungsabfalls entlang der Zeilenleitungen nicht auftritt.
-
Das Stromsteuerungselement 80 weist weiterhin eine Speicherfunktion auf, die entsprechend einem damit gespeicherten bzw. programmierten Zustand den Stromfluss zum Masseanschluss beeinflusst, d.h. der Stromfluss wird einerseits von der Spannung an der Zeilenleitung und andererseits vom programmierten Zustand bestimmt. Hierfür kann ein Halbleiterschaltelement mit einer Speicherfunktion verwendet werden. Bevorzugt ist die Verwendung von ferroelektrischen Feldeffekttransistoren (FeFET) vorgesehen. Bei einem FeFET ist am Gate ein ferroelektrisches Material angeordnet, dessen Polarisationspotential zu einer Verschiebung der Schwellenspannung Uth des FET führt. Durch ein Einstellen der Polarisation kann die Schwellenspannung eingestellt werden, d.h. ein Zustand der Speicherzelle kann programmiert werden. Da der Drain-Source-Strom IDS eine Funktion der Differenz UGS - Uth zwischen Gate-Source-Spannung UGS und Schwellenspannung Uth ist, wird der erste Strom durch die Speicherzelle durch die Spannung am Spannungsanschluss (die gleich der Gate-Source-Spannung ist) und den programmierten Zustand (Schwellenspannung bzw. Polarisation) der Speicherzelle gesteuert. Ebenso können Floating-Gate-Transistoren verwendet werden, bei denen die Schwellenspannung durch eine in einem zusätzlich zum Steuer-Gate des Transistors vorgesehen sogenannten Floating-Gate gespeicherte elektrische Ladung verschoben wird. Eine weitere Alternative besteht darin, einen Transistor (mit oder ohne Speicherfunktion) in Kombination mit einem Memristor zu verwenden.
-
Stromspiegel sind dem Fachmann an sich bekannt. In 3 ist exemplarisch eine bekannte einfache Stromspiegel-Schaltung 82 gezeigt, die zwei p-Kanal FETs (genauer Metalloxid-Feldeffekttransistoren, MOSFETs) verwendet. Hierbei sind die Sourceanschlüsse der beiden FETs mit dem Stromeingang verbunden, der Drainanschluss eines ersten der beiden FETs ist mit dem Stromsteuerungselement verbunden und der Drainanschluss des zweiten FET ist mit dem Stromausgang verbunden. Die Gateanschlüsse der beiden FETs sind einerseits miteinander verbunden, so dass die Gate-Source-Spannungen an beiden FETs und damit die beiden Drain-Source-Ströme, d.h. der erste Strom durch den ersten FET und der zweite Strom durch den zweiten FET, gleich sind (vorausgesetzt, die FETs sind vom gleichen Typ bzw. weisen gleiche Eigenschaften auf), und andererseits mit dem Drainanschluss des ersten FET verbunden, so dass die Gate-Spannung durch den Spannungsabfall zur Masse über das Stromsteuerungselement und damit vom ersten Strom abhängt. Abweichend von dieser Schaltung kann jedoch auch eine andere, dem Fachmann bekannte Stromspiegel-Schaltung verwendet werden. Wesentlich ist nur, dass der Stromspiegel den ersten Strom, der durch das Stromsteuerungselement (von diesem gesteuert) nach Masse fließt, als gleich großen zweiten Strom am Stromausgang bereitstellt.
-
Die Stromsteuerungselemente 80 wirken als Senken für die ersten Ströme. Ist die von der Spannungsversorgung bereitgestellte Spannung ausreichend, so spielt der Spannungsabfall entlang der ersten Spaltenleitung keine Rolle, da der in ein Stromsteuerungselement fließende erste Strom lediglich durch die Spannung am Spannungsanschluss (Gate-Spannung) und den gespeicherten Zustand der Speicherzelle bzw. des Stromsteuerungselements (Polarisation des FeFET) bestimmt ist. Entsprechend sind auch die zweiten Ströme von einem Spannungsabfall entlang der ersten Spaltenleitung unabhängig.
-
Der Gesamtstrom in der zweiten Spaltenleitung 56, d.h. die Summe der zweiten Ströme, ist (ähnlich wie bei der Schaltung der 1) zum durch die Matrixschaltung zu berechnenden Ergebnis, das vom Vektor der Zeilenspannungen V1, V2, ... VN und von den programmierten Zuständen der Speicherzellen bestimmt wird, proportional. Dieser Gesamtstrom wird durch eine Strommesseinrichtung 74, die an der zweiten Spaltenleitung 56 zwischen den Speicherzellen und einem Masseverbindungspunkt 71 der zweiten Spaltenleitung 56 an die Masse 68 angeordnet ist, gemessen. Das Messergebnis wird von der Strommesseinrichtung 74 als Ausgangsspannung Va bereitgestellt. Als Strommesseinrichtung kann (wie in 1B) ein Transimpedanzverstärker verwendet werden. D.h. die zweite Spaltenleitung 56 ist mit dem invertierenden Eingang eines Operationsverstärkers 76 verbunden, dessen Ausgang über einen Widerstand 78 mit dem invertierenden Eingang gegengekoppelt ist. Der nicht invertierende Eingang des Operationsverstärkers ist mit dem Masseverbindungspunkt 71 der zweiten Spaltenleitung 56 verbunden. Die Spannung am Ausgang des Operationsverstärkers entspricht dann der Ausgangsspannung Va der Strommesseinrichtung. Im Allgemeinen können jedoch auch andere Strommesseinrichtungen verwendet werden