[go: up one dir, main page]

DE69220597T2 - Feldprogrammierbares Funktionselement - Google Patents

Feldprogrammierbares Funktionselement

Info

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
Application number
DE69220597T
Other languages
English (en)
Other versions
DE69220597D1 (de
Inventor
Dwight Douglas Hill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lattice Semiconductor Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of DE69220597D1 publication Critical patent/DE69220597D1/de
Application granted granted Critical
Publication of DE69220597T2 publication Critical patent/DE69220597T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17704Logic 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural 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.
  • Kurze Beschreibung der Zeichnungen
  • 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.
  • Detaillierte Beschreibung
  • 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.
DE69220597T 1991-04-02 1992-03-26 Feldprogrammierbares Funktionselement Expired - Fee Related DE69220597T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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