DE60024030T2 - Auf Nadelpulsen basierter Analog-Digital-Wandlung des Stromtyps - Google Patents

Auf Nadelpulsen basierter Analog-Digital-Wandlung des Stromtyps Download PDF

Info

Publication number
DE60024030T2
DE60024030T2 DE60024030T DE60024030T DE60024030T2 DE 60024030 T2 DE60024030 T2 DE 60024030T2 DE 60024030 T DE60024030 T DE 60024030T DE 60024030 T DE60024030 T DE 60024030T DE 60024030 T2 DE60024030 T2 DE 60024030T2
Authority
DE
Germany
Prior art keywords
neuron
circuit
state
analog
neuron circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60024030T
Other languages
English (en)
Other versions
DE60024030D1 (de
Inventor
Rahul Sarpeshkar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE60024030D1 publication Critical patent/DE60024030D1/de
Application granted granted Critical
Publication of DE60024030T2 publication Critical patent/DE60024030T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/14Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
    • H03M1/16Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps
    • H03M1/164Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps the steps being performed sequentially in series-connected stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/60Analogue/digital converters with intermediate conversion to frequency of pulses

Description

  • Verwandte Anmeldungen
  • Mit dem der vorliegenden Anmeldung verwandte Themen werden in vier, gleichzeitig mit der vorliegenden Anmeldung registrierten US-Patentanmeldungen behandelt: „Spiking Neuron Circuit" und „Spike-Based Hybrid Computation", von R. Sarpeshkar; und „A Spike-Triggered Asynchronous Finite State Machine" und „An Edge-Triggered Toggle Flip-Flop Circuit", von R. Sarpeshkar und R. Herrera. Diese Anmeldungen sind an den Halter der vorliegenden Anmeldung übertragen und werden hierdurch in der vorliegenden Anmeldung ausdrücklich erwähnt.
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein das Gebiet elektronischer Computer und Datenverarbeitung. Genauer gesagt betrifft die vorliegende Erfindung in einem Aspekt hybride analoge und digitale Datenverarbeitung. Noch genauer betrifft die vorliegende Erfindung die Analog/Digital-Umsetzung auf Nadel-Basis unter Verwendung hybrider Analog-Digital-Techniken und Organisationen.
  • Allgemeiner Stand der Technik
  • Die Analog/Digital-Umsetzung wird in vielfältigen Elektronikanwendungen von Prüfung und Messung bis zu Unterhaltungselektronik und darüber hinaus eingesetzt. In der modernen Praxis verwendet praktisch jede Elektronikanwendung, bei der Realwort-(analoge)Signale wie zum Beispiel Klärige, Licht und Temperatur vorkommen, für einen bestimmten Teil ihrer Arbeitsweise die Behandlung entsprechender Signale in digitaler Form. Zum Beispiel speichern Musik-CDs somit digitale Versionen ursprünglicher analoger Sprach- oder Instrumentensignale und stellen diese zum Abruf zur Verfügung. Nach dem Abrufen kehren solche gespeicherten Signale in der Regel zu ihrer ursprünglichen analogen Form zur Wiedergabe zurück.
  • Die Umsetzung von Signalen zwischen der analogen und digitalen Domäne ist deshalb eine gut entwickelte Technik. Allgemeiner betrachtet betrifft die Analog/Digital-(A/D)-Umsetzung. Die Umsetzung einer kontinuierlichen Variablen in ihre nächste diskrete Approximation, wobei die Approximation im allgemeinen als eine Mehrbit-Binärzahl repräsentiert wird. Siehe zum Beispiel P. Horowitz und W. Hill, „The Art of Electronics", Cambridge Univ. Press, Cambridge, 1989, S. 612–641.
  • Viele vorbekannte Analog/Digital-(A/D)-Umsetzer verwenden Spannungs-Abtast-Halte-Techniken. Diese vorbekannten Techniken verwenden also ein Spannungssignal, das an einem Zeitpunkt in einer größeren Zeitspanne abgetastet wird, statt ein über die Zeitspanne gemitteltes Signal zu verwenden. Bei einem solchen abgetasteten Betrieb kann sich zum Zeitpunkt der Abtastung vorhandenes Rauschen signifikant auf den bei der Umsetzung verwendeten Wert auswirken.
  • Andere für vorbekannte A/D-Architekturen charakteristische Strukturen sind zum Beispiel Subtrahierer oder andere Komparatorschaltungen, oder sie enthalten explizite D/A-Umsetzer und andere Zwischenstufenschaltungen, die alle zu einer erhöhten Komplexität, der erforderlichen Bauelementefläche und folglich den Kosten beitragen. Wenn traditionelle Architekturen Subranging ohne Subtraktion und Zwischenstufen-DACs durchführen, haben sie außerdem in der Regel den Nachteil einer Anforderung, daß der Gleichtaktspannungsbereich für Feinumsetzung(en) sich über den gesamten Gleichtaktbereich der groben Umsetzung(en) erstrecken muß, wodurch die Betriebsgeschwindigkeit verschlechtert wird.
  • Ein anderes bei traditionellen Architekturen nachteiliges Phänomen tritt auf, wenn Komparatoren, die in A/D-Umsetzern überall vorkommen, unbestimmt zwischen ihren stabilen Zuständen „0" oder „1" verweilen. Eine solche Metastabilität entsteht, wenn Eingangs- und Referenzspannungen des Komparators sehr nahe beieinander liegen, so daß interne positive und negative Ströme in dem Komparator sich fast das Gleichgewicht halten; ein solches nahezu perfektes Gleichgewicht führt zu einem sehr langsamen Betrieb des Komparators und bewirkt, daß digitale Entscheidungen an verfrühten Analogwerten getroffen werden. Aus US 5,420,963 ist eine Signalverarbeitungsvorrichtung mit einem neuronalen Netzwerk bekannt.
  • In seiner Patentanmeldung mit dem Titel „Spike-Based Hybrid Computation" beschreibt der Autor unter anderem eine umfassende Struktur, Organisation und Methodologie für einen neuartigen Hybridautomaten, der sowohl analoge als auch digitale Strukturen enthält. Solche rechnerischen Strukturen verwenden zweckmäßigerweise Nadel-Neuronenschaltkreise, die allgemein an der Neuronenfunktion in Tieren modelliert werden. Zu in dieser zitierten Patentanmeldung beschriebenen Schaltkreisbeispielen gehören sogenannte Neuronenschaltkreise zum Akkumulieren von analogen Stromsignalen über eine Zeitspanne hinweg und die Erzeugung schnell ansteigender Nadel-Signale als Ausgabe. Darüber hinaus werden viele traditionelle analoge und digitale Schaltkreise in der neuen Datenverarbeitungsarchitektur des Verfassers vorteilhafterweise vermieden, indem Flipflops, Zähler und andere Schaltkreiselemente zum Einsatz kommen, die dafür ausgelegt sind, Nadel-Eingangssignale des durch die obenerwähnten Neuronenschaltkreise erzeugten Typs zu empfangen. Wichtige Vorteile ergeben sich aus der Verwendung der Datenverarbeitungsarchitektur und Schaltkreiselemente auf Nadel-Basis, wie in den zitierten Patentanmeldungen beschrieben wird.
  • Ein weiterer Aspekt der Patentanmeldung mit dem Titel „Spike-Based Hybrid Computation" ist die Verwendung von Analog/Digital-Umsetzungstechniken in bestimmten Fällen, z.B. beim Wiederherstellen von Analogsignalen zur Vermeidung einer signifikanten Verschlechterung während der Übertragung und Bearbeitung über die Zeit hinweg. Diese Wiederherstellung wird zweckmäßigerweise als eine Analog/Digital-Umsetzung durchgeführt, der eine Digital/Analog-Umsetzung folgt. Im Kontext der Hybridberechnung des in dieser Patentanmeldung beschriebenen Typs dient also ein einfacher Digital/Analog-(D/A-)Umsetzer zum Umsetzen des A/D-umgesetzten Werts (aus binärer Form) zurück in einen kontinuierlichen Wert, wodurch also eine Analog/Digital/Analog-(A/D/A-)Umsetzung implementiert wird. Es versteht sich, daß eine solche Verwendung eines A/D/A-Prozesses effektiv eine Operation des Rundens durchführt.
  • Da die Hybriddatenverarbeitungsarchitekturen und Schaltungen auf Nadel-Basis des Autors wichtige Leistungs- und Flexibilitätsvorteile erzielen, und da vorbekannte A/D-Umsetzer nicht gut für eine Verwendung mit Nadel-Neuronenschaltkreisen und anderen Schaltungen auf Nadel-Basis geeignet sind, werden Stromschaltpnalog/Digital-Umsetzungsschaltkreise und -verfahren auf Nadel-Basis benötigt.
  • Kurze Darstellung der Erfindung
  • Die vorliegende Erfindung wird in den unabhängigen Ansprüchen definiert, auf die der Leser nun verwiesen wird. Bevorzugte Merkmale werden in den abhängigen Ansprüchen dargelegt.
  • In Ausführungsbeispielen werden die Begrenzungen des Stands der Technik überwunden und ein technischer Fortschritt wird hierin erzielt und beschrieben. Insbesondere werden A/D-Umsetzerschaltkreise und -techniken beschrieben, die nützlich sind, wenn das Eingangssignal ein Strom ist, und die sich außerdem im Kontext der Datenverarbeitung auf Nadel-Basis der oben beschriebenen Art als nützlich erweisen. Die kombinierte Verwendung analoger und digitaler Schaltungen mit Nadel-Neuronensignalen trägt zu hoher Leistung und Bausteinimplementierungseffizienzen bei. Die vorliegenden erfindungsgemäßen Schaltkreise und Techniken unterscheiden sich in mehrerer Hinsicht von vorbekannten A/D-Designs.
  • Eine beim Entwurf der Umsetzer des Autors ausgenutzte grundlegende mathematische Beziehung ist die zwischen Ladung Q, Strom I und Zeit t, d.h. Q = I × t. Die neuartige Benutzung dieser Beziehung bei A/D-Umsetzern, anstelle der traditionelleren V = I × R (Ohmsches Gesetz) oder Q = C × V (Ladungsbeziehung eines Kondensators) ermöglicht wie nachfolgend besprochen viele Vorteile.
  • In einem ersten Aspekt sind vorliegende erfindungsgemäße Beiträge eher Ladung-und-Strom-basiert als spannungsbasiert. Gemäß Ausführungsformen der vorliegenden Erfindung wird der Eingangsstrom nicht zu einem Zeitpunkt abgetastet, sondern statt dessen durch seinen mittleren Effekt in einer Integrationszeitspanne, d.h. durch seine Ladungsakkumulationsfähigkeiten über die Zeit hinweg repräsentiert. Dadurch wird verbesserte Rauschimmunität realisiert. Ferner ist bei der Anwendung der vorliegenden erfindungsgemäßen Techniken kein expliziter Abtast-Halte-(S/H-)Schaltkreis notwendig, weil statt dessen eine Integration des Eingangsstroms für eine gegebene Zeitspanne auf einem Kondensator benutzt wird. Vorteilhafterweise werden Eingangssignale nur in einer Stufe der Berechnung gemessen; alle weiteren Informationen werden in sukzessiven Residuen codiert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist in der vorliegenden erfindungsgemäßen Architektur kein expliziter Subtrahierer erforderlich; Subtraktion wird implizit durch Rücksetzen eines Neurons durchgeführt. Ferner bestehen keine expliziten Digital/Analog-Umsetzer (DACs) zwischen Stufen in Ausführungsformen der vorliegenden Erfindung; ein Residuum aus der vorherigen Umsetzungsstufe wird automatisch in einer Form erzeugt, die sich für die nächste Umsetzungsstufe eignet. Subranging mit impliziter Subtraktion und Zwischenstufen-DAC-Umsetzung werden somit ohne Einführung von Dynamikumfangproblemen in Bezug auf die Eingangsladung realisiert; ein Fehlen eines großen Dynamikumfangs des Betriebes in jedem lokalen Neuron verhindert Geschwindigkeitseinbußen.
  • Mit der Vermeidung solcher DACs, Subtrahierer, Zwischenstufenkomparatoren, Abtast-Halte-Schaltkreise und weil Vergleichs- und Verstärkungsoperationen in einem 2-Neuronen-Schaltkreis kombiniert werden, erweisen sich die vorliegenden erfindungsgemäßen Architekturen als sehr flächeneffizient für die Bausteinimplementierung. Außerdem werden in Ausführungsformen der vorliegenden Erfindung vorteilhafterweise Nicht-Pipeline-Architekturen verwendet, um die Flächeneffizienz weiter zu vergrößern, und zwar mindestens teilweise aus dem Grund, daß Grob- und Feinumsetzungen denselben 2-Neuronenschaltkreis benutzen. Durch die bei beispielhaften Ausführungsformen erforderliche kleine Anzahl von Schaltkreiskomponenten vergrößert sich auch die Leistungseffizienz. Die Leistungseffizienz wird ferner verbessert, weil Ladeströme nur dann vorhanden sein müssen, wenn sie benötigt werden. Die digitalen Teile der Architektur des Autors, wie zum Beispiel ein für Koordinatenoperationen verwendeter Nadel-getriggerter Automat, verbrauchen nur dann Schaltleistung, wenn Nadel-Ereignisse Übergänge triggern.
  • Zu anderen Aspekten von Ausführungsformen der vorliegenden Erfindung, die ein Abweichen von vorbekannten A/D-Techniken darstellen, gehört Unempfindlichkeit gegenüber Spannungsnichtlinearitäten. Während traditionelle Spannungsschaltarchitekturen in bestimmten Fällen Kondensatoren verwenden, beeinträchtigt kapazitive Nichtlinearität die Präzision der Zwischenstufen-DAC-Umsetzung in solchen vorbekannten Schaltkreisen. Die Unempfindlichkeit gegenüber Spannungsnichtlinearitäten entsteht, weil die nichtlineare Beziehung zwischen Ladung und Spannung beim Entwurf der erfindungsgemäßen Umsetzer, bei denen Spannung nur eine Zwischenvariable ist, irrelevant ist.
  • In einem weiteren Aspekt der vorliegenden erfindungsgemäßen Architekturen wird das Phänomen der Metastabilität, d.h. ein unentschiedenes Verhalten zwischen Entscheidungen der Ausgabe von „0" und „1" im Umsetzer, durch Verwendung von Fehlerkorrektur eines großen Ladungsresiduums vermieden. Traditionelle A/D-Umsetzer, die Spannungsvergleiche durchführen, sind für die nachteiligen Effekte der Metastabilität anfällig.
  • Weitere Aspekte von Ausführungsformen der vorliegenden Erfindung ermöglichen sowohl Subranging (Iin < I0) als auch Overranging (Iin > I0), wobei I0 ein Referenzstrom ist, und beide werden vorteilhafterweise durch dieselbe Architektur behandelt. Durch Verwendung der vorliegenden erfindungsgemäßen Lehren ist teilweise, weil die vorliegenden Stromschalttechniken weniger anfällig gegenüber den Effekten von Stromversorgungsspannungsbegrenzungen bezüglich des Dynamikumfangs sind, ein großer Betriebs-Dynamikumfang möglich.
  • Kurze Beschreibung der Zeichnung
  • Die obige kurze Darstellung wird bei Durchsicht der folgenden ausführlichen Beschreibung von Ausführungsbeispielen der vorliegenden Erfindung und der beigefügten Zeichnung besser verständlich. Es zeigen:
  • 1 Computersignalrepräsentationen auf Nadel-Basis für beispielhafte Schaltkreise und Systeme auf Nadel-Basis, wie zum Beispiel hybride Datenverarbeitungssysteme;
  • 2 eine beispielhafte Signalwiederherstellungsanordnung zur Verwendung mit hybrider Berechnung und insbesondere mit A/D-Umsetzungsoperationen gemäß beispielhaften Ausführungsformen der vorliegenden Erfindung;
  • 3 einen hybriden Automaten, der für die Realisierung vielfältiger hybrider Datenverarbeitungsstrukturen nützlich ist und A/D-Strukturen und Techniken von Ausführungsbeispielen der vorliegenden Erfindung enthält. Die Organisation von 3 wird auch bei der Realisierung von A/D-Strukturen von Ausführungsformen der vorliegenden Erfindung auf einem anderen Niveau angewandt.
  • 4A und 4B das auf Neuronen basierende Aufwärtszählen und Abwärtszählen bei der A/D-Umsetzung gemäß Ausführungsbeispielen der vorliegenden Erfindung.
  • 5 Fehlerkorrekturmechanismen bei der A/D-Umsetzung gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 6 in einer 2-Schritt-A/D-Umsetzung durchgeführte Operationen gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 7 Aspekte des sukzessiven Subranging bei der A/D-Umsetzung gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 8 die Pipeline-A/D-Umsetzung;
  • 9 eine Overrange-Subrange-2-Schritt-A/D-Umsetzung gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 10 neuronale Zustandsvariablen in einem Overrange-Subrange-2-Schritt-A/D-Umsetzer gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 11 beispielhafte Zählerzustandsvariablen in einem Overrange-Subrange-2-Schritt-A/D-Umsetzer gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 12 beispielhafte Nadel-getriggerte FSM-Zustandsvariablen in einem Overrange-Subrange-2-Schritt-A/D-Umsetzer gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 13 beispielhaft während des Betriebes eines Overrange-Subrange-2-Schritt-A/D-Umsetzers ausgelöste Nadeln gemäß Ausführungsbeispielen der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • Vor einer ausführlichen Beschreibung von beispielhaften Ausführungsformen von A/D-Umsetzern werden zunächst einige Hintergrundinformationen bezüglich der hybriden Berechnung auf Nadel-Basis gegeben. Diese Hintergrundinformationen liefern einen Kontext für eine beispielhafte Verwendung dieser Umsetzer und zeigt außerdem, wie diese A/D-Umsetzer als Spezialfälle eines als Hybridautomaten (HSM – Hybrid State Machine) bezeichneten allgemeineren Automaten betrachtet werden können. Hybridautomaten werden ausführlich in der gleichzeitig mit der vorliegenden Patentanmeldung registrierten Patentanmeldung des Autors mit dem Titel „Spike-Based Hybrid Computation" beschrieben und werden hier auch kurz beschrieben. Es muß angemerkt werden, daß die hier beschriebenen A/D-Umsetzer als selbständige A/D-Umsetzer mit Stromeingang wirken und in jeder Anwendung benutzt werden können, die von Umsetzern mit Stromeingang Nutzen ziehen, unabhängig vom Kontext, in dem die Anwendung entstehen kann.
  • Die hybride Berechnung auf Nadel-Basis verwendet Nadeln (Impulse) zur Berechnung auf eine solche Weise, die nicht rein analog oder rein digital ist, sondern eine hybride Mischung beider Arten der Berechnung. Wie bei der digitalen Berechnung, die mehrere präzise 1-Bit-Logikeinheiten zur kollektiven Berechnung einer präzisen Antwort einer Berechnung verwendet, verwendet dieses hybride Verfahren mehrere verteilte analoge Einheiten mit mäßiger Präzision zur kollektiven Berechnung einer präzisen Antwort für eine Berechnung; eine häufige diskrete Signalwiederherstellung der analogen Informationen verhindert, daß analoges Rauschen und Offset die Berechnung verschlechtert. Die Verwendung der zugrundeliegenden Physik der Technologie zur Berechnung anstelle von Logik verbessert die Effizienz der Berechnung bezüglich Leistung oder Fläche.
  • Insbesondere werden nun Schaltkreise und Techniken zur Implementierung verteilter analoger Berechnung und diskreter Signalrestauration mit Bezug auf 1 und 2 beschrieben. Bei Ausführungsformen der vorliegenden Erfindung erweist es sich als zweckmäßig, eine analoge Zustandsvariable durch die Ladungsmenge auf einem Kondensator Qstate zu repräsentieren. 2 zeigt beispielhafte Kondensatoren 210 und 260, die zum Empfangen von Eingangsladung dienen. Der Zustand jedes Kondensators wird vorteilhafterweise durch Laden des Kondensators mit der Summe aller seiner Eingangsströme ΣtIt geändert. Wenn es nicht anders erwähnt wird, wird hier der Einfachheit halber auch angenommen, daß alle It positiv sind, obwohl im allgemeinen Fall keine solche Einschränkung gilt. Die Zeitspanne für die Integration angelegter Ströme wird als tin genommen, eine Zeitspanne, die zweckmäßigerweise durch ein Impulseingangssignal torgeschaltet oder nicht torgeschaltet wird. Es ist zu beachten, daß bei dieser Repräsentation bereits für Addieroperationen (Kirchhoffsches Stromgesetz) und zum Multiplizieren (Q = I × t) Primitiven existieren. Da die Eingangssignale I selbst lineare oder nichtlineare Funktionen anderer Eingangsströme oder -spannungen sein können, liefern solche auf Kondensatoren basierende Schaltungen im allgemeinen die Möglichkeit zur Implementierung einer torgeschalteten Summierung verschiedener nichtlinearer Eingangsterme.
  • Aufgrund des kontinuierlichen Ladens erreicht an einem bestimmten Punkt jede analoge Zustandsvariable wahrscheinlich die Obergrenze ihres Dynamikumfangs, z.B. die Stromversorgungsspannung – oder einen Teil der Stromversorgungsspannung. Dies zu verhindern, erweist sich in vielen Kontexten als zweckmäßig, wie aus der folgenden Besprechung hervorgehen wird. Es wird also ein Schwellenwert der Ladung QT so gewählt, daß im Fall Qstate ≤ QT das Laden fortgesetzt wird. Im Fall Qstate > QT wird die Zustandsvariable jedoch auf 0 zurückgesetzt, und es wird ein Signal zu einem benachbarten Kanal gesendet, das anzeigt, daß man ein Rücksetzen durchgeführt hat; Das Laden wird dann wieder aufgenommen. Ein zu dem benachbarten Kanal gesendetes Signal nimmt vorteilhafterweise die Form eines Nadel-Signals der Form an, die z.B. in der Patentanmeldung mit dem Titel „Spiking Neuron Circuit" des Autors beschrieben wird, die gleichzeitig mit der vorliegenden Anmeldung registriert und an den Halter der vorliegenden Anmeldung übertragen wurde. Der Kanal, zu dem das beispielhafte Nadel-Signal gesendet wird, enthält vorteilhafterweise eine ähnliche Lade-und- Rücksetzeinheit auf einem anderen nahegelegenen Kondensator. Die Nadel bewirkt dann, daß der benachbarte Kanal seine Ladung um eine diskrete Menge erhöht, die in der Regel ein Teil von QT ist.
  • 1 zeigt die gerade beschriebene Lade-und-Auslöseoperation. Ein erster Kreis 100 repräsentiert also reelle Zahlen durch ihre Winkelposition eines Pfeils oder Vektors 101 auf dem Einheitskreis. wenn die Phase des rotierenden Vektors 2π erreicht, „läuft" die Repräsentation durch Rücksetzen auf 0 „um", mit einhergehender Übertragung eines Nadel-(oder anderweitigem)Signals 105 zu dem benachbarten Kanal (repräsentiert durch Kreis 110). Das beispielhafte Nadel-Signal zeigt an, daß der vorausgehende Akkumulations- und Auslöse-Schaltkreis bewirkt hat, daß die entsprechende Ladungssignalrepräsentation eine volle Umdrehung ausgeführt hat.
  • (In einigen nachfolgend gezeigten Beispielen wird ein Vektor gezeigt, der sich um einen Betrag von mehr als 2π dreht. In diesen Fällen wird die Rotation zweckmäßigerweise durch eine Spirale oder Helix angezeigt, deren Drehausmaß nicht unbedingt graphisch das Rotationsquantum wiedergibt. Jede quantitative Auswertung wird Fachleuten jedoch aus dem Kontext und dem Verlauf der Besprechung ersichtlich werden.)
  • Der angrenzende Kanal mit seinem entsprechenden Einheitskreis 110 verfolgt die Anzahl des an seinem Nachbarkreis 100 ausgeführten vollen Umdrehungsinkrements am Kreis 110. Die somit auf dem Kondensator entsprechend der Winkelverschiebung auf dem Kreis 110 abgelegte Ladung gibt typischerweise eine Ladung von weniger als QT auf diesem Kondensator wieder. Diese Idee kann bis ins Unendliche wiederholt werden, so daß vollständige Umdrehungen des genannten Nachbarkreises durch teilweise Inkremente eines noch weiteren Kanals berücksichtigt werden und so weiter. Es versteht sich, daß der gerade beschriebene Ansatz Beschränkungen des Standes der Technik in Bezug auf begrenzten Dynamikumfang für eine analoge Variable überwindet. Die oben beschriebene Strategie repräsentiert Informationen über eine Variable über viele Kanäle hinweg.
  • Bisher wurden Operationen an der Menge reeller Zahlen definiert. Gemäß dem hybriden Ansatz der Repräsentation nur eines Teils der Informationen in jedem Kanal wurde jedoch erkannt, daß es an einem bestimmten Punkt bei der Bearbeitung notwendig wird, diese Informationen wiederherzustellen und zu erhalten. Somit wird es notwendig, einen Kanalwinkel durch Auf- oder Abrunden auf den nächsten diskreten Winkel, auf den er wiederhergestellt werden soll, zu quantisieren. Wenn zum Beispiel zwei Informationsbit pro Kanal repräsentiert werden, ist zum Zeitpunkt der Signalwiederherstellung nur der Quadrant des Winkelraums (der Winkelzustand) von Bedeutung. In den beispielhaften Umständen von 1 ist es also nicht notwendig, die Zustandsvariable auf welchen Winkel auch immer in der Menge (0, π/2, π, 3π/2, 2π), dem der Vektor am nächsten kommt, zu runden. Wenn der Vektor 101 dem Wert 2π am nächsten ist, wird eine Nadel ausgelöst und die Variable auf Null zurückgesetzt. Der Kürze halber werden Winkel in der letzteren Menge auf dem Kreis durch ihr Verhältnis zu π/2 bezeichnet. Die Mathematik hinter diesen Operationen wird folgendermaßen formalisiert: gstate = n(π/2) + ε n ∊ {0, 1, 2, 3} 0 ≤ ε ≤ (π/2) [Qstate] = n + Θ (ε – π/4) qstate = ωin × tin (1)
  • Die Funktion Θ(x) ist die Heavyside-Funktion, die für x > 0 gleich 1 und für x ≤ 0 gleich 0 ist. Die Funktion [x] ist die Grundwertfunktion, die eine reelle Zahl auf die nächste ganze Zahl rundet. Das Symbol ω repräsentiert eine Kreisfrequenz, die durch die Summe der Ladeströme bestimmt wird.
  • Eine Methode zum Erhalten der 2-Bit-Repräsentation über Kanäle hinweg besteht darin, den benachbarten Kanal immer dann um π/2 zu erhöhen, wenn der aktuelle Kanal eine vollständige Umdrehung von 2π beendet hat. Ein solches Schema ist in 2 dargestellt, wobei der benachbarte Kanal (Kondensator 210) um 1 Einheit geladen wird, wenn der aktuelle Kanal (Kondensator 260) eine vollständige Umdrehung von 4 Einheiten abgeschlossen hat. Wenn volle Umdrehungen eines Nachbarn zu Viertelumdrehungsinkrementen eines weiteren Nachbars links davon führen, und so weiter, wird dann letztendlich ein Verfahren zum Approximieren einer analogen Zahl in einer Zahlenrepräsentation auf der Basis von Radix 4 bereitgestellt.
  • Im allgemeinen kann jeder der Kanäle der beschriebenen verteilten Zahlenrepräsentation auch seine eigenen analogen Eingangsströme aufweisen, die aus einer anderen Quelle als dem unmittelbar rechten Nachbarn stammen. In der Schaltung von 2 werden somit Nadel-Ausgangssignale aus dem Nadel-Neuronenschaltkreis 250, die eine volle Ladung auf dem Kondensator 260 wiedergeben (2π-Rotation des entsprechenden Vektors) durch Verbinden mit dem benachbarten Kanal angewandt, um eine inkrementelle Ladung auf dem Kondensator 210 für diesen Nachbarkanalvektor zu erzeugen. Das Nadel-Signal aus dem Neuronenschaltkreis 250 wird vorteilhafterweise durch einen Nadel-Zähler 220 und einen (einfachen) Digital/Analog-Umsetzer 225 an den Stromsummierer angelegt. Obwohl es sich als zweckmäßig erweist, daß die Anzahl der an einem Nachbarkanal abgelieferten Nadeln summiert und zum Anlegen an den Stromsummierer 215 (zusätzlich zu anderen Strömen wie etwa I2 in in dem beispielhaften Schaltkreis von 2) in einen Strom umgesetzt wird, werden Fachleuten andere Anordnungen einfallen, um dem Nachbarkanal den inkrementellen Strom zuzuführen. Zum Beispiel kann ein ankommender Nadel-Impuls einen Standard-Ladestrom für den Nachbarkondensator torschalten. Dieser Ladestrom kann so gewählt werden, daß die Ladung um eine Einheit erhöht wird. Ein solches Schema läßt sich unter Verwendung wohlbekannter Schaltkreisentwurfstechniken sogar nur mit zwei in Reihe geschalteten Transistoren (einer zum Torschalten und einer für die Stromquelle) implementieren. Jegliche akkumulierte Offsets aufgrund von Fehlanpassungen in den Stromquellen sind solange irrelevant, wie sichergestellt wird, daß die Summe aller dieser Offsets kleiner als die Hälfte des Abstands zwischen diskreten Attraktorniveaus vor der Abrundeoperation ist.
  • Es ist wichtig zu bemerken, daß es sich dabei nicht um ein Mehrniveau-Logikschema in Radix 4 handelt, weil an der Menge reeller Zahlen mit reellwertigen Primitiven gerechnet wird, die auflösungsunabhängig sind, und auf die Menge der ganzen Zahlen gerundet wird. Im Gegensatz dazu berechnen Mehrniveau-Logikverfahren an der Menge ganzer Zahlen mit Integer-Primitiven, die auflösungsabhängig sind (die Anzahl der Niveaus und die Zahlenbasis ändern die logischen Regeln völlig). Obwohl die gerade beschriebenen Berechnungsprimitiven auflösungsunabhängig sind (das Gesetz des Addierens zweier reeller Zahlen ist unabhängig von der Präzision dasselbe), ist die Präzision, mit der man eine kontinuierliche Zahl auf ihre nächste diskrete Approximation rundet, auflösungsabhängig.
  • Wieder mit Bezug auf 2 ist zu beachten, daß Eingangsströme I2 in außer dem Zwischenkanal-Nadel-Eingangssignal aus dem Neuronenschaltkreis 250 zum Laden eines Kondensators angelegt werden. Wenn der Kondensator die Schwellenladungsmenge erhalten hat (der Kondensator eine entsprechende Schwellenspannung erreicht hat), löst er über einen Nadel-Neuronenschaltkreis eine Nadel aus. Die Eingangssignale wie etwa I2 in in 2 repräsentieren analoge Eingangsströme für den jeweiligen Kanal zum Laden des jeweiligen Kanalkondensators, um andere Signalbedingungen als das Nadel-Eingangssignal aus einem benachbarten Kanal wiederzugeben. Somit können an Schaltkreisen auf der Basis der vorliegenden erfindungsgemäßen Lehren wie in einfacher Form in 2 repräsentiert beliebige Logik- und Arithmetikfunktionen ausgeführt werden.
  • Es ist klar, daß bei Verwendung von 5 diskreten Wiederherstellungswinkeln pro Kreis, die als (0, 1, 2, 3, 4) repräsentiert werden können, das vorliegende Schema in Radix 5 arbeiten würde. Im allgemeinen ist ein Betrieb in einer beliebigen Zahlenbasis möglich und wird völlig durch den gewünschten Präzisionsgrad pro Kanal bestimmt. Der Einfachheit der Darstellung halber werden für folgende Besprechungen zwei Bit Präzision pro Kanal angenommen, wenn es nicht anderweitig erwähnt wird. Es versteht sich jedoch, daß die zur Zeit beschriebenen Systeme und Verfahren nicht auf eine bestimmte Anzahl von Bit der Präzision pro Kanal beschränkt sind.
  • Hybridautomaten
  • In den folgenden Abschnitten dieser ausführlichen Beschreibung werden mehrere Figuren und Beschreibungen in Bezug auf den Operationsfluß in verschiedenen Analog/Digital-Umsetzerarchitekturen vorgestellt. In diesen Diagrammen bewirken Nadeln beispielsweise Übergänge von einer Betriebsart mit einer Konfiguration neuronaler Ladeströme zu einer anderen Betriebsart mit einer anderen Konfiguration neuronaler Ladeströme. Die neuronalen Ladeströme erzeugen ihrerseits Nadeln. Die damit beschriebene Klasse von Automaten wird zweckmäßigerweise als Hybridautomaten (HSMs) bezeichnet und bildet den Gegenstand der Patentanmeldung des Autors mit dem Titel „Spike-Based Hybrid Computation". Es erweist sich als nützlich, nun in dieser Anmeldung einige Aspekte von HSMs darzulegen, um ein Verständnis der vorliegenden Erfindung in ihren beispielhaften Ausführungsformen zu ermöglichen, und auch weil A/D-Umsetzer Spezialfälle von HSMs sind. Weitere Einzelheiten bezüglich der HSM-Funktionsweise findet man in der Anmeldung mit dem Titel „Spike-Based Hybrid Computation".
  • Hybridautomaten besitzen sowohl diskrete digitale Zustände als auch kontinuierliche analoge Zustände, Nächster-Zustand-Funktionen für diskrete und kontinuierliche Zustände, analoge und digitale Ausgabefunktionen und Interaktionsfunktionen, die die Interaktionen zwischen analogen und digitalen Teilen des Automaten definieren. Abweichend von vorbekannten digitalen Automaten ist kein Takt erforderlich – alle Übergänge werden durch Nadel-Ereignisse getriggert. Beispielhafte Nadel-Schaltkreise und Signale werden in der Patentanmeldung des Autors mit dem Titel „Spiking Neuron Circuit" beschrieben. Es versteht sich, daß traditionelle Automaten ein Spezialfall von Hybridautomaten nur mit digitalen Eingängen, nur mit diskreten Zuständen und nur mit einem Spezialeingang (dem Takt), der Übergänge zwischen Zuständen triggern kann, sind.
  • 3 zeigt die Architektur eines beispielhaften Hybridautomatens. Hier ist der Automat als zwei Hauptteile umfassend gezeigt: (i) einen Analogteil 320 mit analogen Zuständen (die beispielsweise auf einer Menge von Kondensatorladungsvariablen codiert werden) und mit analogen Eingängen und Ausgängen AI und AO auf den Leitungen 321 bzw. 322; und (ii) einen digitalen Teil 310 mit diskreten Zuständen DS, die auf einer Menge von in dem Register 315 gespeicherten Registervariablen codiert werden und digitale Eingänge und Ausgänge DI und DO auf den Leitungen 311 bzw. 312 aufweisen. Der analoge Teil 320 umfaßt auch ein analoges Verarbeitungselement oder analoge Verarbeitungselemente 327, während der digitale Teil 310 ferner kombinatorische Logik 317 umfaßt.
  • In jedem diskreten Zustand kann der digitale Teil 310 die Werte einer Menge von Binärausgangssignalen (binärer Steuervektor 330) zur Steuerung von Schaltern in dem Analogteil 320 verändern und somit die Funktionsweise des analogen Systems beeinflussen. Der analoge Teil 320 erzeugt seinerseits Nadel-Ereignisse als einen Ausgangs-Nadel-Vektor Sp, der Übergänge zwischen diskreten Zuständen in dem digitalen Teil 310 triggert.
  • Die digitale Steuerung des analogen Teils 320 des Hybridautomaten von 3 kann auf mindestens drei Weisen ausgeübt werden. In einer ersten Betriebsform setzen D/A-Umsetzer (DACs) explizit digitale Steuerbit in physische analoge Parameter um, um die Funktionsweise des analogen Systems 320 zu beeinflussen. Zum Beispiel wird in einem bestimmten Zustand ein Strom gleich 4I0 durch Umschalten bestimmter, dem DAC zugeführter Steuerbit auf das Bitmuster 100 beispielhaft erzeugt. Dieser 4I0-Strom ändert dann den Zustand eines Kondensators in dem analogen System 320, für den dieser Strom ein Ladeeingangssignal ist. Jegliche analogen Parameter wie etwa Schwellen, Impulsbreiten, Ladeströme, Kapazitätswerte usw., können auf diese Weise verändert werden.
  • In einer zweiten Form der durch den digitalen Teil 310 ausgeübten Steuerung verändern digitale Steuerbit die Parameter des analogen Systems 320 durch Setzen gewählter analoger Parameter auf Null, während andere analoge Parameter dafür freigegeben werden, ihren Wert auszudrücken. Zum Beispiel kann es einem analogen Eingangsstrom Iin von außerhalb des Hybridautomaten erlaubt werden, seinen Wert während einer Meßoperation anzunehmen, oder er kann effektiv auf Null gesetzt werden (abhängig von dem Zustand eines spezifizierten Steuerbit).
  • In einer dritten Form der durch den digitalen Teil 310 ausgeübten Steuerung können digitale Steuerbit eine Analogtopologie durch Ein- oder Ausschalten bestimmter in der analogen Verarbeitungseinheit 327 in dem analogen Teil 320 enthaltener Schalter umkonfigurieren. Zum Beispiel kann ein sich in dem analogen System befindlicher Operationsverstärker von dem Rest des Systems getrennt werden, wenn ein bestimmtes digitales Steuerbit auf 1 gesetzt ist.
  • Die Steuerung des digitalen Teils 310 durch den analogen Teil 320 wird dadurch bewirkt, daß bestimmte Nadeln oder bestimmte Nadel-Muster Übergänge zwischen diskreten Zuständen triggern. In den folgenden Beschreibungen wird beispielhaft gezeigt, daß beliebige Nadel-Muster von einem Hybridautomaten erkannt werden können, bei dem alle seine Übergänge durch die Ankunft einer bestimmten Nadel getriggert werden. Die bestimmte zum Bewirken dieses Übergangs verwendete Nadel kann von Zustand zu Zustand verschieden sein, aber jeder gegebene Übergang wird immer durch eine Nadel verursacht. Dieser Nadel-Mustererkennungsautomat kann in einen größeren Hybridautomaten eingebettet werden und kann den Nadel-Mustererkennungsautomaten eine Nadel erzeugen lassen, wenn das entsprechende Nadel-Muster erkannt wird. Ohne Verlust der Allgemeingültigkeit kann also angenommen werden, daß alle Hybridautomaten Übergänge auf der Basis nur einer einzigen Trigger-Nadel ausführen. Übergänge zwischen diskreten Zuständen können jedoch in Bezug auf Nadel-Ankunft und auch in Bezug auf Zustände anderer digitaler Eingangssignale konditioniert werden. Der digitale Teil eines Hybridautomaten (stilistisch als Nadel-getriggerter Automat bezeichnet) wird ausführlich in der am selben Tag wie die vorliegende Anmeldung registrierten Patent anmeldung des Autors mit dem Titel „A Spike-Triggered Asynchronous Finite State Machine" beschrieben.
  • Da ein robuster nichtflüchtiger analoger Speicher in der Praxis schwierig zu realisieren ist, soll hier allgemein angenommen werden, daß analoge Zustände flüchtig und zerstörbar sind, zumindest über lange Zeit hinweg. Nichtflüchtiger digitaler Zustand läßt sich leicht durch Verwendung von Bausteinen wie SRAMs realisieren. Wenn es wichtig ist, analoge Zustandsvariablen über einen Zeitraum hinweg zu speichern, der viel größer als die typische Leckzeit von in dem analogen Teil 320 verwendeten Kondensatoren ist, erweist es sich also als zweckmäßig, eine Analog/Digital-Umsetzung mit der notwendigen Präzision durchzuführen und den analogen Zustand digital zu speichern. Diese Umsetzung wird später ausführlicher beschrieben.
  • Wie im Hinblick auf die vorliegenden Lehren klar sein wird, wird ferner ein Hybridautomat zur Durchführung der A/D-Umsetzung ohne weiteres in einem größeren Hybridautomaten eingebettet. In einem solchen Kontext erweist es sich als zweckmäßig, von Zuständen des größeren Automaten zu Zuständen des Umsetzungsautomaten überzugehen, wenn man Analog/Digital-Umsetzung durchführen möchte, und dann zu dem großen Automaten zurückzukehren, wenn man die Umsetzung abschließt. Durch Verwendung dieser Technik hat man also effektiv eine „Subroutine" der Analog/Digital-Umsetzung erzeugt, die man von einem größeren Programm (Hybridautomat) aufruft. Wenn man einen bestimmten Analogzustand auf einem Kondensator neu erzeugen möchte und dieser Zustand digital gespeichert wurde, verwendet man einen Standard-Digital/Analog-Umsetzer zum Laden des Kondensators für eine feste Zeitspanne mit einem Strom, der das Ergebnis der Digital/Analog-Umsetzung repräsentiert.
  • Bestimmte Änderungen diskreter Zustände in dem digitalen Teil 310 des Hybridautomaten von 3 können zu keinerlei Änderungen in dem analogen Teil 320 führen. Zum Beispiel verändert bei beispielhaften A/D-Architekturen, die später ausführlicher beschrieben werden sollen, das Zählen von Nadeln in einer bestimmten Phase der A/D-Umsetzung die diskreten Zustände eines Zählers – wirkt sich aber auf keine analogen Parameter aus. Analoge Parameter ändern sich vorteilhafterweise nur nach einem Übergang zu einer anderen Betriebsphase; ein solcher Übergang wird beispielsweise durch Nadeln getriggert, die nicht mit den in der vorherigen Betriebsphase gezählten Nadeln zusammenhängen.
  • Analog/Digital-Umsetzung
  • Um die Besprechung anderer erfindungsgemäßer Architekturen für die A/D-Umsetzung zu erleichtern, sollen zunächst einige Konzepte des Zählens und der Fehlerkorrektur unter Verwendung neuartiger beispielhafter Neuronenoperationen eingeführt werden.
  • Zählen
  • 4A zeigt die Winkelzustandsvariablen von 2 Nadel-Neuronen, die als Timing-Neuron (TN) bzw. Zählneuron (CN) bezeichnet werden. Zu Anfang weist das Zählneuron eine Winkelzustandsvariable von Null auf, während das Timing-Neuron eine Winkelzustandsvariable gleich –θ oder äquivalent gleich ϕ = 2π – θ aufweist. Wenn man nun CN mit einem Strom gleich I0 lädt, während man TN mit einem Strom gleich I0/4 lädt, beträgt die Laderate von CN dann 4mal die der Laderate von TN. Wenn man mit dem Laden beider Neuronen aufhört, sobald TN nadelt, d.h. sobald SpTN aktiv wird, bewirkt man, daß CN seine Zustandsvariable in der Zeit, in der TN seine Zustandsvariable um θ inkrementiert, um 4θ inkrementiert. Gilt also
    Figure 00220001
    n ∊ (0, 1, 2, 3) (4)dann gilt 4θ = n (2π) + 4ε (5)
  • In der Zeit, die TN braucht, um 1 Nadel auszulösen, führt CN daher n volle Umdrehungen aus und löst n Nadeln aus; durch Zählen der Anzahl der Nadeln, die CN auslöst, kann man θ auf das nächste ganze Vielfache von π/2 abgerundet auswerten.
  • Der Pfeil in 4A ist mit SpTN bezeichnet, um anzuzeigen, daß beim Einsatz dieser Nadel ein Zustandsübergang erfolgt. Nach diesem Zustandsübergang werden die Ladeströme für die Neuronen verändert; in 4A und 4B sind nach dem Zustandsübergang die Ladeströme für beide Neuronen 0. Im allgemeinen könnten die Ladeströme jedoch auch auf durch die nachfolgende Verarbeitung vorgeschriebene Werte verändert werden. Die Ladeströme für jedes Neuron in einem gegebenen Zustand werden neben der Diagrammrepräsentation ihrer Zustandsvariablen am Anfang des Zustands etikettiert.
  • 4B zeigt dieselben zwei Neuronen, wobei aber die Winkelzustandsvariable von TN zu Anfang +θ ist, anstatt –θ. Dieser Fall ist zu dem mit Bezug auf 4A besprochenen äquivalent, mit der Ausnahme, daß die Operation des Multiplizierens mit 4 nicht an θ, sondern an 2π–θ erfolgt. Somit gilt
    Figure 00230001
    und die in der Zeit, die TN braucht, um eine Nadel auszulösen, von CN ausgelöste Anzahl von Nadeln beträgt 3–n. Wenn man mit 3 beginnt und die Anzahl der von CN ausgelösten Nadeln herunterzählt, kann man somit θ auf das nächste ganze Vielfache von π/2 abgerundet auswerten.
  • Die Technik von 4A wird als Aufwärtszählen und die Technik von 4B als Abwärtszählen bezeichnet. Gl. (6) zeigt, daß, wenn man eine Abwärtszählauswertung von θ durchführt, man mit einem Residuum von 2π–4ε verbleibt. Dieses Residuum liegt in einer für die weitere Auswertung durch Aufwärtszählen geeigneten Form vor. Ähnlich zeigt Gl. (5), daß, wenn man eine Aufwärtszählauswertung von θ durchführt, man mit einem Residuum 4ε verbleibt. Dieses Residuum liegt in einer für die weitere Auswertung durch Abwärtszählen geeigneten Form vor.
  • Durch die Techniken des Aufwärtszählens und Abwärtszählens kann man eine grobe Auswertung von θ bis auf das nächste ganze Vielfache von π/2 durchführen, so daß ein Residuum für eine feinere Auswertung in einer nachfolgenden Bearbeitungsstufe zurückbleibt: Der Bereich [0, π/2] von ε wird für die Feinstufenauswertung auf [0, 2π] verstärkt. Durch sukzessive abwechselnde Aufwärtszähl- und Abwärtszählauswertungen kann man feinere und feinere Schätzungen von θ erhalten. Diese sukzessiven Auswertungen bilden eine Grundlage für die Analog/Digital-Umsetzungstechnik, die später ausführlich beschrieben wird.
  • In praktischen Schaltkreisen ist I0/4 niemals exakt I0/4; solche Schaltkreise weisen außerdem andere Fehler und Offsets auf. Die in 4A und 4B repräsentierten Operationen können daher dazu führen, daß 4 Nadeln ausgelöst werden, obwohl die Mathematik vorhersagen würde, daß diese Situation nur dann entstehen könnte, wenn θ genau Null ist. Im Fall des Aufwärtszählens wird die Bedeutung der vierten Nadel so interpretiert, daß innerhalb der Auflösung dieser Umsetzung θ = 2π und ε = 0 gilt, und im Abwärtszählfall wird die Bedeutung der vierten Nadel so interpretiert, daß innerhalb der Auflösung dieser Umsetzung θ = 0 und ε = 0 gilt. Das Auslösen von 4 Nadeln erzeugt ein Nullresiduum und beendet etwaige feinere Stufen der Auswertung. Die Präzision der Umsetzung wird somit notwendigerweise durch die Präzision begrenzt, mit der man in der ersten Umsetzungsstufe kleine Winkel auswerten kann.
  • Fehlerkorrektur
  • In der letzten Stufe der A/D-Umsetzung unter Verwendung von Techniken wie dem gerade beschriebenen kann kein Residuum für weitere Verarbeitung zur Auswertung zurückbleiben. Es ist dann notwendig, den Wert von θ auf- oder abzurunden, um das niedrigstwertige Bit der Umsetzung korrekt auszuwerten. 5 zeigt, wie man die Fehlerkorrektur in einer Architektur durchführt, bei der in der letzten Stufe der Umsetzung Abwärtszählen erfolgt; die Erweiterung der Technik auf eine Architektur, bei der in der letzten Stufe der Umsetzung ein Aufwärtszählen erfolgt, ist nicht schwer.
  • Beim Auf- oder Abrunden ist man daran interessiert, den Wert von θ bis auf eine durch π/4 gegebene Auflösung zu kennen, anstatt π/2. In 5 müßte θ zum Beispiel auf 1(π/2) aufgerundet werden, da sein Wert π/4 übersteigt, so daß der π/2 näher als 0 kommt; wenn sein Wert kleiner als π/4 wäre, müßte man ihn auf 0 abrunden. In 5 wurden die π/4-Unterteilungen als Häkchen zwischen den Haupt-π/2-Unterteilungen gekennzeichnet. Um Entscheidungen auf der Basis von π/4-Unterteilungen zu treffen, führt man Operationen des Multiplizierens mit 8 durch, die jeden π/4-Sektor auf einen 2π-Sektor abbilden: das Vorliegen (oder Nichtvorliegen) von durch vollständige 2π-Umdrehungen verursachten Nadeln kann dann als Anzeiger der Auflösung von θ in Bezug auf ein π/4-Winkelgitter dienen. Die Einzelheiten dieser Technik des Multiplizierens mit 8 werden in dem folgenden Absatz beschrieben.
  • Bei der Abwärtszählarchitektur wird eine Operation des Multiplizierens mit 8 folgendermaßen beschrieben: 8(2π – θ) = (7 – n')2π + (2π – 8ε'), 7)mit
    Figure 00250001
    n' ∊ (0, 1, 2, 3, 4, 5, 6, 7) (9)
  • Die Abbildung zwischen der Anzahl der ausgelösten Nadeln (7 – n', wenn ε nicht als 0 ausgewertet wird, wobei sie in diesem Fall 8–n' beträgt) und n (aus Gl. (2)–Gl. (4)) wird dann durch Tabelle 1 gegeben.
  • Figure 00250002
    Tabelle 1: Abwärtszähl-Fehlerkorrektur
  • Die Schätzung von n wird nur dann verändert, wenn eine ungerade Anzahl von Nadeln ausgelöst wurde. Wenn keine Nadeln ausgelöst werden, interpretiert man n als 4; das Erzeugen eines Übertrags zu einem angrenzenden Kanal repräsentiert gewöhnlich den Wert 4. Die kompressive Beschaffenheit der Abbildung (mehr als ein Wert der Anzahl der ausgelösten Nadeln führt zu demselben n) liefert Fehlerkorrektur, d.h. Rundung von n auf seinen nächsten Wert, so daß das LSB korrekt ausgewertet wird.
  • Ähnlich kann man leicht zeigen, daß in einer Aufwärtszählarchitektur die Abbildung zwischen der Anzahl ausgelöster Nadeln und n durch Tabelle 2 gegeben wird.
  • In einer Abwärtszählarchitektur läßt sich die tabellarische Abbildung von Tabelle 1 leicht durch Lesen des ersten und zweiten höchstwertigen Bit eines 3-Bit-Nadel-ausgelösten Zählers, der auf 000 initialisiert wurde, implementieren. Während jede n' Nadel ankommt, wird abwärtsgezählt; ein einfacher Schaltkreis erzeugt einen Überlauf-Übertrag zur Repräsentation von 4 in einem angrenzenden Kanal, wenn keine Nadelankünfte vorliegen.
  • Ähnlich läßt sich in einer Aufwärtszählarchitektur die tabellarische Abbildung von Tabelle 2 leicht durch Lesen des ersten und zweiten höchstwertigen Bit eines auf 001 initialisierten 3-Bit-Nadel-ausgelösten Zählers implementieren. Während jede n'-Nadel ankommt, wird aufwärtsgezählt. Ähnlich wie bei der Abwärtszählanordnung erzeugen eine 00 in den beiden höchstwertigen Bit des Zählers und die Anwesenheit mindestens einer Nadelankunft einen Überlauf-Übertrag.
  • Figure 00270001
    Tabelle 2: Aufwärtszähl-Fehlerkorrektur
  • 2-Schritt-A/D-Umsetzung
  • 6 zeigt eine Architektur für einen 2-Schritt-A/D-Umsetzer. Der Umsetzer führt zuerst eine 2-Bit-Grobquantisierung durch, gefolgt durch eine 2-Bit-Feinquantisierung des Residuums aus der Grobquantisierung. Die Architektur umfaßt zwei Neuronen, deren zustände und Ladeströme sich während des Umsetzungsprozesses wie in 6 gezeigt entwickeln. Es gibt 4 diskrete Zustände in dem Umsetzungsprozeß, mit einer verschiedenen Konfiguration von Ladeströmen für die beiden Neuronen in jedem dieser. In 6 werden der Zustand jedes Neurons am Anfang des diskreten Zustands und die Ladeströme für die 2 Neuronen in jedem Zustand angegeben.
    • 1. Zu Anfang werden die Winkelzustandsvariablen beider mit A und B markierten Neuronen auf Null zurückgesetzt. Um das für die Umsetzung benötigte Residuum zu bestimmen, wird Neuron A mit einem Eingangsstrom Iin geladen, während Neuron B mit einem Referenzstrom I0 geladen wird, mit I0 > Iin. Wenn Neuron B nadelt, d.h. SpB aktiv ist, geht man zu dem zweiten diskreten Zustand über.
    • 2. Am Anfang des zweiten Zustands codiert Neuron A Informationen über Iin als ein Winkelresiduum, während Neuron B gerade mit dem Auslösen einer Nadel fertig geworden ist und sein Winkel gleich Null ist. Das Residuum von Neuron A wird durch (Iin/I0)2π gegeben. Man lädt nun Neuron A mit einem Strom gleich I0/4, während man Neuron B mit dem Referenzstrom I0 lädt; effektiv hat man wie in Abschnitt 4.1 beschrieben eine Abwärtszähloperation des Multiplizierens mit 4 erzeugt. Durch Abwärtszählen der Nadeln aus Neuron B in einem 2-Bit-Zähler, der auf 11 initialisiert wurde (wobei Neuron B als das Zählneuron und Neuron A als das Timing-Neuron fungiert), erhält man das Ergebnis der besagten Grobquantisierung. Der Zähler wird als der MSBs-Zähler bezeichnet, weil sein Wert am Ende dieses Zustands die zwei höchstwertigen Bit der Antwort codiert. Man beachte, daß, wenn 4 Nadeln in diesem Zustand ausgelöst werden, man dann Iin als 0 auswertet (entsprechend einem MSBs Zählerüberlauf), wobei das Residuum für die Feinquantisierung als in der Nähe von Null interpretiert wird (keine Feinquantisierung notwendig) und man fertig ist. Wie Gl. (6) zeigt, liegt das Residuum von Neuron B nun in einer Form vor, die durch Aufwärtszählen ausgewertet werden kann. Aus diesem Zustand geht man heraus, wenn Neuron A nadelt, d.h. SpA aktiv ist.
    • 3. Man kombiniert Aufwärtszählen und Fehlerkorrektur in dem dritten Zustand durch Durchführen einer aufwärtszählenden Operation des Multiplizierens mit 8: Neuron A wird mit einem Strom I0 geladen, während Neuron B mit einem Strom I0/8 geladen wird. Beide Ladeströme dauern bis zum Einsatz von SpB an. Durch Aufwärtszählen der Nadeln in einem auf 001 initialisierten 3-Bit-LSBs-Zähler wie zuvor beschrieben, erhält man die zwei niedrigstwertigen Bit der besagten Quantisierung als das höchst- und zweithöchstwertige Bit des 3-Bit-Zählers.
    • 4. Im vierten Zustand führt man Buchhaltungsoperationen durch: Wenn Überläufe in dem LSBs-Zähler aufgetreten sind (7 oder 8 ausgelöste Nadeln, wie Tabelle 2 zeigt), erhöht man den MSBs-Zähler um 1. In diesem Zustand kann es auch erwünscht sein, die Antworten der Zähler in externe Register zu schreiben. Die Neuronen weisen in diesem Zustand keine Ladeströme auf und können gegebenenfalls auf Null zurückgesetzt werden. Der gesamte A/D-Umsetzungsprozeß kann durch einen Übergang aus diesem Zustand in den ersten Zustand von Neuem begonnen werden, wenn ein asynchrones Eingangssignal eine Umsetzung anfordert.
  • Die diskreten Zustände und Nadel-getriggerten Übergänge, die von A/D-Umsetzung gefordert werden, werden mit einem Nadel-getriggerten Automaten implementiert; die Ausgangssignale des Automaten steuern die Konfiguration der Ladeströme für die Neuronen. Ein beispielhafter Automat zur Verwendung in diesem Kontext wird in der Patentanmeldung mit dem Titel „A Spike-Triggered Asynchronous Finite State Machine" beschrieben. Die Kombination der mehreren beispielhaften Analogschaltkreise auf Nadel-Basis (wie zum Beispiel des gerade beschriebenen 2-Schritt-A/D-Umsetzers) mit Nadel-getriggerten Automaten fällt in die allgemeine Kategorie der Hybridautomaten wie oben erwähnt und im einzelnen in der Patentanmeldung mit dem Titel „Spike-Based Hybrid Computation" beschrieben.
  • Architekturen mit sukzessivem Subranging
  • 7 zeigt eine vom Autor als Architektur mit sukzessivem Subranging bezeichnete A/D-Architektur. Nachfolgend wird eine Pipeline-Version dieser Architektur beschrieben. Hierbei wechselt man zwischen Abwärtszähl- und Aufwärtszählstufen der Residuum-Auswertung ab, um feinere und feinere Schätzungen des Residuums zu erhalten. In jeder Verarbeitungsstufe wird eine Quantisierung durchgeführt und das Residuum wird verstärkt und in die nächste Verarbeitungsstufe eingegeben, in der sich der Prozeß wieder wiederholt. Man kann diesen Prozeß als das Residuum mit sukzessiven höheren Vergrößerungen betrachtend ansehen. Bei jeder Vergrößerung extrahiert man ein ganzzahliges Maß des Residuums und verstärkt den Restteil zur Auswertung durch die nächste Stufe.
  • Die mathematische Grundlage für diese Technik ist in Gl. (6) bzw. Gl. (5) begründet. Gl. (6) zeigt, daß Abwärtszählen zu einer ganzzahligen Auswertung von 3–n führt, und zu einem fraktionalen Residuum, das um 4 verstärkt wird und in einer Form vorliegt, die sich genau für die feinere Auswertung durch eine Aufwärtszählstufe eignet. Die feinere Auswertung resultiert, weil man ε, das in einem Bereich von [0, π/2] existiert, auf einen Bereich von [0,2π] abbildet. Ferner liegt das fraktionale Residuum in der Form 2π–4ε vor, wodurch man in einer Aufwärtszählstufe eine direkte Auswertung von 4ε durchführen kann.
  • Gl. (5) zeigt, daß Aufwärtszählen zu einer ganzzahligen Auswertung von n führt, und zu einem fraktionalen Residuum, das um 4 verstärkt wird und in einer Form vorliegt, die sich genau für die feinere Auswertung durch eine Abwärtszählstufe eignet. Die feinere Auswertung resultiert, weil man ε, das in einem Bereich von [0, π/2] existiert, auf einen Bereich von [0,2π] abbildet. Ferner liegt das fraktionale Residuum in der Form 4ε vor, wodurch man in einer Abwärtszählstufe eine direkte Auswertung von 4ε durchführen kann.
  • 7 zeigt die Einzelheiten der Architektur, die mit zwei Nadel-Neuronenschaltungen (Neuron A und Neuron B) implementiert wird und aus vier diskreten Zuständen besteht.
    • 1. Im ersten Zustand werden beide Winkelzustandsvariablen auf Null zurückgesetzt, und die Neuronen A und B werden mit einem Eingangsstrom von Iin bzw. I0 geladen, um ein Winkelresiduum von (Iin/I0)2π auf dem Neuron A herzustellen. Aus dem ersten Zustand geht man nach Aktivierung von SpB heraus.
    • 2. Im zweiten Zustand führt man durch Ausführen einer Operation des Multiplizierens mit 4 eine Abwärtszähl-Auswertung des Residuum auf Neuron A aus: Neuron A wird mit I0/4 geladen und fungiert als das Timing-Neuron, während Neuron B mit I0 geladen wird und als das Zähl-Neuron fungiert. Die SpB-Nadeln werden in einem auf 11 initialisierten, Nadel-getriggerten 2-Bit-Zähler abwärtsgezählt. Aus diesem Zustand geht man heraus, wenn SpA aktiv wird.
    • 3. Im dritten Zustand führt man eine Aufwärtsauswertung des durch die Verarbeitung des vorherigen Zustands auf Neuron B zurückgelassenen Residuums durch. Das Aufwärtszählen wird erzielt, indem Neuron B das Timing-Neuron mit einem Ladestrom von I0/4 ist und indem Neuron A das Zählneuron mit einem Ladestrom von I0 ist. Die SpA-Nadeln werden in einem Nadel-getriggerten 2-Bit-Zähler, der auf 00 initialisiert wurde, aufwärtsgezählt. Aus diesem Zustand geht man heraus, um zu dem 2ten diskreten Zustand zurückzukehren, wenn das Timing-Neuron seine SpB-Nadel auslöst. Es wird weiter zwischen Abwärtszählauswertungen in dem 2ten diskreten Zustand und Aufwärtszählauswertungen in dem 3ten diskreten Zustand abgewechselt, bis man die gewünschte Anzahl der Iterationen sukzessiver feinerer Quantisierung durchgeführt hat; diese Iterationen werden in einer Zustandsvariablen des Systems berücksichtigt.
    • 4. Im vierten Zustand wird eine Fehlerkorrektur durchgeführt, damit das LSB der Umsetzung korrekt wird. Es wird eine Operation des Multiplizierens mit 2 durchgeführt, um zu sehen, ob das Endresiduum auf Neuron B kleiner oder größer als n ist. Wenn es mehr als n beträgt (auf Neuron A wird keine Nadel ausgelöst), erhöht man den letzten 2-Bit-LSB-Zähler um 1. Wenn es weniger als n beträgt (auf Neuron A wird eine Nadel ausgelöst), erhöht man den letzten 2-Bit-LSB-Zähler nicht. Die Fehlerkorrektur führt ein Runden des nach der letzten Stufe der Aufwärtszählauswertung zurückgelassenen Residuums durch: Bei vorbekannten Beschreibungen wurden die Rundung und Auswertung in einer einzigen Operation des Multiplizierens mit 8 durchgeführt. In der vorliegenden Besprechung wurde die Operation des Multiplizierens mit 8 in eine Operation des Multiplizierens mit 4 und eine Operation des Multiplizierens mit 2 zerlegt. Die Auswertungsoperation des Multiplizierens mit 4 wird beispielhaft in der letzten Stufe der Aufwärtszähl-Auswertung durchgeführt. Die Fehlerkorrekturoperation des Multiplizierens mit 2 wird zweckmäßigerweise in der letzten Fehlerkorrekturstufe ausgeführt. Es versteht sich, daß das Konzept des Auswertens des Endresiduums auf einem Winkelgitter mit Hakenmarkierungen auf halbem Wege zwischen den Hauptunterteilungen (π/4-Hakenmarkierungen anstelle von π/2-Hakenmarkierungen) bleibt unverändert und diese Idee ist immer noch die Grundlage des hier beschriebenen Fehlerkorrekturmechanismus: Die letzte Auswertungsstufe bewirkt eine Multiplikation mit 4, die Sektoren mit Winkeln von π/4 auf Sektoren mit Winkeln von π abbildet; eine Operation des Multiplizierens mit 2 bildet die resultierenden π-Sektoren dann auf 2π-Sektoren ab und ermöglicht eine Abrundebeurteilung, ob eine Nadel ausgelöst wird oder nicht.
  • Man beachte, daß das Erhöhen des letzten 2-Bit-LSB-Zählers während der Fehlerkorrektur bewirken kann, daß sich der Inkrement-Übertrag durch die anderen höherwertigen 2-Bit-Zähler ausbreitet; diese Zähler können als miteinander verkettet betrachtet werden, um einen globalen Zähler zu erzeugen, der die Antwort der Umsetzung repräsentiert.
  • Wenn an irgendeinem Punkt der Umsetzung 4 Nadeln in einer Aufwärtszählstufe ausgelöst werden, wird der dieser Stufe entsprechende Zähler auf Null gesetzt, man erzeugt einen Übertrag, der sich zu dem angrenzenden Zähler höherer Ordnung ausbreitet und beendet die Umsetzung, da das Residuum als Null interpretiert wird. Ähnlich setzt man, wenn 4 Nadeln in einer Abwärtszählstufe ausgelöst werden, den Abwärtszähl-Zähler auf Null und beendet die Umsetzung.
  • Pipeline-Architektur
  • 8 zeigt, wie man einen 8-Bit-Pipeline-Umsetzer mit sukzessivem Subranging konstruieren kann. Man hat eine Kaskade von 6 Neuronen, die sich räumlich insofern abwechseln, als sie den Modus Timing (T) und Auswertung (E) annehmen. Die T-Neuronen steuern die Auswertungsperiode des rechten Nachbar-E-Neurons durch Bestimmung der Ladezeitperiode dieses E-Neurons. Die E-Neuronen erzeugen Aufwärtszähl-/Abwärtszähl-Nadeln und erzeugen ein Residuum durch Verstärkung des Residuums des T-Neurons. Das erste E-Neuron in der Kaskade erzeugt jedoch ein Residuum nicht über Verstärkung, sondern über Laden aus dem Eingangsstrom. Jedes E-Neuron an einem gegebenen Ort zählt immer aufwärts/abwärts (oder zählt nicht, wenn es das 2te Neuron während der Eingangsladung ist) und es besteht ein Abwechseln von Aufwärtszähl-/Abwärtszählstufen. Wenn alle T-Neuronen mit von Null verschiedenen Ladeströmen mit dem Auslösen Ihrer Nadeln aufgehört haben, tritt man in eine Betriebsart ein, bei der T-Neuronen zu E-Neuronen und die E-Neuronen zu T-Neuronen werden. Die beiden Zeilen von 8 zeigen die beiden Konfigurationen, zwischen denen der A/D-Umsetzer dauernd abwechselt. Das Residuum wird somit asynchron ausgewertet, verstärkt und von links nach rechts im Pipeline-Verfahren zwischen den Neuronen weitergeleitet.
  • Das erste Neuron in der Kaskade von 8 wird zum Timen der Erzeugung des Eingangsresiduums auf seinem Nachbarn verwendet. Es verhält sich bei der Durchführung dieser Funktion als T-Neuron und ist inaktiv (null Ladestrom), wenn es ein E-Neuron ist. Das allerletzte Neuron in der Kaskade führt die Endfehlerkorrektur und -auswertung durch. Es verhält sich bei der Durchführung dieser Funktion als ein E-Neuron und ist inaktiv, wenn es ein T-Neuron ist.
  • Wie bereits erwähnt, können Fehler bewirken, daß jedes E-Neuron 4 Nadeln ausgibt; der Fehlerkorrekturmechanismus umfaßt ein Ausbreiten von Überträgen zu angrenzenden Kanälen und ein Beenden der folgenden Umsetzungsstufen. Ein solcher Korrekturmechanismus kann die asynchronen Timing-Interaktionen des Umsetzers wesentlich verkomplizieren. Eine Lösung besteht darin, in jeder Aufwärtszähl-/Abwärtszählstufe einen 3-Bit-Zähler zu führen. Das höchstwertige Bit dieses Zählers ist 1, wenn 4 Nadeln ausgelöst werden, und 0 andernfalls. Wenn dieses Bit des Zählers zusammen mit den 2 Primärbit gemeldet wird, werden dann vorteilhafterweise einfache digitale arithmetische und logische Stufen verwendet, um die Operationen von Übertrag-Ausbreitung und Beendigung auszuführen; diese Operationen werden zweckmäßigerweise als Nachverarbeitungsoperationen nach der A/D-Umsetzung durchgeführt.
  • Wie bei jeder Pipeline-Architektur verarbeiten die Stufen auf der linken Seite in 8 gleichzeitig neue Eingangssignale, während die Stufen auf der rechten Seite ältere verarbeiten. Wenn bestimmte Anwendungen oder Kontexte eine Umsetzung der Pipeline-Architektur von 8 in eine traditionelle synchrone Pipeline-Form nahelegen, kann dies ohne weiteres durch Abwechseln der T- und E-Betriebsarten jedes Neurons auf zwei Phasen eines Takts geschehen. Dabei muß die Taktperiode mindestens so groß sein, wie die Zeit, die von dem langsamsten Ladestrom in dem System (I0/8) in Anspruch genommen wird, um im ungünstigsten Fall (θ = 0) eine Nadel zu erzeugen, und auch um Zeit für das Schreiben der Zähler zu ermöglichen. Die Ausgangssignale der Zähler werden in diesem synchronen Modus in Registern zwischengespeichert, die sich zwischen dem Schreibmodus, wenn sich das entsprechende Neuron im E-Modus befindet, und dem Haltemodus, wenn sich das entsprechende Neuron im T-Modus befindet, abwechseln.
  • Erweiterungen der Grundideen
  • Die Grundideen der Durchführung von Multiplikationsoperationen an Winkelresiduen wurden in den obigen Beschreibungen auf verschiedene Kontexte angewandt, um eine 2-schrittige A/D-Umsetzung mit sukzessivem Subranging und Pipeline durchzuführen. Eine Anzahl von Modifikationen und Erweiterungen dieser Techniken, die sich in vielfältigen Anwendungen als wertvoll erweisen werden, sind zum Beispiel:
    • 1. Man kann Operationen mit beliebiger Zahlenbasis durchführen, und nicht unbedingt in Radix 4, wie bei den obigen Beispielen. Die Operation in verschiedenen Zahlenbasen entspricht einfach einer Auswahl des zum Ausdrücken von Winkelladungsvariablen verwendeten Gitters. Eine 2-schrittige A/D-Umsetzung in Radix 6 verwendet also Operationen des Multiplizierens mit 6, und die Fehlerkorrektur wird über eine Operation des Multiplizierens mit 12 (wie für die beispielhafte 2-Schrittarchitektur besprochen) oder über eine Operation des Multiplizierens mit 6 und eine Operation des Multiplizierens mit 2 (wie für die beispielhafte Architektur mit sukzessivem Subranging besprochen) durchgeführt. Bei einer Pipeline-Architektur erhält man mehr oder weniger als 2 Bit pro Stufe.
    • 2. Die Topologie des sukzessiven Subranging kann mit einer Abwärtszählstufe enden, statt wie oben besprochen mit einer Aufwärtszählstufe. In diesem Fall bewirkt während der Fehlerkorrekturstufe des Multiplizierens mit 2 die Anwesenheit einer Nadel, daß der LSB-Zähler erhöht wird, und umgekehrt.
    • 3. Im Fall Iin > I0 ist es möglich, die Nadeln zu zählen, die durch Iin auf einem Zählneuron während der Zeit, die I0 braucht, um ein Timing-Neuron zu laden, ausgelöst werden, um eine Nadel auszulösen. Diese Methodologie kann als eine Technik zum Handhaben des Overranging des Eingangssignals beim Vergleich mit der Referenz angesehen werden. Das Residuum nach der Overranging-Stufe kann durch eine beliebige der verschiedenen beschriebenen Subranging-Techniken ausgewertet werden. Wenn das Residuum ignoriert wird, ist Overranging eine Methode zur Durchführung einer 1-schrittigen A/D-Umsetzung.
    • 4. Es ist möglich, für verschiedene Teile der Umsetzung verschiedene Radix-Repräsentationen zu haben. Zum Beispiel kann man ein erstes Residuum mit einer Radix-von-4-Repräsentation auswerten und dann ein zweites Residuum mit einer Radix-von-8-Repräsentation.
    • 5. In der Architektur mit sukzessivem Subranging kann man, statt eines separaten Zustands zur Durchführung einer Fehlerkorrekturoperation des Multiplizierens mit 2 den letzten Aufwärtszähl-/Abwärtszählzustand direkt eine Operation des Multiplizierens mit 8 durchführen lassen. Die Operation des Multiplizierens mit 8 kombiniert dann Auswertung und Fehlerkorrektur.
    • 6. Jede beliebige Kombination einzelner Techniken, z.B. Overranging, gefolgt durch 2-Schritt-Residuumauswertung und Fehlerkorrektur, oder 3-Schritt-Residuumauswertung mit einem letzten Schritt der Fehlerkorrektur, findet in bestimmten Umständen Anwendung. Die Implementierung beliebiger dieser Kombinationen wird aus den vorliegenden erfindungsgemäßen Lehren offensichtlich sein.
    • 7. Man kann A/D-Umsetzung mit programmierbarer Präzision erhalten, wenn digitale Steuerlogik verwendet wird, um die Anzahl der Stufen der Subranging-Umsetzung zu verändern, oder wenn die für die Umsetzung verwendete Zahlenbasis verändert wird.
    • 8. Skalierungsverhältnisse für Multiplikationen lassen sich leicht durch Skalieren der Ladekapazitäten in den verschiedenen Neuronen erhalten, anstatt durch Skalierung der Ströme.
  • Ein Overrange-Subrange-2-Schritt-A/D-Umsetzer
  • Dieser Abschnitt beschreibt ein Beispiel für einen 4-Bit-A/D-Umsetzer in Form eines Halbleiterchips, der zum Beispiel durch Verwendung eines HP-MOSIS-Prozesses mit 0,5 μm mit einer Stromversorgungsspannung von 3,3 V aufgebaut werden kann.
  • Der Umsetzer erhält zuerst seine 2 höchstwertigen Bit über einen Overranging-Schritt und seine 2 niedrigstwertigen Bit über einen Schritt der 2-Bit-Residuum-Auswertung und Fehlerkorrektur. Das Flußdiagramm für die Evolution des Umsetzers ist in 9 gezeigt. Es bestehen vier diskrete Zustände und zwei Neuronen mit den Bezeichnungen MSBs-Neuron bzw. LSBs-Neuron.
    • 1. Der erste Zustand (SD) kann als der Vorgabe-Rücksetz- und -warte-Zustand betrachtet werden. Beide Winkelzustandsvariablen werden auf Null zurückgesetzt und man wartet, bis das Steuereingangssignal Phi nach Low geht. Wenn Phi nach Low geht, wird mit einem großen Strom Ilrg bewirkt, daß das MSBs-Neuron schnell nadelt. Die Aktivierung von SpM bewirkt einen Übergang in den zweiten Zustand.
    • 2. In den zweiten Zustand (SM) werden die zwei höchstwertigen Bit ausgewertet. Das MSBs-Neuron wird mit I0/4 geladen, während das LSBs-Neuron mit Iin geladen wird. Da 0 ≤ Iin < I0 ist, kann das LSBs-Neuron bis zu 3 SpL-Nadeln auslösen. Diese Nadeln werden in einem 2-Bit-MSBs-Zähler, der auf 00 initialisiert wird, aufwärtsgezählt. Wenn mehr als 3 Nadeln ausgelöst werden, tritt ein Overranging-Fehler auf und wird als solcher interpretiert; alternativ dazu können die regulären und Überlauf-Nadeln in einem Zähler gezählt werden, der mehr als 2 Bit bearbeiten kann. Bei der beispielhaften Implementierung wird nur ein 2-Bit-Zähler vorgesehen.
    • 3. Im dritten Zustand (SL) werden die 2 niedrigstwertigen Bit und Fehlerkorrektur über eine abwärtszählende Operation des Multiplizierens mit 8 durchgeführt. Diese Operation wurde bereits oben ausführlich beschrieben.
    • 4. Im vierten Zustand (SW) führt man etwaige Überläufe aus der LSB-Auswertung dem MSB-Zähler zu. Wie Tabelle 2 zeigt, kommt es zu Überläufen, wenn keine Nadeln in der LSB-Auswertungsstufe ausgelöst werden. Dieser vierte Zustand ist außerdem ein Buchhaltungszustand und dient zum Schreiben der Antwort in durch Phi getaktete Register. Wenn Phi auf High geht, verläßt man diesen Zustand, damit der erste Zustand (SD) den Prozeß von neuem beginnen kann.
  • 10 zeigt den Takt Phi sowie Zustandsvariablen des MSBs-Neurons und des LSBs-Neurons während eines vollen Umsetzungszyklus. In diesem Beispiel löst während SM das LSBs-Neuron zwei Nadeln aus, während das MSBs-Neuron eine Nadel auslöst. Somit werden die höchstwertigen Bit als 10 ausgewertet. Während SL wird das auf dem LSBs-Neuron zurückgelassene Residuum durch das MSBs-Neuron als 10 ausgewertet: Aus Tabelle 2 entsprechen die 4 durch das MSBs-Neuron während SL ausgelösten Nadeln einem gerundeten Wert von 2. Die Antwort für diese Umsetzung in binär lautet also Iin = (I0/4) × (10.10), oder einfacher ausgedrückt Iin ≈ 2,5 (I0/4).
  • 11 zeigt, daß der B3B2B1B0-Zustand des MSBs- und LSBS-Zählerkonglomerats am Ende der Umsetzung tatsächlich 1010 ist. 12 zeigt die logischen Zustandsvariablen SM, SL, SW und SD während der Umsetzung; außerdem ist die logische Verknüpfung (SW OR SD) gezeigt.
  • 13 zeigt die Nadeln SpM und SpL, die während der Umsetzung von dem MSBs- und LSBs-Neuron ausgelöst werden. Die allererste von dem MSBs-Neuron ausgelöste Nadel bewirkt den schnellen Übergang aus SD heraus in SM. Während SM löst das LSBs-Neuron 2 Nadeln aus. Die zweite Nadel an dem MSBs-Neuron bewirkt einen Übergang aus SM heraus in SL. Die übrigen vier Nadeln auf dem MSBs-Neuron werden während SL ausgelöst. Der SL-Zustand endet, wenn das LSBs-Neuron seine Timing-Nadel, die letzte Nadel des LSBs-Neurons in 13, auslöst.
  • Die in 1013 angezeigten Daten veranschaulichen den mit Bezug auf 9 beschriebenen D/A-Umsetzer mit einem Wert von I0 ≈ 64 nA, einer neuronalen Ladekapazität von 0,5 pF, einer Schwellenspannung der Nadelauslösung von VDD/2 = 1,6 V und einer Impulsbreite von ungefähr 10 μs.

Claims (13)

  1. Elektronischer Analog/Digital-Umsetzungsschaltkreis mit einem ersten Neuronenschaltkreis (2, 250 und 260), wobei der Analog/Digital-Umsetzungsschaltkreis zum Erzeugen von Signalen dient, die eine Approximation des Anfangszustands des ersten Neuronenschaltkreises (2, 250 und 260) repräsentieren, wobei der Zustand des ersten Neuronenschaltkreises, der mit einer ersten analogen Zustandsvariablen assoziiert ist, einer Winkelauslenkung entspricht, dadurch gekennzeichnet, daß der erste Neuronenschaltkreis ein Nadel-Signal erzeugt und die erste analoge Zustandsvariable auf einen Nullzustand zurücksetzt, wenn die erste analoge Zustandsvariable einen Schwellenwert QT überschritten hat, der einer 2π-Winkelauslenkung der ersten analogen Zustandsvariablen entspricht, wobei der elektronische Schaltkreis ferner folgendes umfaßt: ein Mittel zum Anlegen (245) mindestens eines ersten Stroms an den ersten Neuronenschaltkreis, wenn die erste analoge Zustandsvariable QT nicht überschreitet, wobei der erste Strom den Zustand des ersten Neuronenschaltkreises verändert, einen zweiten Neuronenschaltkreis (2, 210 und 255) mit einem Zustand, der durch eine zweite analoge Zustandsvariable repräsentiert wird, die einer Winkelauslenkung entspricht, wobei der zweite Neuronenschaltkreis ein Nadel-Signal erzeugt und die zweite analoge Zustandsvariable auf einen Nullzustand zurücksetzt, wenn die zweite analoge Zustandsvariable QT überschreitet, wobei der Neuronenschaltkreis einen Anfangszustand aufweist, der einer bekannten Winkelauslenkung entspricht, ein Mittel (2, 215) zum Anlegen eines zweiten Stroms an den zweiten Neuronenschaltkreis gleichzeitig mit dem Anlegen des ersten Stroms an den ersten Neuronenschaltkreis, wobei der zweite Strom die Beziehung 1:R zu dem ersten Strom besitzt, wobei R eine positive ganze Zahl ist, wobei der zweite Strom den Zustand des zweiten Neuronenschaltkreises verändert, wobei die Anzahl der durch den zweiten Neuronenschaltkreis erzeugten Nadel-Signale die Approximation des Anfangszustands des ersten Neuronenschaltkreises repräsentiert.
  2. Schaltkreis nach Anspruch 1, wobei der Zustand des zweiten Neuronenschaltkreises, wenn die erste analoge Zustandsvariable QT überschreitet, ein Rest ist, der den Fehler der Approximation wiedergibt.
  3. Schaltkreis nach Anspruch 2, ferner mit einem Verfeinerungsmittel zum exakteren Auswerten des Rests, wodurch eine bessere Approximation des Anfangszustands des ersten Neuronenschaltkreises erhalten wird.
  4. Schaltkreis nach Anspruch 3, wobei das Verfeinerungsmittel einen dritten und einen vierten Neuronenschaltkreis umfaßt, wobei ein Anfangszustand des dritten Neuronenschaltkreises den Rest repräsentiert.
  5. Schaltkreis nach Anspruch 4, wobei der dritte Neuronenschaltkreis identisch derselbe Neuronenschaltkreis wie der erste Neuronenschaltkreis ist.
  6. Schaltkreis nach Anspruch 1, wobei die an den ersten und den zweiten Neuronenschaltkreis angelegten Ströme I0/4 bzw. I0 betragen.
  7. Schaltkreis nach Anspruch 1, wobei die bekannte Winkelauslenkung 0 ist.
  8. Schaltkreis nach Anspruch 1 mit R = 4.
  9. Schaltkreis nach Anspruch 1, ferner mit einem Mittel zum Einstellen der an den ersten und den zweiten Neuronenschaltkreis angelegten Ströme nach dem ersten Nadel-Ausgangssignal.
  10. Verfahren zur Analog/Digital-Umsetzung in einem System mit mindestens einem Neuronenschaltkreispaar, wobei das Neuronenschaltkreispaar einen ersten und einen zweiten Neuronenschaltkreis umfaßt, wobei der Zustand jedes Neuronenschaltkreises mit einer jeweiligen analogen Zustandsvariable assoziiert ist, die einer Winkelauslenkung entspricht, wobei der erste Neuronenschaltkreis einen durch eine unbekannte Winkelauslenkung θ gekennzeichneten Anfangszustand aufweist, wobei der zweite Neuronenschaltkreis einen durch bekannte Winkelauslenkung gekennzeichneten Anfangszustand aufweist, wobei das Verfahren die folgenden Schritte umfaßt: a. Anlegen von Strömen I0/R und I0 an jeweils einen ersten und einen zweiten Schaltkreis eines ersten Neuronenschaltkreispaars, wobei R eine ganze Zahl ist, wobei die Ströme solange angelegt werden, bis der erste Neuronenschaltkreis des ersten Neuronenschaltkreispaars ein erstes Nadel-Ausgangssignal erzeugt, b. Zählen der Anzahl der durch den zweiten Neuronenschaltkreis erzeugten Nadel- Ausgangssignale, während der Strom an den zweiten Neuronenschaltkreis angelegt wird, c. Setzen der Zustandsvariablen für einen ersten Neuronenschaltkreis eines Neuronenschaltkreispaars auf einen Wert, der auf dem Zustand des zweiten Neuronenschaltkreises zum Zeitpunkt des ersten Nadel-Ausgangssignals basiert, Wiederholen der Schritte a–c, während der Zählwert der Nadeln bei jeder Wiederholung behalten wird, wodurch eine Approximation des Anfangszustands des ersten Neuronenschaltkreises durch eine gewichtete Summe der Anzahl der bei jeder Wiederholung durch den zweiten Neuronenschaltkreis erzeugten Nadel-Ausgangssignale gegeben wird.
  11. Verfahren nach Anspruch 10, wobei die analoge Zustandsvariable eine in einem analogen Speicherbaustein gespeicherte wiedergibt.
  12. Verfahren nach Anspruch 11, wobei Änderungen der analogen Zustandsvariablen eine Ladungsakkumulation wiedergeben, die aus den jeweiligen angelegten Strömen über eine durch die ersten Nadel-Ausgangssignale identifizierte Zeit hinweg resultiert.
  13. Verfahren nach Anspruch 10, wobei Schritt (c) ferner umfaßt, die Ladeströme für die Neuronenschaltkreise in mindestens einem Neuronenschaltkreispaar zu ändern.
DE60024030T 1999-09-29 2000-09-18 Auf Nadelpulsen basierter Analog-Digital-Wandlung des Stromtyps Expired - Fee Related DE60024030T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US408379 1999-09-29
US09/408,379 US6262678B1 (en) 1999-09-29 1999-09-29 Current-mode spike-based analog-to-digital conversion

Publications (2)

Publication Number Publication Date
DE60024030D1 DE60024030D1 (de) 2005-12-22
DE60024030T2 true DE60024030T2 (de) 2006-07-27

Family

ID=23616058

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024030T Expired - Fee Related DE60024030T2 (de) 1999-09-29 2000-09-18 Auf Nadelpulsen basierter Analog-Digital-Wandlung des Stromtyps

Country Status (4)

Country Link
US (1) US6262678B1 (de)
EP (1) EP1089436B1 (de)
JP (1) JP2001230671A (de)
DE (1) DE60024030T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377194B1 (en) * 1998-09-29 2002-04-23 California Institute Of Technology Analog computation device using separated analog signals, each having a specified amount of resolution, and signal restoration devices
US20030028353A1 (en) * 2001-08-06 2003-02-06 Brian Gventer Production pattern-recognition artificial neural net (ANN) with event-response expert system (ES)--yieldshieldTM
SE0203548D0 (sv) * 2002-12-02 2002-12-02 Biacore Ab Method of determining site-specificity and kit therefor
US8990133B1 (en) 2012-12-20 2015-03-24 Brain Corporation Apparatus and methods for state-dependent learning in spiking neuron networks
US9146546B2 (en) 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US9156165B2 (en) 2011-09-21 2015-10-13 Brain Corporation Adaptive critic apparatus and methods
US9015092B2 (en) 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US9104186B2 (en) 2012-06-04 2015-08-11 Brain Corporation Stochastic apparatus and methods for implementing generalized learning rules
US9213937B2 (en) 2011-09-21 2015-12-15 Brain Corporation Apparatus and methods for gating analog and spiking signals in artificial neural networks
US9412041B1 (en) 2012-06-29 2016-08-09 Brain Corporation Retinal apparatus and methods
US9256215B2 (en) 2012-07-27 2016-02-09 Brain Corporation Apparatus and methods for generalized state-dependent learning in spiking neuron networks
US9189730B1 (en) 2012-09-20 2015-11-17 Brain Corporation Modulated stochasticity spiking neuron network controller apparatus and methods
US9367798B2 (en) * 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US9082079B1 (en) 2012-10-22 2015-07-14 Brain Corporation Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields
US9195934B1 (en) 2013-01-31 2015-11-24 Brain Corporation Spiking neuron classifier apparatus and methods using conditionally independent subsets
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
US9436909B2 (en) 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9552546B1 (en) 2013-07-30 2017-01-24 Brain Corporation Apparatus and methods for efficacy balancing in a spiking neuron network
US9489623B1 (en) 2013-10-15 2016-11-08 Brain Corporation Apparatus and methods for backward propagation of errors in a spiking neuron network
DE102013112749A1 (de) 2013-11-19 2015-05-21 Technische Universität Dresden Anordnung und Verfahren zur Analog-Digital-Wandlung
US9642549B2 (en) 2013-11-19 2017-05-09 University Of Florida Research Foundation, Inc. Integrate and fire pulse train automation for QRS detection
US9881349B1 (en) 2014-10-24 2018-01-30 Gopro, Inc. Apparatus and methods for computerized object identification
US11100389B2 (en) * 2017-11-06 2021-08-24 Electronic Warfare Associates, Inc. Conversion of digital signals into spiking analog signals
US11038520B1 (en) * 2020-04-15 2021-06-15 International Business Machines Corporation Analog-to-digital conversion with reconfigurable function mapping for neural networks activation function acceleration
US11478927B1 (en) * 2021-04-01 2022-10-25 Giant.Ai, Inc. Hybrid computing architectures with specialized processors to encode/decode latent representations for controlling dynamic mechanical systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3582628A (en) 1967-07-31 1971-06-01 Reliance Electric Co Analog-digital computer interconnection system
US3909597A (en) * 1974-05-22 1975-09-30 Us Army Hybrid analog and digital computer
US5041831A (en) * 1988-04-26 1991-08-20 Hewlett-Packard Company Indirect D/A converter
US5107146A (en) 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
JP2868640B2 (ja) * 1991-02-26 1999-03-10 株式会社東芝 ニューラル・ネットワークを用いた信号処理装置
JP3153271B2 (ja) 1991-07-05 2001-04-03 株式会社日立製作所 Ad変換器
JPH07106969A (ja) * 1993-10-06 1995-04-21 Mitsubishi Electric Corp アナログ/デジタル変換器
US5543795A (en) * 1995-06-02 1996-08-06 Intermedics, Inc. Hybrid analog-to-digital convertor for low power applications, such as use in an implantable medical device

Also Published As

Publication number Publication date
EP1089436A2 (de) 2001-04-04
US6262678B1 (en) 2001-07-17
DE60024030D1 (de) 2005-12-22
EP1089436A3 (de) 2004-01-02
JP2001230671A (ja) 2001-08-24
EP1089436B1 (de) 2005-11-16

Similar Documents

Publication Publication Date Title
DE60024030T2 (de) Auf Nadelpulsen basierter Analog-Digital-Wandlung des Stromtyps
DE3136784C2 (de)
DE19916879B4 (de) Stromgesteuerter, digital selbst-eichender Digital-Analog-Wandler
DE2719471A1 (de) Zweistufiger kapazitiver analog- digital- und digital-analogwandler
DE3733682A1 (de) Verfahren zum vermindern der auswirkungen von elektrischen stoerungen in einem analog/digital-umsetzer
DE102021207661A1 (de) Ratiometrische zeitdomänen-auslesungschnittstellen für speicherinterne, analoge mischsignal-rechen-crossbar-netzwerke
DE112018002950T5 (de) System und Verfahren zum Aufbauen von synaptischen Gewichten für künstliche neuronale Netze aus mit Vorzeichen versehenen analogen Leitwertpaaren unterschiedlicher Wertigkeit
DE19748272A1 (de) Bipolarer elementenmittelnder Digital-Analog-Wandler
DE10139488C1 (de) Analog/Digital-Wandler
DE102013109038A1 (de) Ratiometrische A/D-Wandler-Schaltungsanordnung
DE102006028344A1 (de) A/D-Wandler, implementiert unter alleiniger Verwendung digitaler Schaltkreiskomponenten und digitaler Signalverarbeitung
DE102021208010A1 (de) Hardware-rechenstruktur für tiefe gleichgewichtsmodelle
DE112019002228T5 (de) Ladungsbasierter Digital-Analog-Konverter mit dynamisch gewichtetem Algorithmus zweiter Ordnung
DE19738561A1 (de) Verfahren zum Steuern von Analog-Digital-Wandlern
DE2801272A1 (de) Schaltungsanordnung mit gewichtsfaktorabhaengiger ladungsaufteilung und -uebertragung
EP0834115B1 (de) Schaltungsanordnung zur realisierung von durch schwellenwertgleichungen darstellbaren logikelementen
DE3521879A1 (de) Sukzessivannaeherungsregister
DE2618633C3 (de) PCM-Decodierer
DE112015002355T5 (de) A/D-Wandler
DE1930275C3 (de) Analog-Digital-Wandler
DE3327879A1 (de) Integrierte halbleiterschaltung
DE69727981T2 (de) Digital-zu-analog konversion
DE2348831C3 (de) Digital-Analogwandler
DE3046772C2 (de) Taktgenerator
WO2002047273A2 (de) Analog-digital-wandler und verfahren zur wandlung eines analogsignals in ein digitalsignal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee