Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR THE ANALOGUE MULTIPLICATION AND/OR CALCULATION OF A SCALAR PRODUCT WITH A CIRCUIT ASSEMBLY, IN PARTICULAR FOR ARTIFICIAL NEURAL NETWORKS
Document Type and Number:
WIPO Patent Application WO/2021/228757
Kind Code:
A1
Abstract:
The invention relates to a method for the analogue multiplication and/or calculation of a scalar product with a circuit assembly, which has a series circuit formed by a first FET and a second FET or FET array functioning as a power source, a charging device and a capacitor, which can be precharged via the charging device and can be discharged via the series circuit formed by the first FET and the second FET or FET array. The capacitor is initially precharged for the multiplication of a first value with a second value. The first value is applied at the gate of the first FET as the pulse length of a voltage pulse and in an encoded manner, and the second value is applied at the gate of the second FET as the voltage amplitude and in an encoded manner. In this way, the capacitor is discharged for the period of the voltage pulse with a discharge current, which is specified by the voltage amplitude applied at the second FET. The result of the multiplication can then be determined from the residual charge or residual voltage of the capacitor. The method is very energy efficient and can be used advantageously for carrying out calculations in neurones of an artificial neural network.

Inventors:
GRÖZING MARKUS (DE)
Application Number:
PCT/EP2021/062305
Publication Date:
November 18, 2021
Filing Date:
May 10, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV STUTTGART (DE)
International Classes:
G06G7/16; G06G7/161; G06N3/063
Foreign References:
US4956564A1990-09-11
US3731206A1973-05-01
Other References:
MASATOSHI YAMAGUCHI ET AL: "An Energy-efficient Time-domain Analog VLSI Neural Network Processor Based on a Pulse-width Modulation Approach", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 February 2019 (2019-02-16), XP081031450
M. BAVANDPOUR ET AL.: "Mixed-Signal Neuromorphic Inference Accelerators: Recent Results and Future Prospects", 2018 IEEE INTERNATIONAL ELECTRON DEVICES MEETING (IEDM
Attorney, Agent or Firm:
GAGEL, Roland (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur analogen Multiplikation mit einer Schaltungsanordnung, die eine Serienschaltung aus einem ersten FET und einem als Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs, eine Ladeeinrichtung und wenigstens eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltung aus dem ersten FET und dem zweiten FET oder FET-Array entladen werden kann, bei dem

- die Kapazität zur Durchführung einer Multiplikation eines ersten Wertes mit einem zweiten Wert vorgeladen,

- der erste Wert als Pulslänge eines Spannungs= pulses kodiert an das Gate des ersten FETs und

- der zweite Wert als Spannungsamplitude kodiert an das Gate des zweiten FETs oder als binäre Spannungsamplituden kodiert an die Gates der parallel geschalteten zweiten FETs angelegt wird, so dass sich die Kapazität für einen Zeitraum, der durch die Pulslänge des am Gate des ersten FETs anliegenden Spannungspulses vorgegeben wird, mit einem Entladungsstrom, der durch die am Gate des zweiten FETs oder an den Gates der parallel geschalteten zweiten FETs anliegende(n) Spannungs= amplitude(n) vorgegeben wird, zumindest teilweise entlädt und ein Ergebnis der Multiplikation aus einer Restladung oder Spannung der Kapazität oder einer Spannungs- oder Ladungsdifferenz zwischen dieser und einer weiteren Kapazität bestimmbar ist. 2. Verfahren zur analogen Berechnung eines Skalar= produktes, das durch Multiplikation eines ersten Wertes mit einem zweiten Wert eines jeweiligen Wertepaares und Summation von Ergebnissen der Multiplikationen für mehrere Wertepaare gebildet wird, mit einer Schaltungsanordnung, die mehrere parallel geschaltete Serienschaltungen aus einem ersten FET und einem als Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs, eine Ladeeinrichtung und wenigstens eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltungen aus dem ersten FET und dem zweiten FET oder FET-Array entladen werden kann, bei dem

- jedem der Wertepaare eine der Serienschaltungen zugeordnet,

- die Kapazität zur Berechnung des Skalarproduktes vorgeladen,

- für jedes der Wertepaare der erste Wert als Pulslänge eines Spannungspulses kodiert an das Gate des ersten FET der zugeordneten Serien= schaltung und

- der zweite Wert als Spannungsamplitude kodiert an das Gate des zweiten FET oder als binäre Spannungsamplituden kodiert an die Gates der parallel geschalteten zweiten FETs der zugeordneten Serienschaltung angelegt wird, so dass sich die Kapazität jeweils für einen Zeitraum, der durch die Pulslänge des am Gate des ersten FETs der jeweiligen Serienschaltung anliegenden Spannungspulses vorgegeben wird, mit einem Entladungsstrom, der durch die am Gate des zweiten FETs oder an den Gates der parallel geschalteten zweiten FETs der jeweiligen Serien= schaltung anliegende(n) Spannungsamplitude(n) vorgegeben wird, zumindest teilweise entlädt und ein Ergebnis der Berechnung des Skalarproduktes aus einer Restladung oder Spannung der Kapazität oder einer Spannungs- oder Ladungsdifferenz zwischen dieser und einer weiteren Kapazität bestimmbar ist. 3. Verfahren nach Anspruch 2 in einem künstlichen neuronalen Netzwerk, bei dem die Schaltungs= anordnung ein künstliches Neuron repräsentiert und jedes Wertepaar jeweils durch einen Gewichtsfaktor und einen Eingangswert des künstlichen Neurons gebildet wird.

4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass als erster Wert jedes Wertepaares der Gewichtsfaktor und als zweiter Wert der

Eingangswert gewählt wird.

5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass als erster Wert jedes Wertepaares der Eingangswert und als zweiter Wert der Gewichtsfaktor gewählt wird. 6 Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Gewichtsfaktor als binäre Ziffernfolge bereitgestellt wird, wobei jede Ziffer der Ziffernfolge über einen Digital-Zeit-Wandler die Pulslänge am Gate des ersten FET steuert.

7 Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Gewichtsfaktor als binäre Ziffernfolge bereitgestellt wird, wobei jede Ziffer der Ziffernfolge als Spannungsamplitude kodiert einen zweiten FET der parallel geschalteten zweiten FETs steuert.

8 Verfahren nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass die parallel geschalteten Serienschaltungen aus einem ersten FET und einem als Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs matrixartig an Kreuzungspunkten zwischen horizontalen Verbindungen für einen Eingangsvektor und vertikalen Verbindungen für einen Ausgangsvektor in einer Schicht des künstlichen neuronalen Netzwerks eingesetzt werden, um Berechnungen einer Schicht des künstlichen neuronalen Netzwerkes durchzuführen. 9 Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Schaltungsanordnung für eine Verarbeitung vorzeichenbehafteter erster Werte in jeder der Serienschaltungen zwei parallele Schaltungszweige aufweist, die mit dem zweiten FET oder FET-Array seriell verbunden sind und jeweils einen ersten FET aufweisen, wobei ein erster der beiden Schaltungszweige mit der Kapazität und ein zweiter der beiden Schaltungszweige mit einer zweiten Kapazität verbunden ist, die über die Lade= einrichtung vorgeladen und über die Serien= schaltung aus dem ersten FET des zweiten Schaltungszweiges und dem zweiten FET oder FET- Array entladen werden kann, wobei der jeweilige erste Wert als Pulslänge eines Spannungspulses kodiert in Abhängigkeit von seinem Vorzeichen entweder an das Gate des ersten FETs des ersten Schaltungszweiges oder an das Gate des ersten FETs des zweiten Schaltungszweiges angelegt wird und ein Ergebnis der Multiplikation oder Berechnung des Skalarproduktes aus einer Spannungs- oder Ladungsdifferenz zwischen den beiden Kapazitäten bestimmbar ist.

10. Neuronales Netzwerk mit einem oder mehreren Schichten mit künstlichen Neuronen, bei dem die Neuronen wenigstens einer der Schichten jeweils eine Schaltungsanordnung aufweisen, die

- mehrere parallel geschaltete Serienschaltungen aus einem ersten FET und einem als Stromquelle dienenden zweiten FET,

- eine Ladeeinrichtung und

- eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltungen aus dem ersten FET und dem zweiten FET entladen werden kann, wobei Komponenten von Gewichtsvektoren als Pulslänge eines Spannungspulses kodiert an Gates der ersten FETs und Komponenten von Eingangs- vektoren als Spannungsamplitude kodiert an Gates der zweiten FETs angelegt werden.

11. Neuronales Netzwerk mit einem oder mehreren Schichten mit künstlichen Neuronen, bei dem die Neuronen wenigstens einer der Schichten jeweils eine Schaltungsanordnung aufweisen, die

- mehrere parallel geschaltete Serienschaltungen aus einem ersten FET und einem als Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs,

- eine Ladeeinrichtung und

- eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltungen aus dem ersten FET und dem zweiten FET oder FET-Array entladen werden kann, wobei Komponenten von Eingangsvektoren als Pulslänge eines Spannungspulses kodiert an Gates der ersten FETs und Komponenten von Gewichts= vektoren als Spannungsamplitude kodiert an Gates der zweiten FETs oder als binäre Spannungs= amplituden kodiert an die Gates der parallel geschalteten zweiten FETs der Serienschaltungen angelegt werden.

12. Neuronales Netzwerk nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass zwischen den Schaltungsanordnungen aufeinanderfolgender Schichten des neuronalen Netzwerkes Transferschaltungen zum Transfer eines Ladungsdefizits der Kapazität der jeweiligen Schaltungsanordnung der vorangegangenen Schicht an Gates der zweiten FETs der Schaltungsanordnungen der nachfolgenden Schicht ausgebildet sind.

13. Neuronales Netzwerk nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, dass vor jeder Schaltungsanordnung eine Schaltung zur Wandlung digitaler Werte in Pulslängen eines Spannungspulses angeordnet ist.

14. Neuronales Netzwerk nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass die Schaltungsanordnung für eine Verarbeitung vorzeichenbehafteter Komponenten der Gewichts= vektoren in jeder der Serienschaltungen zwei parallele Schaltungszweige aufweist, die mit dem zweiten FET oder FET-Array verbunden sind und jeweils einen ersten FET aufweisen, wobei ein erster der beiden Schaltungszweige mit der Kapazität und ein zweiter der beiden Schaltungs= zweige mit einer zweiten Kapazität verbunden ist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltung aus dem ersten FET des zweiten Schaltungszweiges und dem zweiten FET oder FET- Array entladen werden kann, wobei die jeweilige Komponente als Pulslänge eines Spannungspulses kodiert in Abhängigkeit von ihrem Vorzeichen durch die Steuereinrichtung entweder an das Gate des ersten FETs des ersten Schaltungszweiges oder an das Gate des ersten FETs des zweiten Schaltungs= zweiges angelegt wird.

Description:
Verfahren zur analogen Multiplikation und/oder Berechnung eines Skalarproduktes mit einer Schaltungsanordnung, insbesondere für künstliche neuronale Netzwerke Technisches Anwendungsgebiet

Die vorliegende Erfindung betrifft ein Verfahren zur analogen Multiplikation und/oder zur analogen Berechnung eines Skalarproduktes, das durch Multiplikation eines ersten Wertes mit einem zweiten Wert eines jeweiligen Wertepaares und Summation von

Ergebnissen der Multiplikation für mehrere Wertepaare gebildet wird, mit einer Schaltungsanordnung. Die Erfindung betrifft auch die Anwendung des Verfahrens in einem künstlichen neuronalen Netzwerk (KNN).

In der elektronischen Signalverarbeitung werden heutzutage die meisten Schaltungsteile im digitalen Bereich mit Hilfe der CMOS-Technologie und binärer statischer Logik realisiert. Analog-Digital-(ADC) und Digital-Analog-Wandlung (DAC) werden soweit wie möglich an die Ränder des Systems verlagert. Dieser Ansatz der hauptsächlich digitalen Signalverarbeitung hat stark von der bisherigen Skalierung der Halbleiter= technologie, d.h. vom Mooreschen Gesetz, profitiert. Die technologiebedingten Effizienzsteigerungen haben den ständig steigenden Bedarf an Verarbeitungsleistung ausgeglichen. Allerdings hat sich das Mooresche Gesetz inzwischen erheblich verlangsamt, so dass dieser Ausgleich gerade bei dem zunehmenden Bedarf an Signalverarbeitungsleistung im Bereich der künstlichen Intelligenz (KI) in Zukunft gefährdet ist. Vor allem die Anforderungen an die Rechenleistung tiefer neuronaler Netzwerke (DNN) steigen wesentlich schneller als die Skalierungsgewinne der zugrunde liegenden CMOS- Technologie. Es besteht daher ein dringender Bedarf an neuen energieeffizienten Techniken der Signal= verarbeitung, die sich in künstlichen neuronalen Netzwerken einsetzen lassen. Stand der Technik

In künstlichen neuronalen Netzwerken kommen derzeit vor allem digitale Signalverarbeitungstechniken zum Einsatz, die auf CMOS-Technologie basieren. Diese Techniken stoßen jedoch aus Sicht der Energieeffizienz bei ständig zunehmenden Anforderungen an die

Rechenleistung in absehbarer Zeit an ihre Grenzen.

Inzwischen werden unter anderem auch Ansätze verfolgt, bei denen eine Mischsignalverarbeitung auf Basis von CMOS-Technologie unter Einsatz von Switched- Capacitor (SC) Ladungsumverteilungs-Techniken zur analogen Multiplikation oder Summation eingesetzt wird. Bei diesen Ansätzen werden speziell zugeordnete SRAM- Arrays für die Speicherung der Eingangswerte (Activations) und Gewichtsfaktoren (Weigths) und ein Neuronen-Array zur Berechnung des Skalarproduktes aus Eingangs- und Gewichtsvektor verwendet. Im Layout des entsprechenden integrierten Schaltkreises stellen Speicherarray und Neuronen-Array örtlich getrennte Einheiten dar. Zur weiteren Reduzierung des

Energieverbrauchs für den Datentransport zwischen diesen Einheiten ist es auch bekannt, beide Einheiten in eine einzelne Einheit zu integrieren. Dieser Ansatz wird als In-Memory-Verarbeitung bezeichnet.

M. Bavandpour et al., „Mixed-Signal Neuromorphic Inference Accelerators: Recent Results and Future

Prospects", in 2018 IEEE International Electron Devices Meeting (IEDM), geben einen Überblick über Schaltungs= anordnungen zur Vektor-Matrix-Multiplikation (VMM). Bei einer dieser Schaltungsanordnungen wird jeder Gewichtsfaktor in Floating-Gate-Zellen gespeichert, die als Spannungs-gesteuerte Stromquelle implementiert sind. Sowohl die Eingangs- als auch die Ausgangswerte werden dabei als Pulslänge von Spannungspulsen kodiert. Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zur Multiplikation und/oder Bildung eines Skalarproduktes, das sich in CMOS- Technologie implementieren lässt und eine energie= effiziente Betriebsweise ermöglicht, sowie ein künstliches neuronales Netzwerk anzugeben, in dem das Verfahren zum Einsatz kommt.

Darstellung der Erfindung

Die Aufgabe wird mit den Verfahren gemäß Patentanspruch 1 und 2 sowie den künstlichen neuronalen Netzwerken gemäß Patentanspruch 10 und 11 gelöst. Vorteilhafte Ausgestaltungen der Verfahren sowie der künstlichen neuronalen Netzwerke sind Gegenstand der abhängigen Patentansprüche oder lassen sich der nachfolgenden Beschreibung sowie den Ausführungs= beispielen entnehmen. Bei dem vorgeschlagenen Verfahren zur analogen Multiplikation wird ebenso wie bei dem Verfahren zur analogen Berechnung eines Skalarproduktes eine Schaltungsanordnung eingesetzt, die eine Serien- Schaltung aus einem ersten FET und einem als

Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs, eine Ladeeinrichtung und wenigstens eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltung aus dem ersten FET und dem wenigstens einen zweiten FET oder FET-Array entladen werden kann. Die Ladeeinrichtung kann dabei lediglich aus einem Schalter gebildet sein, über den die Kapazität mit einer Spannungsquelle verbunden werden kann. Zur Multiplikation eines ersten Wertes mit einem zweiten

Wert wird die Kapazität zunächst vorgeladen. Der erste Wert wird dabei als Pulslänge eines Spannungspulses kodiert an das Gate des ersten FET und der zweite Wert als Spannungsamplitude kodiert an das Gate des zweiten FET oder als binäre Spannungsamplituden kodiert an die Gates der parallel geschalteten zweiten FETs angelegt, so dass sich die Kapazität für einen Zeitraum, der durch die Pulslänge des am Gate des ersten FETs anliegenden Spannungspulses vorgegeben wird, mit einem Entladungsstrom, der durch die am Gate des zweiten FETs oder an den Gates der parallel geschalteten zweiten FETs anliegende(n) Spannungsamplitude(n) vorgegeben wird, zumindest teilweise entlädt. Das Ergebnis der Multiplikation ist dann entweder aus der Restladung oder Spannung der Kapazität oder - bei einer weiter unten beschriebenen Ausgestaltung unter Berücksichti= gung des Vorzeichens des ersten Wertes - aus einer Spannungs- oder Ladungsdifferenz zwischen dieser und einer weiteren Kapazität bestimmbar.

Für die Berechnung des Skalarproduktes wird eine analoge Schaltungsanordnung eingesetzt, die mehrere parallel geschaltete Serienschaltungen aus einem ersten FET und einem als Stromquelle dienenden zweiten FET oder FET-Array aus mehreren parallel geschalteten zweiten FETs, eine Ladeeinrichtung und wenigstens eine Kapazität aufweist, die über die Ladeeinrichtung vorgeladen und über die Serienschaltungen aus dem ersten FET und dem zweiten FET oder FET-Array entladen werden kann. Unter der Berechnung eines Skalarproduktes wird hierbei die Multiplikation eines ersten Wertes mit einem zweiten Wert eines Wertepaares und Summation von Ergebnissen der Multiplikation für mehrere Wertepaare verstanden, wie dies bei der Multiplikation zweier Vektoren mit Vektorkomponenten (als Werte) im kartesischen Koordinatensystem der Fall ist. Jedem der Wertepaare des Skalarproduktes wird dabei eine der

Serienschaltungen zugeordnet. Die Anzahl der Serien= schaltungen muss dabei wenigstens der Anzahl der Wertepaare des Skalarproduktes bzw. der Vektor= komponenten der miteinander zu multiplizierenden Vektoren entsprechen. Die Kapazität wird zur Berechnung des Skalarproduktes wiederum zunächst vorgeladen. Für jedes der Wertepaare wird der erste Wert als Pulslänge eines Spannungspulses kodiert an das Gate des ersten FET der dem jeweiligen Wertepaar zugeordneten Serien- Schaltung und der zweite Wert als Spannungsamplitude kodiert an das Gate des zweiten FET oder als binäre Spannungsamplituden kodiert an die Gates der parallel geschalteten zweiten FETs der zugeordneten Serien= schaltung angelegt, so dass sich die Kapazität jeweils für einen Zeitraum, der durch die Pulslänge des am Gate des ersten FETs der jeweiligen Serienschaltung anliegenden Spannungspulses vorgegeben wird, mit einem Entladungsstrom, der durch die am Gate des zweiten FETs oder an den Gates der parallel geschalteten zweiten FETs der jeweiligen Serienschaltung anliegende(n) Spannungsamplitude (n) vorgegeben wird, zumindest teilweise entlädt. Aufgrund der Parallelschaltung der Serienschaltungen addieren sich die Entladungsströme dabei nach dem Kirchhoffsehen Gesetz. Ein Ergebnis der Berechnung des Skalarproduktes ist dann entweder aus der Restladung oder Spannung der Kapazität oder - bei einer weiter unten beschriebenen Ausgestaltung unter Berücksichtigung des Vorzeichens des ersten Wertes - aus einer Spannungs- oder Ladungsdifferenz zwischen dieser und einer weiteren Kapazität bestimmbar. Als Feldeffekttransistoren (FET) werden bei den vorgeschlagenen Verfahren und neuronalen Netzwerken insbesondere Feldeffekttransistoren mit einem isolierenden Gate („MISFET"), vorzugsweise MOSFETs (Metall-Oxid-Halbleiter-FETS ), eingesetzt. Die zu entladende Kapazität kann durch einen Kondensator oder auch durch die parasitären Kapazitäten der verwendeten FETs und Verbindungsleitungen gebildet werden.

Die vorgeschlagenen Verfahren setzen somit eine Schaltungsanordnung mit einer nichtlinearen Über= tragungsfunktion ein, die in der Grundausführung aus zwei gestapelten, in Reihe geschalteten FETs und einer Kapazität besteht. Im Folgenden wird diese Schaltungsanordnung aufgrund ihrer Funktion auch als analoger Mischsignal-Multiplizierer (ÄMS) bezeichnet. Der erste Multiplikandenwert wird als Impulsbreite eines Spannungsimpulses dargestellt, der an das Gate des ersten FET angelegt wird. Der zweite Multiplikand wird als analoge Spannung kodiert, die an das Gate des zweiten FET angelegt wird. Ein elektrisches Ladungspaket, das proportional zum Produkt der Multiplikanden ist, wird auf der Kapazität angesammelt bzw. von deren Ladung abgezogen. Durch den Anschluss weiterer gestapelter FET-Serienschaltungen an die Kapazität wird die Berechnung eines Skalarprodukts mit einer minimalen Anzahl von Bauelementen ermöglicht. Die analoge Multiplikation lässt sich dabei mit geringem Energieeinsatz durchführen, wie später bei den

Ausführungsbeispielen noch näher ausgeführt wird. Durch den einfachen Aufbau mit FETs und Kapazität lässt sich die eingesetzte Schaltungsanordnung in CMOS-Technologie realisieren. Im Gegensatz zu den bisher in der elektronischen Signalverarbeitung bevorzugten digitalen Verarbeitungstechniken mit Binärsignalen nutzen die vorgeschlagenen Verfahren eine analog-gemischte Signalverarbeitung, bei der ausgewählte elektrische Knoten wesentlich mehr Informationen im analogen Bereich tragen, die physikalisch nur durch Rauschen und Leckagen begrenzt sind. Die Verfahren ermöglichen die Ausführung komplexer arithmetischer Operationen an einzelnen kapazitiven Schaltungsknoten, wobei so wenig Komponenten wie möglich beteiligt sind und die Anzahl der erforderlichen Schaltungsknoten gegenüber digitalen Techniken drastisch reduziert wird. Besonders vorteilhaft lassen sich die Verfahren bzw. darin verwendeten Schaltungsanordnungen für die Rechen= operationen in Neuronen oder Neuronenschichten in künstlichen neuronalen Netzwerken einsetzen. Die grundlegende Funktionsweise künstlicher Neuronen kann auf die vorgeschlagene AMS-Schaltungsanordnung mit geringer Anzahl an Schaltungsknoten und Bauelementen abgebildet und mit einer fortschrittlichen CMOS- Foundry-Technologie implementiert werden. In einer bevorzugten Anwendung des Verfahrens zur

Berechnung eines Skalarprodukts in einem künstlichen neuronalen Netzwerk ist die Schaltungsanordnung aus den parallel verschalteten Serienschaltungen, der Ladeeinrichtung und der Kapazität jeweils Teil eines künstlichen Neurons. Jedes Wertepaar entspricht dabei jeweils einem Gewichtsfaktor und einem Eingangswert des künstlichen Neurons. In der bevorzugten Ausgestaltung wird dabei als erster Wert jedes Wertepaares der Gewichtsfaktor und als zweiter Wert der Eingangswert gewählt. Somit werden die Gewichtsfaktoren jeweils als Pulslänge eines Spannungspulses kodiert an das Gate des ersten FET und die Eingangswerte als Spannungsamplitude kodiert an das Gate des zweiten FET angelegt. Die in der Regel als Digitalwerte vorliegenden Gewichts- faktoren müssen dabei geeignet gespeichert werden, vorzugsweise in entsprechenden SRAMs, und werden jeweils mittels eines Digital-Zeit-Wandlers (DTC) in die entsprechenden Spannungspulse gewandelt. In einer alternativen Ausgestaltung des vorge= schlagenen Verfahrens zur Berechnung eines Skalar= produkts in einem künstlichen neuronalen Netzwerk wird als erster Wert des Wertepaares der Eingangswert und als zweiter Wert der Gewichtsfaktor gewählt. In diesem Falle wird vorzugsweise nicht nur ein, sondern es werden mehrere zweite FETs in einer Parallelschaltung eingesetzt, wobei wiederum die Gewichtsfaktoren entsprechend digital gespeichert werden. Die einzelnen binären Ziffern des jeweiligen Gewichtsfaktors steuern dann - als Spannungsamplitude kodiert - die einzelnen zweiten FETs des FET-Arrays, d.h. der Parallelschaltung der zweiten FETs. Dies wird im Ausführungsbeispiel noch näher erläutert.

Durch Nutzung von zwei parallelen Zweigen mit ersten FETs, die mit dem wenigstens einen zweiten FET oder FET-Array in Serienschaltung verbunden sind, und zwei Kapazitäten lassen sich auch vorzeichenbehaftete Gewichtsfaktoren verarbeiten. Auch vorzeichenbehaftete Eingangswerte können durch entsprechende Erweiterung der Schaltungstopologie implementiert werden. Mit dem vorgeschlagenen Verfahren zur Berechnung des Skalarprodukts und der darin eingesetzten Schaltungsanordnung lässt sich ein neuronales Netzwerk aufbauen, bei dem die Neuronen durch die Schaltungs= anordnungen gebildet werden. Je nach Ausgestaltung müssen zusätzlich Digital-Zeit-Wandler (DTC) implementiert sein. Auch geeignete Transferschaltungen für die Verschiebung der Ladung am Ausgang eines Neurons an die Eingänge von Neuronen der jeweils nachfolgenden Schicht können je nach Ausgestaltung erforderlich sein. Ein Beispiel für eine derartige Transferschaltung ist aus den nachfolgenden Ausfüh= rungsbeispielen entnehmbar. Ein wesentlicher Vorteil der vorgeschlagenen Verfahren sowie der darin eingesetzten Schaltungs= anordnungen ist ein sehr geringer Stromverbrauch. Eine etwa 500-fache Energieeffizienzsteigerung wird in einem 28 nm CMOS ÄMS im Vergleich zu einem digitalen 8 Bit x

8 Bit Feldmultiplizierer erwartet. Die bei den Verfahren eingesetzten Schaltungsanordnungen lassen sich auf kommerziellen Standard-CMOS-Technologien implementieren, die auch für eine Vielzahl von Standard- und anwendungsspezifischen integrierten Schaltungen verwendet werden. Damit können die vorgeschlagenen Schaltungsanordnungen in einem hybriden Ansatz zusammen mit traditionellen Analog-, HF-, Digital- und Speicherblöcken auf einem einzigen Chip in einem „System-on-Chip-Ansatz" verwendet werden. Eine AMS-IP-Bibliothek ermöglicht den Entwurf einer AMS- Coprozessor-IP, die zusammen mit anderen Blöcken auf einem anwendungsspezifischen integrierten Schaltkreis (ASIC) oder zusammen mit Standard-COTS-Digital- prozessor-ICs, d.h. zusammen mit Standard-Smartphone- Prozessoren, platziert werden kann, um eine äußerst energieeffiziente gemeinsame Verarbeitung von spezifischen KNN-bezogenen Aufgaben zu ermöglichen. Durch die Verwendung der etablierten Standard-CMOS- Logiktechnologie werden leistungshungrige Chip-zu-Chip- Schnittstellen für solche Hybridsysteme mit herkömm= licher digitaler und neuer analoger Signalverarbeitung vermieden. Die vorgeschlagenen Verfahren lassen sich besonders gut für Anwendungen einsetzen, die keine außergewöhnliche Präzision erfordern. Auch die

Entwicklung von Klassifikationsaufgaben auf Basis neuronaler Netzwerke kann durch die mit dem vorgeschlagenen Verfahren verbesserte Energieeffizienz unterstützt werden, beispielsweise bei der RADAR- und LIDAR-Objekterkennung für autonomes Fahren im Automobil oder bei der mobilen, Personen-unterstützenden Sprach- und Bilderkennung.

Kurze Beschreibung der Zeichnungen

Die vorgeschlagenen Verfahren werden in Verbindung mit einem künstlichen neuronalen Netzwerk im Folgenden anhand von Ausführungsbeispielen in Verbindung mit den Zeichnungen nochmals näher erläutert. Hierbei zeigen:

Fig. 1 einen Ausschnitt von drei Schichten aus einem künstlichen neuronalen Netzwerk (Teilabbildung a) sowie die Struktur eines künstlichen Neurons (Teilabbildung b);

Fig. 2 ein Beispiel für die Schaltungsanordnung zur Multiplikation (Teilabbildung a) sowie die Schaltungsanordnung zur Berechnung eines Skalarprodukts (Teilabbildung b) gemäß der vorliegenden Erfindung;

Fig. 3 ein Beispiel für eine DTC-Schaltung

(Teilabbildung a) sowie die zeitliche Entwicklung der Spannungen innerhalb der Schaltung (Teilabbildung b);

Fig. 4 ein Beispiel für eine alternative Schaltungs= anordnung zur Multiplikation gemäß der vorliegenden Erfindung; Fig. 5 Beispiele für die Implementierung vorzeichen= behafteter Gewichtsfaktoren in die vorge= schlagene Schaltungsanordnung; Fig. 6 ein Beispiel für die matrixartige Anordnung mehrerer der vorgeschlagenen Multiplikations- Schaltungsanordnungen zur Implementierung einer neuronalen Schicht; Fig. 7 ein Beispiel für eine Ladungstransferschaltung zum Ladungstransfer eines Ladungsdefizits vom Ausgang eines Neurons zum Eingang des nächsten Neurons; und Fig. 8 ein Beispiel für die Ausgestaltung eines neuronalen Netzwerkes gemäß der vorliegenden Erfindung.

Wege zur Ausführung der Erfindung

In den nachfolgenden Beispielen wird das vorge= schlagene Verfahren mit der zugehörigen Schaltungs= anordnung zur Berechnung von Skalarprodukten in einem künstlichen neuronalen Netzwerk eingesetzt. Figur 1 zeigt hierzu in Teilabbildung a einen Ausschnitt mit drei Schichten eines künstlichen neuronalen Netzwerkes. In Teilabbildung b ist die Grundstruktur eines künstlichen Neurons dargestellt, hier für das j-te Neuron in der Schicht y des neuronalen Netzwerkes. Die Eingangswerte X1 bis x n - also die Aktivierungen aus der vorangegangenen Schicht x - werden mit den entsprechenden Gewichtungsfaktoren bzw. Gewichten W j1 bis W n multipliziert und die Multiplikationsergebnisse sowie ein konstanter Wert b j = xo W j o addiert. Die resultierende Summe S j entspricht dem Skalarprodukt aus dem Aktivierungsvektor der Schicht x des neuronalen Netzwerkes und dem Gewichtsvektor der die synaptischen Gewichte der Eingangssignale zu Neuron y j darstellt. Weiterhin stellt die Summe S das Argument der Transferfunktion Φ(S j) dar, die die endgültige Neuronenaktivierung y erzeugt. Jede Multiplikation Xi. W ji entspricht einer einzelnen synaptischen Operation.

Mit dem vorgeschlagenen Verfahren wird die in einem Neuron stattfindende Berechnung des Skalar= produktes energieeffizient durchgeführt. Figur 2a veranschaulicht das Kernschema der vorgeschlagenen

Schaltungsanordnung, d.h. der AMS Multiplikationszelle (AMS: analoger Mischsignal-Multiplizierer), die auf zwei gestapelten FETs, hier MOSFETs, und einem hier als Kapazität eingesetzten Kondensator basiert. Die Initialisierung erfolgt durch Vorladen des Kondensators C auf die positive Versorgungsspannung U DD . Das Schaltungsprinzip ähnelt der Vorlade- und Auswertefunktion in der CMOS-Domino-Logik. Figur 2a zeigt die beiden in Serie verschalteten MOSFETs N w , N x , den Kondensator C sowie die mit der Versorgungsspannung U DD verbundene Vorladeeinrichtung, hier in Form eines Schalters. Das Grundschema dieser AMS-Multiplikations- zelle wird in zwei unterschiedlichen Ausführungsformen des vorgeschlagenen Verfahrens verwendet.

In der bevorzugten Ausgestaltung wird das Multiplikationsergebnis wie folgt ausgewertet. Der untere MOSFET N x arbeitet als Stromquellentransistor, der durch seine analoge Gate-Source-Spannung U GS ,N X = u x gesteuert wird, die über einen Eingangswert x, dem Ausgang der vorhergehenden Neuronenschicht, bereit= gestellt wird. Die Spannung u x steuert den Drainstrom i x über die nichtlineare Transferfunktion I x (U x) gemäß der Stromgleichung des MOSFETs. Diese Nichtlinearität ist ein Teil der nichtlinearen Übertragungsfunktion cp der vorhergehenden Neuronenschicht. Da der n-Kanal- MOSFET im Anreicherungsmodus eine Schwellenspannung größer als 0 aufweist, ist eine weiche Gleichrichter= ähnliche Übertragungsfunktion implementiert.

Der Drainstrom i x wird vom oberen Pol des Kondensators C nur dann abgezogen, wenn der gestapelte MOSFET N w ebenfalls leitend ist. Durch Setzen seiner

Gatespannung auf U DD für eine Zeitspanne T entsprechend dem Gewichtsfaktor w wird der obere MOSFET N eingeschaltet. Die vom Ausgangsknoten abgezogene Ladung Qxw und die entsprechende Ausgangsspannung U c lauten:

Das Ergebnis der Multiplikation entspricht somit der Ladungsmenge Q x , die durch die Reihenschaltung dieser beiden MOSFETs fließt. Die zeitlichen

Verhältnisse der Spannungen und Ströme in dieser Schaltungsanordnung sind im linken Teil der Figur 2a dargestellt . Figur 2b zeigt die Implementierung der vorgeschlagenen Schaltungsanordnung zur Realisierung einer AMS Skalarproduktzelle durch Anwendung des Kirchhoffsehen Stromgesetzes auf einen gemeinsamen Ausgangsknoten, in dem alle Ausgangsströme der AMS Multiplikationszellen kumuliert werden. Die entsprechende Parallelschaltung mehrerer Serien= schaltungen zweier MOSFETs, der Kondensator C sowie die zugehörige Ladeeinrichtung sind in der Figur 2b schematisch dargestellt. Die Ausgangsspannung U yi lautet:

Die künstliche Neuronenfunktion, d.h. ein Skalarprodukt gefolgt von einer nichtlinearen Übertragungsfunktion, wird auf einfache elektrische Netzwerkprinzipien (d.h. den Kirchhoffsehen Gesetzen) in Verbindung mit der etablierten FET-Bauteilphysik (I D s = f(U GSJ U DS )) abgebildet. Eine Neuronenausgangs= aktivierung wird entlang einer einzelnen Leitung mit einer Serie von Multiplizierern implementiert. Die analoge Multiplikation wird durch die

Verwendung von nur zwei kleinen MOSFETs realisiert. Die während des Multiplikationsprozesses zu ladende oder zu entladende Gesamtkapazität kann bei 300 nm breiten MOSFETs N x und N y in 22 nm CMOS auf Werte von nur 0,6 fF begrenzt werden. Dies führt zu einem Energie= verbrauch der Multiplikation von 0,5 fj bei einer Versorgungsspannung von 0,8 V. Die geschätzte Betriebs= energie eines 8 Bit x 8 Bit Feldmultiplizierers in 28 nm CMOS-Technologie beträgt hingegen 8 x 30 fj = 240 fj (basierend auf 30 fj für einen einzelnen 8-Bit-

Addierer), was eine etwa 500-fache Energieeffizienz- Steigerung für den vorgeschlagenen AMS ergibt. In der obigen bevorzugten Ausgestaltung werden die Neuroneneingangs-Gewichtungsf aktoren widurch die zeitliche Breite T Wi von Strompulsen dargestellt, wobei die Stromamplitude I Xi die Eingangsaktivierungen bzw. Eingangswerte x i (vgl. Figur 1) darstellt. Um den Energieverbrauch zu minimieren, werden die einzelnen Gewichtsfaktoren vorzugsweise lokal direkt neben den entsprechenden AMS-Multiplikatorzellen gespeichert. In einem Standard-CMOS-Prozess - der Zieltechnologie für die Implementierung von Schaltungen nach dieser Erfindung - wird die effizienteste und am einfachsten zu verwendende Speicherimplementierung durch Sätze von statischen 6-MOSFET-Speicherzellen gebildet, die binäre Wörter oder Ziffern darstellen. Daher ist eine

Konvertierung von den digitalen binären Speicherworten in zeitliche Pulsbreiten, also ein Digital-Zeit-Wandler (DTC), erforderlich. Figur 3a zeigt eine Schaltung, die diese

Umwandlung auf Grundlage der Entladung einer parasitären Schaltungsknotenkapazität C no de durch einen programmierbaren Strom I diS durchführt. Das Eingangsbinärwort wird durch die Binärsignale W0 bis W k dargestellt, die von den binären Speicherzellen geliefert werden. Diese Binärsignale steuern die Entladungsgeschwindigkeit des vorgeladenen Knotens U out1 · Die unterschiedlichen Entladungsströme in den verschiedenen Pfaden über die Schalter-MOSFETs N s1vt , an deren Gate die Binärsignale Wo bis W anliegen, werden durch die unterschiedlichen Schwellenspannungen der MOSFETs über diesen Schalter-MOSFETs eingestellt, die durch die Abkürzungen uhvt (ultrahohe Schwellen= spannung), llhvt (hohe Schwellenspannung für niedrigen Leckstrom), hvt (hohe Schwellenspannung) und rvt (reguläre Schwellenspannung) angezeigt werden. Da die Pfadströme durch die Schwellenspannung und nicht durch die Kanalbreite festgelegt werden, können alle MOSFETs in dieser Schaltung eine minimale Kanalbreite aufweisen, was zu einer sehr geringen dynamischen Leistungsaufnahme führt. Zwei weitere vorgeladene und kaskadierte dynamische Verstärkerstufen mit den

Ausgangsknoten U out2 und U out3 bieten Verstärkung und binäre Signalpegel-Regeneration, wenn sie durch die Signale U rst und U rst2 in den Auswertemodus versetzt werden. Die beiden Reset-/Vorladesignale U rst und U rst2 und das Auswertesignal U ev1 sind zeitlich versetzt, wie dies in der Figur 3b dargestellt ist.

In einer alternativen Ausführungsform werden die Gewichtungs- und Aktivierungseingänge und damit die Rollen der unteren und oberen MOSFETs in dem/den Multiplikatorauswertungspfad (en) von Figur 2 vertauscht, wie dies in Figur 4 dargestellt ist. Die Gewichtung wird nun durch einen konstanten Sourcestrom I w dargestellt (vgl. Figur 4a), der entweder von einem einzelnen unteren MOSFET oder von einem programmier= baren Satz unterer MOSFETs N Wk mit parallel geschal= teten Drains und Sources als Stromquelle Nw geliefert wird. Figur 4b zeigt ein Beispiel für die schaltungs= technische Umsetzung der per Digitalwort W gesteuerten Stromquelle Nw durch ein Array von parallelen unteren MOSFETs N k . Der zeitliche zweistufige Aktivierungs= eingang u x , der an das Gate des oberen MOSFET N x angelegt wird, steuert nun die zeitliche Impulsbreite T x des aktuellen Entladestroms i w (t). Im Falle des Satzes aus mehreren MOSFETs N Wk wird der Sourcestrom I w wiederum durch einen lokalen binären Gewichtsspeicher gesteuert, der die Binärsignale W 0 bis W k liefert.

Der Vorteil der alternativen Ausführungsform der Figur 4 gegenüber der bevorzugten Ausführungsform der Figur 2 besteht darin, dass keine Digital-Zeit-Wandler bzw. Digital-Impulsbreiten-Wandler für die Gewichts- faktoren an jeder Position des Mischsignal-Multipli= zierers erforderlich sind. Der Nachteil der alter= nativen Ausführungsform gegenüber der bevorzugten Ausführungsform besteht darin, dass zwischen den Aktivierungsausgängen (Signal-Domäne: analoge Spannung oder Ladung) einer neuronalen Netzwerkschicht und dem nachfolgenden Aktivierungseingang der nächsten neuronalen Schicht (Signal-Domäne: Pulsbreite) Ladungs= oder Spannungs-Pulsbreitenwandler notwendig sind. Ein solcher Ladungs-Pulsbreitenwandler kann nach Auswertung durch Wiederaufladen der Kapazität C durch einen

Konstantstrom I charge/ beginnend zu einem vordefinierten Zeitpunkt to, implementiert werden. Eine Trigger= schaltung erkennt den Zeitpunkt ti der vollständigen Wiederaufladung des Kondensators C. Zwischen den Zeitpunkten to und ti wird eine positive Spannung u y = U DD für die Dauer t y = t 1 -t 0 ausgegeben, wobei t y =

Q y /I Charge proportional zu der Ladung Q y ist, die durch die AMS-Schaltung aus C entnommen wird. Die AMS-Multiplizierschaltungen gemäß Figur 2a und

Figur 4a arbeiten nur mit vorzeichenlosen Signalen. In der Ladungsgleichung sind sowohl die Ströme I x (bevorzugte Ausgestaltung) oder I w (alternative Ausgestaltung) als auch die Impulsbreite T w (bevorzugte Ausgestaltung) oder T x (alternative Ausgestaltung) positiv, was zu einer positiven Ladung Q = I.T führt, die in beiden Ausgestaltungen aus dem vorgeladenen Kondensator C gezogen wird. Erweiterungen der

Schaltungstopologie, die auf den AMS-Multiplizierern nach Figur 2a und Figur 4a basieren, ermöglichen die Verwendung von vorzeichenbehafteten Signalen. Bei künstlichen neuronalen Netzwerken ist der

Aktivierungswertebereich oft auf positive Werte beschränkt. Die Gewichte können jedoch positiv oder negativ sein. Figur 5a zeigt das Blockschaltbild für vorzeichenbehaftete Gewichtsfaktoren unter Verwendung zweier Signale am Aktivierungsausgang des Neurons. Bei einem positiven Gewichtsfaktor W ji werden die beiden Gewichtsanteile auf W ip = W ji und W in = 0 gesetzt. Bei einem negativen Gewichtsfaktor W ji werden die beiden Gewichtsanteile auf W ip = 0 und W in = -W ji gesetzt.

Figur 5b zeigt die Schaltungstopologie zur Implementierung eines vorzeichenbehafteten Gewichts für die bevorzugte Ausgestaltung. Es wird ein MOSFET-Paar N wp und N wn verwendet, wobei deren gemeinsamer Source- knoten mit dem Drain von N x verbunden ist und das Paar N wp und N wn den einzelnen MOSFET N w ersetzt. Die Drains von N wp und N wn sind mit zwei Ausgangsspannungsleitungen u cp bzw. u cn verbunden, die die vorgeladenen Kondensa= toren C n = C p aufweisen. Das endgültige Ausgangssignal ist die Spannungsdifferenz U CD = u cp - u cn oder die

Ladungsdifferenz Q D = Q P - Q n . Ein Selektor verbindet das Ausgangssignal U out3 des DTC der Figur 3a mit dem entsprechenden Eingang u wp oder u wn des Differential= paars N wp/n der Figur 5b, je nach Vorzeichen des Gewichtsfaktors. Der andere Eingang des Differential= paares wird mit Masse verbunden.

Figur 5c zeigt die Schaltungstopologie zur Implementierung eines vorzeichenbehafteten Gewichts für die alternative Ausgestaltung. Es wird ein MOSFET-Paar N xp und N xn verwendet, wobei deren gemeinsamer Sourceknoten wiederum mit dem Drain von N w verbunden ist und das Paar N xp und N xn den einzelnen MOSFET N x ersetzt. Die Drains von N xp und N xn sind mit zwei Ausgangsspannungsleitungen u cp bzw. u cn verbunden, die die vorgeladenen Kondensatoren C n = C p aufweisen. Das endgültige Ausgangssignal ist wiederum die Spannungs= differenz U CD = u cp - u cn oder die Ladungsdifferenz Q D = Q p - Q n . Ein Selektor verbindet das Aktivierungs= eingangssignal u x (Pulsbreitendomäne) aus Figur 3 mit dem entsprechenden Eingang u xp oder u xn des Differenz- paars N xp/n aus Figur 5c, je nach Vorzeichen des

Gewichtsfaktors. Der andere Eingang des Differential= paares wird mit Masse verbunden. Auch hier kann N w als programmierbare Stromquelle gemäß Figur 4b implementiert werden.

Um sowohl vorzeichenbehaftete Gewichte als auch vorzeichenbehaftete Eingangsaktivierungen bzw. Eingangswerte zu implementieren, müssen die Schaltungstopologien der Figuren 5b und 5c, die eine einzige differenzielle Topologie darstellen, auf doppelt differenzielle Topologien und durch Querverbinden ihrer Ausgänge zu u cp und u cn erweitert werden. Für die bevorzugte Ausgestaltung (Figur 5b) wird das einzelne Differentialpaar N x + (N wp -N wn ) verdoppelt, um die doppelt differenzielle Topologie (N xp + (N wp -N wn ) p )≃(N xn + (N wp -N wn ) n ) zu bilden, wie dies in Fig. 5d dargestellt ist. Es gibt einen u xp - und u xn = Eingang für ein vorzeichenbehaftetes differentielles Eingangsaktivierungssignal (Spannungsdomäne), das mit den Gates der beiden N xp - und N xn -Stromquellen MOSFETs verbunden ist. Das Gewicht u wp (Pulsbreitendomäne) wird sowohl mit N wP,P als auch mit N wp,n verbunden und das Gewicht u wn wird sowohl mit N wn,P als auch mit N wnin verbunden .

Für die alternative Ausgestaltung (Figur 5c) wird das einzelne Differentialpaar N w + (N xp -N xn ) verdoppelt, um die doppelt differenzielle Topologie (N wp + (N xp -N xn ) p )= (N wn + (N xp -N xn ) n ) zu bilden, wie dies in Fig. 5e dargestellt ist. Es gibt einen u xp - und u xn - Differentialeingang für ein vorzeichenbehaftetes differentielles Eingangsaktivierungssignal (Pulsbreitendomäne); u xp wird sowohl mit N xP,P als auch mit N xp,n verbunden und u xn wird sowohl mit N xn , p als auch mit N xn , n verbunden. N wp ist für positive Gewichts= faktoren aktive Stromquelle und N wn ist die für negative Gewichtsfaktoren aktive Stromquelle.

Durch eine matrixartige Anordnung von mehreren AMS-Multiplikations- bzw. eine Anordnung mehrerer Skalarproduktzellen nebeneinander kann eine einzelne neuronale Schicht realisiert werden, wie dies in Figur 6 beispielhaft dargestellt ist. Figur 6a zeigt hierbei eine Anordnung mehrerer nebeneinander angeordneter AMS- Skalarproduktzellen mit n horizontalen Leitungen für den Eingangsaktivierungsvektor , m vertikalen Leitungen für den Ausgangsaktivierungsvektor und Multiplikationszellen, die an jeder Kreuzung platziert sind. Eine derartige Anordnung kann eine Schicht eines neuronalen Netzes auswerten (vgl. Figur 1a).

Die Verbindung der AMS-Multiplikationszelle mit einer horizontalen und einer vertikalen Leitung und die Verbindung zu einem lokalen Gewichtsspeicher (+ Digital-Zeit-Wandler (DTC)) ist in Figur 6b dargestellt. Ein zweites Überlagerungsgitter aus horizontalen und vertikalen Leitungen wird verwendet, um Gewichtsdaten von der Nord- und Ostseite der Matrixanordnung in den lokalen Gewichtsspeicher zu schreiben. Eine Signalflussdiagramm-Darstellung der Schaltung aus Figur 6b ist in Figur 6c dargestellt.

Die in Figur 6 gezeigte Matrixanordnung der AMS- Multiplikationszellen ist in der Lage, eine einzelne Schicht in einem künstlichen neuronalen Netzwerk auszuwerten. Für die Berechnungen eines vollständigen künstlichen neuronalen Netzwerkes müssen mehrere der von der Matrixanordnung durchgeführten Operationen kaskadiert werden. Dies kann durch Rückübertragung der ausgewerteten Matrixausgangssignale y i auf die Matrixeingänge x i oder durch Übertragung der ausgewerteten Matrixausgangssignale y i auf die Matrixeingänge x i einer weiteren (anderen) Matrix erfolgen. Für die bevorzugte Ausgestaltung sind die Ausgangs- und Eingangssignale y i und x i analoge Ladungs (Q)- oder Spannungs(Q/C)-Amplituden= domänensignale . Eine sehr effiziente Methode zur Übertragung der analogen Amplitudendomänensignale von den Ausgängen zurück zu den Eingängen ist der Ladungstransfer. Eine entsprechende Schaltung für den Ladungstransfer (Übertragung eines Ladungsdefizits) ist in Figur 7 beispielhaft dargestellt. Der Vorteil dieser Schaltung besteht darin, dass keine Klasse A-Linearverstärker mit statischer Leistungsaufnahme verwendet werden. Der Ladungstransfer erfolgt ausschließlich über getaktete Common-Gate-Schaltungen mit dynamischer Leistungsaufnahme .

Alternativ kann der Ladungstransfer auch mittels analoger Spannungssignalübertragung durch lineare analoge Pufferverstärker, d.h. auf der Basis von Operationsverstärkern mit Widerständen und/oder geschalteten Kondensatoren erfolgen. Auch eine digitale Signalübertragung durch Zwischenschaltung von A/D- und D/A-Wandlern, vorzugsweise implementiert durch energieeffiziente SC-basierte Wandlungsprinzipien wie SAR und ergänzt durch Mittel zur Verarbeitung großer neuronaler Schichten und zur Implementierung künstlicher Transferfunktionen ist möglich. Dies kann beispielsweise über digitale Speicher und Blöcke zur digitalen Signalverarbeitung erfolgen.

Bei der alternativen Ausgestaltung des vorgeschlagenen Verfahrens sind die Ausgangssignale y i Signale im Ladungs(Q)- oder Spannungs(Q/C)- Amplitudendomäne, während die Eingangssignale x i

Signale in der Pulsweitendomäne sind. Daher ist für die Signalübertragung von den Matrixausgängen y i zu den Matrixeingängen Xi ein Ladungs-Pulsbreitenwandler, wie in einem der vorangehenden Abschnitte beschrieben, erforderlich .

Figur 8 zeigt eine beispielhafte Umsetzung des vorgeschlagenen Verfahrens in einer Gesamtarchitektur für einen integrierten neuronalen Netzwerk-Coprozessor, der auf den oben beschriebenen AMS-Prinzipien basiert (schwarze durchgezogene Linienblöcke), ergänzt durch einen parallelen digitalen Signalverarbeitungspfad (graue durchgezogene Linienblöcke) und eine zusätzliche externe Einheit zum Lernen (gestrichelte Linien). Der zentrale Teil ist eine n x m AMS-Multiplikations- und Additionsmatrix, wie sie in Verbindung mit Figur 6a bereits erläutert wurde. An jedem Kreuzungspunkt ist eine Vorwärts-Multiplikations- und Additionseinheit (AMS-Multiplikationszelle, vgl. Figuren 6b und 6c) angeordnet, die es der Matrix ermöglicht, die Neuronenschichten kontinuierlich auszuwerten. Steuereinheiten für den verteilten Gewichtsspeicher befinden sich an der Nord- und Ostecke der Matrix.

Ein Stapel funktioneller Blöcke, die zum Vor= belegen und Beschreiben der analogen Horizontal- und zum Lesen der analogen Vertikalleitungen der Multiplikations- und Additions-Matrix erforderlich sind, befindet sich auf der West- bzw. Südseite der Matrix (Blöcke: Vorladen und Biasinjektion).

Neuronale Netzwerkschichten, die mehr Neuronen als die Matrix-Zeilen- und Spaltennummer n bzw. m haben, können mit Hilfe von analogen Ladungstransferspeicher= einheiten an der südlichen Ausgangs- und/oder westlichen Eingangskante mit zusätzlichen Mitteln zur analogen Ladungsaddition unterstützt werden, wie durch die Blöcke „Transfergatterbank" und „Kondensatorbank" in der Figur 8 dargestellt. Ein energieeffizienter Ladungstransfer von den

Neuronenschicht-Aktivierungsausgängen auf der Südseite zu den Eingängen der nächsten Neuronenschicht auf der Westseite kann durch Beibehalten der analogen Ladungsdomäne mit Hilfe der oben beschriebenen analogen Ladungstransferschaltungen realisiert werden. Darüber hinaus können an die südliche Aktivierungsausgangskante leistungseffiziente SC-basierte A/D-Wandler und an die westliche Aktivierungseingangskante D/A-Wandler angeschlossen werden, um eine hybride Auswertung des neuronalen Netzes zu ermöglichen, d.h. Teile, die eine geringe Präzision im analogen Pfad, und Teile, die eine hohe Präzision in einem zusätzlichen digitalen Pfad erfordern. Dieser zusätzliche digitale Pfad kann auch zur Anwendung speziellerer Aktivierungstransfer- funktionen verwendet werden.