DE19704044A1 - Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine - Google Patents
Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser BausteineInfo
- Publication number
- DE19704044A1 DE19704044A1 DE19704044A DE19704044A DE19704044A1 DE 19704044 A1 DE19704044 A1 DE 19704044A1 DE 19704044 A DE19704044 A DE 19704044A DE 19704044 A DE19704044 A DE 19704044A DE 19704044 A1 DE19704044 A1 DE 19704044A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- block
- cell
- addresses
- elements
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Description
Werden programmierbare Bausteine (FPGAs, DPGAs, DFPs (gemäß Offenlegung
DE 44 16 881 A1)), im folgenden der Einfachheit halber unter dem Begriff "Bausteine"
zusammengefaßt, zu einem Cluster zusammengefügt, gibt es zwei Arten, die Program
mierung vorzunehmen. Ein Cluster ist eine mehrdimensionale vernetzte Anordnung von
Bausteinen oder Bausteingruppen.
- - Für jeden Baustein steht eine Ladelogik zur Verfügung, mit deren Hilfe der Bau stein programmiert wird. Das heißt, eine Ladelogik adressiert einen Baustein des Clusters. Diese Ladelogik kann als EPROM oder als ein Rechnersystem ausgeführt sein. Die Daten können in serieller Form oder parallel zum Baustein übertragen werden. Bei der parallelen Datenübertragung werden die Daten im Baustein in einen seriellen Bitstrom umgewandelt, der den Baustein konfiguriert.
- - Für alle Bausteine des Clusters steht nur eine Ladelogik zur Verfügung. Die ein zelnen Bausteine sind in der Art einer Daisy-Chain zusammengeschaltet. Die Pro grammierung erfolgt durch einen seriellen Bitstrom. Dabei wird von der Ladelogik nur der erste Baustein adressiert und die Daten werden durch eine serielle Lei tung zu den Bausteinen des Clusters geschickt. Die Daten werden als Bitstrom durch alle Bausteine des Clusters hindurchgeleitet und konfigurieren so deren pro grammierbare Elemente. Die Übertragung der Konfigurationsdaten kann wieder in serieller oder paralleler Form erfolgen. Die Ladelogik kann wiederum als EPROM oder als ein Rechnersystem ausgeführt sein.
- - Bei der Verwendung eines Rechnersystems besteht die Möglichkeit die Adress leitungen für ein Chipselect zu verwenden, um einzelne Bausteine getrennt zu adressieren und zu konfigurieren.
Bei einem Parallelrechner wird jedem seiner Prozessoren eine feste Adresse zugewiesen,
über die eine Adressierung erfolgt.
Die bisherigen Verfahren zur Adressierung eines Bausteins weisen eine Reihe von Pro
blemen und Schwächen auf.
- - Durch die Art der Adressierung wird die tatsächliche Anordnung der Bausteine nicht repräsentiert.
- - Es ist nicht möglich, ein einzelnes Element eines beliebigen Bausteins im Cluster zu adressieren, um eine Umkonfiguration vorzunehmen. Es kann immer nur ein gesamter Baustein adressiert und im Gesamten umkonfiguriert werden.
- - Durch die feste Zuordnung der Adressen der einzelnen Prozessoren bei einem Par allelrechner, ergibt sich eine statische Zuordnung der Adressen. Außerdem entsteht ein hoher Aufwand bei der Vergabe der Adressen für die einzelnen Prozessoren.
Mit Hilfe der Erfindung lassen sich einzelne konfigurierbare Elemente eines Bausteins
adressieren. Damit ist es möglich, die einzelnen Elemente direkt für eine Umkonfigu
rierung anzusprechen. Dies ist eine Voraussetzung, um Teile des Bausteins durch eine
externe Ladelogik umkonfigurieren zu können und nicht die gesamte Konfiguration des
Bausteins verändern zu müssen. Außerdem werden die Adressen für die einzelnen Ele
mente der Bausteine automatisch in X- und Y-Richtung generiert, so daß die tatsächliche
Anordnung der Bausteine und konfiguriebaren Elemente repräsentiert wird. Durch die
automatische Adressgenerierung ist eine manuelle Vergaben der Adressen nicht notwen
dig.
Die Einzelheiten und besondere Ausgestaltungen, sowie Merkmale des erfindungs
gemäßen Adressgenerierung sind Gegenstand der Patentansprüche.
Ein Cluster enthält eine Vielzahl an konfigurierbaren Bausteinen, die jeweils zwei
Eingänge zum Empfang der X-Adresse des letzten Elements des vorhergehenden Bau
steins in X-Richtung (Reihe) und der Y-Adresse des letzten Elements des vorhergehenden
Bausteins in Y-Richtung (Spalte) besitzen, sowie jeweils zwei Ausgänge, um die Positi
on des letzten Elements des Bausteins in X-Richtung und um die Position des letzten
Elements in Y-Richtung dem nachfolgenden Baustein weiterzugeben.
Der Ursprung des Koordinatensystems liegt für diese Schrift dabei in der linken oberen
Ecke des Clusters, so daß die X-Adresse nach rechts und die Y-Adresse nach unten hin
größer wird. Selbstverständlich kann für den Ursprung des Koordinatensystems auch
eine andere Position gewählt werden.
Jeder der Bausteine des Clusters enthält eine Logik, zur Berechnung der X- und Y-
Adresse der letzten Zelle des Bausteins. Diese Logik besteht aus jeweils einem Register
für die X- und Y-Adresse, in dem die maximale Zahl der Elemente in X- und Y-Richtung
des Bausteins gespeichert ist und einem Addierer, der die Adresse des letzten Elements
des Bausteins in X- und Y-Richtung berechnet und über die beiden Ausgänge weitergibt.
Jeder Baustein enthält wiederum eine Vielzahl an konfigurierbaren Elementen, die ei
ne Adresse zugewiesen bekommen und mit dieser Adresse innerhalb des Bausteins und
des Clusters adressierbar sind. Die Adresse des Elements wird aus der Adresse des vor
hergehenden Elements in X-Richtung und in Y-Richtung berechnet. Dadurch entsteht
ein linearer Adressraum, in dem alle Elemente der Bausteine des Clusters adressierbar
sind. Die Adresse des vorhergehenden Elements kann von einem Element dieses Bau
steins oder des vorhergehenden Bausteins stammen. Um nun innerhalb eines Clusters
ein Element in einem Baustein adressieren zu können, enthält jedes Element einen Ver
gleicher, in dem überprüft wird, ob eine von außen kommende Adresse mit der Adresse
des Elements übereinstimmt.
Eine Vielzahl von konfigurierbaren Bausteinen wird zu einem Cluster zusammengefügt.
Die konfigurierbaren Bausteine sind in Spalten und Reihen angeordnet. In den einzelnen
Bausteinen ist wiederum eine Vielzahl von konfigurierbaren Elementen enthalten.
Jeder Baustein des Clusters steht über zwei Busse mit seinen Nachbarn in den Reihen
und über zwei Busse mit seinen Nachbarn in den Spalten in Verbindung. Dabei dient
ein Bus zum Empfang der Adressdaten vom vorhergehenden Nachbarn und ein Bus
zum Versenden der Daten zum nachfolgenden Nachbarn. Über diese Leitungen werden
die X-Adresse (Position innerhalb der Reihe) des letzten Elements des vorhergehenden
Bausteins in X-Richtung und die Y-Adresse (Position innerhalb der Spalte) des letzten
Elements des vorhergehenden Bausteins in Y-Richtung übertragen. Dies kann über eine
serielle Leitung oder über mehrere Leitungen, deren Anzahl abhängig von der Anzahl der
Bausteine des Clusters und den in den Bausteinen enthaltenen Elementen ist, parallel
geschehen.
Eine Logik innerhalb des Bausteins berechnet die Adresse des letzten Elements des
Bausteins in X-Richtung und des letzten Elements des Bausteins in Y-Richtung. Da
zu wird zu der in einem Register gespeicherten Anzahl der Elemente in X-Richtung
(Y-Richtung) die Adresse des letzten Elements in X-Richtung (Y-Richtung) des vorher
gehenden Bausteins durch einen Addierer hinzugezählt. Damit ergibt sich die Adresse,
die der maximalen Ausdehnung der Elemente in X,Y-Richtung innerhalb des Bausteins
entspricht. Diese Adresse wird an den nächsten Baustein weitergegeben. Es werden je
weils ein Register und ein Addierer pro Richtung benötigt. Die Bausteine der ersten
Spalte und der ersten Reihe des Clusters, müssen durch ein externes Signal die Basis
adresse für die Elemente zugewiesen bekommen, da sie dort keine direkten Vorgänger
besitzen.
Für die in den Bausteinen enthaltenen konfigurierbaren Elemente wird eine Adresse
aus der Adresse des vorhergehenden Elements berechnet. Dieses vorhergehende Ele
ment kann im selben oder in dem vorhergehenden Baustein liegen. Zur Übertragung der
Adressen sind auch die Elemente analog zu den Bausteinen, durch eine oder mehrere
Leitungen miteinander verbunden. Auch hier kann die Übertragung der Adresse, wie bei
den Bausteinen, seriell oder parallel erfolgen. Bei der Berechnung der Elementadresse
wird zur Adresse des vorhergehenden Elements in X-Richtung (Y-Richtung) eine Eins
hinzuaddiert. Um ein Element adressieren zu können, enthält jedes Element einen Ver
gleicher, mit dem überprüft wird, ob die Adresse des Elements mit einer von extern
(von einer Ladelogik) oder intern gelieferten Adresse, die ein Element eines Bausteins
des Clusters zur Umkonfiguration o. ä. ansprechen soll, übereinstimmt. In diesem Ver
gleicher wird die X- und Y-Adresse des Elements mit der zur Adressierung anliegenden
X- und Y-Adresse verglichen. Dies geschieht in jeweils einem Komparator oder in einem
Komperator für beide Adressen zugleich. Die Ausgänge der Komparatoren werden über
ein UND-Gatter verknüpft und bilden das Enable Signal für das konfigurierbare Element.
Das heißt, das Element wird nur angesprochen, wenn das externe Adressignal (von einer
Ladelogik) mit der automatisch generierten Adresse des Elements übereinstimmt.
Es wäre selbstverständlich möglich die Logik zur Berechnung der Adresse des letzten
Elements in X- und Y-Richtung wegzulassen. Dazu muß die von dem letzten Element
in X- und Y-Richtung berechnete Adresse herausgeführt und zum nächsten Baustein
weitergeleitet werden.
Weiterhin wäre denkbar, den Cluster nicht nur in 2 Dimensionen (X- und Y-Richtung)
aufzubauen, sondern noch die dritte (Z-Richtung), oder mehrere Dimensionen hinzuzu
nehmen. Jeder Baustein benötigt dann ein weiteres Register für jede Dimension, in dem
die Anzahl der konfigurierbaren Elemente des Bausteins in dieser Dimension gespeichert
wird, sowie einen weiteren Addierer für jede Dimension zur Berechnung der Adresse des
letzten Elements in X- und Y-Richtung innerhalb des Bausteins in dieser Dimension.
Damit entsteht ein N-dimensionales Array. Diese weiteren Dimensionen, außer der Z-
Richtung, besitzen natürlich keine physikalische Repräsentation mehr, sondern werden
nur durch eine Erweiterung des Adressraumes auf N-Dimensionen beschrieben. Diesel
be Erweiterung des Adressraumes auf N-Dimensionen ist auch für die konfigurierbaren
Elemente innerhalb eines Bausteins denkbar.
Fig. 1
- a) Baustein mit automatischer Adressgenerierung.
- b) Logik zur Adressgenerierung mit parallelem Eingangssignal und Ausgangs signal.
- c) Logik zur Adressgenerierung mit seriellem Eingangssignal und Ausgangs signal.
- d) Verschaltung zweier hintereinander folgender Logiken zur Adressgene rierung.
- e) Signalverlauf der Daten- und Enable Signale bei der Verschaltung zweier Logiken zur Adressgenerierung.
Fig. 2 Baustein mit automatischer Adressgenerierung und mehreren konfigurier
baren Elementen.
Fig. 3
- a) Logik zur Adressgenerierung und Adressierung eines Elements innerhalb eines Bausteins, bei paralleler Übertragung der Adresse.
- b) Logik zur Adressgenerierung und Adressierung eines Elements innerhalb eines Bausteins bei serieller Übertragung.
- c) Serieller Addierer
Fig. 4 Cluster aus mehreren Bausteinen und ihre Verschaltung miteinander.
Fig. 5
- a) Baustein mit mehreren konfigurierbaren Elementen und einer alternati ven Art der Adressierung.
- b) Logik zur Adressierung eines Elements innerhalb eines Baustein bei al ternativer Adressierung.
Fig. 6 Cluster mit nicht vollständigen Reihen oder Spalten.
Fig. 1a) zeigt einen Baustein 0109 eines Clusters. Über die Verbindung 0101 erhält
er die X-Position des letzten Elements in X-Richtung vom vorherigen Baustein. Die Y-
Position wird über die Verbindung 0102 in den Baustein übertragen. Im Register 0105
wird die Anzahl der Elemente in X-Richtung gespeichert, anschließend wird mit Hilfe
eines Addierers 0106 zu dieser Anzahl die an Verbindung 0101 anliegende Adresse hinzu
addiert. Mit der Y-Adresse wird in analoger Weise verfahren. Das Register 0103 speichert
die Anzahl der Elemente des Bausteins in Y-Richtung und im Addierer 0104 wird die
über die Verbindung 0102 anliegende Adresse hinzuaddiert. Diese beiden neuen, auto
matisch generierten Werte bilden die X- und Y-Basisadresse des in X- und Y-Richtung
nachfolgenden Bausteins. Sie stehen über die Verbindung 0107 für die X-Adresse, 0108
für die Y-Adresse dem nachfolgenden Baustein zur Verfügung. Die Verbindungen 0110
und 0111 dienen zur Übertragung der Y- und X-Adresse innerhalb des Bausteins, um für
die Berechnung der Adressen der konfigurierbaren Elemente zur Verfügung zu stehen.
b) zeigt die Logik bei parallel übertragenem Eingangs- und Ausgangssignal, um die
Adresse des letzten Elements in X-Richtung (Y-Richtung) des Bausteins zu berech
nen. Über den Bus 0112 werden die Daten der Anzahl der konfigurierbare Elemente
des Bausteins in X-Richtung (Y-Richtung) aus dem Register 0114 zum Addierer 0115
übertragen. Dort wird die Adresse des letzten Elements des vorhergehenden Baustein in
X-Richtung (Y-Richtung) 0113 hinzuaddiert. Vom Addierer 0115 wird die berechnete
Adresse über den Bus 0116 zum nächsten Baustein weitergegeben.
c) zeigt die Logik zur Speicherung und Berechnung der Adresse bei einem seriellen
Eingangs- und Ausgangssignal. Die Daten der Adresse des vorhergehenden Bausteins in
X-Richtung (Y-Richtung) werden seriell über eine Leitung 0118 übertragen. Über die
Leitung 0119 wird das Taktsignal des Bausteins übertragen. Der serielle Datenstrom der
Leitung 0118 gelangt zum Addierer 0124, der die im Baustein gespeicherte Anzahl der
Elemente sequentiell hinzuaddiert. Dazu wird die in Register 0121 gespeicherte Anzahl
der Elemente beim Start in das Schieberegister 0120 geladen. Das Schieberegister 0120
wird wiederum durch den Takt 0119 gesteuert, so daß es die einzelnen Bits der Adresse
synchron zu den Bits des Datenstroms auf Leitung 0118 zum Addierer 0124 schickt.
Die Daten des Schieberegisters werden mit der positiven Taktflanke weitergeschoben.
Im Addierer 0124 werden die einzelnen Bits nacheinander addiert und wieder sequentiell
zum Ausgangsflipflop 0123 weitergeschickt. Über die Leitung 0125 werden diese Daten
zum nächsten Baustein übertragen. Das Flipflop 0126 dient zur Speicherung des bei
der Addition der beiden Bits anfallenden Übertrags, der bei der Addition der nächsten
beiden Bits wieder berücksichtigt werden muß. Das Ausgangsflipflop 0123 und das Flip
flop 0126 übernehmen Daten mit der negativen Taktflanke. Über die Verbindung 0117
wird ein Enable Signal zu den Flipflops 0122, 0123, 0126 und dem Schieberegister 0120
geleitet. Das Flipflop 0122 übernimmt das Enable Signal mit der negativen Taktflanke
und gibt es über die Leitung 0127 zu den nachfolgenden Bausteinen weiter.
Die Datenübertragung verläuft nun folgendermaßen. Die Daten werden über die Lei
tung 0118 eingelesen. Gleichzeitig kommt über die Leitung 0117 ein Enable Signal, das
dieselbe Länge wie die übertragenen Daten besitzt. Im Addierer 0124 wird nun die neue
Adresse berechnet und über das Flipflop 0123 zum nächsten Baustein übertragen. Das
Enable Signal wird über das Flipflop 0122 zum nächsten Baustein geleitet. Durch die
Übernahme der Daten und des Enable Signals mit der negativen Flanke in die Flipflops,
gelangen diese beiden Signale mit einem halben Takt Verzögerung zum nächsten Bau
stein.
d) zeigt anhand eines Timing-Diagramms wie zwei Logiken zur Adressgenerierung ver
schaltet werden. Diese Logiken sind in jeweils einem Baustein 0130 untergebracht. Beide
Logiken haben denselben Aufbau aus einem Addierer 0134, 0140 mit Flipflop 0131, 0142
zur Speicherung des Carry Bits, einem Ausgangsflipflop 0135, 0141, einem Flipflop zur
Übernahme des Enable Signals 0136, 0143 sowie einem Register, in dem die Anzahl
der Elemente des Bausteins gespeichert ist 0133, 0139 und einem Schieberegister 0132,
0138. Der Unterschied zwischen den beiden Logiken besteht darin, daß die Flipflops
0141, 0142, 0143 und das Schieberegister 0138 der zweiten Logik mit der anderen Takt
flanke gesteuert werden, als die Flipflops 0131, 0135, 0136 und das Schieberegister 0132
der ersten Logik. Dies kann wie in der Figur dargestellt durch die Invertierung von je
dem Takteingang der Flipflops und des Schieberegisters oder durch die Invertierung des
Taktsignals erfolgen. Damit ist sichergestellt, daß die Daten korrekt von den Flipflops
und den Schieberegistern übernommen werden.
Bei der Verschaltung mehrerer Logiken (d. h. mehrere konfigurierbare Elemente hinter
einander) wird die Taktflanke mit der die Daten in die Flipflops und die Schieberegister
übernommen werden immer abgewechselt. Dadurch erfolgt eine korrekte Datenüber
nahme und das Datenpaket wird durch die Bausteine hindurchgeleitet.
e) zeigt den Signalverlauf des Daten- und Enable Signals für den Fall der Verschaltung
mehrerer Logiken. Das Signal CLK 0144 stellt das Taktsignal des Bausteins dar. D1
0145 und E1 1046 stellen das Daten- und Enable Signal am Eingang der ersten Logik
dar. D2 0147 und E2 0148 sind die Daten und Enable Signale am Ausgang der ersten
Logik. Sie sind um einen halben Takt gegenüber den Signalen am Eingang verzögert,
da sie von den Flipflops und dem Schieberegister erst mit der abfallenden Taktflanke
übernommen werden (vgl. Fig. 1d). Gleichzeitig bilden sie die Eingangssignale für die
nachfolgende Logik zur Adressberechnung. Dort werden sie wieder um einen halben
Takt verzögert und gelangen zum Ausgang, wo sie die Signale D3 0149 und E3 0150
bilden.
Fig. 2 stellt einen Baustein 0212 eines Clusters mit mehreren konfigurierbaren Ele
menten 0211 dar. Jedes dieser Elemente 0211 besitzt konfigurierbare Zellen und zur
Konfiguration verwendete Elemente 0210. Außerdem enthält jedes Element 0211 einen
Vergleicher nach PACT02 Fig. 3 0301 und eine Logik zur Berechnung der Elementadres
se 0209, wobei der Vergleicher für die Dekodierung der Adresse bei einem Zugriff auf
ein Element zuständig ist. Damit wird die Adressierung der einzelnen Elemente eines
Bausteins ermöglicht. Zusätzlich enthält der Baustein eine Logik zur automatischen
Adressgenerierung 0207, die wie in Fig. 1 ausgeführt ist. Die Y-Adresse des letzten
Elements des vorhergehenden Bausteins in Y-Richtung gelangt über den Bus 0201 in
den Baustein 0212 und wird in der Logik zur automatischen Adressgenerierung 0207
weiterverarbeitet. Über die Verbindung 0205 wird diese Adresse zu den Elementen 0211
der ersten Reihe des Bausteins übertragen. Die Leitung 0203 dient zur Übertragung der
Y-Adresse des letzten Elements dieses Bausteins in Y-Richtung zum nächsten Baustein
in Y-Richtung. Die X-Adresse des letzten Elements des vorhergehenden Bausteins in
X-Richtung gelangt über die Verbindung 0202 in den Baustein 0212 und wird in der
Logik zur automatischen Adressgenerierung 0208 weiterverarbeitet. Sie wird über die
Verbindung 0206 zu den Elementen 0211 der ersten Spalte des Bausteins 0212 übertra
gen. Die Leitung 0204 dient zur Übertragung der X-Adresse des letzten Elements dieses
Bausteins zum nächsten Baustein.
Über den Bus 0213 gelangt die Adresse des Elements, das für eine Umkonfigurierung
o. ä. angesprochen werden soll, zu den Zellen 0211.
Bei der Adressierung wäre es auch möglich auf die Logik zur automatischen Adressge
nerierung 0207, 0208 zu verzichten. Dazu muß die Y-Adresse des letzten Elements des
Bausteins und die X-Adresse des letzten Elements des Bausteins herausgeführt werden,
um die Adressdaten an den nächsten Baustein weiterzugeben. Diese Signale ersetzen
dann die Signale 0203, 0204.
Fig. 3a) zeigt den Aufbau des Vergleichers und der Adressgenerierung der Elemente
0211 aus Fig. 2 bei paralleler Übertragung der Adressdaten. Zur der über die Verbindung
0302 anliegende X-Adresse des vorhergehenden Elements wird im Addierer 0305 eine
Eins 0303 hinzuaddiert. Diese X-Adresse wird im Komparator 0309 mit der von außen
kommenden X-Adresse 0307 verglichen. Im Addierer 0306 wird der über die Verbindung
0301 anliegende Y-Adresse des vorhergehenden Elements eine Eins 0304 hinzuaddiert.
Anschließend vergleicht der Komparator 0310 den Wert mit der über die Verbindung
0308 anliegenden Y-Adresse des zu adressierenden Elements. Über ein UND-Gatter 0311
wird das Signal 0312 zur Aktivierung des Elements erzeugt. Die Verbindung 0314 dient
zur Übertragung der berechneten X-Adresse zum nachfolgenden Element. Die Y-Adresse
wird über die Verbindung 0313 übertragen.
b) zeigt den Aufbau des Vergleichers und der Adressgenerierung der Elemente 0211 aus
Fig. 2 bei serieller Übertragung der Adressdaten. Dazu wird zum seriellen Bitstrom der
Adresse des vorhergehenden Elements in X-Richtung 0315 in der Logik zur Adressge
nerierung 0317 eine Eins seriell hinzuaddiert und die Adresse in einem Schieberegister
gespeichert. Die Logik bekommt das Taktsignal des Bausteins durch die Leitung 0327.
Über die Leitung 0321 wird die Adresse seriell zum nachfolgenden Element übertragen.
Im Komparator 0319 wird die in 0317 gespeicherte Adresse mit der über die Leitung
0325 anliegenden X-Adresse des zu adressierenden Elements verglichen. Das Ganze
geschieht analog für die Y-Adresse. Der von der vorhergehenden Zelle in Y-Richtung
seriell übertragene Y-Adresse 0316 wird in der Logik zur Adressgenerierung 0318 eine
Eins hinzuaddiert. Die Logik bekommt das Taktsignal des Bausteins durch die Leitung
0328. Über die Verbindung 0322 wird die Adresse seriell zum nachfolgenden Element in
Y-Richtung transportiert. Im Komparator 0320 wird die in 0318 gespeicherte Adresse
mit der über die Verbindung 0326 anliegende Y-Adresse des zu adressierenden Ele
ments verglichen. Die Ausgänge der beiden Komparatoren 0319, 0322 werden über ein
UND-Gatter 0323 verknüpft und bilden das Enable Signal 0324 für das konfigurierbare
Element.
c) zeigt die Logik zur Adressgenerierung 0317, 0318 aus Fig. 3b. Die Adresse gelangt
über die Leitung 0329 zum Addierer 0332. Das Flipflop 0334 dient zum Speichern des
Übertrags, der bei der Addition entsteht. Es übernimmt den Übertrag immer mit der
negativen Flanke des Taktsignals 0330. Außerdem ist dieses Flipflop anfangs auf eins
gesetzt, so daß bei der Addition des ersten Bit eine Eins addiert wird. Die neu berech
nete Adresse wird zum nachfolgenden Schieberegister 0337 und zum Ausgangsflipflop
0336 geschickt. Dort werden sie mit der negativen Taktflanke übernommen. Das Schie
beregister 0337 speichert die einzelnen Bits, so daß am Ende der Übertragung die
Adresse des Elements im Schieberegister gespeichert ist. Diese wird dann über die Lei
tung 0339 zum Komparator weitergegeben. Über die Leitung 0333 werden die Daten
der Adresse seriell zum nachfolgenden, Element geschickt. Die Leitung 0331 überträgt
ein Enable Signal an die Flipflops und das Schieberegister. Dieses Enable Signal läuft
synchron mit dem Datensignal, das heißt wenn Daten gesendet werden wird gleichzei
tig ein Enable Signal übertragen. Das Enable Signal wird vom Flipflop 0335 mit der
negativen Taktflanke übernommen und von der Leitung 0338 zum nächsten Element
übertragen. Die Datenübertragung verläuft wie in Fig. 1c beschrieben. Auch hier ist es
erforderlich, wenn mehrere Logiken hintereinander geschaltet werden, den Takt oder die
Takteingänge der Flipflops und Schieberegister bei jeder nachfolgenden Lokik zu inver
tieren, so daß die Daten immer abwechselnd mit der ansteigenden und der abfallenden
Flanke übernommen werden.
Fig. 4 zeigt die Verschaltung mehrerer Bausteine 0401 zu einem Cluster. Über die
Verbindung 0402 werden die Y-Basisadressen der Bausteine am oberen Rand des Clu
sters initialisiert. Die X-Basisadressen der Bausteine am linken Rand des Clusters wer
den über die Verbindung 0403 initialisiert. Bei der parallelen Adressierung genügt es die
Basisadressen an die Eingänge anzulegen. Für die Adressierung mit serieller Datenübert
ragung muß das Datenpaket mit der Basisadresse und ein Enable Signal seriell in den
Baustein übetragen werden. Den im Inneren des Clusters liegenden Bausteinen, werden
nach dem in Fig. 1 beschriebenen Verfahren automatisch X- und Y-Basisadressen über
die Verbindungen zueinander zugewiesen. Die Verbindungen 0404 und 0405 dienen zur
Übertragung der Größe des Clusters an externe Elemente. Die Verbindung 0404 dient
zur Übertragung der Größe in X-Richtung und über die Verbindung 0405 wird die Größe
des Clusters in Y-Richtung übertragen.
Fig. 5a) zeigt den Aufbau eines Bausteins 0501, der eine Vielzahl von konfigu
rierbaren Elementen 0514, die konfigurierbare und zur Konfiguration verwendete Zellen
enthalten, sowie eine Logik zur automatischen Adressgenerierung 0506, 0508 enthält.
Die Adressierung der Bausteine 0501 und konfigurierbaren Elemente 0514 erfolgt hierbei
auf eine alternative Art. Die Adresse besitzt folgenden Aufbau:
Die Daten der X- und Y-Adresse werden durch die Verbindungen 0502, 0503 in den
Baustein 0501 übertragen. Außerdem werden sie noch in die Vergleicher 0507, 0509
weitergeleitet. Innerhalb des Baubsteins 0501 werden sie von der Logik zur automati
schen Adressgenerierung 0506, 0508 weiterverarbeitet. Bei der Weiterverarbeitung wird
zur Adresse des Bausteins 0501 jeweils eine Eins in X- und Y-Richtung hinzugezählt und
nicht wie bei der vorherstehenden Adressierungsart die Anzahl der Elemente in X- und
Y-Richtung des Bausteins 0501. Durch die Verbindungen 0504, 0505 werden sie zum
nachfolgenden Baustein weitergeleitet. Wird nun über die Leitung 0513 eine Adresse
geschickt, so wird der Adressteil, der die Bausteine adressiert, an die Vergleicher 0507,
0509 geleitet. Der Teil der Adresse, der die Elemente 0514 adressiert, wird an die Ele
mente 0514 geleitet. In den Vergleichern 0507, 0509 wird nun die automatisch generierte
Bausteinadresse mit der Bausteinadresse, die über die Leitung 0513 anliegt, verglichen
und im Falle einer Übereinstimmung ein Signal zum UND-Gatter 0510 geschickt, das ein
Enable Signal an die konfigurierbaren Elemente 0514 schickt. Die Vergleicher 0511 der
Elemente 0514 vergleichen ihre Adresse mit der über die Verbindung 0513 anliegenden
Adresse und aktivieren sie bei einer Übereinstimmung und einem anliegenden Enable
Signal der Vergleicher 0507, 0509 des Bausteins.
b) zeigt die Logik zur Adressierung eines Elements (vgl. Vergleicher 0511), die für das
alternative Adressierungsverfahren benötigt wird. Die Verbindungen 0515 und 0516 die
nen zur Übertragung einer X- und Y-Adresse, mit deren Hilfe ein Element angesprochen
werden soll. Diese beiden Werte werden in den Komparatoren 0519 und 0520 mit den in
den Registern 0517 und 0518 gespeicherten X- und Y-Adressen des Elements verglichen.
Selbstverständlich können die Adressen der Elemente 0514 auch auf die zuvor beschrie
bene Art (vgl. Fig. 3) erzeugt werden. Die Ausgänge der beiden Komparatoren 0519
und 0520 werden mit dem UND-Gatter 0521 verknüpft. Der Ausgang des UND-Gatters
0521 wird mit dem Enable Signal 0523 der Vergleicher der Bausteinadresse (vgl. Fig.
5a 0510) über ein UND-Gatter 0522 verknüpft und bildet das Enable Signal 0524 für
die Elemente 0514 des Bausteins 0501.
Fig. 6 zeigt einen Cluster aus Bausteinen 0603, dessen Spalten und Reihen nicht
vollständig sind. Dadurch ist eine etwas andere Verschaltung der Bausteine 0603 nötig,
die in der Figur dargestellt wird. Die Verbindungen 0601 und 0602 dienen zur Initia
lisierung der Bausteine der ersten Reihe und Spalte, da sie keine Vorgänger in dieser
Richtung besitzen. Über die Verbindungen 0604 und 0605 kann die Ausdehnung des
Clusters in X- und Y-Richtung abgefragt werden.
Cluster Mehrdimensionale vernetzte Anordnung von Bausteinen oder
-gruppen
DPGA Dynamisch konfigurierbare FPGA's. Stand der Technik
D-FlipFlop Speicherelement, welches ein Signal bei der steigenden Flanke eines Taktes speichert.
Elemente Sammelbegriff für alle Arten von in sich abgeschlossenen Einhei ten, welche als Stück in einem elektronischen Baustein zum Einsatz kommen können. Elemente sind also:
DPGA Dynamisch konfigurierbare FPGA's. Stand der Technik
D-FlipFlop Speicherelement, welches ein Signal bei der steigenden Flanke eines Taktes speichert.
Elemente Sammelbegriff für alle Arten von in sich abgeschlossenen Einhei ten, welche als Stück in einem elektronischen Baustein zum Einsatz kommen können. Elemente sind also:
- - Konfigurierbare Zellen aller Art
- - Cluster
- - RAM-Blöcke
- - Logik
- - Rechenwerke
- - Register
- - Multiplexer
- - I/O Pins eines Chips
Flag (Fahne). Statusbit in einem Register, das einen Zustand anzeigt.
FPGA Programmierbarer Logikbaustein. Stand der Technik.
Gatter Gruppe von Transistoren, die eine logische Grundfunktion durchführen. Grundfunktionen sind z. B. NAND, NOR, Trans mission-Gates.
H-Pegel Logisch 1 Pegel, abhängig von der verwendeten Technologie
Kantenzelle Zelle am Rand eines Zellarrays, oftmals mit direktem Kontakt zu den Anschlüssen eines Bausteines.
konfigurierbares Element. Ein konfigurierbares Element stellt eine Einheit eines Logik-Bausteines dar, welche durch ein Konfigurationswort für eine spezielle Funktion eingestellt werden kann. Konfigurierbare Elemen te sind somit, alle Arten von RAM-Zellen, Multiplexer, Arithme tische logische Einheiten, Register und alle Arten von interner und externer Vernetzungsbeschreibung etc.
konfigurierbare Zelle. Siehe Logikzellen
Konfigurieren Einstellen der Funktion und Vernetzung einer logischen Einheit, ei ner (FPGA)-Zelle oder einer PAE (vgl. umkonfigurieren).
Konfigurationsdaten Beliebige Menge von Konfigurationsworten.
Konfigurationsspeicher. Der Konfigurationsspeicher enthält ein oder mehrere Konfi gurationsworte.
Konfigurationswort. Ein Konfigurationswort besteht aus einer beliebig langen Bit- Reihe. Diese Bit-Reihe stellt eine gültige Einstellung für das zu konfigurierende Element dar, so daß eine funktionsfähige Einheit entsteht.
Ladelogik Einheit zum Konfigurieren und Umkonfigurieren der PAE. Ausge staltet durch einen speziell an seine Aufgabe angepaßten Mikrokon troller.
Latch Speicherelement, das ein Signal für gewöhnlich während des H- Pegels transparent weiterleitet und während des L-Pegels speichert.
In PAEs werden teilweise Latches gebraucht, bei denen die Funktion der Pegel genau umgekehrt ist. Hierbei wird vor den Takt eines üblichen Latch ein Inverter geschaltet.
Logikzellen: Bei DFPs, FPGAs, DPGAs verwendete konfigurierbare Zellen, die einfache logische oder arithmetische Aufgaben gemäß ihrer Konfi guration erfüllen.
L-Pegel Logisch 0 Pegel, abhängig von der verwendeten Technologie
Open-Kollektor Schaltungstechnik, bei der der Kollektor eines Transistors an einem, über einen Pullup auf den H-Pegel gezogenen, Bussignal liegt. Der Emitter der Transistors liegt auf Masse. Schaltet der Transistor, so wird das Bussignal auf den L-Pegel gezogen. Vorteil des Verfahrens ist, daß eine Mehrzahl solcher Transistoren den Bus ohne elektrische Kollision steuern können. Dabei sind die Signale ODER-verküpft, es entsteht das sog. wired-OR.
RS-FlipFlop Reset-/Set-FlipFlop. Speicherelement, das durch 2 Signale umge schaltet werden kann.
serielle Operationen Operationen, die durch serielles Abarbeiten eines Datenwortes oder eines Algorithmus durchgeführt werden. Serielle Multiplikation, serielle Division, Reihenentwicklung
Umkonfigurieren: Neues Konfigurieren von einer beliebigen Menge von PAEs, während eine beliebige Restmenge von PAEs ihre eigenen Funk tionen fortsetzen (vgl. konfigurieren).
Zellen siehe Logikzellen.
FPGA Programmierbarer Logikbaustein. Stand der Technik.
Gatter Gruppe von Transistoren, die eine logische Grundfunktion durchführen. Grundfunktionen sind z. B. NAND, NOR, Trans mission-Gates.
H-Pegel Logisch 1 Pegel, abhängig von der verwendeten Technologie
Kantenzelle Zelle am Rand eines Zellarrays, oftmals mit direktem Kontakt zu den Anschlüssen eines Bausteines.
konfigurierbares Element. Ein konfigurierbares Element stellt eine Einheit eines Logik-Bausteines dar, welche durch ein Konfigurationswort für eine spezielle Funktion eingestellt werden kann. Konfigurierbare Elemen te sind somit, alle Arten von RAM-Zellen, Multiplexer, Arithme tische logische Einheiten, Register und alle Arten von interner und externer Vernetzungsbeschreibung etc.
konfigurierbare Zelle. Siehe Logikzellen
Konfigurieren Einstellen der Funktion und Vernetzung einer logischen Einheit, ei ner (FPGA)-Zelle oder einer PAE (vgl. umkonfigurieren).
Konfigurationsdaten Beliebige Menge von Konfigurationsworten.
Konfigurationsspeicher. Der Konfigurationsspeicher enthält ein oder mehrere Konfi gurationsworte.
Konfigurationswort. Ein Konfigurationswort besteht aus einer beliebig langen Bit- Reihe. Diese Bit-Reihe stellt eine gültige Einstellung für das zu konfigurierende Element dar, so daß eine funktionsfähige Einheit entsteht.
Ladelogik Einheit zum Konfigurieren und Umkonfigurieren der PAE. Ausge staltet durch einen speziell an seine Aufgabe angepaßten Mikrokon troller.
Latch Speicherelement, das ein Signal für gewöhnlich während des H- Pegels transparent weiterleitet und während des L-Pegels speichert.
In PAEs werden teilweise Latches gebraucht, bei denen die Funktion der Pegel genau umgekehrt ist. Hierbei wird vor den Takt eines üblichen Latch ein Inverter geschaltet.
Logikzellen: Bei DFPs, FPGAs, DPGAs verwendete konfigurierbare Zellen, die einfache logische oder arithmetische Aufgaben gemäß ihrer Konfi guration erfüllen.
L-Pegel Logisch 0 Pegel, abhängig von der verwendeten Technologie
Open-Kollektor Schaltungstechnik, bei der der Kollektor eines Transistors an einem, über einen Pullup auf den H-Pegel gezogenen, Bussignal liegt. Der Emitter der Transistors liegt auf Masse. Schaltet der Transistor, so wird das Bussignal auf den L-Pegel gezogen. Vorteil des Verfahrens ist, daß eine Mehrzahl solcher Transistoren den Bus ohne elektrische Kollision steuern können. Dabei sind die Signale ODER-verküpft, es entsteht das sog. wired-OR.
RS-FlipFlop Reset-/Set-FlipFlop. Speicherelement, das durch 2 Signale umge schaltet werden kann.
serielle Operationen Operationen, die durch serielles Abarbeiten eines Datenwortes oder eines Algorithmus durchgeführt werden. Serielle Multiplikation, serielle Division, Reihenentwicklung
Umkonfigurieren: Neues Konfigurieren von einer beliebigen Menge von PAEs, während eine beliebige Restmenge von PAEs ihre eigenen Funk tionen fortsetzen (vgl. konfigurieren).
Zellen siehe Logikzellen.
Claims (14)
1. Verfahren zur dynamischen Adressgenerierung von konfigurierbarer Bausteinen,
mit einer zwei oder mehrdimensionalen Zellanordnung (zum Beispiel FPGAs,
DPGAs, DFPs o. ä.) und deren Zellen (konfigurierbaren Elemente), dadurch ge
kennzeichnet, daß
1. jeder Baustein einen Adresseingang für jede Dimension besitzt, durch den
er seine Basisadresse, die die Adresse der ersten Zelle darstellt, erhält,
2. anhand der Basisadresse die baustein-internen Zelladressen (Adressen der
konfigurierbaren Elemente) berechnet werden, über die eine Ladelogik die
konfigurierbaren Elemente anspricht,
3. über Adressausgänge die Adresse der letzten Zelle plus eins, sowie je nach
Ausgestaltung (siehe Unteransprüche) die Bausteinadresse plus eins, an die
Nachfolgebausteine weitergegeben wird und deren Grundadresse darstellt,
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Adressein-/ausgänge als parallele Busse ausgestaltet sind.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Adressein-/ausgänge als serielle Busse ausgestaltet sind.
4. Verfahren nach Anspruch 1-3, dadurch gekennzeichnet, daß
die Eingangswerte in den Zellen des Zellarrays in jede Richtung weiterübertragen
werden, wobei jede Zelle den Wert der Adresse um eins erhöht (vgl. Fig. 2).
5. Verfahren nach Anspruch 1-4, dadurch gekennzeichnet, daß
je ein Addierer die Mächtigkeit des Zellarrays in der jeweiligen Richtung auf den
Eingangswert plus eins aufaddiert und direkt an den Ausgang weitergibt (vgl.
Fig. 1a).
6. Verfahren nach Anspruch 1-4, dadurch gekennzeichnet, daß
die Eingangswerte in den Zellen des Zellarrays in jede Richtung weiterübertra
gen werden, wobei jede Zelle den Wert der Adresse um eins erhöht und der
Ausgang der von der ersten Zelle am weitest entferntesten Zelle, also der Zelle
mit der höchsten Adresse in alle Richtungen, direkt auf die Adressausgänge des
Bausteines geschaltet wird (vgl. Beschreibung von Fig. 2).
7. Verfahren nach Anspruch 1, 3, 4-6, dadurch gekennzeichnet, daß
parallele Addierer verwendet werden (Fig. 1c-e).
8. Verfahren nach Anspruch 1, 3, 4-6, dadurch gekennzeichnet, daß
serielle Addierer verwendet werden (Fig. 1c-e).
9. Verfahren nach Anspruch 1-8 dadurch gekennzeichnet, daß
die Adressen in jeder Zelle über Vergleicher mit der von der Ladeeinheit gene
rierten Adresse verglichen wird, um einen Zugriff festzustellen (vgl. Fig. 3a, b,
5b).
10. Verfahren nach Anspruch 1-9 dadurch gekennzeichnet, daß
die Adressen linear vergeben werden, wodurch ein linearer Adressraum aus Zellen
über einer Gruppe von kaskadierten Bausteinen entsteht (vgl. Fig. 3).
11. Verfahren nach Anspruch 1-9 dadurch gekennzeichnet, daß
die Adressen aus einem Offset für die Bausteinen und einer linearen Adresse
für die Zellen eines Bausteines bestehen, wodurch kein linearer Adressraum aus
Zellen über einer Gruppe von kaskadierten Bausteinen entsteht (vgl. Fig. 5).
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704044A DE19704044A1 (de) | 1997-02-04 | 1997-02-04 | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US08/946,999 US6038650A (en) | 1997-02-04 | 1997-10-08 | Method for the automatic address generation of modules within clusters comprised of a plurality of these modules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704044A DE19704044A1 (de) | 1997-02-04 | 1997-02-04 | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19704044A1 true DE19704044A1 (de) | 1998-08-13 |
Family
ID=7819195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19704044A Withdrawn DE19704044A1 (de) | 1997-02-04 | 1997-02-04 | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
Country Status (2)
Country | Link |
---|---|
US (1) | US6038650A (de) |
DE (1) | DE19704044A1 (de) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071196A2 (de) | 2001-03-05 | 2002-09-12 | Pact Informationstechnologie Gmbh | Verfahren und vorrichtung zu datenbe- und/oder verarbeitung |
WO2003025781A2 (de) | 2001-09-19 | 2003-03-27 | Pact Xpp Technologies Ag | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
DE10306149A1 (de) * | 2003-02-14 | 2004-09-02 | Infineon Technologies Ag | Verfahren und Schaltung zum Zuweisen von Speicheranordnungs-Adressen |
WO2006082091A2 (en) | 2005-02-07 | 2006-08-10 | Pact Xpp Technologies Ag | Low latency massive parallel data processing device |
EP1845623A2 (de) | 2000-10-06 | 2007-10-17 | PACT XPP Technologies AG | Verfahren und Vorrichtung |
US7650448B2 (en) | 1996-12-20 | 2010-01-19 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7782087B2 (en) | 2002-09-06 | 2010-08-24 | Martin Vorbach | Reconfigurable sequencer structure |
US7822881B2 (en) | 1996-12-27 | 2010-10-26 | Martin Vorbach | Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like) |
US7822968B2 (en) | 1996-12-09 | 2010-10-26 | Martin Vorbach | Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US8281108B2 (en) | 2002-01-19 | 2012-10-02 | Martin Vorbach | Reconfigurable general purpose processor having time restricted configurations |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
US8819505B2 (en) | 1997-12-22 | 2014-08-26 | Pact Xpp Technologies Ag | Data processor having disabled cores |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
WO2003081454A2 (de) * | 2002-03-21 | 2003-10-02 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US20060015596A1 (en) * | 2004-07-14 | 2006-01-19 | Dell Products L.P. | Method to configure a cluster via automatic address generation |
WO2007062327A2 (en) * | 2005-11-18 | 2007-05-31 | Ideal Industries, Inc. | Releasable wire connector |
US9519278B2 (en) * | 2014-06-09 | 2016-12-13 | Richard J. Petrocy | Modularized self-addressing apparatus and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4416881A1 (de) * | 1993-05-13 | 1994-11-17 | Martin Vorbach | Datenverarbeitungseinrichtung |
WO1996004603A1 (en) * | 1994-08-01 | 1996-02-15 | International Business Machines Corporation | Self-configuring computer system |
US5555401A (en) * | 1992-08-26 | 1996-09-10 | Sun Microsystems, Inc. | Self configuring device system |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34363A (en) * | 1862-02-11 | Improvement in machinery for cleaning cotton | ||
US4739474A (en) * | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US5123109A (en) * | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4761755A (en) * | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US5023775A (en) * | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) * | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5225719A (en) * | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US5015884A (en) * | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US4967340A (en) * | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
EP0221360B1 (de) * | 1985-11-04 | 1992-12-30 | International Business Machines Corporation | Digitale Nachrichtenübertragungsnetzwerke und Aufbau von Übertragungswegen in diesen Netzwerken |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US5367208A (en) * | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5303172A (en) * | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
US4901268A (en) * | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5204935A (en) * | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
DE68926783T2 (de) * | 1988-10-07 | 1996-11-28 | Martin Marietta Corp | Paralleler datenprozessor |
US5014193A (en) * | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) * | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5081375A (en) * | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) * | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5109503A (en) * | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
US5233539A (en) * | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5489857A (en) * | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5128559A (en) * | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (ja) * | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
GB8925721D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5522083A (en) * | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
US5125801A (en) * | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
US5142469A (en) * | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5198705A (en) * | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) * | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
US5111079A (en) * | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
SE9002558D0 (sv) * | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
ATE180586T1 (de) * | 1990-11-13 | 1999-06-15 | Ibm | Paralleles assoziativprozessor-system |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5301344A (en) * | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
DE59109046D1 (de) * | 1991-02-22 | 1998-10-08 | Siemens Ag | Programmierverfahren für einen Logikbaustein |
JPH04290155A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
JPH04293151A (ja) * | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
EP0539595A4 (en) * | 1991-04-09 | 1994-07-20 | Fujitsu Ltd | Data processor and data processing method |
WO1992022029A1 (en) * | 1991-05-24 | 1992-12-10 | British Technology Group Usa, Inc. | Optimizing compiler for computers |
US5338984A (en) * | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5208491A (en) * | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
EP0643855A1 (de) * | 1992-06-04 | 1995-03-22 | Xilinx, Inc. | Zeitliche steuerung für die implantierung einer gebrauchsschaltung auf einer programmierbaren integrierten schaltungsanordnung |
US5475803A (en) * | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
US5497498A (en) * | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5361373A (en) * | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
GB9303084D0 (en) * | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (ja) * | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5548773A (en) * | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5473266A (en) * | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
US5444394A (en) * | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (ja) * | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
US5457644A (en) * | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5455525A (en) * | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
JP2845115B2 (ja) * | 1993-12-29 | 1999-01-13 | ヤマハ株式会社 | デジタル信号処理回路 |
US5535406A (en) * | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
US5590351A (en) * | 1994-01-21 | 1996-12-31 | Advanced Micro Devices, Inc. | Superscalar execution unit for sequential instruction pointer updates and segment limit checks |
US5561738A (en) * | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5532693A (en) * | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5532957A (en) * | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5537057A (en) * | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5541530A (en) * | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5559450A (en) * | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5583450A (en) * | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5842034A (en) * | 1996-12-20 | 1998-11-24 | Raytheon Company | Two dimensional crossbar mesh for multi-processor interconnect |
-
1997
- 1997-02-04 DE DE19704044A patent/DE19704044A1/de not_active Withdrawn
- 1997-10-08 US US08/946,999 patent/US6038650A/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555401A (en) * | 1992-08-26 | 1996-09-10 | Sun Microsystems, Inc. | Self configuring device system |
DE4416881A1 (de) * | 1993-05-13 | 1994-11-17 | Martin Vorbach | Datenverarbeitungseinrichtung |
WO1996004603A1 (en) * | 1994-08-01 | 1996-02-15 | International Business Machines Corporation | Self-configuring computer system |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822968B2 (en) | 1996-12-09 | 2010-10-26 | Martin Vorbach | Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs |
US8156312B2 (en) | 1996-12-09 | 2012-04-10 | Martin Vorbach | Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units |
US7650448B2 (en) | 1996-12-20 | 2010-01-19 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US8195856B2 (en) | 1996-12-20 | 2012-06-05 | Martin Vorbach | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7899962B2 (en) | 1996-12-20 | 2011-03-01 | Martin Vorbach | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
US7822881B2 (en) | 1996-12-27 | 2010-10-26 | Martin Vorbach | Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like) |
USRE45223E1 (en) | 1997-02-08 | 2014-10-28 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
USRE45109E1 (en) | 1997-02-08 | 2014-09-02 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
USRE44383E1 (en) | 1997-02-08 | 2013-07-16 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
US8819505B2 (en) | 1997-12-22 | 2014-08-26 | Pact Xpp Technologies Ag | Data processor having disabled cores |
US8468329B2 (en) | 1999-02-25 | 2013-06-18 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8726250B2 (en) | 1999-06-10 | 2014-05-13 | Pact Xpp Technologies Ag | Configurable logic integrated circuit having a multidimensional structure of configurable elements |
US8312200B2 (en) | 1999-06-10 | 2012-11-13 | Martin Vorbach | Processor chip including a plurality of cache elements connected to a plurality of processor cores |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
US9047440B2 (en) | 2000-10-06 | 2015-06-02 | Pact Xpp Technologies Ag | Logical cell array and bus system |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8471593B2 (en) | 2000-10-06 | 2013-06-25 | Martin Vorbach | Logic cell array and bus system |
EP1845623A2 (de) | 2000-10-06 | 2007-10-17 | PACT XPP Technologies AG | Verfahren und Vorrichtung |
WO2002071196A2 (de) | 2001-03-05 | 2002-09-12 | Pact Informationstechnologie Gmbh | Verfahren und vorrichtung zu datenbe- und/oder verarbeitung |
US9075605B2 (en) | 2001-03-05 | 2015-07-07 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US8145881B2 (en) | 2001-03-05 | 2012-03-27 | Martin Vorbach | Data processing device and method |
US8312301B2 (en) | 2001-03-05 | 2012-11-13 | Martin Vorbach | Methods and devices for treating and processing data |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
US8069373B2 (en) | 2001-09-03 | 2011-11-29 | Martin Vorbach | Method for debugging reconfigurable architectures |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US8407525B2 (en) | 2001-09-03 | 2013-03-26 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US8429385B2 (en) | 2001-09-03 | 2013-04-23 | Martin Vorbach | Device including a field having function cells and information providing cells controlled by the function cells |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
WO2003025781A2 (de) | 2001-09-19 | 2003-03-27 | Pact Xpp Technologies Ag | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US8281108B2 (en) | 2002-01-19 | 2012-10-02 | Martin Vorbach | Reconfigurable general purpose processor having time restricted configurations |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US8281265B2 (en) | 2002-08-07 | 2012-10-02 | Martin Vorbach | Method and device for processing data |
US7928763B2 (en) | 2002-09-06 | 2011-04-19 | Martin Vorbach | Multi-core processing system |
US7782087B2 (en) | 2002-09-06 | 2010-08-24 | Martin Vorbach | Reconfigurable sequencer structure |
US8803552B2 (en) | 2002-09-06 | 2014-08-12 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US8310274B2 (en) | 2002-09-06 | 2012-11-13 | Martin Vorbach | Reconfigurable sequencer structure |
US7149864B2 (en) | 2003-02-14 | 2006-12-12 | Infineon Technologies Ag | Method and circuit for allocating memory arrangement addresses |
DE10306149A1 (de) * | 2003-02-14 | 2004-09-02 | Infineon Technologies Ag | Verfahren und Schaltung zum Zuweisen von Speicheranordnungs-Adressen |
DE10306149B4 (de) * | 2003-02-14 | 2007-08-30 | Infineon Technologies Ag | Verfahren zum Zuweisen von Speicheranordnungs-Adressen, Pufferbaustein und Speichermodul |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
WO2006082091A2 (en) | 2005-02-07 | 2006-08-10 | Pact Xpp Technologies Ag | Low latency massive parallel data processing device |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
Also Published As
Publication number | Publication date |
---|---|
US6038650A (en) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19704044A1 (de) | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine | |
EP0951682B1 (de) | IO- UND SPEICHERBUSSYSTEM FÜR DFPs SOWIE BAUSTEINE MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN | |
EP0499695B1 (de) | Speicherprogrammierbare Steuerung | |
EP1222739B1 (de) | Rekonfigurierbares gate-array | |
DE69534812T2 (de) | Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration | |
DE3630835C2 (de) | Integrierte Halbleiterkreisanordnungen und Systeme | |
EP0960374B1 (de) | Internes bussystem für dfps, sowie bausteine mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen, zur bewältigung grosser datenmengen mit hohem vernetzungsaufwand | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE4416881A1 (de) | Datenverarbeitungseinrichtung | |
DE19704728A1 (de) | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines | |
EP1329816A2 (de) | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) | |
EP1164474A2 (de) | Verfahren zum hierarchischen Cachen von Konfigurationsdaten von Datenflussprozessoren | |
WO2005078599A1 (de) | Rekonfigurierbares schaltwerk zur parallelen berechung beliebiger algorithmen | |
WO2002071248A2 (de) | Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung | |
DE10241385A1 (de) | Integrierter Schaltkreis | |
DE10347975B4 (de) | Einrichtung der programmierbaren Logik | |
EP1789889A1 (de) | Rechnereinrichtung mit rekonfigurierbarer architektur zur aufnahme eines globalen zellularen automaten | |
DE602004005806T2 (de) | Serieller Speicher mit Mitteln zur Integration eines erweiterten Speicherfeldes | |
DE2738594C2 (de) | ||
DE19758032A1 (de) | Schnittstelle für mehrere CAN-Datenverarbeitungsnetzwerke und Verfahren zum Betreiben einer Schnittstelle | |
EP3142032B1 (de) | Verfahren zum ändern der konfiguration eines programmierbaren logikbausteins | |
DE4447707B4 (de) | Videointerface mit zur Laufzeit rekonfigurierbarer Schaltlogik | |
DE4445310C2 (de) | Ausgangssteuerschaltung | |
EP3632066B1 (de) | Vorladen von instruktionen | |
DE19837101C2 (de) | Programmierbare 1-Bit Datenverarbeitungsanordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: PACT XPP TECHNOLOGIES AG, 80939 MUENCHEN, DE |
|
8127 | New person/name/address of the applicant |
Owner name: KRASS, MAREN, ZUERICH, CH Owner name: RICHTER, THOMAS, 04703 BOCKELWITZ, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110901 |