DE69411292T2 - Programmierbare logische Schaltung - Google Patents

Programmierbare logische Schaltung

Info

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
Application number
DE69411292T
Other languages
English (en)
Other versions
DE69411292D1 (de
Inventor
Anthony Ian Hotwells Bristol Bs8 4Qb Stansfield
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.)
CHANCELLOR
University of Oxford
STMicroelectronics Ltd Great Britain
Original Assignee
CHANCELLOR
University of Oxford
SGS Thomson Microelectronics Ltd
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 CHANCELLOR, University of Oxford, SGS Thomson Microelectronics Ltd filed Critical CHANCELLOR
Application granted granted Critical
Publication of DE69411292D1 publication Critical patent/DE69411292D1/de
Publication of DE69411292T2 publication Critical patent/DE69411292T2/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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • 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

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.
  • 1) Feste Gatter
  • 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.
  • 2) Programmierbare Logik-Felder (PLA)
  • 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.
  • 3) Nachschlagetabelle (LUT)
  • 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
DE69411292T 1993-02-16 1994-02-09 Programmierbare logische Schaltung Expired - Fee Related DE69411292T2 (de)

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)

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

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

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