Zur
integrierten elektronischen Verarbeitung von Informationen, die
in Form analoger Signale vorliegen, existieren gegenwärtig mehrere
Konzepte:
- – Diskrete
analoge, nicht programmierbare Bausteine, wie etwa Transistoren
und Operationsverstärker;
- – Analoge,
programmierbare, integrierte Schaltkreise, genannt FPAAs (Field
Programmable Analog Arrays), FPMAs (Field Programmable Mixed-Signal
Arrays) oder FPADs (Field Programmable Analog Devices). FPAAs, FPMAs
und FPADs bestehen ähnlich
wie die digitalen FPGAs (Field Programmable Gate Arrays) aus einzelnen, programmierbaren
Zellen. Im Fall von FPAAs, FPMAs und FPADs ist das Kernstück einer
solchen Zelle ein analoger Operationsverstärker, dem eine bestimmte Funktion
aus einem Satz möglicher Funktionen
zugewiesen werden kann. Mögliche Funktionen
sind zum Beispiel Addierer, Inverter, Gleichrichter und Filter erster
Ordnung, mit denen ein analoges Signal bearbeitet werden kann. Die Zellen
stehen untereinander durch ein Bussystem in Verbindung und werden
durch logische Elemente gesteuert;
- – Anwendungsspezifische,
nicht programmierbare integrierte Schaltkreise, genannt ASICs (Application
Specific Integrated Circuits);
- – Programmierbare,
voll digitale Prozessoren, genannt DSPs (Digital Signal Processors)
oder CPUs (Central Processing Units), die der digitalen Verarbeitung
analoger Signale nach deren vorhergehender Analog-Digital-Wandlung
dienen. Wenn nach der Verarbeitung wieder ein analoges Signal vorliegen
soll, muss nach der Verarbeitung eine Digital-Analog-Wandlung des
Signals vorgenommen werden.
Probleme
Diskrete analoge Bausteine
Eine
Schaltung mit diskreten Bauelementen kann aufgrund ihrer primären Flexibilität zwar optimal für eine bestimmte
Aufgabe ausgelegt werden.
Die
Aufgaben der Schaltung müssen
allerdings zum Zeitpunkt des Schaltungsentwurfs genau bekannt sein,
denn eine nachträgliche
Anpassung der Schaltung an veränderte
Anforderungen ist nicht oder nur mit erheblichem Aufwand möglich. Dies
gilt insbesondere für
die Programmierbarkeit und für Umkonfigura tionen
im Betrieb. Außerdem
wird eine solche Schaltung bei komplexeren Aufgaben schnell umfangreich.
FPAAs, FPMAs, FPADs
Die
durch FPAAs, FPMAs und FPADs gegebenen Möglichkeiten zur Verarbeitung
analoger Signale orientieren sich am Vorbild klassischer analoger Signalverarbeitungsanlagen.
Sie
sind für
das zu verarbeitende Signal weitgehend transparent, das heißt, das
zu verarbeitende Signal wird bis zu einer bestimmten, bausteinabhängigen Frequenz
in Echtzeit bearbeitet.
Eine
einfache Möglichkeit,
analoge Werte zu speichern, existiert nicht, insbesondere nicht
die Möglichkeit,
den analogen Eingangswert und/oder den Ausgangswert jeder einzelnen
Zelle zu speichern. Viele wichtige Operationen, wie etwa Schleifenberechnungen,
und sämtliche
Prozesse, bei denen mehrere Signale zeitlich koordiniert nacheinander
verarbeitet werden, werden durch Speicherung jedoch erst möglich. Eine
einzelne FPAA-, FPMA- oder FPAD-Zelle kann zwar als Speicher nach
Art einer Sample-and-Hold-Stufe konfiguriert werden. Sie kann dann
jedoch keine zusätzliche
Funktion mehr ausüben.
FPAAs,
FPMAs und FPADs sind aufgrund ihrer ausschließlich analogen Signalverarbeitung
funktionellen Einschränkungen
unterworfen. Die Fähigkeiten
der in FPAAs, FPMAs und FPADs implementierten digitalen Logik beschränken sich
auf die Funktionen, die für
die Umkonfiguration der Zellen notwendig sind. Die Funktion der
Zellen, die diese während
des Betriebs ausüben,
wird durch die Logik nicht unterstützt, geschweige denn erweitert,
etwa durch digitale Zählfunktionen
oder logische Grundfunktionen wie beispielsweise NAND und NOR. Insbesondere
gibt es keine jeweils zu einer einzigen Zelle gehö renden logischen
Strukturen, die solche digitalen Zählfunktionen oder logischen
Grundfunktionen durchführen
können.
Mit FPAAs, FPMAs und FPADs sind deshalb logische Funktionen wie
zum Beispiel eingangssignalabhängige
Entscheidungen, wenn überhaupt,
nur in geringem Maße
oder nur sehr aufwendig möglich.
Dasselbe
gilt für
die datenabhängige
Rekonfiguration von FPAAs, FPMAs und FPADs, beispielsweise (aber
nicht nur) nach Art einer IF-THEN-ELSE-Anweisung. Soll eine FPAA-,
FPMA- oder FPAD-Zelle aufgrund von Kriterien, die die zu verarbeitenden
oder. bereits verarbeiteten Analogsignale betreffen, rekonfiguriert
werden, so muß das
betroffene Analogsignal über
eine temporäre
oder sogar permanente Verbindung nach außen zu einer externen, nicht
in dem FPAA, FPMA oder FPAD enthaltenen Struktur geführt werden,
welche über
eine etwaige Rekonfiguration entscheiden und diese Rekonfiguration
auslösen
und durchführen
muß. Es
besteht für die
Zelle keine Möglichkeit,
abhängig
von einem Analog- oder Digitalsignal selbständig, das heißt mit ihr eigenen
Strukturen, über
eine Rekonfiguration ihrer selbst zu entscheiden, diese Rekonfiguration
zu veranlassen und die dazu notwendigen Daten von einer internen,
auf dem Baustein enthaltenen, dafür geeigneten Struktur zu erhalten.
Will
man das Ergebnis der Operation einer Zelle auf deren Eingang führen, zum
Beispiel bei Schleifenoperationen, so kann das bei FPAAs, FPMAs
und FPADs nur mittels des Busses geschehen; eine eigene Leitung
zur Rückführung des
Operationsergebnisses auf den Eingang der Zelle zur Entlastung des
Busses ist bei FPAAs, FPMAs und FPADs nicht vorgesehen.
Die
genannten Nachteile schließen
es aus, mit FPAAs, FPMAs und/oder FPADs ein analoges Rechenwerk
aufzubauen, das die Flexibilität
und den Funktionsumfang heutiger digitaler Rechenwerke erreicht.
ASICs
ASICs
besitzen eine hohe primäre
Flexibilität,
da sie für
eine spezielle Anwendung entwickelt werden. Sie eignen sich jedoch
nur für
diejenige Anwendung, für
die sie entwickelt werden; rekonfigurierbar sind ASICs nur in demjenigen
Rahmen, den die Anwendung vorgibt. ändert sich die Anwendung um ein
Detail, welches bei der Entwicklung des ASICs nicht berücksichtigt
wurde, so muß im
Extremfall ein neuer ASIC entwickelt werden.
DSPs und CPUs
Unter
allen Möglichkeiten
zur Signalverarbeitung können
DSPs und CPUs zwar am flexibelsten konfiguriert und rekonfiguriert
werden, allerdings weder teilweise, noch während der Laufzeit.
Um
Analogsignale in ein für
DSPs oder CPUs geeignetes Format umzuwandeln, müssen die analogen Signale digital
kodiert werden. Dies erfordert eine Analog-Digital-Wandlung, die
bei höheren Anforderungen
an die Präzision
recht aufwendig und teuer werden und überdies noch die Bandbreite
beschränken
kann. Entsprechendes gilt für
die Rücktransformation
der digitalen, verarbeiteten Daten in Analogsignale. Um ausreichende
Schnelligkeit zu erzielen, müssen
die internen Bussysteme in DSPs und CPUs die einzelnen Bits eines
digital kodierten Analogsignals parallel übertragen. Die erforderliche
Breite des Datenbussystems wächst
mit der geforderten Präzision
der digitalen Kodierung des Signals. Im Gegensatz dazu genügt bei einer
analogen Übertragung eine
Leitung pro übertragenem
Analogsignal.
DSPs
und CPUs besitzen überdies
keine zellartige Struktur, sondern sind in der klassischen von-Neumann-Architektur
aufgebaut. Ihre Modularität
ist deshalb nur gering.
Die
heute exististierenden analogen Rechenwerke erreichen bei weitem
nicht den Funktionsumfang und die Konfigurierbarkeit heute existierender
digitaler Rechenwerke.
Umgekehrt
werden analoge Schaltungen zunehmend durch digitale Rechenwerke
ersetzt, etwa im Fall der DSPs, wobei man die bei den DSPs genannten
Nachteile in Kauf zu nehmen hat.
Die
heute existierenden Methoden zur Verarbeitung analoger Signale haben
zum Ziel, diese analogen Daten zu modifizieren. Sind die dazu verwendeten
Bausteine konfigurierbar, dann wird die Art und Weise, wie die analogen
Signale zu modifizieren sind, ausschließlich durch digitale Logik
eingestellt, das heißt,
die Steuerung erfolgt ausschließlich
durch digitale Signale. Es existieren weder Möglichkeiten, die Datenverarbeitungssteuerung
unmittelbar durch analoge Signale vorzunehmen, noch Möglichkeiten, analoge
Signale mit dem Funktionsumfang eines digitalen Rechenwerks zu bearbeiten.
Verbesserung durch die
Erfindung, Aufgabe
Die
Erfindung umfaßt
ein programmierbares, analoges Rechenwerk (Reconfigurable Analog
Processor, RAP) mit durch logische Elemente erweiterten Funktionen,
in der Weise, daß der
Funktionsumfang eines digitalen Rechenwerks verbunden wird mit der
Möglichkeit
zur schnellen, analogen Berechnung komplexer Funktionen (etwa der
Logarithmusfunktion) und der Re konfigurierbarkeit eines DFPs gemäß Offenlegungsschrift
DE 4416881 A1 .
Ein
RAP besteht aus Zellen, die in ihrer Funktion und Vernetzung frei
konfigurierbar und während
der Laufzeit rekonfigurierbar sind. Bei der Rekonfiguration einer
einzelnen Zelle während
der Laufzeit werden andere Zellen nicht in ihrer Arbeit beeinträchtigt.
Eine Zelle ist unterteilt in eine Analogsektion und eine Logiksektion.
Die Analogsektion dient der Verarbeitung analoger Daten auf der
Basis von Operationsverstärkerschaltungen,
wie sie von FPAAs, FPMAs und FPADs her bekannt sind. Die Logiksektion
steuert die Funktionen der Analogsektion während der Laufzeit, bei der
Anfangskonfiguration und bei der Umkonfiguration während der
Laufzeit.
Die
Analogsektion kann aber auch analog gesteuert und konfiguriert werden.
Die Datenverarbeitung findet wie bei FPAAs, FPMAs und FPADs in erster
Linie analog statt; der Funktionsumfang wird jedoch durch besondere
Strukturen mit jeweils einer Logiksektion und verschiedenen Speichern
in jeder Zelle dahingehend erweitert, daß in der Zelle eingangsdatenabhängige logische
Operationen, Vergleiche, Schleifenoperationen und Zählvorgänge schnell
und einfach durchgeführt
werden können,
so daß ein
Funktionsumfang ähnlich
dem eines voll digitalen Rechenwerks erreicht wird.
Es
besteht für
jede RAP-Zelle zur Vereinfachung ihrer Rekonfiguration die Möglichkeit,
abhängig
von einem Analog- oder Digitalsignal selbständig, das heißt mit ihr
eigenen, internen Strukturen, über eine
Rekonfiguration ihrer selbst zu entscheiden, diese Rekonfiguration
zu veranlassen und die dazu notwendigen Daten von einer dafür geeigneten
Struktur zu erhalten.
Zwei
unabhängige,
rekonfigurierbare Bussysteme, eines für analoge Signale, das andere
für digitale
Signale, vernetzen die Zellen untereinander und mit der Außenwelt.
Jedes analoge Signal benötigt
zu seiner Übertragung
nur eine analoge Busleitung. Bei einem digitalen Bus wächst die
Zahl der benötigten
Leitungen bei paralleler Übertragung
mit der geforderten Präzision
der digitalen Codierung des analogen Signals stark an. Die notwendige
Busbreite eines analogen Busses ist deshalb im Vergleich zu der
eines digitalen Busses bei vergleichbarer Signalauflösung und Übertragungsrate
ganz wesentlich verringert.
Die
Erfindung beschreibt sonst u.a. ein analoges, umkonfigurierbares
Rechenwerk (Reconfigurable Analog Processor, RAP) aus einzelnen
funktionalen Zellen, die durch ein geeignetes Bussystem untereinander
und mit der Außenwelt
verbunden sind. Die Funktion der Zellen ist konfigurierbar und kann
während
des Betriebs so rekonfigurierbar sein, daß dabei die Funktion anderer
nicht zu rekonfigurierender Zellen nicht beeinträchtigt wird. Eine funktionale
Zelle enthält
eine Analogsektion und eine Logiksektion. Die Analogsektion dient
der Verarbeitung analoger Daten auf der Basis von Operationsverstärkerschaltungen.
Die Logiksektion steuert die Funktionen der Analogsektion während der
Laufzeit, bei der Anfangskonfiguration und bei der Umkonfiguration während der
Laufzeit. Außerdem
erweitert die Logiksektion die rein analogen Funktionen der Analogsektion
durch die Bereitstellung von Logikfunktionen und digitalen Zählfunktionen.
Jeder Zelle können
ein oder mehrere analoge Speicher zugeordnet sein, die analoge Größen wie
beispielsweise Eingangs- oder Ausgangssignale speichern und zur
weiteren Verarbeitung bereitstellen können. Außerdem gehören zu jeder Zelle ein oder
mehrere digitale Register zur Speicherung von digitalen Daten, die
für die
Konfiguration und den Betrieb der Zelle notwendig sind.
Für jede Zelle
besteht die Möglichkeit,
abhängig
von einem Analog- oder Digitalsignal selbständig, das heißt mit ihr
eigenen internen Strukturen, über
eine Rekonfiguration ihrer selbst oder anderer Zellen zu entscheiden,
diese Rekonfiguration zu veranlassen und die dazu notwendigen Daten
von einer dafür
geeigneten Struktur, welche sich auf dem Baustein befinden kann,
zu erhalten. Es existiert weiterhin die Möglichkeit, das analoge Ergebnis
der Operation einer Zelle ohne Zugriff auf ein Bussystem auf den
analogen Dateneingang der Zelle zurückzuführen.
Definitionen
In
dieser Schrift werden Begriffe verwendet, deren Bedeutung von der
allgemein gebräuchlichen in
manchen Punkten abweichen kann. Zum besseren Verständnis folgen
die Begriffsdefinitionen, wie sie in dieser Schrift verwendet werden.
Ein
Signal soll hier definiert sein als eine Größe, beispielsweise eine Spannung
U_0(t), die zu einem bestimmten Zeitpunkt an einem bestimmten Punkt
einer Schaltung herrscht. Ein solcher Punkt kann beispielsweise
ein Ausgang, ein Eingang oder eine Busleitung sein. Die Spannung
U_0(t) kann entweder auf Masse (GND) oder auf eine zweite Spannung
U_1(t) bezogen sein. Das Signal kann zeitlich konstant oder zeitlich
veränderlich
sein.
Information
soll hier definiert sein als Anzahl der möglichen, unterscheidbaren Zustände, die
ein Signal annehmen kann.
Als
digitales Signal oder Digitalsignal soll hier ein Signal dann bezeichnet
werden, wenn es nur zwei Zustände,
beispielsweise 0 oder 1, annehmen kann, also nur zwei Informationen
im Sinne der hier verwendeten Definition der Information beinhaltet.
Als
analoges Signal oder Analogsignal soll hier ein Signal dann bezeichnet
werden, wenn es mindestens drei und höchstens abzählbar unendlich viele Zustände annehmen
kann, also mehr als zwei Informationen im Sinne der hier verwendeten
Definition der Information beinhaltet. Das bedeutet insbesondere,
daß mittels
analogen Signalen immer mehr Informationen gleichzeitig über eine
Leitung übertragen
werden können
als mit digitalen Signalen.
Beschreibung
der Erfindung
Im
folgenden wird der Aufbau einer erfindungsgemäßen funktionalen Zelle und
der Aufbau des zugehörigen,
die Zellen vernetzenden Bussystems beschrieben.
Die Zelle
Eine
Zelle stellt die kleinste vollständige, selbständige funktionale
Einheit eines RAPs dar. Dabei sind zwei verschiedene Typen von Zellen
möglich – die einfache Zelle und die erweiterte Zelle. Beide Zelltypen
können
auf einem RAP zum Einsatz kommen. Sie unterscheiden sich im Funktionsumfang. Beiden
Zelltypen gemeinsam ist die Unterteilung ihrer Struktur in eine
Analogsektion und eine Logiksektion.
Einige
oder alle Zellen können
einen Taktvervielfacher zur Erzeugung eines lokalen, auf die Zelle beschränkten höheren Taktes
beinhalten, der beispielsweise die Zählfunktionen der Logiksektion
der Zelle unterstützt.
Denkbar ist auch, daß einige
oder alle Zellen Strukturen zur Erzeugung eines zellinternen oder
lokal begrenzten Zelltakts beinhalten können, dessen Frequenz unabhängig von
der Frequenz eines etwaigen Bustakts konfiguriert werden kann. Der
Zelltakt kann aktivierbar und deaktivierbar sein.
Die einfache Zelle (SCELL)
Die
Elemente der einfachen Zelle (SCELL) gliedern sich in zwei Gruppen,
genannt Analogsektion und Logiksektion. Die Analogsektion dient
der analogen Datenverarbeitung der analogen Eingangssignale einer
Zelle, kann aber auch analoge Signale erzeugen, wie beispielsweise
(aber nicht nur) ein Rechtecksignal oder ein Dreiecksignal. Die
Logiksektion stellt zusätzliche
nicht-analoge Funktionen zur Verfügung, insbesondere eingangsdatenabhängige logische
Operationen, Vergleiche und Zählvorgänge, und
steuert darüberhinaus
die Tätigkeit
der gesamten SCELL. Ein Element der Logiksektion ist die Steuerlogik
(CL). Sie steuert die Funktionen der Analogsektion und verwaltet
Signale zur Rekonfiguration der Zelle, die über die Bussysteme erhalten
oder abgeschickt werden.
Die
Analog-Eingangsstufe der SCELL ist ein Multiplexer (MUX0) nach Stand
der Technik für
Analogsignale. Das zu verarbeitende analoge Signal wird von einem
analogen Datenbussystem (ABUS) auf die Eingänge von MUX0 geführt. MUX0,
gesteuert von der CL, selektiert das von der SCELL zu verarbeitende
Analogsignal und schaltet es zu der analogen Verarbeitungseinheit
(APU, Analog Processing Unit) durch. Die APU ist eine konfigurierbare
Einheit nach Stand der Technik. Sie enthält eine oder mehrere Operationsverstärkerschaltung/en,
deren Funktion aus einem Satz möglicher
Funktionen ausgewählt werden
kann. Die Auswahl der Funktion geschieht mittels eines digitalen
Signals von der CL.
Funktionen
der RPU können
beispielsweise (aber nicht nur) sein:
- – Addition
einer programmierbaren Größe zum analogen
Eingangssignal der APU
- – Subtraktion
einer programmierbaren Größe vom analogen
Eingangssignal der APU
- – Multiplikation
des analogen Eingangssignals der APU mit einer programmierbaren
Größe
- – Division
des analogen Eingangssignals der APU durch eine programmierbare
Größe, Division
einer programmierbaren Größe durch
das analoge Eingangssignal der APU
- – Logarithmierung
des analogen Eingangssignals der APU
- – Antilogarithmierung
des analogen Eingangssignals der APU
- – Invertierung
des analogen Eingangssignals der APU
- – Keine
Veränderung
des analogen Eingangssignals der APU
- – Filterfunktionen,
beispielsweise Hochpässe, Tiefpässe, Bandpässe und
Notchfilter
- – Signalerzeugung,
beispielsweise Rechtecksignale, Dreiecksignale und Sinussignale
mit programmierbaren Zeitkonstanten
Das
zu verarbeitende analoge Signal wird entsprechend der durch die
CL programmierten Funktion in der APU verändert oder (in der Funktion eines
Spannungsfolgers) nicht verändert,
oder die APU dient der Erzeugung eines neuen analogen Signals. Denkbar
ist insbesondere die Erzeugung eines Signals, das eine Rekonfigurationsaufforderung
darstellt, und in dem die notwendigen Rekonfigurationsparameter
in analoger Form kodiert sind. Der analoge Ausgang der APU ist an
eine Speicherstufe (BIPS) angeschlossen. Die BIPS kann sich in einem von
mehreren durch die CL programmierbaren Zuständen befinden, beispielsweise
in einem der folgenden.
BUFNONINV:
Das Ausgangssignal der BIPS hat denjenigen Wert, der an ihrem Eingang
lag, als die BIPS ein BUFFER-Signal von der CL erhielt. Der Ausgangswert
wird konstant gehalten, solange das BUFFER-Signal anliegt.
BUFINV:
Das Ausgangssignal der BIPS hat denjenigen invertierten Wert, der
an ihrem Eingang lag, als die BIPS ein BUFFER-Signal von der CL erhielt. Der Ausgangswert
wird konstant gehalten, solange das BUFFER-Signal anliegt.
INVERT:
Das Eingangssignal der BIPS wird invertiert.
PASS:
Die BIPS schleift das Eingangssignal unverändert durch.
3STATE:
Der Ausgang der BIPS nimmt einen hochohmigen Zustand ein.
Der
Ausgang der BIPS ist mit dem Eingang eines analogen Demultiplexers
(DeMUX) verbunden, dessen Ausgänge
mit den Busleitungen des ABUS verbunden sind. Über die CL wird gesteuert,
auf welchen Ausgang des DeMUX das verarbeitete analoge Signal geführt wird.
Als
zusätzliches
Element der Logiksektion einer SCELL zur Erweiterung des Funktionsumfanges
der SCELL existiert die LOGU-NIT.
Sie ist in der Lage, beispielsweise folgende Funktionen durchzuführen:
- – digitale
Zähler,
die von der CL und/oder der APU gesetzt, getriggert, abgefragt rückgesetzt
und angehalten werden können;
diese können
als grobgranulare Logikelemente gebildet sein; andere grobgranulare
Logik- und/oder Funktionselemente sind gleichfalls implementierbar.
- – logische
Grundfunktionen, wie NAND, NOR, AND, OR, XOR, IN-VERT, BUFFER, die aus der CL und/oder
APU stammende Informationen logisch miteinander verknüpfen können. Hier
handelt es sich also um feingranulare Logikelemente. Solche Informationen
können
abhängig
vom Status der CL und/oder der APU sein, und/oder von zu verarbeitenden
Signalen. Insbesondere können
solche Informationen Kriterien sein, die auch zur Bildung eines
RECONREQ-Signals (Rekonfiguration-Request) führen.
Die erweiterte Zelle (ECELL)
Die
erweiterte Zelle (ECELL) enthält
in einer bevorzugten Ausführungsform
eine vollständige,
voll funktionale SCELL, die um zusätzliche Elemente und Funktionen
erweitert wurde, um insbesondere (aber nicht nur) Schleifenoperationen
ohne Zugriff auf das Bussystem durchführen zu können.
Die
analoge Eingangsstufe (MUX0) ist um einen zweiten, gleichwertigen,
auf den ABUS zugreifenden analogen Multiplexer (MUX1) erweitert.
Mit MUX0 und MUX1 ist es möglich,
statt (wie bei einer SCELL) nur einem Eingangssignal zwei Eingangssignale
zur anschließenden
Verarbeitung in der Zelle freizugeben. Außer den Busanschlüssen besitzen MUX0
und MUX1 jeweils zusätzlich
noch einen Eingang, der auf Masse gelegt ist und einen Eingang, auf
den das Ergebnissignal vom Ausgang der BIPS der ECELL zurückgeführt wird.
Der Ausgang von MUX0 führt
das von MUX0 zur Verarbeitung selektierte Analogsignal, welches
ausdrücklich
auch der konstante Massepegel oder das Ergebnissignal vom Ausgang
der BIPS der ECELL sei kann. Der Ausgang von MUX1 führt das
von MUX1 zur Verarbeitung selektierte Analogsignal, welches ebenfalls
auch der konstante Massepegel oder das Ergebnissignal vom Ausgang
der BIPS der ECELL sei kann.
Die
Ausgangssignale von MUX0 und MUX1 werden auf die folgenden, programmierbaren
Speicherstufen (BUFF0, BUFF1) geführt. BUFF0 erhält das Ausgangssignal
von MUX0, BUFF1 erhält
das Ausgangssignal von MUX1. BUFF0 und BUFF1 sind durch die CL konfigurierbare
Einheiten, deren Funktion aus einem Satz möglicher Funktionen ausgewählt werden
kann. Mögliche
Funktionen von BUFF0 und BUFF1 sind beispielsweise
BUFNONINV:
Der Wert des Ausgangssignals von BUFF0 bzw. BUFF1 ist gleich demjenigen
analogen Eingangssignal, das anlag, als BUFF0 bzw. BUFF1 ein BUFFER-Signal
von der CL erhielt. Der Ausgangswert wird konstant gehalten, solange
das BUFFER-Signal
anliegt.
BUFINV: Der Wert des Ausgangssignals von BUFF0 bzw.
BUFF1 ist gleich demjenigen analogen Eingangssignal, das anlag,
als BUFF0 bzw. BUFF1 ein BUFFER-Signal von der CL erhielt. Der Ausgangswert
wird konstant gehalten, solange das BUFFER-Signal anliegt.
INVERT:
Das aktuelle analoge Eingangssignal von BUFF0 bzw. BUFF1 wird invertiert.
PASS:
BUFF0 bzw. BUFF1 schleift das aktuelle Eingangssignal unverändert durch.
Das
Ausgangssignal von BUFF0 und das Ausgangssignal von BUFF1 werden
auf jeweils einen analogen Eingang der erweiterten analogen Verarbeitungseinheit
XAPU der ECELL geführt.
Alle Funktionen der APU einer SCELL sind in der XAPU einer ECELL
enthalten.
Im
Gegensatz zur APU der SCELL besitzt die XAPU zwei analoge Eingänge, so
daß in
der XAPU Operationen mit zwei analogen, zeitlich konstanten oder
zeitlich veränderlichen
Signalen möglich
sind, insbesondere die Addition, Subtraktion, Multiplikation und
Division zweier solcher Signale. Es ist damit denkbar, die XAPU
mittels eines analogen, zeitlich konstanten oder zeitlich veränderlichen
Steuersignals zu programmieren, indem bestimmten Werten des Steuersignals
bestimmte Funktionen zugewiesen werden. Darüberhinaus ist es denkbar, mit
einem analogen Steuersignal der APU einen zur Ausübung einer
Funktion notwendigen Parameter zu übermitteln. Wenn beispielsweise
f(t) ein analoges zeitlich veränderliches
(Spannungs-)Signal ist, welches mit einem zeitlich veränderlichen
(Spannungs-) Signal g(t) multipliziert werden soll, kann die XAPU dann
als Multiplikator nach Art eines spannungsgesteuerten Verstärkers (Voltage
Controlled Amplifier, VCA) nach Stand der Technik programmiert werden, wobei
f(t) an einem analogen Eingang der XAPU liegt, während g(t) am anderen analogen
Eingang der XAPU liegt und das besagte Steuersignal darstellt.
Das
Ausgangssignal der XAPU wird auf den Eingang der BIPS geführt. Die
BIPS der ECELL und die BIPS der SCELL können gleich sein. Das Ausgangssignal
der BIPS wird auf den Eingang des DeMUX geführt. Der DeMUX der ECELL und
der DeMUX der SCELL können
gleich sein. Außerdem
wird das Ausgangssignal der BIPS über eine separate Leitung auf
einen Eingang von MUX0 sowie auf einen Eingang von MUX1 geführt.
Die
Logiksektion kann ein Element zur Taktvervielfachung enthalten,
welches den Takt des DBUS vervielfacht, und das programmierbar sein kann.
Damit kann die ECELL intern mit einem Vielfachen des DBUS-Taktes
operieren.
Rekonfiguration einer
Zelle (cellreconfig)
Das RECONREQ-Signal
Die
Analogsektion und die Logiksektion der Zelle sind in der Weise strukturiert
und verbunden, daß die
Zelle bei Eintreten bestimmter Kriterien ein Signal, das RECONREQ-Signal,
erzeugen kann, mit welchem sie ihre eigene Rekonfiguration oder
die Rekonfiguration einer anderen oder mehrerer anderer Zellen veranlassen
kann. Das RECONREQ-Signal kann digital sein und über ein separates digitales Bussystem
weitergeleitet werden. Es kann aber auch analog sein und über ein
separates analoges Bussystem weitergeleitet werden.
Mit
einem analogen RECONREQ-Signal ist es möglich, neben den RECONREQ-Informationen noch
zusätzliche
Informationen, zum Beispiel die Adresse der zu rekonfigurierenden
Zelle oder der zu rekonfigurierenden Zellen, gleichzeitig auf nur
einer Busleitung zu übertragen.
Kriterien,
die ein RECONREQ-Signal auslösen,
können
zum Beispiel (aber nicht nur) sein:
- – Ein bestimmter
Signalpegel, der von in der Zelle auftretenden Analogsignalen (zu
denen auch die analogen Eingangs- und Ausgangssignale zählen) erreicht, überschritten
oder unterschritten wird.
- – Eine
bestimmte Signaldifferenz, die zwischen in der Zelle auftretenden
Analogsignalen (zu denen auch die analogen Eingangs- und Ausgangssignale
zählen),
erreicht, überschritten
oder unterschritten wird.
- – Eine
bestimmte zeitliche Änderung
eines Signalpegels, die von in der Zelle auftretenden Analogsignalen
(zu denen auch die analogen Eingangs- und Ausgangssignale zählen) erreicht, überschritten
oder unterschritten wird.
- – Das
Verstreichen einer bestimmten Zeitspanne.
- – Das
Auftreten eines bestimmten digitalen Signals oder einer bestimmten
Kombination digitaler Signale in der Zelle oder an den digitalen
Eingängen
und/oder Ausgängen
der Zelle.
Die
in der obigen Auflistung genannten Signale können ausdrücklich auch von anderen Zellen oder
weiteren Elementen des RAPs stammen. Außerdem können durch logische Verknüpfung (AND, OR,
NAND, NOR, XOR usw.) der genannten Kriterien weitere Kriterien gebildet
werden. Die Logiksektion der ECELL enthält zur logischen Verknüpfung von Kriterien
geeignete Strukturen.
Die
Kriterien zur Bildung eines RECONREQ-Signals werden in der CL der
Zelle ausgewertet. Die CL der Zelle generiert aus diesen Kriterien
ein digitales Wort (RECONREQ-Wort) mit den nötigen RECONREQ-Informationen.
Dieses
RECONREQ-Wort kann in digitaler oder analoger Form von der Zelle
weitergegeben werden. Dafür
stehen eigene Bussysteme (RECONREQ-Bus), ein digitaler Bus und ein
analoger Bus, zur Verfügung.
Soll
das RECONREQ-Wort in analoger Form weitergegeben werden, so wird
das digitale RECONREQ-Wort in einem Digital-Analog-Umsetzer (DAC) in
analoge Form gebracht. Jede Zelle besitzt zu diesem Zweck einen
solchen DAC.
Die
Daten, die zur Rekonfigurierung der Zelle notwendig sind, stellen
eine dafür
geeignete Struktur zur Verfügung.
Diese Struktur kann beispielsweise eine Ladelogik und eine Switching-Tabelle
sein, wie sie in Patentanmeldung
DE
196 54 846.2 beschrieben sind.
Die Ladelogik
Die
Ladelogik (LL) ist eine Struktur, die nach einem RECON-REQ-Signal die Rekonfiguration
der betreffenden Zelle oder der betreffenden Zellen durchführt. Mehrere
Zellen stehen mit jeweils einer einzigen LL über den RECONREQ-Bus in Verbindung.
Diese Zellen bilden mit der zugehörigen LL einen Cluster. Jede
Zelle eines Clusters kann ein RECONREQ-Signal an ihre LL absetzen
und so jede Zelle desselben Clusters zur Rekonfiguration auffordern.
Andere Möglichkeiten,
eine Rekonfiguration anderer Zellen auszulösen, bestehen gleichfalls.
Ein Baustein kann mehrere Cluster enthalten. Die LLs dieser Cluster
stehen untereinander über
ein Bussystem in Verbindung und können somit Informationen austauschen.
Solche Informationen können
insbesondere Adressen von umzukonfigurierenden Zellen sein. Dadurch
ist es jeder beliebigen Zelle des RAPs möglich, jede beliebige Zelle
des RAPs zur Rekonfiguration aufzufordern.
Die
LL kann entsprechend PACT SWT (vergl. zitierte Patentanmeldung)
aufgebaut sein und kann damit digitale RECONREQ- Worte direkt verarbeiten. Die LL benötigt für die Verarbeitung
eines analogen RECONREQ-Wortes jedoch analoge Vorstufen, nämlich eine
analoge Selektierstufe (ASELSTAGE) und eine Analog-Digital-Wandlerstufe
(ADC). Die Aufgabe der ASELSTAGE ist es, zu prüfen, ob und an welchem analogen
RECONREQ-Bus ein RECONREQ-Signal anliegt. Ist ein RECONREQ-Signal auf
einem analogen RECONREQ-Bus vorhanden, so wird dieser Bus von der
ASELSTAGE selektiert und zur weiteren Verarbeitung auf den ADC geschaltet, welcher
das analoge RECONREQ-Wort in ein digitales RECONREQ-Wort zurückwandelt,
das von der LL verarbeitet werden kann.
Die
ASELSTAGE kann auf verschiedene Arten realisiert werden. Eine Möglichkeit
ist die Verwendung eines Multiplexers, eine andere die Verwendung
eines Arbiters.
ASELSTAGE
als Multiplexer. Die analogen RECONREQ-Busse der von der LL überwachten
Zellen liegen an den Eingängen
eines getakteten Analogmultiplexers nach Stand der Technik. Bei
jedem Takt wird der Multiplexer um einen Eingang weitergeschaltet,
so daß bei
jedem Takt ein anderer Bus am Ausgang des Multiplexers liegt. Ein
Komparator überwacht
den Ausgang des Multiplexers. Wenn kein analoges RECONREQ-Signal
am Ausgang des Multiplexers liegt, hat der Ausgang des Multiplexers
einen bestimmten Pegel, beispielsweise 0 Volt. Liegt ein RE-CONREQ-Signal an,
liegt ein anderer Pegel am Ausgang des Multiplexers, was den Komparator dazu
veranlaßt,
das RECONREQ-Signal
auf den nachfolgenden ADC zu schalten. Alternativ und/oder zusätzlich können mehrere
Komparatoren vorgesehen sein, die das Signal mit unterschiedlichen
Signalpegeln vergleichen und so unmittelbar eine Auswertung bewirken.
Dies bietet sich insbesondere an, wenn nur wenige Signalstufen zu
unterscheiden sind.
ASELSTAGE
als Arbiter. Die analogen RECONREQ-Busse der Zellen eines Clusters
werden zunächst
auf die Eingänge
eines analogen Multiplexers (AMUX) geführt. Liegt an einem der analogen RECONREQ-Busse
ein RECONREQ-Signal an, so wird dieser Bus durch den AMUX selektiert
und das anliegende RECONREQ-Wort auf den Ausgang des AMUX geschaltet.
Bussysteme
Ein
RAP enthält
bevorzugt zumindest zwei voneinander unabhängige, flexible Bussysteme
zur Vernetzung der einzelnen Zellen und zur Verbindung des RAPs
mit der Außenwelt.
Die bevorzugten Bussysteme können
konfiguriert und während
der Laufzeit rekonfiguriert werden, ohne daß die Tätigkeit des RAP unterbrochen
werden muß.
Die Bussysteme können
mit Eigenschaften ausgestattet sein, wie sie in Patentanmeldung
DE 197 04 742.4 beschrieben sind.
Unterschieden wird hier das analoge Bussystem und das digitale Bussystem.
Das analoge Bussystem
(ABUS)
Das
analoge Bussystem ABUS dient der Übermittlung der zu bearbeitenden,
bereits bearbeiteten oder neu erzeugten analogen Daten und analogen
Signale von außen
an die Zellen und/oder zwischen den Zellen. Insbesondere ist es
mit dem ABUS möglich,
Zellen zu kaskadieren, um auf diese Weise ein analoges Signal in
mehreren aufeinanderfolgenden Operationen zu bearbeiten, wobei eine
Operation von jeweils einer Zelle durchgeführt wird.
Der
ABUS kann mit jeder seiner Leitungen mehrere, insbesondere mehr
als zwei Informationen gleichzeitig übertragen, zum Beispiel 256
Informationen. Der ABUS kann mit einer festen oder variablen Frequenz
getaktet sein oder asynchron, das heißt nicht getaktet, sein. Die
Implementierung des ABUS kann in einer Art und Weise erfolgen, wie
sie in Patentanmeldung
DE 197
04 742.4 beschrieben ist.
Das digitale Bussystem
(DBUS)
Neben
dem ABUS existiert auf dem RAP ein zweites Bussystem, genannt DBUS.
Der
DBUS ist getaktet und dient der Distribution digitaler Daten, beispielsweise
Konfigurationsdaten und Statusdaten, zwischen den Zellen. Die Logiksektion
jeder Zelle ist an den DBUS angeschlossen. Die Implementierung des
DBUS kann in einer Art und Weise erfolgen, wie sie in Patentanmeldung
DE 197 04 742.4 beschrieben
ist.