DE69220597T2 - Feldprogrammierbares Funktionselement - Google Patents
Feldprogrammierbares FunktionselementInfo
- Publication number
- DE69220597T2 DE69220597T2 DE69220597T DE69220597T DE69220597T2 DE 69220597 T2 DE69220597 T2 DE 69220597T2 DE 69220597 T DE69220597 T DE 69220597T DE 69220597 T DE69220597 T DE 69220597T DE 69220597 T2 DE69220597 T2 DE 69220597T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- ports
- bits
- configurable
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
- Microcomputers (AREA)
Description
- Die Erfindung betrifft konfigurierbare Funktionselemente.
- Seit der Einführung der elektronischen Berechnung geht der Trend von festverdrahteter Logik hin zu elektronisch programmierbaren Systemen. Wegweisende Beispiele umfassen Computer mit gespeicherten Steuerprogrammen, speicherprogrammierte Verwaltungsanordnungen, programmierbare Eingangs- /Ausgangssteuereinrichtungen, intelligente Terminals und Modems. In den letzten Jahren verschwammen mit der Entwicklung von EEPROMs (elektrisch löschbaren und programmierbaren Festwertspeichern) und von PAL- (Programmable Array Logic) Elementen, die Hardware-Bauteile sind, die unter Softwaresteuerung modifiziert werden können, die zahlreichen Definitionen von Hardware/Firmware/Software. Jeder dieser Schritte ermöglichte, daß mehr Funktionalität einer größeren Anzahl von Untersystemen durch Software verändert werden konnte, aber die Verbindung zwischen den Untersystemen blieb größtenteils fest. Als die Entwicklung weiter fortschritt, wurde die Verbindung dieser Untersysteme untereinander auch programmierbar durchgeführt; folglich vergrößerte sich die Größe der Systeme, die ausführlicher programmiert werden können.
- In der US-A-4,706,216, veröffentlicht am 10. November 1987, ist ein konfigurierbares Logikelement beschrieben. Dieses Logikelement ist in eine konfigurierbare Leitstruktur eingebettet, die viele verschiedene Verbindungen zwischen den eingebetteten konfigurierbaren Logikelemente ermöglicht. In Verbindung mit der Leitstruktur bedeutet der Ausdruck "konfigurierbar" Einrichtungen, daß eine Vielzahl von Bussen bereitgestellt wird, wobei Schalter so angeordnet sind, daß ein Bus mit einem anderen unter Steuerung eines Signals, das aus einem Steuerbit, das in Verbindung mit der Leitstruktur gespeichert ist, abgeleitet ist. Von Zeit zu Zeit können die Informationen in den Steuerbits geändert werden (z.B. wenn der Entwickler versucht, verschiedene Verbindungsmuster auszuwählen), wodurch die Verbindung zwischen den Leitpfaden und die Funktionalität der Gesamtanordnung verändert wird. In Verbindung mit den Logikelementen bedeutet der Ausdruck "konfigurierbar", daß die Steuerbits in dem Element enthalten sind, wobei diese Steuerbits bestimmen, welche von mehreren Logikfunktionen durch das Logikelement ausgeführt werden. Der allgemeine Aufbau jedes konfigurierbaren Logikelements in der US-A-4,706,216 ist zusammen mit einem Teil des konfigurierbaren Leitnetzes, das den Logikelementen eng zugeordnet ist, in Fig. 1 dargestellt (die eine Kombination aus den Figuren 7 und 8 des '216-Patentes ist)
- In Fig. 1 ist die Auswahleinrichtung 10, auch Selektor genannt, der konfigurierbare Leitnetzabschnitt. Es umfaßt vier direkte Eingänge (A, B, C und D) und einen Rückkopplungseingang. Unter Steuerung der Konfigurationsbits (nicht gezeigt) gibt die Auswahleinrichtung 10 einen Signalsatz auf einen Bus 11 und einen anderen Signalsatz auf einen Bus 12. Die beiden Signalsätze werden einer Arithmetik-/Logikeinheit 15 zugeführt, die zwei Ausgangsignale an die Leitungen 13 und 14 anlegt. Sowohl diese beiden Ausgänge als auch die Ausgangsleitung A werden einer Auswahlschaltung 16 zugeführt. Die Auswahlschaltung 16 weist zwei Ausgänge auf, die einer Auswahlschaltung 17 zugeführt werden. Einer der Ausgänge der Auswahlschaltung 16 wird auch einer Signalspeicherschaltung 18 zugeführt, deren Ausgang der Auswahlschaltung 17 zugeführt wird. Die Auswahleinrichtung 17 erzeugt ein Rückkopplungseingangssignal und zwei Ausgangssignale (X und Y) des konfigurierbaren Logikelementes. Unter diesem Gesichtspunkt der Gesamtfunktionalität erzeugt daher das konfigurierbare Logikelement des '216-Patentes zwei Ausgangssignale unter Ansprechen auf vier Eingangssignale.
- Das Arithmetik-/Logikelement 15 umfaßt zwei 8-Bit- RAMs (Fig. 8 in dem Patent). Tatsächlich spricht jedes auf eine 3-Bit-Adresse an. Der Speicherinhalt (der in der Konfigurationszeit geladen wird) bestimmt die Logikfunktion, die die Einheit leistet. Es wird keine Einrichtung zum Modifizieren des Inhaltes dieser Speicher während des Betriebs bereitgestellt. Abgesehen von dem Signalspeicher am Ausgang der Auswahleinrichtung 16 ist in der Einheit auch kein Lese-/Schreibspeicher verfügbar. Das ist ein wesentlicher Nachteil der Einheit, da in vielen Anwendungen die Notwendigkeit zum Zwischenspeichern von Daten nötig ist, die durch einen oder mehrere der konfigurierbaren Elemente in der konfigurierbaren Anordnung oder einem Feld, das aus diesen Einheiten besteht, erzeugt werden. Außerdem ist das in dem '216-Patent beschriebene Gerät nicht gut für arithmetische Funktionen wie Addition oder Subtraktion geeignet. Erstens sind 2N+1 Eingänge für solche Operationen erforderlich, wobei N eine ganze Zahl ist, während das '216- Gerät nur vier Eingänge aufweist, was für die Notwendigkeit von 2N+1 Eingängen nicht ausreichend ist. Zweitens und wichtiger ist die Tatsache, daß die Verbindungsstruktur in dem Gerät keine direkte Verknüpfungsfähigkeit zwischen den beiden 8-Bit-RAMs (die funktionsbildenden Elemente) liefert, welche die funktionelle Flexibilität des Gerätes in Verbindung mit arithmetischen Operationen wesentlich begrenzt.
- Gemäß einem Gesichtspunkt dieser Erfindung wird ein konfigurierbares Funktionselement, wie in Anspruch 1 beansprucht, geschaffen.
- Gemäß einem weiteren Gesichtspunkt der Erfindung wird ein konfigurierbares Funktionselement, wie in Anspruch 13 beansprucht, geschaffen.
- Die Mängel der konfigurierbaren Funktionselemente nach dem Stand der Technik können überwunden werden, indem ein Mehrfunktioneneinsatz für Speicherzellen vorgesehen wird, indem die Zellen in Speicherbänken angeordnet sind und interne konfigurierbare Verbindungen zwischen den Speicherbänken bereitstellen. Eine vielseitige Logikfunktionskonfiguration wird durch Speichern der Wahrheitstabelle der gewünschten Logikfunktionen in den Speicherzellen erhalten. Eine arithmetische Funktionskonfiguration erhält man durch internes Verbinden der Speicherzellen, wobei eine Lese-/Schreib- Speicherfunktionskonfiguration durch zusätzliches Decodieren der Schreibadresse und unter Hinzufügen einer Schreib- Freigabefähigkeit und von Eingangsdatenleitungen erreicht wird. Diese Konfiguration ermöglicht ein unabhängiges Beschreiben der Speicherzellen, wodurch ein Zweiport- Speicherbetrieb bewirkt wird.
- Ein zusätzlicher Satz von Signalspeichern, die mit dem konfigurierbaren Funktionselement verbunden sind, und ein konfigurierbares Leitnetz, welches mit den Eingängen und dem Ausgang des konfigurierbaren Funktionselementes sowie dem Ausgang der Signalspeicher verbunden ist, bildet ein leistungsfähiges Gerät, welches einfach für eine der drei primären Modi (Logik, Arithmetik und Speicher) gestaltet werden kann.
- Um die Funktionalität zu vergrößern kann das Gerät zu einer allgemeinen Leitwegstruktur verbunden werden, die für andere konfigurierbare Funktionseinrichtungen konfigurierbare Verbindungen vorsieht. Um die Last zu minimieren, die ein solches Gerät für die Leitwegstruktur aufgrund varuerender konfigurierbarer Verbindungen, die es beeinflussen kann, darstellen kann, wird die Eingangsleitung von der Leitwegstruktur zum Leitnetz in einem konfigurierbaren Funktionsgerät durch einen einzelnen Kontaktpunkt kanalisiert, der für eine Lastisolierung sorgt, und dadurch die Gesamtbetriebsgeschwindigkeit erhöht.
- Es zeigen:
- Fig. 1 ein Blockschaltbild eines konfigurierbaren Logikelementes nach dem Stand der Technik;
- Fig. 2 ein ähnliches Blockschaltbild des konfigurierbaren Funktionselementes dieser Erfindung;
- Fig. 3 einige der konfigurierten Verbindungen zwischen den ALM-Elementen nach Fig. 2 und dem Leitnetz 21 und einige der konfigurierten Verbindungen im Netz 21, wenn das Funktionselement für eine Logikfunktionalität konfiguriert ist;
- Fig. 4 einige der konfigurierten Verbindungen zwischen den ALM-Elementen nach Fig. 2 und dem Leitnetz 21 und einige der konfigurierten Verbindungen im Netz 21, wenn das Funktionselement für eine arithmetische Funktionalität konfiguriert ist;
- Fig. 5 einige der konfigurierten Verbindungen zwischen den ALM-Elementen nach Fig. 2 und dem Leitnetz 21 und einige der konfigurierten Verbindungen im Netz 21, wenn das Funktionselement für eine Lese-/Schreib- Speicherfunktionalität konfiguriert ist;
- Fig. 6 eine Kombination der Figuren 31 4 und 5 und einige der Konfigurationssteuerschalter;
- Fig. 7 die Verbindung des in Fig. 2 dargestellten konfigurierbaren Funktionsgerätes in einer größeren konfigurierbaren Leitwegstruktur; und
- Fig. 8 einige Einzelheiten der Struktur in Block 293.
- Fig. 2 stellt grob ein konfigurierbares Gerät dar.
- Für einen bestmöglichen Vergleich ist die Struktur nach Fig. 2 ähnlich der nach Fig. 1 ausgebildet. Wie nach Fig. 1 umfaßt Fig. 2 eine Auswahleinrichtung am Eingang, die in diesem Fall auch ein Teil der Leitwegstruktur ist. Die Auswahleinrichtung 20 besitzt 12 direkte Eingänge und 9 Rückkopplungseingänge. Die Ausgänge der Auswahleinrichtung 20 werden einer Leitnetzlogik 21 zugeführt, wobei vier im wesentlichen unabhängige Arithmetik-/Logik- /Speichereinheiten (Arithemtic/Logic/Memory, ALM) 22, 23, 24 und 25 mit der Leitnetzlogik 21 verbunden sind. Die Leitnetzlogik 21 erlaubt verschiedene Verknüpfungen der von den ALM-Einheiten erzeugten Ausgangssignale, die einer Vielzahl von Signalspeichern 26 zugeführt werden, wobei die Ausgangssignale der Signalspeicher 26 die Rückkopplungssignale bilden, die der Auswahleinrichtung 20 zugeführt werden. Eine Auswahleinrichtung 27 spricht auf die Signale, die den Signalspeichern 26 zugeführt werden, und auf die Signale, die durch die Signalspeicher 26 erzeugt werden, an, und wählt die gewünschten Ausgänge gemäß einer Konfigurationsspezifikation aus.
- Die Elemente 22-25 werden hierin als "Arithmetik- /Logik-/Speicher-" Elemente oder ALM-Elemente bezeichnet, weil sie die inherente Fähigkeit besitzen, in jedem der drei folgenden Modi zu arbeiten: Arithmetik, Logik und Speicher. Diese inherente Fähigkeit wird durch eine Konfigurationssteuerung der Elemente ans Tageslicht gebracht. Die Figuren 3, 4 und 5, die das konfigurierbare Funktionselement, das die Elemente 21-25 umfaßt, beschreiben, erläutern diese Modi im einzelnen.
- Fig. 3 stellt die Konfiguration für den Logikbetrieb dar. Das ALM-Element 22 besitzt 8-Bit-Bänke von Speicherzellen 221 und 222. Die anderen ALM-Elemente besitzen jeweils zwei Speicherzellenbänke. Die Logik, die durch die Speicherbänke ausgeführt wird, ist einfach eine Funktion des Inhaltes des Speichers. Diese Inhalte geben grundsätzlich die "Wahrheitstabelle" der Logikfunktion wieder, die durch den Zugriff auf den "Wahrheitstabellen"- Speicher ausgeführt wird. Dieses Zugreifen wird durch die Auswahlschaltungen 223 und 224 ausgeführt. Die Schaltung 223 ist eine 8-zu-1-Auswahleinrichtung, die durch die drei Signale auf den Leitungen 225, 226 und 227 gesteuert wird. Das Ausgangssignal der Auswahleinrichtung 221 liegt auf der Leitung 228. Die gleichen drei Signale steuern auch die Auswahleinrichtung 224 (obwohl das der Einfachheit halber nicht gezeigt ist), um ein Signal auf der Leitung 229 zu übertragen.
- Die Speicherbank 221 kann die "Wahrheitstabelle" für jede Logikfunktion mit drei Eingängen und einem Ausgang speichern, weil die drei "Adress"-Eingänge der Auswahleinrichtung 227 die Wahrheitstabelle unter Ansprechen auf die drei Eingangssignale, die in den 2³ oder 8 Bits des Speichers 221 gespeichert sind, zur Leitung 228 übertragen können. Es ist ersichtlich, daß durch Erweiterung auch die Speicherbank 222 die "Wahrheitstabelle" für jede Logikfunktion mit drei Eingängen und einem Ausgang (Leitung 229) speichern kann. Die Leitungen 228 und 229 sind mit der Auswahlschaltung 233 verbunden, die auf die Steuerleitung 230 anspricht, wobei der Ausgang der Auswahleinrichtung 233 einen ersten Datenausgang bildet, der mit einer Busleitung 261 verbunden ist. Mit Hilfe der Auswahleinrichtung 233 können die beiden Speicherbänke des ALN-Elementes 22 jede Logikfunktion (Leitungen 225, 226, 227 und 230) mit 4 Eingangsbits und einem Ausgangsbit (Leitung 231) ausführen.
- Die ALN-Elemente 23, 24 und 25 stimmen mit dem ALN-Element 22 überein. Das Element 24 spricht auf die gleichen vier Eingangssignale an wie das Element 22 und erzeugt ein Ausgangssignal auf der Leitung 232. Dieses Signal wird zur E/A- (Eingangs-/Ausgangs-) Busleitung 262 geführt. Die Elemente 23 und 25 sprechen auf Eingangssignale auf den Leitungen 330, 331, 332 und 334 an und bilden jeweils ein Ausgangssignal an der Leitung 234 bzw. 235, die mit den E/A-Busleitungen 263 und 264 verbunden sind. Daher bilden die kombinierten Elemente 22 und 24 ein Logikelement, das unter ansprechen auf vier Eingangssignale zwei Ausgangssignale liefert, und die kombinierten Elemente 23 und 25 offerieren ein Logikelement, dasfür vier verschiedene Eingangssignale zwei Ausgangssignale erzeugt.
- Der Betrieb des konfigurierbaren Funktionselementes wird in der Ausführungsform nach Fig. 3 durch Auswahleinrichtungen 240, 245 und 250 erweitert. Die Auswahleinrichtung 250 akzeptiert die Signale auf den Leitungen 231 und 232 und überträgt unter Steuerung der Leitung 236 ein Ausgangssignal zur E/A-Busleitung 261 über die Leitung 237. In ähnlicher Weise akzeptiert die Auswahleinrichtung 240 die Signale auf den Leitungen 234 und 235 und überträgt ein Ausgangssignal unter Steuerung der Leitung 238 zur E/A-Busleitung 262 über die Leitung 239. Die Auswahleinrichtung 240 setzt die Elemente 22 und 24 zu einem einzelnen Logikelement mit fünf Eingängen und einem Ausgang um. In ähnlicher Weise setzt die Auswahleinrichtung 250 die Elemente 23 und 25 zu einem einzelnen Logikelement mit fünf Eingängen und einem Ausgang um. Die Auswahleinrichtung 245 akzeptiert die Signale auf den Leitungen 237 und 238 und überträgt ein Ausgangssignal unter Steuerung der Leitung 265 zur E/A-Busleitung 261. Die Auswahleinrichtung 245 kombiniert die Elemente 22-25, um ein einzelnes Logikelement zu bilden, das imstande ist, jede beliebige Funktion von bis zu 6 Eingangssignalen und einem Ausgangssignal zu liefern. Zu bemerken ist, daß diese Auswahleinrichtung auch einige Funktionen mit bis zu 11 variablen ausführen kann.
- Fig. 4 stellt den arithmetischen Modus des konfigurierbaren Funktionselementes dar. Bevor mit der detaillierten Beschreibung fortgefahren wird kann es sinnvoll sein, zu bedenken, daß arithmetische Operationen auch logische Operationen sind, obwohl wir typischerweise die Daten, die arithmetische Größen darstellen, in kleine Gruppen unterteilen, wobei jede Gruppe eine binäre Ziffer darstellt. Daraus ergibt sich, daß die "Wahrheitstabellen", die für arithmetische Operationen benutzt werden, kleiner ist. Jedoch müssen Verbindungen von einer Ziffer zur nächsten vorgesehen sein. Das heißt, arithmetische Operationen führen eine Logikfunktion aus, die zu jeder Zeit nur ein Paar von Eingangsbits zusammen mit einem "Träger"- Bit von einem vorausgegangenen Bitpaar berücksichtigt. Zum Beispiel kann ein Logikelement mit 8 Eingängen jedes Antwortmuster annehmen, und deshalb wird eine "Wahrheitstabelle" mit 28 Zuständen für ein solches Logikelement benötigt. Andererseits weist typischerweise ein Arithmetikelement mit 8 Eingängen vier 2-Bitsätze auf und die Operation mit den vier 2-Bitsätzen wird typischerweise auf nur zwei Eingangsbits zu einer Zeit (eins aus jedem Satz) und ein ankommendes Informationsübertragungsbit (aus niederwertigen Bits) ausgeführt. Das Ausgangssignal besteht typischerweise aus einem Berechnungergebnissbit und einem abgehenden Informationsübertragungsbit. Wenn daher eine arithmetische Wahrheitstabelle aus einem Nachschlagespeicher (für jede bitweise Arithmetikoperation) erzeugt wird, erfordert jeder Bitsatz nur 2³ oder 8 Bit des Speichers und zwar zweimal; und der gesamte 8-Bit-Satz am Eingang (plus dem Eingangs-Informationsübertragungsbit) erfordert nur 64 Bit des Speichers. Diese Struktur wird in Fig. 4 dargestellt.
- In Übereinstimmung mit dem oben gesagten, umfaßt Fig. 4 vier Sätze von bitweisen Arithmetikeinheiten. Die drei Eingangssignale, die die Auswahleinrichtungen 223 und 224 (Leitungen 226, 227 und 230) steuern, bilden die beiden Eingangsbits a&sub0; und b&sub0; und das ankommende Informationsübertragungsbit CIN 0. Das Ausgangssignal der Auswahleinrichtung 224 bildet das Berechnungsergebnisbit (verbunden mit der E/A-Busleitung 261) und das Ausgangssignal der Auswahleinrichtung 223 bildet das abgehende Informationsübertragungsbit. Das abgehende Informationsübertragungsbit der Auswahleinrichtung 223 wird direkt den Auswahleinrichtungen 271 und 272 in dem ALM- Element 23 zugeführt, in dem es der Funktion des ankommenden Informationsübertragungsbits c&sub1; für die Eingangsbits a&sub1; und b&sub1;, die auch den Auswahleinrichtungen 271 und 272 über die Leitungen 225 und 236 zugeführt werden, dienlich ist. Der Signalfluß bei der Arithmetikoperation, fährt mit dem abgehenden Informationsübertragungsbit der Auswahleinrichtung 271 fort, die den Auswahleinrichtungen 273 und 274 in dem AML-Element 24 zugeführt werden, und das abgehende Informationsübertragungsbit der Auswahleinrichtung 273 wird den Auswahleinrichtungen 275 und 276 zugeführt. Das Berechnungsergebnisbit der Auswahleinrichtung 272 wird dem E/A-Bus 266 zugeführt und das Berechnungsergebnisbit der Auswahleinrichtung 274 wird dem E/A-Bus 262 zugeführt. Schließlich wird das Berechnungsergebnisbit der Auswahleinrichtung 276 der E/A-Busleitung 263 zugeführt, und das abgehende Informationsübertragungsbit der Auswahleinrichtung 275 wird zur Ausgangsleitung 269 für den Gebrauch durch das nächste konfigurierbare Element in dem Feld übertragen, wenn Bedarf dafür besteht.
- Aus dem oben gesagten ist ersichtlich, daß die ALM-Elemente insgesamt 64 Bits aufweisen. In dem Logikmodus (Fig. 3) und in dem Arithmetikmodus (Fig. 4) ist der Inhalt jedes Bits zum Zeitpunkt des Setzens der Konfiguration festgelegt. Das kann zum Zeitpunkt der Anfangsanordnung oder danach sein. Es ist nicht der Sinn dieser Speicherzellen, die Daten vorübergehend zu speichern, sondern stattdessen das Verhalten oder die Antwortcharakteristik des konfigurierbaren Funktionselementes zu definieren.
- Es ist jedoch eine Aufgabe der Erfindung, gerade einen solchen Gebrauch zu ermöglichen. Mehr noch, es wird für vorteilhaft gehalten, eine Flexibilität zu ermöglichen, derart, daß Daten gespeichert und wiedergewonnen werden. Diese Flexibilität erstreckt sich auf Zweipart-Operationen des "Speichers", d. h. Schreiben in eine Adresse des Speichers zur gleichen Zeit, zu welcher der Speicherinhalt anderer Adressen ausgelesen wird.
- Mit den verfügbaren 64 Bits kann der Speicher auf vielfältige Weise aufgebaut werden und der Schreibprozess und der Leseprozess muß nicht immer der gleiche sein. Für darstellende Zwecke beschreibt Fig. 5 einen 4-Bit-Aufbau, wobei die Anzahl verschiedener Adressen, auf die man zugreifen kann, 16 ist. Wenn die Eingangsadresse, die Eingangsdaten, die Ausgangsadresse und die Ausgangsdaten jeweils 4 Bit umfassen sind insgesamt 16 E/A-Bits erforderlich.
- In Fig. 5 werden die vier Schreibadressenbits einem 1-zu-16-Demultiplexer 268 zugeführt, wobei jeder der 16 Ausgänge des Demultiplexers mit der Schreibfreigabeleitung einer anderen Zelle in den Speicherbänken jedes der ALM-Elemente (22-25) verbunden ist. Die Eingangsdatenleitung DIN 0 ist mit jeder Speicherzelle im ALN-Element 22 verbunden, die Dateneingangsleitung DIN 1 ist mit allen Speicherzellen im ALM-Element 23 verbunden, die Eingangsdatenleitung DIN 2 ist mit allen Speicherzellen im ALM-Element 24 verbunden und die Eingangsdatenleitung DIN 3 ist mit allen Speicherzellen im ALM-Element 25 verbunden.
- Das Auslesen des Speichers in Fig. 5 ist recht einfach, da die Schaltungsanordnung gegeben ist, die bereits aus der "Logikkonfiguration" (in Fig. 3 gezeigt) benutzt wird. Die Leseadreßleitungen werden den Leitungen 225, 226, 227 und 230 zugeführt, und der Ausgang der Auswahleinrichtungen 235, 281, 282 und 283 bilden den 4-Bit- Ausgang des Speichers.
- In Fig. 3 beträgt die Anzahl der Eingänge 11 und die Anzahl der Ausgänge 4; in Fig. 4 beträgt die Anzahl der Eingänge 9 und die Anzahl der Ausgänge 5; und in Fig. 5 beträgt die Anzahl der Eingänge 12 und die Anzahl der Ausgänge 4. Damit Schaltungen nach Figur 3-5 in einem einzelnen IC-Baustein realisiert werden können, müssen natürlich einige E/A-Leitungen für verschiedene Zwecke benutzt werden, wenn in verschiedenen Betriebsarten gearbeitet wird, und diese Leitungen müssen intern zu verschiedenen Stellen geleitet werden. Das wird dadurch erreicht, daß sich jede Leitung zu all ihren möglichen Zielen erstreckt und das Schalter an den richtigen Stellen in diese Leitungen zwischengeschaltet werden, so daß die Leitungen ihre Signale zu den richtigen Stellen führen. Dies wird in Fig. 6 dargestellt, in der die Schaltungen nach den Figuren 3-5 miteinander kombiniert sind (die Bezugszeichen wurden der Einfachheit halber entfernt). Einige der Konfigurationsschalter werden mit dem Zeichen X gezeigt.
- Wie oben erwähnt, wird vorgeschlagen, daß das in den Figuren 3, 4 und 5 beschriebene konfigurierbare Funktionselement in seinen verschiedenen Betriebsarten am meisten als ein Element, das in einer konfigurierbaren Leitwegstruktur eingebettet ist, benutzt werden soll.
- Fig. 7 stellt ein "kachelartig verbindbareses" Modul der Leitwegstruktur dar, die das konfigurierbare Funktionselement (Elemente 21-25), die Schaltelemente 20 und 27 (eingebettet in das Leitnetz 200) und die Signalspeicher 26 umfaßt. Im speziellen umfaßt das "kachelartig verbindbare" Modul 100 vertikale Leitungen A, vertikale Leitungen B, horizontale Leitungen C und horizontale Leitungen D. Die vertikalen Leitungen und die horizontalen Leitungen (Randleitungen) sind so angeordnet, daß sie einen zentralen Bereich bilden, in dem sich Schaltungselemente 20 und 27 (z.B. Element 200), die Signalspeicher 26 und das konfigurierbare Funktionselement (21-25) befinden. Das Modul ist "kachelartig verbindbar", weil ein identisches anderes kachelartig verbindbares Modul mit jeder der 4 Seiten des Moduls über einige oder alle A-, B-, C- und D-Randleitungen verbunden sein kann, wobei die Anordnung der "kachelartig verbindbaren" Module für beliebig viele Module erweitert werden kann, um eine rechteckförmige Anordnung zu bilden. Es kann beobachtet werden, daß, wenn solches Kacheln auftritt, die Leitungen B eines gekachelten Moduls in der Nähe der Leitungen A des nächsten gekachelten Moduls liegen und die Leitungen A am oberen Ende des einen Moduls mit den A- Leitungen an der Unterseite des benachbarten Moduls, das über diesem liegt, verbunden sind. Es kann auch beobachtet werden, daß einige der A-, B-, C- und D-Leitungen zwischengeschaltete Schalter umfassen, die durch die Konfigurationsinformation gesteuert werden. Die Muster der Schalter müssen nicht die gleichen sein.
- In Fig. 2 sind die Schaltelemente 20 und 27 als separate Elemente dargestellt, aber in Wirklichkeit können sie aus einem einzigen vermittlungsnetz bestehen; deshalb sind sie in Fig. 7 durch das Leitnetz 200 dargestellt. Netzwerk 200 ist als ein Kreuzschienennetz, auch Crossbar- Netz genannt, dargestellt. Die Eingangsleitungen 277, 278, 279 und 280 kommen von den Randleitungen, die Leitung 281 kommt vom Leitnetz 210 und die Leitung 282 kommt von den Ausgängen der Signalspeicher 26. Tatsächlich stellt jede gezeigte Leitung einen Satz von Leitungen dar, wie nachfolgend im einzelnen beschrieben. Ein sorgfältiger Blick auf die Figuren 3, 4 und 5 läßt erkennen, daß die notwendige Anzahl von Eingängen zum Block 21 zwölf beträgt, und daher die Anzahl der Ausgänge des Netzes 200 gleichfalls zwölf beträgt.
- In Anbetracht der Durchführbarkeit der Anordnung nach Fig. 6, bei der kachelartig verbindbare Module miteinander verbunden sind, ist ein wichtiger Aspekt die Geschwindigkeit mit der die Anordnung arbeiten kann. Im besonderen muß die Ohmsche und kapazitive Last, die auf allen Randleitungen zu finden ist, sorgfältig berücksichtigt werden. Man muß z. B. erkennen, daß jede Leitung vom Rand zum Netz 200 eine Last für die Randleitung darstellt, selbst wenn die Leitung abgeschaltet ist. Diese Last wird gemäß einem Merkmal der Erfindung durch einen Isolationsmechanismus minimiert, der im wesentlichen das Signal der Randleitung durch eine Anzahl von Koppelpunkten fächerförmig ausbreitet. Das ist in Fig. 8 dargestellt.
- Fig. 8 zeigt eine Anordnung gemäß den Grundsätzen der Erfindung. Es wird nur eine C-Leitung (vom Netz 288 nach Fig. 7) und eine A-Leitung (von Netz 287 nach Fig. 7) dargestellt, aber es ist verständlich, daß eine ähnliche Schaltungsanordnung in den kachelartig verbindbaren Modulen mit einer beliebigen Anzahl von C- und A-Leitungen zum Verbinden der Leitungen B und D im Netz 200 und zum Verbinden der A-, B-, C- und D-Leitungen untereinander enthalten ist.
- Die Hauptisolation (und Lastbegrenzung) wird für die Leitung C mittels eines FET-Schalters 301 bereitgestellt. Wenn dieser "sperrt", stellen alle Schaltungen, die nach dem FET 301 angeschlossen sind, keine Last für die C-Leitung dar. Der Ausgang des FET 301 ist mit allen sekundären FETs verbunden, von denen in Fig. 8 zwei gezeigt werden: 302 und 303. Diese können wiederum mit dritten Ausgangsverzweigungs-FETs verbunden sein, z.B. mit den FETs 304 und 305 usw., und zwar abhängig von der gewünschten Leitflexibilität. Schließlich wird der Leitungssatz, der durch die Kette der FETs gebildet wird, die von dem FET 301 kommt, zu dem Netz 200 geführt. Auf ähnliche weise ist der FET 401 mit der Leitung A verbunden und verzweigt sich ausgangsseitig über die FETs 402, 403, 404 und 405 zu dem Netz 200. Eine Verbindung zwischen der A- Leitung und der C-Leitung wird über den FET 410 erreicht.
Claims (13)
1. Konfigurierbares Funktionselement, umfassend
K Speicherzellen (221,222) wobei K eine ganze Zahl ist,
sowie eine konfigurierbare Auswahleinrichtung, die mit
den Speicherzellen (221,222) verbunden ist und auf
angelegte Dateneingangssignale anspricht, um auf
Informationen zu zugreifen, die in einer oder mehreren
Speicherzellen (221,222) gespeichert sind, und um die
durch den Zufgriff erhaltenen Informationen einem oder
mehreren Ausgangsports des Funktionselements zu
zuführen, wobei die konfigurierbare Auswahleinrichtung
aufweist eine Einrichtung zum Bilden von M
Speicheruntergruppen (22,23,24,25) mit jeweils 16
Speicherzellen, wobei M eine ganze Zahl ist, und wobei
jede Speicheruntergruppe (22,23,24,25) zwei Ausgangsbits
unter Ansprechen auf drei Auswahlbits erzeugt, die an
die Speicheruntergruppen angelegt werden, sowie eine
Einrichtung zum Bilden einer Kette von
Speicheruntergruppen (22,23,24,25) unter Verknüpfen
eines der beiden Ausgangsbits der Speicheruntergruppe i
mit einem der Auswahlbits der Speicheruntergruppe i+1,
wobei i ein ganzzahliger Index im Bereich von 1 bis M-1
ist,
gekennzeichnet durch
eine Einrichtung zum Anlegen eines unterschiedlichen
Datenbits an jede von L Speichergruppierungen der K
Speicherzellen, wobei die Gruppierungen jeweils K/L-
Speicherzellen aufweisen, wobei L eine ganze Zahl
ist,
eine Decodiereinrichtung (268), die auf Schreibadreßbits
anspricht, um eine Zelle in jeder der L
Speichergruppierungen auszuwählen, wobei die
ausgewählten Zellen in jeder der L Speichergruppierungen
ein Speicherwort bildet und
eine Einrichtung zum Speichern des Datenbits, das an
jede Speichergruppierung angelegt ist, in der
ausgewählten Zelle während des Betriebs, wobei auf diese
Weise ein Datenwort, das aus den verschiedenen Datenbits
aufgebaut ist, in einem Speicherwort gespeichert wird,
das durch die Decodiereinrichtung (268) identifiziert
wird.
2. Element nach Anspruch 1, dadurch gekennzeichnet, daß die
konfigurierbare Auswahleinrichtung folgende Merkmale
enthält:
eine Einrichtung zum Ableiten aus den
Dateneinqangssignalen die drei Auswahlbits der Speicheruntergruppe 1
sowie die beiden Auswahlbits der Speicheruntergruppen 2
bis M, die nicht von der Einrichtung zur Bildung einer
Kette gewonnen werden,
eine Einrichtung zum Übertragen der beiden Ausgangsbits
des Untermoduls M zu den Ausgangsports des
Funktionselements und
eine Einrichtung zum Übertragen des einen Ausgangsbits
der Untermodule 1 bis M-1, das nicht von der Einrichtung
zum Bilden einer Kette verknüpft wird, zu den
Ausgangsports des Funktionselements.
3. Element nach Anspruch 1, dadurch gekennzeichnet, daß die
konfigurierbare Auswahleinrichtung eine Einrichtung zum
Zugreifen auf die in irgendeinem der Speicherwörter
gespeicherten Daten, auf die die Decodiereinrichtung
(268) zugreifen kann, und zum Anlegen der durch Zugriff
erhaltenen Daten an die Ausgangsports des
Funktionselements enthält.
4. Element nach Anspruch 3, dadurch gekennzeichnet, daß die
Einrichtung zum Zugreifen und die Einrichtung zum
Speichern gleichzeitig arbeiten.
5. Element nach Anspruch 3, dadurch gekennzeichnet, daß die
Zugriffseinrichtung und die speichereinrichtung aus den
K Speicherzellen einen Zweiport-Speicher erzeugen.
6. Element nach Anspruch 1 mit folgenden Merkmalen:
Geräte-Eingangsports, Geräte-Ausgangsports und ein
Leitnetz (21) mit einem ersten Satz von E/A-Ports und
mit einem zweiten Satz von E/A-Ports zum Leiten der
Signale vom ersten Satz E/A-Ports zum zweiten Satz E/A-
Ports gemäß konfigurierbarer Leitwege, wobei die Geräte-
Eingangsports mit dem ersten Satz von E/A-Ports
verbunden sind, die Ausgangsports des Funktionselements
mit dem ersten Satz von E/A-Ports verbunden sind, ein
Untersatz des zweiten Satzes von E/A-Forts mit den
Eingangsports des Funktionselements verbunden ist und
wobei ein weiterer Untersatz des zweiten Satzes von E/A-
Ports mit den Geräte-Ausgangsports verbunden ist.
7. Element nach Anspruch 6, gekennzeichnet durch mehrere
Speicherzellen, deren Eingänge mit den Ausgangsports des
Funktionselements und deren Ausgänge mit dem ersten Satz
von E/A-Ports verbunden sind.
8. Element nach Anspruch 6, gekennzeichnet durch eine
Ausgangsverzweigungs-Schaltung, die zwischen jedem
Geräte-Eingangsport und einem oder mehreren E/A-Ports
des ersten Satzes von E/A-Ports zwischengeschaltet ist.
9. Element nach Anspruch 7, gekennzeichnet durch einen
oberen horizontalen Randbus (C-Leitungen), der über
konfigurierbare Kontaktnetze mit den Geräte-
Eingangsports verbunden ist, durch einen unteren
horizontalen Randbus (D-Leitungen), der über
konfigurierbare Kontaktnetze mit den Geräte-
Eingangsports verbunden ist, durch einen linken
vertikalen Randbus (A-Leitungen), der über
konfigurierbare Kontaktnetze mit den Geräte-Eingangs-
Ports verbunden ist, und einen rechten vertikalen
Randbus (B-Leitungen), der über konfigurierbare
Kontaktnetze mit den Geräte-Eingangsports verbunden ist.
10. Element nach Anspruch 9, dadurch gekennzeichnet, daß
wenigstens einige der Randbusse jeweils mehrere
Leitungen besitzen.
11. Element nach Anspruch 10, dadurch gekennzeichnet, daß
die mit den Randbussen verbundenen konfigurierbaren
Kontaktnetze mehrere Ausgangsverzweigungs-schaltungen
aufweisen, und zwar eine für jede einzelne Leitung der
Randbusse und jede für eine einzelne Leitung der
Randbusse, die dazu die Last eines einzelnen
Crossconnect bildet.
12. Element nach Anspruch 10, gekennzeichnet durch
konfigurierbare Schalter (X), die ausgewählte
Ausgangsverzweigungsschaltungen, die mit den Leitungen einer
horizontalen Randleitung verbunden sind, mit
ausgewählten Ausgangsverzweigungsschaltungen, die mit
Leitungen einer vertikalen Randleitung verbunden sind,
verbinden.
13. Konfigurierbares Funktionselement mit K Speicherzellen
(221,222), wobei K eine ganze Zahl ist, und mit einer
konfigurierbaren Auswahleinrichtung, die mit den
Speicherzellen (221,222) verbunden ist und auf angelegte
Dateneingangssignale anspricht, um auf Informationen zu
zugreifen, die in einer oder mehreren Speicherzellen
(221,222) gespeichert sind und um die durch den Zugriff
erhaltenen Informationen einem oder mehreren
Ausgangsports des Funktionselements zu zuführen, wobei
die konfigurierbare Auswahleinrichtung aufweist eine
Einrichtung zum Bilden von M Speicheruntergruppen
(22,23,24,25) mit jeweils C Speicherzelle, wobei M eine
ganze Zahl und C eine ganze Zahl ist, die gleich rx2b+q
ist, wobei b die Anzahl von Eingangsbits ist, die an
jede Speicherunter-gruppe (22,23,24,25) angelegt ist, q
die Anzahl von übertragenen Eingangsbits ist, die an
jede Speicheruntergruppe (22,23,24,25) angelegt sind,
und r die Gesamtanzahl von Bits ist, die von jeder
Speicheruntergruppe (22,23,24,25) erzeugt wird,
einschließlich der übertragenen Bits und Ausgangsbits,
sowie eine Einrichtung zum Bilden einer Kette aus den
Speicheruntergruppen (22,23,24,25) unter Verknüpfen der
übertragenen Bits, die von der Speiche runtergruppe i
erzeugt werden, mit der Speicheruntergruppe i+1, die
darin die q übertragenen Eingangsbits bildet, wobei i
ein ganzzahliger Index im Bereich von 1 bis M-1 ist,
gekennzeichnet durch
eine Einrichtung zum Anlegen eines unterschiedlichen
Datenbits an jede von L Speichergruppierungen der K
Speicherzellen, wobei die Gruppierungen jeweils K/L
Speicherzellen aufweisen, wobei L eine ganze Zahl
ist,
eine Decodiereinrichtung (268), die auf Schreibadreßbits
anspricht, um eine Zelle in jeder der L
Speichergruppierungen auszuwählen, wobei die
ausgewählten Zellen in jeder der L Speichergruppierungen
ein Speicherwort bilden, und
eine Einrichtung zum Speichern des Datenbits, das an
jede Speichergruppierung angelegt wird, in der
ausgewählten Zelle während des Betriebs, wobei auf diese
Weise ein Datenwort, das aus den unterschiedlichen
Datenbits aufgebaut ist, in einem Speicherwort
gespeichert wird, das von der Decodiereinrichtung (268)
identifiziert wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/679,370 US5255221A (en) | 1991-04-02 | 1991-04-02 | Fully configurable versatile field programmable function element |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69220597D1 DE69220597D1 (de) | 1997-08-07 |
DE69220597T2 true DE69220597T2 (de) | 1998-01-22 |
Family
ID=24726649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69220597T Expired - Fee Related DE69220597T2 (de) | 1991-04-02 | 1992-03-26 | Feldprogrammierbares Funktionselement |
Country Status (5)
Country | Link |
---|---|
US (1) | US5255221A (de) |
EP (1) | EP0507507B1 (de) |
JP (1) | JP2515078B2 (de) |
KR (1) | KR100242476B1 (de) |
DE (1) | DE69220597T2 (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6759870B2 (en) | 1991-09-03 | 2004-07-06 | Altera Corporation | Programmable logic array integrated circuits |
US5550782A (en) * | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US20020130681A1 (en) | 1991-09-03 | 2002-09-19 | Cliff Richard G. | Programmable logic array integrated circuits |
GB2280293B (en) * | 1993-07-19 | 1997-12-10 | Hewlett Packard Co | Architecture for programmable logic |
US5757207A (en) | 1995-03-22 | 1998-05-26 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US6049223A (en) * | 1995-03-22 | 2000-04-11 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5671432A (en) * | 1995-06-02 | 1997-09-23 | International Business Machines Corporation | Programmable array I/O-routing resource |
US5559450A (en) * | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5867422A (en) * | 1995-08-08 | 1999-02-02 | University Of South Florida | Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring |
US5744980A (en) * | 1996-02-16 | 1998-04-28 | Actel Corporation | Flexible, high-performance static RAM architecture for field-programmable gate arrays |
US6570404B1 (en) | 1996-03-29 | 2003-05-27 | Altera Corporation | High-performance programmable logic architecture |
US5977791A (en) | 1996-04-15 | 1999-11-02 | Altera Corporation | Embedded memory block with FIFO mode for programmable logic device |
US6020760A (en) * | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US6011744A (en) * | 1997-07-16 | 2000-01-04 | Altera Corporation | Programmable logic device with multi-port memory |
US6034857A (en) | 1997-07-16 | 2000-03-07 | Altera Corporation | Input/output buffer with overcurrent protection circuit |
US6289494B1 (en) | 1997-11-12 | 2001-09-11 | Quickturn Design Systems, Inc. | Optimized emulation and prototyping architecture |
US6467017B1 (en) | 1998-06-23 | 2002-10-15 | Altera Corporation | Programmable logic device having embedded dual-port random access memory configurable as single-port memory |
JP3576837B2 (ja) | 1998-10-30 | 2004-10-13 | 日本電気株式会社 | プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ |
US6262933B1 (en) | 1999-01-29 | 2001-07-17 | Altera Corporation | High speed programmable address decoder |
US6486702B1 (en) | 1999-07-02 | 2002-11-26 | Altera Corporation | Embedded memory blocks for programmable logic |
US6633181B1 (en) | 1999-12-30 | 2003-10-14 | Stretch, Inc. | Multi-scale programmable array |
US6720796B1 (en) | 2001-05-06 | 2004-04-13 | Altera Corporation | Multiple size memories in a programmable logic device |
US7111110B1 (en) | 2002-12-10 | 2006-09-19 | Altera Corporation | Versatile RAM for programmable logic device |
US8001266B1 (en) | 2003-03-31 | 2011-08-16 | Stretch, Inc. | Configuring a multi-processor system |
US7581081B2 (en) | 2003-03-31 | 2009-08-25 | Stretch, Inc. | Systems and methods for software extensible multi-processing |
US7590829B2 (en) | 2003-03-31 | 2009-09-15 | Stretch, Inc. | Extension adapter |
US7613900B2 (en) | 2003-03-31 | 2009-11-03 | Stretch, Inc. | Systems and methods for selecting input/output configuration in an integrated circuit |
US7418575B2 (en) | 2003-07-29 | 2008-08-26 | Stretch, Inc. | Long instruction word processing with instruction extensions |
US7373642B2 (en) | 2003-07-29 | 2008-05-13 | Stretch, Inc. | Defining instruction extensions in a standard programming language |
EP1676208A2 (de) * | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Datenverarbeitungseinrichtung und verfahren |
US20050228943A1 (en) * | 2004-04-02 | 2005-10-13 | Decenzo David P | Multipath redundant storage system architecture and method |
US10482209B1 (en) | 2018-08-06 | 2019-11-19 | HLS Logix LLC | Field programmable operation block array |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4896296A (en) * | 1985-03-04 | 1990-01-23 | Lattice Semiconductor Corporation | Programmable logic device configurable input/output cell |
US5343406A (en) * | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
US4975601A (en) * | 1989-09-29 | 1990-12-04 | Sgs-Thomson Microelectronics, Inc. | User-writable random access memory logic block for programmable logic devices |
-
1991
- 1991-04-02 US US07/679,370 patent/US5255221A/en not_active Expired - Lifetime
-
1992
- 1992-03-26 DE DE69220597T patent/DE69220597T2/de not_active Expired - Fee Related
- 1992-03-26 KR KR1019920004899A patent/KR100242476B1/ko not_active IP Right Cessation
- 1992-03-26 EP EP92302642A patent/EP0507507B1/de not_active Expired - Lifetime
- 1992-03-30 JP JP4102366A patent/JP2515078B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05119964A (ja) | 1993-05-18 |
EP0507507A3 (en) | 1993-02-24 |
DE69220597D1 (de) | 1997-08-07 |
EP0507507B1 (de) | 1997-07-02 |
JP2515078B2 (ja) | 1996-07-10 |
EP0507507A2 (de) | 1992-10-07 |
US5255221A (en) | 1993-10-19 |
KR100242476B1 (ko) | 2000-03-02 |
KR920020320A (ko) | 1992-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69220597T2 (de) | Feldprogrammierbares Funktionselement | |
DE2646163C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE69822796T2 (de) | Nutzerprogrammierbarer prozessor | |
DE2753063C3 (de) | ||
DE68923541T2 (de) | Programmierbare Logikeinrichtung mit einer Vielzahl von programmierbaren Logikarrays, die sich in mosaikförmiger Anordnung zusammen mit einer Vielzahl von vermischt angeordneten Interface-Blöcken befinden. | |
DE3788747T2 (de) | Halbleiterspeicher. | |
DE2747075C2 (de) | Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen | |
DE2347387A1 (de) | Permutationsschaltung | |
DE2621882A1 (de) | Dynamischer digitalspeicher mit ununterbrochen umlaufendem datenfluss | |
DE2926322C2 (de) | Speicher-Subsystem | |
DE3618136C2 (de) | ||
DE3882990T2 (de) | Verfahren und gerät zur simulation von m-dimensionalen verbindungsnetzwerken in einem n-dimensionalen netzwerk, worin m kleiner ist als n. | |
DE69014143T2 (de) | Optische Verbindungs-Netzwerke. | |
DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
DE2918086A1 (de) | Verfahren zur herstellung von konferenzverbindungen zwischen jeweils drei konferenzteilnehmern in einem pcm-zeitmultiplexvermittlungssystem | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher | |
DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
DE19701508C2 (de) | Selbstkonfigurierendes modulares Elektroniksystem, insbesondere Computersystem | |
DE2024584B2 (de) | Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung | |
DE1499284B2 (de) | Datenverarbeitungsanlage | |
DE69331028T2 (de) | Datenverarbeitungsvorrichtung mit einer Prozessorarchitektur für Einzelbefehle und Mehrfachdaten | |
DE2234982A1 (de) | Expanderschaltung fuer ein programmierbares steuergeraet | |
DE4446656C2 (de) | Steuerungssystem für Telekommunikations-Anlagen | |
EP0217232B1 (de) | Schaltungsanordnung zur Generierung von Splitting-Adressen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: LATTICE SEMICONDUCTOR CORP., (N.D.GES.D. STAATES D |
|
8328 | Change in the person/name/address of the agent |
Free format text: PATENTANWAELTE VON KREISLER, SELTING, WERNER ET COL., 50667 KOELN |
|
8339 | Ceased/non-payment of the annual fee |