DE69411292T2 - Programmierbare logische Schaltung - Google Patents
Programmierbare logische SchaltungInfo
- Publication number
- DE69411292T2 DE69411292T2 DE69411292T DE69411292T DE69411292T2 DE 69411292 T2 DE69411292 T2 DE 69411292T2 DE 69411292 T DE69411292 T DE 69411292T DE 69411292 T DE69411292 T DE 69411292T DE 69411292 T2 DE69411292 T2 DE 69411292T2
- Authority
- DE
- Germany
- Prior art keywords
- array
- data
- programmable logic
- circuit
- lines
- 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
- 230000006870 function Effects 0.000 description 35
- 238000003491 array Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
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/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine programmierbare Logik-Schaltung und insbesondere auf solch eine Schaltung, welche dazu verwendet werden kann, eine programmierbare Logik-Einheit zu implementieren.
- Programmierbare Logik-Einheiten (PLD) sind Logik-Einheiten, die durch einen Anwender programmiert werden können, um eine spezifische logische Funktion auszuführen. Sie bestehen im allgemeinen aus einer Vielzahl von logischen Funktionsgeneratoren, die einer mit dem anderen durch ein Verbindungsnetzwerk verbunden sind. Es sind programmierbare Logik-Einheiten bekannt, bei denen sowohl die Funktionsgeneratoren als auch das Verbindungsnetzwerk programmiert werden kann. Der logische Funktionsgenerator wird im allgemeinen als eine Elementarzelle betrachtet, wobei die programmierbare Logik-Einheit (PLD) ein reguläres Feld der Elementarzellen ist. Es ist eine Anzahl derartiger Elementarzellen bekannt, die in allgemeiner Anwendung unten diskutiert werden. Kundenprogrammierbares Gatter-Feld (FPGA) ist ein allgemeiner Ausdruck, der in Fachkreisen gemeinhin für Groß-Kapazitäts-PLDs verwendet wird.
- Die Elementarzelle ist ein logisches Gatter mit einer festen logischen Funktion, häufig ein NAND-Gatter in einem CMOS- Baustein. Es ist bekannt, ein Feld solcher Gatter mit einem programmierbaren Verbindungsnetzwerk zu konstruieren, obwohl die logische Funktion jedes Elements fest ist. Die Programmierbarkeit des Verbindungsnetzwerkes ergibt sich aus der Bereitstellung eines Multiplexers an den Eingängen eines jeden NAND- Gatters, so daß die Eingänge in jedes NAND-Gatter von irgendei ner aus einer Anzahl verschiedener Elementarzellen innerhalb des Verbindungsnetzwerkes kommen können. Das Feld kann dann durch Setzen eines Zustandes aller Multiplexer in dem Feld programmiert werden, so daß Signale in zutreffender Weise durch das Feld geleitet werden.
- Diese Felder weisen eine Vielzahl von Reihen von Schaltern auf, wobei jede Reihe einen Ausgang bereitstellt, welcher ein logisches OR von einigen aus einer Vielzahl von Eingängen in die Schalter in jener Reihe ist. Jede Reihe ist dazu ausgebildet, einen Satz von Eingängen und ihre Inversen zu erhalten. Die durch das Feld zu implementierende logische Funktion wird durch Setzen des Zustandes der Schalter gesetzt. Die selbe Struktur kann auch dazu verwendet werden, eine logische AND-Funktion zu generieren. Es ist bekannt ein programmierbares Logik-Feld zu verwenden, um Ausgänge bereitzustellen, welche als Eingänge für ein zweites derartiges Feld verwendet werden, wobei diese häufig als AND-Ebene-/OR-Ebene-Strukturen bezeichnet werden.
- Die grundlegende Elementarzelle für eine Nachschlagetabelle ist ein kleiner Direktzugriffsspeicher mit einer Vielzahl von Speicherzellen. Eingänge in den Speicher stellen die Adresse für den Speicher bereit und ein Ausgang sind die von der Zelle an dem adressierten Speicherplatz ausgelesenen Daten. Durch Speichern geeigneter Daten in dem Speicher ist es möglich, irgendeine Bool'sche Funktion aus einer Anzahl von Variablen bis hin zur Adressbreite des Speichers zu erzeugen.
- Das feste Gatter-Feld, der PLA-Schalter und die LUT-Zelle werden alle durch Speichern von Daten gemäß der zu implementierenden logischen Funktion programmiert. In dem PLA steuern diese Daten den Zustand der Schalter des PLA; in der LUT werden diese Daten in der Speicherzelle gespeichert; und in dem festen Gatter-Feld steuern die Daten die Leitwegverbindungen des Multiplexers.
- Die oben aufgestellten verschiedenen Typen von programmierbaren Logik-Einheiten haben verschiedene Charakteristika, so daß sie für bestimmte logische Manipulationen bevorzugt werden und für andere weniger bevorzugt werden. Die folgende Tabelle gibt eine allgemeine Anleitung dafür, was die guten Punkte und die schlechten Punkte eines jeden Typs einer programmierbaren Logik-Einheit sind.
- Somit wird ein Anwender, der eine bestimmte programmierbare Logik-Einheit basierend auf seiner bevorzugten Implementierung ausgewählt hat, herausfinden, daß er nicht die Vielseitigkeit hat, jene Logik-Einheit mit optimaler Wirkung in verschiedenen logischen Anwendungen zu verwenden. Die vorliegende Erfindung trachtet danach, eine programmierbare Logik-Einheit bereitzustellen, die vielseitiger ist.
- EP-A-410 759 beschreibt ein konfigurierbares Logik-Feld, welches ein Feld aus logischen Blocks hat, von denen jeder so konfiguriert werden kann, um eine gewünschte logische Funktion zu erfüllen. Insbesondere können einige der konfigurierbaren Blocks als Nachschlagetabellen mit einem Feld aus RAM-Zellen konfiguriert werden. Gemäß EP-A-410759 können die diese Nachschlagetabellen bildenden RAM-Zellen in der Weise konfiguriert werden, daß sie alternativ zum Speichern von Benutzerdaten wie auch zum Erzeugen einer logischen Funktion verwendet werden können. Somit wird ein Grad mehr an Flexibilität bei dem in EP- A-410759 beschriebenen konfigurierbaren Logik-Feld geboten. Nichts destotrotz umfaßt das programmierbare Logik-Feld noch eine Anzahl von logischen Blocks, welche logische Elemente wie etwa z. B. AND/OR- oder MUX-Gatter oder Flip-Flops haben, welche konfiguriert werden können, um eine bestimmte logische Funktion bereitzustellen.
- Die vorliegende Erfindung trachtet danach, ein programmierbares Logik-Feld bereitzustellen, das vielseitig ist, während es die Abhängigkeit von der Implementierung bestimmter logischer Gatter reduziert.
- Bei einer in besonderer Weise nützlichen Kombination kann die Funktion der Nachschlagetabelle kombiniert werden mit einem programmierbaren Logik-Feld, bei dem die logischen Elemente jeweils selektiv an eine Ausgangsleitung über Schalterschaltungen, deren Zustand in Reaktion auf die gespeicherten Leitwegdaten gesetzt werden kann, anschließbar sind.
- Es ist im besonderen herausgefunden worden, daß es möglich ist, eine programmierbare Logik-Einheit zu implementieren, bei der eine Speicherzelle im Stande ist, die Funktion des Speicherplatzes und auch die Funktion des logischen Elements und der Schalterschaltung zu implementieren.
- Gemäß der vorliegenden Erfindung wird bereitgestellt eine programmierbare Logik-Einheit mit einer Vielzahl von durch ein Verbindungsnetzwerk miteinander verbundenen Logik-Schaltungen mit jeweils:
- einem Speicherzellenfeld, wobei jede Speicherzelle reaktiv ist auf ein Adress-Signal an dem Speicherplatz jener Zelle, um im Betriebsmodus (a) die in der Zelle gespeicherten Daten auszugeben, und eine erste Schaltungsanordnung zum Betreiben des Feldes als Direktzugriffsspeicher mit der Zelle im Betriebsmodus (a), dadurch gekennzeichnet, daß jede Logik-Schaltung ferner umfaßt: eine zweite Schaltungsanordnung zum Betreiben des Feldes als Assoziativspeicher mit den Zellen im Betriebsmodus (b), wobei in dem Betriebsmodus jede Speicherzelle derart betreibbar ist, in sie eingegebene Daten mit in ihr gespeicherten Daten zu vergleichen und ein Übereinstimmungssignal auszugeben, wenn die eingegebenen Daten mit den gespeicherten Daten übereinstimmen, und
- eine Betriebsmodus-Auswahlschaltung, die derart betreibbar ist, den Betrieb der Zelle als CAM oder als RAM selektiv zu steuern, wobei die Logik-Einheit ferner eine Programmier- Schaltungsanordnung aufweist, die dazu ausgebildet ist, den Zustand der Betriebsmodus-Auswahlschaltung zu steuern.
- Somit trachtet die vorliegende Erfindung unter ihrem breitesten Aspekt danach, ein Feld von Elementarzellen bereitzustellen, bei denen jede Elementarzelle entweder als eine Nachschlagetabellen-Logik-Einheit dürch Verwendung der Adressier- Schaltungsanordnung zum Adressieren der die Nachschlagetabelle definierenden Speicherplätze oder als ein logischer Funktionsgenerator, dessen Funktion durch die gespeicherten Leitwegdaten festgelegt wird, verwendet werden kann.
- Die Betriebsmodus-Auswahlschaltung kann dazu ausgebildet sein, eine in die Zelle eingegebene Sequenz von Datenbits selektiv zu einer der ersten und zweiten Schaltungsanordnungen zu leiten. Alternativ kann die Betriebsmodus-Auswahlschaltung dazu ausgebildet sein, einen bestimmten Ausgang auszuwählen, wie gewünscht, der CAM oder der RAM-Ausgang zu sein.
- Vorzugsweise enthält das Speicherzellenfeld: Eine Vielzahl von Wortleitungen, von denen jede Wortleitung mit einer Vielzahl von in einer Reihe angeordneten Zellen verbunden ist; eine Vielzahl von Übereinstimmungsleitungen, von denen jede Übereinstimmungsleitung dazu ausgebildet ist, von der Vielzahl von Zellen in der Reihe getrieben zu werden, eine Vielzahl von Datenleitungen, von denen jede Datenleitung mit einer Vielzahl in einer Spalte angeordneten Zellen verbunden ist, und eine Vielzahl von Sätzen von Bitleitungen, von denen jeder Satz einer Vielzahl von in einer Reihe angeordneten Zellen zugeordnet ist. Das Feld kann unter Verwendung bekannter CAM-Zellen implementiert werden. Ein Feld aus CAM-Zellen kann als Direktzugriffsspeicher verwendet werden, wobei dem Feld bereitgestellte Adressbits eine bestimmte Wortleitung und einen bestimmten Satz von Bitleitungen auswählen, so daß ein Datenbit von dem Speicherplatz, auf den dadurch zugegriffen wird, gelesen wird. Somit kann das Speicherzellenfeld programmiert werden, um als Nachschlagetabelle zu agieren. Das CAM-Feld kann ebenso eine assoziative Funktion implementieren, wo eine auf den Datenleitungen plazierte Bitsequenz mit der in einer Reihe der CAM- Zellen gespeicherten Bitsequenz verglichen wird, einem Signal auf der Übereinstimmungsleitung, das der Reihe zugeordnet ist, die eine Datenbitsequenz enthält, welche die eine Übereinstimmungsausgabe anzeigende Eingangssequenz von Datenbits enthält. Somit kann das Speicherzellenfeld als ein PAL-Feld arbeiten, bei dem jede Reihe mit einer PAL-Leitung korrespondiert.
- Wo sowohl der Übereinstimmungsausgang und der Bitleitungsausgang verfügbar sind, kann die Betriebsmodus-Auswahlschaltung festlegen, welche von diesen am Ausgang der Logik-Schaltung verwendet wird.
- Wie beschrieben werden unterschiedliche Datenleitungen und Bitleitungen für jede Spalte von Zellen bereitgestellt, auswählbar in Abhängigkeit davon, ob die RAM- oder CAM-Funktion implementiert werden soll. Bei einer alternativen Ausgestaltung kann die Funktion der Datenleitung und des Satzes von Bitleitungen für jede Spalte kombiniert werden zu einem einzigen Satz von Leitungen, dessen Verbindungen steuerbar sind, um sie dazu zu befähigen, eine Datenleitungs- oder Bitleitungsfunktion auszuführen.
- Die erste Schaltungsanordnung kann eine Adress- Schaltungsanordnung zum Adressieren einer bestimmten Wortleitung des Feldes und eine Lese-Schaltungsanordnung zum Auslesen der Daten auf einer bestimmten Bitleitung des Feldes aufweisen. Wenn somit die Betriebsmodus-Auswahlschaltungsanordnung derart betreibbar ist, eine in die Zellen eingegebene Datensequenz zu der ersten Schaltungsanordnung zu leiten, wird ein erster Satz der eingegebenen Datenbits der Adress-Schaltungsanordnung bereitgestellt und ein zweiter Satz von Datenbits wird der Lese- Schaltungsanordnung bereitgestellt.
- Wenn die Betriebsmodus-Auswahlschaltungsanordnung derart betreibbar ist, die Sequenz eingegebener Datenbits zu der zweiten Schaltungsanordnung zu leiten, werden die Datenbits direkt auf die Datenleitungen der Zelle über Datenleitungstreiber gegeben.
- Vorzugsweise enthält jede programmierbare Logik-Schaltung eine Ausgabeeinheit, welche in der Lage ist, Ausgaben von den Übereinstimmungsleitungen des Feldes und von der Lese- Schaltungsanordnung ausgegebene Datenbits zu empfangen. Die Da ten, die von der Schaltung durch die Ausgabeeinheit von der programmierbaren Logik-Einheit bereitgestellt werden, werden von dem Einstellen der Betriebsmodus-Auswahl- Schaltungsanordnung abhängen.
- Eine programmierbare Logik-Schaltung dieses Typs kann programmiert werden, um die Funktion eines programmierbaren Logik- Feldes oder einer Nachschlagetabelle gemäß den in dem Feld gespeicherten Daten und der Einstellung des Feldes gemäß der Betriebsmodus-Schaltungsanordnung bereitzustellen.
- Die Erfindung stellt auch ein Feld derartiger programmierbarer Logik-Schaltungen bereit, die durch ein Verbindungsnetzwerk, das programmierbar sein kann, verbunden werden. Jede programmierbare Logik-Schaltungen kann, wenn sie in einem Feld eingebunden sind, eine Puffer-Schaltungsanordnung an ihren Eingängen und Ausgängen beinhalten, um sie dazu zu befähigen, mit benachbarten Schaltungen in dem Feld zusammenzuarbeiten.
- Zum besseren Verständnis der vorliegenden Erfindung und um zu zeigen, wie selbige realisiert werden kann, wird nun mit Hilfe von Beispielen auf die begleitenden Zeichnungen verwiesen, bei denen:
- Fig. 1 eine erste Ausführungsform einer Assoziativspeicherzelle zur Verwendung bei der vorliegenden Erfindung erläutert;
- Fig. 2 ein eine Ausführungsform einer programmierbaren Logik- Schaltung erläuterndes Blockdiagramm ist;
- Fig. 3 ein eine verbesserte Ausführungsform einer programmierbaren Logik-Schaltung erläuterndes Blockdiagramm ist;
- Fig. 4 ein einen Teil eines Feldes von programmierbaren Logik- Schaltungen zeigendes Blockdiagramm ist.
- Zuerst bezugnehmend auf Fig. 1 umfaßt eine Assoziativspeicherzelle erste und zweite Zugriffstransistoren 2, 4, deren Gate- Anschlüsse jeweils mit einer Wortleitung W verbunden sind, deren Source-Anschlüsse mit Bitleitung B beziehungsweise seiner inversen Bitleitung B verbunden sind und deren Drain-Anschlüsse mit einem Zwischenspeicher 6 verbunden sind. Die CAM-Zelle hat auch erste und zweite Paare 8, 10 zugeordneter Transistoren. Jedes Paar zugeordneter Transistoren ist wie folgt verschaltet. Ein erster Transistor 12 eines jeden Paare ist über seinen Gate-Anschluß mit dem Zwischenspeicher 6 verbunden, sein Source- Anschluß ist mit einer Übereinstimmungsleitung M der Zelle verbunden und sein Drain-Anschluß ist mit dem Source-Anschluß eines zweiten Transistors 14 des Paares verbunden. Die zweiten Transistoren 14 sind über ihre Gate-Anschlüsse entsprechend mit den Datenleitungen D und seinen Inversen D verbunden und ihre Drain-Anschlüsse sind mit Masse verbunden.
- Die Zelle kann auf zwei Arten verwendet werden. In einem RAM- Modus, wenn die Adress-Schaltungsanordnung die Wortleitung W hochzieht, wird ein in der Zelle gespeichertes Datenbit über den Bitleitungen B/B erscheinen und kann durch eine übliche Lese-Schaltungsanordnung ausgelesen werden. In einem CAM-Modus, wenn ein Datenbit auf den Datenleitungen D/D plaziert worden ist, werden die Übereinstimmungsleitungen nach unten gehen, wenn das Datenbit nicht mit dem in der Zelle gespeicherten Datenbit übereinstimmt.
- In Fig. 2 bezeichnet Bezugszeichen 16 ein Feld derartiger CAM- Zellen. In der hierin beschriebenen besonderen Ausführungsform handelt es sich um ein 4 · 4-Feld. Eine dem Feld zugeordnete RAM- Zugriffsschaltungsanordnung umfaßt einen Dekoder 18, der mit den Wortleitungen W des Feldes entsprechend verschaltete vier Ausgangsleitungen 20 hat. Die RAM-Zugriffsschaltungsanordnung enthält auch eine Lese-Schaltungsanordnung 22, die mit jeder der vier Bitleitungen B und ihren Inversen B verbunden ist und die einen Bitleitungsauswähler zum Auswählen, welche Spalte der Zellen ausgelesen werden soll, in einer per se wohlbekannten Art aufweist. Wenn das Feld in dem RAM-Betriebsmodus verwendet wird, wird der Einzelbitausgang von der Lese- Schaltungsanordnung in jede der vier Leitungen eines 4-Bit- Busses eingespeist, um einen 4-Bit-Bus-Ausgang 23 bereitzustellen.
- Eine CAM-Zugriffsschaltungsanordnung 24 umfaßt Datenleitungstreiber zum Treiben von Daten in die Datenleitungen D und ihre Inversen D zur Verwendung bei assoziativem Betrieb. Wenn die CAM-Zugriffsschaltungsanordnung in Anwendung ist, erscheinen die Ausgänge von dem Feld auf den Übereinstimmungsleitungen N und werden in den 4-Bit-Bus 17 eingespeist.
- Eine Eingangsleitwegschaltung 28 erhält ein 4-Bit-Eingangswort 26 und kann den Betriebsmodus des Feldes festlegen durch entweder Leiten 4-Bit-Eingangswortes direkt zu den Datenleitungstreibern 24 oder durch Aufspalten dessen in wirksamer Weise einen Reihen-Adress-RA, die in den Dekoder 18 eingespeist wird und die Spalten-Adress-CA, die in den Bitleitungswähler 22 eingespeist wird. Eine Ausgangsschaltung 30 kann zwischen dem 4-Bit-Bus 17, der vier Ausgänge von den Übereinstimmungsleitungen erhält, und dem 4-Bit-Bus 23, der die Ausgänge von der Lese-Schaltungsanordnung erhält, auswählen. In beiden Fällen wird ein 4-Bit-Ausgangswort 32 von der Schaltung erzeugt.
- Die in Fig. 2 erläuterte programmierbare Logik-Schaltung kann durch einen Anwender programmiert werden, so daß sie entweder in einem ersten (RAM) oder einem zweiten (CAM)Modus arbeitet. In dem ersten Modus kann eine Nachschlagetabellenoperation erzielt werden unter Verwendung eines üblichen Lesezyklus in dem Feld. In diesem Modus wird ein 4-Bit-Eingangswort verwendet, um einen Speicherplatz in dem Feld zu adressieren, bei dem dort Daten, die das logische Ergebnis einer auf den 4-Bits des Ein gangswortes operierenden bestimmten Funktion repräsentieren, in üblicher Nachschlagetabellen-Weise gespeichert werden. In dem zweiten Betriebsmodus kann eine Funktion eines programmierbaren Logik-Feldes erzielt werden unter Verwendung des Assoziativbetriebes des CAM. In diesem Modus handelt jede Reihe des Feldes als eine Leitung eines programmierbaren Logik-Feldes mit vier Eingängen. Somit kann das Feld jede beliebige Funktion aus vier Eingängen in einem Nachschlagetabellenmodus implementieren oder vier programmierbare logische Feldleitungen mit jeweils vier Eingängen bereitstellen.
- Fig. 3 erläutert eine verbesserte Version der programmierbaren Logik-Schaltung nach Fig. 2, welche Logik-Schaltungen dazu befähigt, zusammen angewendet zu werden in einer Weise, welche die Anzahl verfügbarer Eingänge und Ausgänge erhöht. Somit bezeichnet der Block 18' eine Puffer- und Dekoderschaltungsanordnung, die nicht nur einen Dekoder bereitstellt, der dem Feld zugeordnet ist, sondern auch drei Pufferfunktionen implementieren kann. Bei der ersten Pufferfunktion können die vier Übereinstimmungsausgänge 17&sub0; von der vorherigen benachbarten Schaltung C&sub0; gepuffert werden, zur Verbindung mit den entsprechenden Übereinstimmungsleitungen M&sub1; des Feldes 16&sub1; der Schaltung C&sub1;. Auf diese Weise können Felder benachbarter Schaltungen gekoppelt werden, um größere Wortbreiten in dem CAM-Modus abzuarbeiten. Bei der zweiten Pufferfunktion können die vier Wortleitungen WO von der vorherigen benachbarten Schaltung C&sub0; gepuffert werden zur Verbindung mit den entsprechenden Wortleitungen W&sub1; des Feldes 16&sub1;.
- Die Fähigkeit der programmierbaren Logik-Schaltung nach Fig. 3, die Wortleitungen benachbarter Schaltungen zu verbinden, um sich als eine einzige Wortleitung zu verhalten, ermöglicht die Konstruktion großer Speicherfelder. Ebenso könnten die Wortleitungen der Schaltung C&sub0; in einigen Fällen dazu verwendet wer den, das Feld 16&sub1; der Schaltung C&sub1; zu adressieren durch Hochziehen einer bestimmten Wortleitung und Zulassen, daß Daten durch den Bitleitungsauswähler 22 ausgelesen werden. In der dritten Pufferfunktion kann der Übereinstimmungsausgang 17&sub0; der Schaltung C&sub0; mit den Wortleitungen W&sub1; des Feldes 16&sub1; verbunden werden, dabei erlaubend, daß das Speicherfeld 16&sub1; durch die Übereinstimmungsausgänge 17&sub0; der vorherigen benachbarten Schaltung C&sub0; adressiert wird. Auf diese Weise können wiederum benachbarte Felder zur Schaffung größerer Speicherfelder gekoppelt werden mit einigen Schaltungen, die dazu verwendet werden, die Daten und anderes zu speichern, um das Adressieren durchzuführen.
- Eine ähnliche Pufferfähigkeit kann zusätzlich zu der Ausgangsschaltung 30 wie erläutert durch eine Pufferschaltung 31 bereitgestellt werden. In dieser Weise können die Wortleitungen W&sub1; des Feldes 16&sub1; entweder mit den Wortleitungen W&sub2; oder den Übereinstimmungsleitungen M&sub2; der benachbarten folgenden Schaltung C&sub2; oder die Übereinstimmungsausgänge 17&sub1; des Feldes 16&sub1; können mit den Übereinstimmungsleitungen M&sub2; der benachbarten nachfolgenden Schaltung C&sub2; verbunden werden. Es ist ersichtlich, daß diese Puffertechnik den Feldern einer beliebigen Anzahl von benachbarten Schaltung es erlaubt, miteinander gekoppelt zu werden, um viel größere Wortbreiten zu behandeln als es mit einem einzigen Feld möglich wäre. Es gestattet dem Feld einer einzigen Schaltung auch, durch eine benachbarte Schaltung adressiert zu werden oder diese zu adressieren.
- Eine zusätzliche Pufferschaltung 34 ist mit den Datenleitungen D&sub1;, D&sub1; und den Bitleitungen B&sub1;, B&sub1; verbunden, um es einer oberen benachbarten Schaltung C&sub3; zu gestatten, daß dessen Datenleitungen D&sub3;, D&sub3; mit den Datenleitungen D&sub1;, D&sub1; der Schaltung C&sub1; verbunden sind und dessen Bitleitungen B&sub3;, B&sub3; mit den Bitleitungen B&sub1;, B&sub1; der Schaltung C&sub1; verbunden sind. Die Pufferschaltung 34 kann alternativ die Datenleitungen D&sub3;, D&sub3; mit den Bitleitungen B&sub1;, B&sub1; verbinden, um einen alternativen Schreibpfad bereitzustellen.
- Der Datenleitungstreiber 24 der Schaltung nach Fig. 2 wird durch eine Treiber-/Puffer-Schaltung 24' ersetzt, welche nicht nur dazu verwendet werden kann, die Datenleitungen jener Schaltung C&sub1; zu treiben, sondern kann auch zwei andere Funktionen implementieren: Erstens kann sie zusätzlich die Datenleitungen D&sub4;, D&sub4; der nächsten unteren Schaltung C&sub4; treiben; und zweitens kann sie als ein Puffer agieren, um die Datenleitungen D&sub4;, D&sub4; mit den Datenleitungen D&sub2;, D&sub2; der Schaltung C&sub1; zu verbinden. Auf diese Weise können die Schaltungen in Kombination verwendet werden, um die Anzahl verfügbarer Eingänge und Ausgänge zu erhöhen. Das Feld 16 kann beschrieben werden durch die Bereitstellung der Schreib-Schaltungsanordnung 36 in jeder programmierbaren Logik-Schaltungen, die mit den Bitleitungen B&sub1;, B&sub1; verbunden ist und die steuerbar ist in Antwort auf ein Schreib- Steuersignal WC. Die Schreib-Schaltungsanordnung 36 ist ebenfalls mit den Bitleitungen B&sub4;, B&sub4; der unteren benachbarten Schaltung C&sub4; verbunden, so daß sie gleichzeitig in das Feld 16&sub4; jener Schaltung schreiben kann. Die Schreib-Schaltungsanordnung ist auch in der Lage, eine Pufferfunktion zu implementieren, um die Bitleitungen B&sub4;, B&sub4; der niedrigeren benachbarten Schaltung mit den Bitleitungen B&sub1;, B&sub1; der Schaltung C&sub1; zu verbinden. Die einzuschreibenden Daten werden als ein 4-Bit-Eingangswort 26 bereitgestellt. Das Feld kann adressiert werden für das Einschreiben durch die Übereinstimmungsleitungen oder die Wortleitungen des Feldes einer vorherigen benachbarten Schaltung durch die Dekoder- und Pufferschaltungsanordnung 18' wie oben beschrieben. Die Eingangsleitwegschaltung 28 hat somit eine zu sätzliche Funktion in der Schaltung nach Fig. 3, um den Leitweg des Eingangswortes 26 für das Einschreiben zu bestimmen.
- Fig. 4 beschreibt ein Feld von Schaltungen, die über ein Leitwegnetzwerk, welches fest oder programmierbar sein kann, verbunden sind. In dem Feld nach Fig. 4 kann eine erste Spalte von Schaltungen dazu verwendet werden, in dem CAM-Modus mit ihren Übereinstimmungsleitungsausgängen, die mit den Wortleitungen einer benachbarten Spalte von Schaltungen verbunden sind. Diese Schaltungen sind so eingestellt, daß ihre Bitleitungen miteinander verbunden sind, so daß die Ausgangsdaten ausgelesen werden unter Verwendung der Ausgangsleitungen von gerade einer der Schaltungen in jener Spalte, ungeachtet dessen, von welcher Schaltung sie tatsächlich eingespeichert sind.
- Um die Vorteile der vorliegenden Erfindung zu erläutern, seien zwei übliche Logik-Einheiten betrachtet.
- i) Ein 4-Eingang-zu 1-aus-16-Ausgängen-Dekoder. Bei Verwendung eines üblichen programmierbaren Logik-Feldes würde solch ein Dekoder erfordern, daß jede Reihe aus vier Leitungsschaltern besteht. Der ganze Dekoder würde somit, wenn er in eine programmierbare Logik-Feld-Architektur implementiert wäre, 16 Reihen oder insgesamt 64 Schalter einnehmen.
- Mit einer Nachschlage-Tabellen-Architektur erfordert jeder Dekoderausgang eine Vier-Eingangs-Nachschlagetabelle, das ist ein 4 · 4-Speicherfeld, bei dem zwei Bits dazu verwendet werden, die Reihen des Speichers zu adressieren und zwei Bits werden dazu verwendet, die Spalten zu adressieren. Somit werden insgesamt 256 Speicherzellen benötigt.
- ii) Ein Exklusiv-OR-Gatter mit vier Eingängen. Dieses stellt für jeden Satz von vier Eingängen einen einzigen Logikbit- Ausgang bereit und kann somit in einer Nachschlagetabellen- Architektur als ein 4 · 4-Feld aus Speicherzellen implementiert werden und verwendet somit 16 Speicherzellen. Sein Bool'sches Äquivalent kann geschrieben werden als acht AND-Funktionen, jeweils aus vier Bits, die dann miteinander OR-verknüpft werden müssen. In einer programmierbaren Logik-Feld-Architektur würde jede der acht AND-Funktionen seine eigenen vier Eingangs-PAL- Leitungen erfordern und die OR-Funktion erfordert eine Acht- Eingänge-Leitung, um diese Zwischenergebnisse zu kombinieren. Das Gatter würde somit, als PLA implementiert, 40 PLA-Schalter erfordern.
- Die programmierbare Logik-Schaltung gemäß der vorliegenden Erfindung ermöglicht es, daß beide dieser Funktionen in der effizientesten Art und Weise implementiert werden. Das heißt, daß der Dekoder implementiert werden kann unter Verwendung des Feldes einer jeden Schaltung als ein CAM-Feld und durch Verwendung von vier zusammen gestapelter Schaltungen. Das Exklusiv-OR- Gatter kann implementiert werden unter Verwendung einer einzigen Schaltung, die als RAM implementiert ist.
Claims (8)
1. Programmierbare Logik-Einheit mit einer Vielzahl von durch
ein Verbindungsnetzwerk (RN) miteinander verbundenen Logik-
Schaltungen (C&sub0;, C&sub1;, C&sub2;, C&sub3;, C&sub4;) mit jeweils:
einem Speicherzellenfeld (16), wobei jede Speicherzelle
reaktiv ist auf ein Adress-Signal an dem Speicherplatz jener
Zelle, um im Betriebsmodus a) die in der Zelle gespeicherten
Daten auszugeben, und
eine erste Schaltungsanordnung (18, 22) zum Betreiben des
Feldes als Direktzugriffsspeicher RAM mit der Zelle im
Betriebsmodus a),
dadurch gekennzeichnet, daß jede Logik-Schaltung ferner
umfaßt:
eine zweite Schaltungsanordnung zum Betreiben des Feldes
als Assoziativspeicher CAM mit den Zellen im Betriebsmodus b),
wobei in dem Betriebsmodus jede Speicherzelle derart betreibbar
ist, in sie eingegebene Daten mit in ihr gespeicherten Daten zu
vergleichen und ein Übereinstimmungssignal auszugeben, wenn die
eingegebenen Daten mit den gespeicherten Daten übereinstimmen,
und
eine Betriebsmodus-Auswahlschaltung (28), die derart
betreibbar ist, den Betrieb der Zelle als CAM oder RAM selektiv
zu steuern, wobei die Logik-Einheit ferner eine Programmier-
Schaltungsanordnung aufweist, die dazu ausgebildet ist, den
Zustand der Betriebsmodus-Auswahlschaltung zu steuern.
2. Wie in Anspruch 1 beanspruchte, programmierbare Logik-
Schaltung, bei der die Betriebsmodus-Auswahlschaltung (28) dazu
ausgebildet ist, eine in die Zelle eingegebene Sequenz von
Datenbits selektiv zu einer der ersten und zweiten
Schaltungsanordnungen zu leiten.
3. Wie in Anspruch 1 beanspruchte, programmierbare Logik-
Schaltung, bei der das Feld einen ersten Ausgang zum
Bereitstellen von Ausgangsdaten hat, wenn es im Betriebsmodus
a) arbeitet, und einen zweiten Ausgang (17) zum Bereitstellen
von Ausgangsdaten, wenn es im Betriebsmodus b) arbeitet, und
bei der die Betriebsmodus-Auswahlschaltung dazu ausgebildet
ist, einen bestimmten aus den ersten und zweiten Ausgängen
auszuwählen.
4. Programmierbare Logik-Schaltung nach Anspruch 1, 2 oder
3, bei der das Speicherzellenfeld (16) aufweist:
eine Vielzahl von Wortleitungen (W), von denen jede
Wortleitung mit einer Vielzahl von in einer Reihe angeordneten
Zellen verbunden ist,
eine Vielzahl von Übereinstimmungsleitungen (M), von denen
jede Übereinstimmungsleitung dazu ausgebildet ist, von der
Vielzahl von Zellen in der Reihe getrieben zu werden,
eine Vielzahl von Datenleitungen (D, ) von denen jede
Datenleitung mit einer Vielzahl in einer Spalte angeordneten
Zellen verbunden ist, und
einer Vielzahl von Sätzen von Bitleitungen (B, ) von
denen jeder Satz mit einer Vielzahl von in einer Reihe
angeordneten Zellen verbunden ist.
5. Programmierbare Logik-Schaltung nach Anspruch 4, bei der
die erste Schaltungsanordnung eine Adress-Schaltungsanordnung
(18) zum Adressieren einer bestimmten Wortleitung des Feldes
und eine Lese-Schaltungsanordnung (22) zum Auslesen der Daten
auf einer bestimmten Bitleitung des Feldes aufweist.
6. Programmierbare Logik-Schaltung nach einem der Ansprüche 1
bis 5, die eine Puffer-Schaltungsanordnung (30, 31) umfaßt,
welche mit Eingängen und/oder Ausgängen der Schaltung verbunden
ist, um sie freizugeben, mit benachbarten Schaltungen zur
Bildung eines Logikfeldes zusammenzuarbeiten.
7. Programmierbare Logik-Schaltung nach Anspruch 4 oder 6,
bei der die Puffer-Schaltungsanordnung derart betreibbar ist,
Übereinstimmungsleitungen von einer der Logik-Schaltungen mit
Übereinstimmungsleitungen einer benachbarten der Logik-
Schaltungen in der programmierbaren Logik-Einheit zu verbinden.
8. Programmierbare Logik-Schaltung nach Anspruch 4 oder 6,
bei der die Puffer-Schaltungsanordnung dazu ausgebildet ist,
Wortleitungen von einer der Logik-Schaltungen mit Wortleitungen
einer benachbarten der Logik-Schaltungen in der
programmierbaren Logik-Einheit zu verbinden
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB939303084A GB9303084D0 (en) | 1993-02-16 | 1993-02-16 | Programmable logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69411292D1 DE69411292D1 (de) | 1998-08-06 |
DE69411292T2 true DE69411292T2 (de) | 1999-01-07 |
Family
ID=10730517
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69411292T Expired - Fee Related DE69411292T2 (de) | 1993-02-16 | 1994-02-09 | Programmierbare logische Schaltung |
DE69427241T Expired - Lifetime DE69427241D1 (de) | 1993-02-16 | 1994-02-09 | Programmierbare logische Schaltung |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69427241T Expired - Lifetime DE69427241D1 (de) | 1993-02-16 | 1994-02-09 | Programmierbare logische Schaltung |
Country Status (5)
Country | Link |
---|---|
US (2) | US5408434A (de) |
EP (2) | EP0612154B1 (de) |
JP (1) | JPH0758630A (de) |
DE (2) | DE69411292T2 (de) |
GB (1) | GB9303084D0 (de) |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6759870B2 (en) | 1991-09-03 | 2004-07-06 | Altera Corporation | Programmable logic array integrated circuits |
DE19501226A1 (de) * | 1994-03-25 | 1995-10-05 | Hewlett Packard Co | Feldprogrammierbares Gatterarray-Element zur Implementierung von Registerdateien und Assoziativspeichern |
US5442306A (en) * | 1994-09-09 | 1995-08-15 | At&T Corp. | Field programmable gate array using look-up tables, multiplexers and decoders |
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 |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5734582A (en) * | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Method and system for layout and schematic generation for heterogeneous arrays |
US5719889A (en) * | 1995-12-20 | 1998-02-17 | International Business Machines Corporation | Programmable parity checking and comparison circuit |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5760602A (en) * | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
US5977791A (en) | 1996-04-15 | 1999-11-02 | Altera Corporation | Embedded memory block with FIFO mode for programmable logic device |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
US5909125A (en) * | 1996-12-24 | 1999-06-01 | Xilinx, Inc. | FPGA using RAM control signal lines as routing or logic resources after configuration |
DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US6029236A (en) * | 1997-01-28 | 2000-02-22 | Altera Corporation | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM |
US5959466A (en) | 1997-01-31 | 1999-09-28 | Actel Corporation | Field programmable gate array with mask programmed input and output buffers |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US6150837A (en) | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
EP0863515B1 (de) * | 1997-03-05 | 2004-05-26 | STMicroelectronics S.r.l. | Verbindungskoppelmatrix für integrierte Halbleitermikrokontrollerschaltung |
US6160419A (en) | 1997-11-03 | 2000-12-12 | Altera Corporation | Programmable logic architecture incorporating a content addressable embedded array block |
US6020759A (en) * | 1997-03-21 | 2000-02-01 | Altera Corporation | Programmable logic array device with random access memory configurable as product terms |
US5940852A (en) * | 1997-05-01 | 1999-08-17 | Altera Corporation | Memory cells configurable as CAM or RAM in programmable logic devices |
US6181159B1 (en) | 1997-05-06 | 2001-01-30 | Altera Corporation | Integrated circuit incorporating a programmable cross-bar switch |
US6006321A (en) * | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
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 |
US6020760A (en) | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US6263400B1 (en) * | 1997-08-21 | 2001-07-17 | Altera Corporation | Memory cells configurable as CAM or RAM in programmable logic devices |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US5999104A (en) * | 1997-12-03 | 1999-12-07 | Ford Motor Company | Method of producing customizable automotive electronic systems |
US6005488A (en) * | 1997-12-03 | 1999-12-21 | Ford Motor Company | User control interface architecture for automotive electronic systems |
US6046603A (en) * | 1997-12-12 | 2000-04-04 | Xilinx, Inc. | Method and apparatus for controlling the partial reconfiguration of a field programmable gate array |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6147890A (en) * | 1997-12-30 | 2000-11-14 | Kawasaki Steel Corporation | FPGA with embedded content-addressable memory |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
KR100250807B1 (ko) * | 1998-02-26 | 2000-05-01 | 윤덕용 | 캠 셀 구조 및 캠 셀을 이용한 필드 컨피규어러블 램과 프로그래머블 로직어레이 겸용 메모리 |
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 |
US6144573A (en) | 1998-06-26 | 2000-11-07 | Altera Corporation | Programmable logic devices with improved content addressable memory capabilities |
US6453382B1 (en) | 1998-11-05 | 2002-09-17 | Altera Corporation | Content addressable memory encoded outputs |
US6114873A (en) * | 1998-12-17 | 2000-09-05 | Nortel Networks Corporation | Content addressable memory programmable array |
DE19860390A1 (de) * | 1998-12-28 | 2000-06-29 | Deutsche Telekom Ag | Programmierbarer Logikbaustein und Verfahren zur Dekodierung von Daten |
US6262933B1 (en) | 1999-01-29 | 2001-07-17 | Altera Corporation | High speed programmable address decoder |
JP3269526B2 (ja) | 1999-02-09 | 2002-03-25 | 日本電気株式会社 | プログラマブルロジックlsi |
US6150838A (en) | 1999-02-25 | 2000-11-21 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US6400180B2 (en) | 1999-02-25 | 2002-06-04 | Xilinix, Inc. | Configurable lookup table for programmable logic devices |
US6396302B2 (en) * | 1999-02-25 | 2002-05-28 | Xilinx, Inc. | Configurable logic element with expander structures |
US6184712B1 (en) | 1999-02-25 | 2001-02-06 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US6157211A (en) | 1999-04-14 | 2000-12-05 | Xilinx, Inc. | FPGA using RAM control signal lines as routing or logic resources after configuration |
SE518883C2 (sv) | 1999-05-19 | 2002-12-03 | Switchcore Ab | Cam/ram-minnesanordning med en skalbar struktur |
DE10081643D2 (de) | 1999-06-10 | 2002-05-29 | Pact Inf Tech Gmbh | Sequenz-Partitionierung auf Zellstrukturen |
US6486702B1 (en) | 1999-07-02 | 2002-11-26 | Altera Corporation | Embedded memory blocks for programmable logic |
US6134135A (en) * | 2000-01-10 | 2000-10-17 | Switchcore, A.B. | Mask arrangement for scalable CAM/RAM structures |
JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6990555B2 (en) | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US6605962B2 (en) | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
US6720796B1 (en) | 2001-05-06 | 2004-04-13 | Altera Corporation | Multiple size memories in a programmable logic device |
US7076595B1 (en) * | 2001-05-18 | 2006-07-11 | Xilinx, Inc. | Programmable logic device including programmable interface core and central processing unit |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7167471B2 (en) * | 2001-08-28 | 2007-01-23 | International Business Machines Corporation | Network processor with single interface supporting tree search engine and CAM |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US7420392B2 (en) * | 2001-09-28 | 2008-09-02 | Xilinx, Inc. | Programmable gate array and embedded circuitry initialization and processing |
US6781407B2 (en) | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
US6996758B1 (en) | 2001-11-16 | 2006-02-07 | Xilinx, Inc. | Apparatus for testing an interconnecting logic fabric |
US6983405B1 (en) | 2001-11-16 | 2006-01-03 | Xilinx, Inc., | Method and apparatus for testing circuitry embedded within a field programmable gate array |
US6886092B1 (en) | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
US6820248B1 (en) | 2002-02-14 | 2004-11-16 | Xilinx, Inc. | Method and apparatus for routing interconnects to devices with dissimilar pitches |
EP2043000B1 (de) | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bussysteme und Rekonfigurationsverfahren |
US6976160B1 (en) | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
US6754882B1 (en) | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
US6693452B1 (en) * | 2002-02-25 | 2004-02-17 | Xilinx, Inc. | Floor planning for programmable gate array having embedded fixed logic circuitry |
US6934922B1 (en) | 2002-02-27 | 2005-08-23 | Xilinx, Inc. | Timing performance analysis |
US7007121B1 (en) | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
US7111217B1 (en) | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
US6839874B1 (en) | 2002-02-28 | 2005-01-04 | Xilinx, Inc. | Method and apparatus for testing an embedded device |
US7187709B1 (en) | 2002-03-01 | 2007-03-06 | Xilinx, Inc. | High speed configurable transceiver architecture |
US7088767B1 (en) | 2002-03-01 | 2006-08-08 | Xilinx, Inc. | Method and apparatus for operating a transceiver in different data rates |
US7111220B1 (en) | 2002-03-01 | 2006-09-19 | Xilinx, Inc. | Network physical layer with embedded multi-standard CRC generator |
US6961919B1 (en) | 2002-03-04 | 2005-11-01 | Xilinx, Inc. | Method of designing integrated circuit having both configurable and fixed logic circuitry |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US6973405B1 (en) | 2002-05-22 | 2005-12-06 | Xilinx, Inc. | Programmable interactive verification agent |
US6772405B1 (en) | 2002-06-13 | 2004-08-03 | Xilinx, Inc. | Insertable block tile for interconnecting to a device embedded in an integrated circuit |
US7085973B1 (en) | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7099426B1 (en) | 2002-09-03 | 2006-08-29 | Xilinx, Inc. | Flexible channel bonding and clock correction operations on a multi-block data path |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7092865B1 (en) | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
US7111110B1 (en) | 2002-12-10 | 2006-09-19 | Altera Corporation | Versatile RAM for programmable logic device |
US6982891B2 (en) * | 2003-06-10 | 2006-01-03 | Lsi Logic Corporation | Re-configurable content addressable/dual port memory |
EP1676208A2 (de) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Datenverarbeitungseinrichtung und verfahren |
US7421014B2 (en) * | 2003-09-11 | 2008-09-02 | Xilinx, Inc. | Channel bonding of a plurality of multi-gigabit transceivers |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US7595655B2 (en) * | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
US8645620B2 (en) * | 2007-06-29 | 2014-02-04 | International Business Machines Corporation | Apparatus and method for accessing a memory device |
US8525548B2 (en) * | 2008-08-04 | 2013-09-03 | Tabula, Inc. | Trigger circuits and event counters for an IC |
US20100057685A1 (en) * | 2008-09-02 | 2010-03-04 | Qimonda Ag | Information storage and retrieval system |
US7821295B1 (en) | 2009-03-27 | 2010-10-26 | Altera Corporation | Methods and systems for improving a maximum operating frequency of a PLD having a shift register within an embedded memory block |
US8191028B1 (en) | 2009-04-07 | 2012-05-29 | Altera Corporation | Methods and systems for improving a maximum operating frequency of an integrated circuit during a route phase |
US8868820B2 (en) * | 2011-10-31 | 2014-10-21 | Microsemi SoC Corporation | RAM block designed for efficient ganging |
WO2013071183A1 (en) | 2011-11-11 | 2013-05-16 | Tabula, Inc. | Content addressable memory in integrated circuit |
FI124398B (en) | 2013-01-04 | 2014-08-15 | Tellabs Oy | A method and apparatus for determining a lookup table implementation for a network element of a software configurable network |
FI124397B (en) | 2013-01-04 | 2014-08-15 | Tellabs Oy | A method and apparatus for defining a paging system for a network element of a software configurable network |
US9954533B2 (en) * | 2014-12-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | DRAM-based reconfigurable logic |
US9779785B2 (en) * | 2015-05-11 | 2017-10-03 | Wisconsin Alumni Research Foundation | Computer architecture using compute/storage tiles |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60136097A (ja) * | 1983-12-23 | 1985-07-19 | Hitachi Ltd | 連想メモリ装置 |
USRE34363E (en) * | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4831573A (en) * | 1987-03-06 | 1989-05-16 | Altera Corporation | Programmable integrated circuit micro-sequencer device |
JPH01125124A (ja) * | 1987-11-10 | 1989-05-17 | Nec Corp | プログラマブル論理アレイ |
JP2541248B2 (ja) * | 1987-11-20 | 1996-10-09 | 三菱電機株式会社 | プログラマブル・ロジック・アレイ |
US4896060A (en) * | 1988-10-31 | 1990-01-23 | Sgs-Thomson Microelectronics, Inc. | Dialer with internal option select circuit programmed with externally hardwired address |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5343406A (en) * | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
JPH0654873B2 (ja) * | 1989-09-04 | 1994-07-20 | 株式会社東芝 | プログラマブル型論理装置 |
US4975601A (en) * | 1989-09-29 | 1990-12-04 | Sgs-Thomson Microelectronics, Inc. | User-writable random access memory logic block for programmable logic devices |
US5051949A (en) * | 1989-11-15 | 1991-09-24 | Harris Corporation | Content addressable memory device |
JP2544020B2 (ja) * | 1990-11-19 | 1996-10-16 | 川崎製鉄株式会社 | プログラマブル論理素子 |
US5388065A (en) * | 1991-05-16 | 1995-02-07 | Kawasaki Steel Corporation | Semiconductor integrated circuit |
US5414377A (en) * | 1992-12-21 | 1995-05-09 | Xilinx, Inc. | Logic block with look-up table for configuration and memory |
US5299147A (en) * | 1993-02-22 | 1994-03-29 | Intergraph Corporation | Decoder scheme for fully associative translation-lookaside buffer |
US5381058A (en) * | 1993-05-21 | 1995-01-10 | At&T Corp. | FPGA having PFU with programmable output driver inputs |
-
1993
- 1993-02-16 GB GB939303084A patent/GB9303084D0/en active Pending
-
1994
- 1994-02-03 US US08/190,912 patent/US5408434A/en not_active Expired - Lifetime
- 1994-02-09 DE DE69411292T patent/DE69411292T2/de not_active Expired - Fee Related
- 1994-02-09 DE DE69427241T patent/DE69427241D1/de not_active Expired - Lifetime
- 1994-02-09 EP EP94300948A patent/EP0612154B1/de not_active Expired - Lifetime
- 1994-02-09 EP EP97203966A patent/EP0836281B1/de not_active Expired - Lifetime
- 1994-02-16 JP JP6041952A patent/JPH0758630A/ja active Pending
-
1995
- 1995-02-03 US US08/383,108 patent/US5473267A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0758630A (ja) | 1995-03-03 |
EP0612154A1 (de) | 1994-08-24 |
US5408434A (en) | 1995-04-18 |
DE69411292D1 (de) | 1998-08-06 |
EP0836281B1 (de) | 2001-05-16 |
GB9303084D0 (en) | 1993-03-31 |
EP0836281A1 (de) | 1998-04-15 |
EP0612154B1 (de) | 1998-07-01 |
DE69427241D1 (de) | 2001-06-21 |
US5473267A (en) | 1995-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69411292T2 (de) | Programmierbare logische Schaltung | |
DE69633370T2 (de) | Benutzerprogrammierbares Gatterfeld mit Multiport-RAM | |
DE69721343T2 (de) | FPGA mit Setz-/Rücksetzleitungen | |
DE69716623T2 (de) | Fpga-architektur mit ram-blöcken mit programmierbarer wortlänge und -breite und zugeordneten adress- und datenleitungen | |
DE69128888T2 (de) | Programmierbares logisches feld | |
DE69031525T2 (de) | Konfigurierbare Logikanordnung und zugehöriges Verfahren | |
DE69822796T2 (de) | Nutzerprogrammierbarer prozessor | |
DE69012355T2 (de) | Architektur einer programmierten Logik mit mehreren Seiten. | |
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. | |
DE4417575C2 (de) | Verbesserte Array-Architektur für programmierbare logische Zellen | |
DE69028386T2 (de) | Auf statischem RAM basierende Zelle für ein programmierbares logisches Feld | |
DE69019654T2 (de) | Logischer Block für programmierbare logische Einrichtungen. | |
DE69123274T2 (de) | Programmierbare Verbindung | |
DE69834011T2 (de) | Statische Direktzugriffspeicherschaltungen | |
DE3207210A1 (de) | Monolithische speichervorrichtung | |
DE102004045527B4 (de) | Konfigurierbare Logikschaltungsanordnung | |
DE19639629A1 (de) | Hybride programmierbare Logikvorrichtung und Verfahren | |
DE102006062399A1 (de) | Halbleiterspeicherbauelement mit mehreren Speicherbereichen, Zugriffsverfahren und Testverfahren | |
DE102005005073B4 (de) | Rechnereinrichtung mit rekonfigurierbarer Architektur zur parallelen Berechnung beliebiger Algorithmen | |
DE69133327T2 (de) | Programmierbare logische Schaltung | |
DE60012639T2 (de) | Verbindungsressourcen für programmierbare logische integrierte schaltungen | |
DE4218686C2 (de) | Statischer Direktzugriffsspeicher | |
DE60129269T2 (de) | Speicherschaltung für eine programmierbare logische integrierte Schaltungsanordnung | |
DE4018296C2 (de) | ||
EP0224887B1 (de) | Gate Array Anordnung in CMOS-Technik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |