DE3645221C2 - - Google Patents

Info

Publication number
DE3645221C2
DE3645221C2 DE3645221A DE3645221A DE3645221C2 DE 3645221 C2 DE3645221 C2 DE 3645221C2 DE 3645221 A DE3645221 A DE 3645221A DE 3645221 A DE3645221 A DE 3645221A DE 3645221 C2 DE3645221 C2 DE 3645221C2
Authority
DE
Germany
Prior art keywords
signals
configurable
memory
output
logic
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 - Lifetime
Application number
DE3645221A
Other languages
English (en)
Inventor
William S. Santa Clara Calif. Us Carter
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Application granted granted Critical
Publication of DE3645221C2 publication Critical patent/DE3645221C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • G11C19/282Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements with charge storage in a depletion layer, i.e. charge coupled devices [CCD]
    • 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/1733Controllable logic circuits
    • 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/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/153Arrangements in which a pulse is delivered at the instant when a predetermined characteristic of an input signal is present or at a fixed time interval after this instant
    • H03K5/1534Transition or edge detectors

Description

Die Erfindung betrifft allgemein eine Kombinationslogik und im besonderen eine konfigurierbare Kombinationslogik für ein konfigurierbares Logikelement, welche im Kern aus einer konfigurierbaren Einrichtung, einem Speicher und einer Speicherplatz-Auswahleinrichtung gebildet ist. Die Ausgangssignale einer hinzufügbaren konfigurierbaren Speichereinrichtung können neben anderen Eingangssignalen weitere Eingangssignale der konfigurierbaren Kombinationslogik bilden. Ein die konfigurierbare Kombinationslogik enthaltendes konfigurierbares Logikelement kann, wenn es mehrfach eingesetzt wird, zum Aufbau einer komplexen Logik-Schaltungsanordnung (logic array) eingesetzt werden. Man ist dabei frei, die Programmierung und damit die Struktur und die Funktion (Konfiguration) einer solchen Logik-Schaltungsanordnung (Schaltwerk) zu ändern. Nur einmal programmierbare und sodann in ihrer Logikfunktion unveränderliche Schaltwerke sind unflexibel und müssen, falls sich eine Funktion oder das Anwendungsgebiet geringfügig ändert, ausgetauscht und weggeworfen werden.
Aus der EP 00 31 431 B1 ist hierzu beispielsweise ein programmierbarer, zeitsequentiell arbeitender logischer Schaltkreis (Baustein) bekannt. Der logische Schaltkreis löst dort verschiedene logische Produktterme in sequentieller Betriebsart im Gegensatz zu gleichzeitiger Betriebsart, wie sie bei bekannten PLA-Bausteinen üblich ist. Das Programm wird durch Schreiboperationen in Speicheranordnungen programmiert und ist durch weitere Schreiboperationen änderbar. Als Speicheranordnungen werden EPROMs eingesetzt. Eine durch eine Eingabe-Speicheranordnung zeitsequentiell modifizierte logische Anordnung weist dabei Eingänge zum Empfang einer Vielzahl von zu verarbeitenden binären Eingangssignalen auf. Die Eingabe- Speicheranordnung gibt hierzu Steuerwörter ab, mit denen zeitsequentiell logische Kombinationen der logischen Anordnung einstellbar sind. Ferner weist die logische Anordnung eine logische Einheit zur Erzeugung binärer Wahrheitssignale, welche Ausgabe-Registrierstufen zugeführt sind, auf. Eine Ausgabe- Speicheranordnung, die auf gleiche Weise wie die Eingabe- Speicheranordnung arbeitet, gibt ihrerseits den Steuereingängen der Ausgabe-Registerstufen zugeführte Steuerworte ab. Als Taktsignal für die Ausgabe-Registerstufen dient das Ausgangssignal der logischen Einheit.
Aus "Halbleiter-Schaltungstechnik" von U. Tietze und Ch. Schenk, Springer Verlag, 6. Auflage, S. 264 ff., insbesondere Abb. 10.68, 10.69, ist weiterhin eine Schaltung für eine sequentielle Logik (Schaltwerk) bekannt. Diese arbeitet im Grunde wie die vorgenannte Schaltungsanordnung gem. EP 00 31 431. Ein in dem Schaltwerk enthaltener Programmspeicher, der das sequentielle Ablaufprogramm enthält, ist in Abb. 10.68 in zwei einzelne Speicher (ROM) zerlegt. Eines bildet das Programm-ROM, das andere bildet das Ausgabe-ROM. Beide sind über einen Zustandsvariablen-Speicher miteinander verbunden. Die dem Schaltwerk zugeführten l Eingangssignale X werden in zwei Gruppen l₁ und l₂ getrennt, wobei l₁, l₂<1 ist. Außerdem ist l₂<l₁. Die erste Gruppe l₁ von Eingangssignalen ist nun dem Programm-ROM zugeführt, der abhängig von diesen die Folge der Systemzustände des Schaltwerkes festgelegt. Die zweite Gruppe l₂ von Eingangssignalen ist dem Ausgabe-ROM zugeführt, welches aus den Zustandsvariablen des Zustandsspeichers und den l₂ Signalen die Ausgangsvariablen des Schaltwerkes bildet. Da die Trennung der l Eingangssignale X festliegt und nicht verändert werden kann, ist die Anzahl der Logik-Funktionen beschränkt. Hinzu kommt, daß ein fehlender direkter Einfluß der Eingangssignale X auf den Zustandsspeicher die Reaktionsgeschwindigkeit des Schaltwerks auf bestimmte Eingangssignal-Bitmuster verzögert, wenn nicht sogar ausschließt.
Alternativ zu der unveränderbaren Gruppen-Aufteilung in l₁ und l₂ Eingangssignale bietet die Abb. 10.69 in der vorgenannten Fundstelle eine systemzustandsabhängige Auswahl (Trennung) der dem Programm-ROM zugeführten Adressensignale. Auch hier besteht ein unmittelbarer Einfluß der Eingangsgrößen auf den Zustandsvariablen-Speicher nicht.
Gemeinsam haftet den vorgenannten Schaltungsvarianten der Nachteil an, daß ihre zeitsequentielle interne Strukturänderung ein aufwendiges Entwurfsverfahren für ein bestimmtes logisches Verhalten erfordert.
Aus Elektronik, 1982, Heft 23, Seiten 73 ff. sind schließlich sog. AGAs - Abänderbare Gatter-Anordnungen - bekannt. Sie bilden eine Weiterentwicklung der mit aufschmelzbaren Metallbrücken programmierbaren FPLAs (Field Programmable Logic Arrays). Ein Steuerprozessor schaltet über Leuchtdioden und Empfängerdioden MOS-FET-Schalttransistoren an. Diese wirken als lichtaktivierte Schalter, mittels denen ein programmgesteuerter Strukturwechsel von Gatteranordnungen erreichbar ist. Problematisch ist die Integration, da sowohl ein Steuercomputer (Mikrorechner) als auch optische Elemente gemeinsam vorgesehen werden müssen.
Die bekannten logischen Schaltungen und Bausteine weisen insgesamt auch den Nachteil auf, daß komplexe logische Funktionen nur mittels mehrerer Bausteine erreichbar sind, womit ein erhöhter Raumbedarf unvermeidbar ist.
Der Erfindung liegt also die Aufgabe zugrunde, eine konfigurierbare Kombinationslogik zu schaffen, die in der Auswahl ihrer Funktionen besonders vielseitig ist. Auch soll eine kompakte Bauweise erzielt werden.
Diese Aufgabe wird erfindungsgemäß durch eine konfigurierbare Kombinationslogik mit den Merkmalen des Anspruchs 1 gelöst. Ein bevorzugtes Anwendungsgebiet findet die erfindungsgemäße konfigurierbare Kombinationslogik in einem konfigurierbaren Logikelement. Mehrere solcher Logikelemente können in einer Logikschaltungsanordnung (Logik-array) konfigurierbar miteinander verbunden werden. Hierzu kann vorteilhaft eine konfigurierbare Verbindungsstruktur eingesetzt werden (vgl. insbes. Fig. 4A, 4B).
Durch die Erfindung wird es ermöglicht, die Konfiguration, d. h. die wirksame Struktur, und die Programmierung von internem logischen Verhalten (in der Kombinationslogik) einer bereits gefertigten integrierten Schaltung von Zeit zu Zeit beim Anwender zu ändern. Hierbei wird erfindungsgemäß eine besonders vielseitige Kombinationslogik und damit ein vielseitiges Logikelement verwendet. Die möglichen Funktionen sind (intern und global) nicht bereits vorab beschränkt.
Weiterhin kann die erfindungsgemäß konfigurierbare Kombinationslogik mehrfach in ihrer Struktur geändert werden, da Leitungsführungen mittels logischer Schalter oder Multiplexer durchgeschaltet oder abgeschaltet - also konfiguriert (programmiert) - werden. Dies ohne ihre physische Identität zu zerstören. Diese Schalter werden dabei in Abhängigkeit von Konfigurations-Bits (Steuersignale), die auf den Chip übertragen und dort speicherbar sind, gesteuert.
Eine erfindungsgemäß mehrfach konfigurierbare Kombinationslogik kann alle bekannten logischen Funktionen, wie z. B UND-, NOR-, EXOR- oder OR-Funktionen erzeugen. Zur Bildung komplexer logischer Zusammenhänge sind (mehrere) Untergruppen aus Eingangssignalen und Rückkopplungssignalen, die einer zufügbaren Speichereinrichtung entnehmbar sein können, bildbar. Jede durch Konfiguration festgelegte und jederzeit änderbare Untergruppe wird einer Speicherplatz-Auswahlschaltung zugeführt, die ihrerseits einen Speicher ausliest, in welchem eine komplexe logische Grundfunktion - abhängig von der Auswahl des Speicherplatzes - vorprogrammiert oder gespeichert ist (Anspruch 7).
Sowohl durch Verändern - ohne Zerstören - der Konfiguration des konfigurierbaren Logikelementes als auch durch Verändern der Speicherprogrammierung können vielseitige Logikfunktionen geschaffen werden. Die Struktur oder die Konfiguration wird dabei während des Betriebes nicht verändert, ein einfaches Logik-Entwurfsverfahren kann schnell zum Ziel führen. Fehler in der Konfiguration können sofort behoben werden. Anwendungsbedingte Änderungen sind schnell ausführbar.
Zur weiteren Vereinfachung des Entwurfsverfahrens und zur Reduzierung von Speicherplatz kann vorteilhaft eine Steuerlogik eingesetzt werden. Sie ermöglicht die konfigurierbare Auswahl bestimmter von mehreren Ausgangssignalen der (mehreren) Speicherplatz-Auswahleinrichtungen, die auf mehrere Untergruppen zurückgehen (Anspruch 2).
Auch können vorteilhaft eine Vielzahl von Untergruppen aus den K binären Signalen gebildet werden, denen jeweils ein eigener individuell beschriebener oder programmierter Speicher mit Speicherplatz-Auswahleinrichtung zugeordnet wird (Anspruch 8).
Gemäß Anspruch 6 können aus mehreren (N) binären Eingangssignalen (der Kombinationslogik) und einem oder mehreren (M) binären Zustandssignalen (Rückkopplungssignale aus der konfigurierbaren Speichereinrichtung) einige zur Bildung von K binären Signalen vorausgewählt werden. Letztere K binäre Signale sind dann in die jeweilige(n) Untergruppe(n) von binären Signalen konfigurierbar.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert:
Fig. 1 zeigt einige der verschiedenen logischen Funktionen, die von einem konfigurierbaren Logik-Array ausführbar sind,
Fig. 2 zeigt die interne logische Struktur eines konfigurierbaren Logikelementes zur Ausführung mehrerer Funktionen zweier Variablen A und B,
Fig. 3A zeigt eine 16-Bit-RAM-Schaltung, in der jeder der 16 möglichen Eingangszustände identifizierbar und 2¹⁶ Funktionen ausgeführt werden können,
Fig. 3B zeigt eine Wählstruktur zur Auswahl eines von 16 Bit . . . zur Ausführung von 2¹⁶ Funktionen und zur Übertragung dieser Bits zu einer Ausgangsleitung,
Fig. 3C zeigt ein mögliches Karnaugh-Diagramm für die Struktur von Fig. 3A,
Fig. 3D zeigt die Logik-Glieder, die sich dadurch darstellen lassen, daß in dem Karnaugh-Diagramm von Fig. 3C an den Schnittpunkten der ersten und zweiten Zeilen und der ersten Spalte eine binäre "1" eingesetzt wird,
Fig. 4A zeigt mehrere konfigurierbare Logikelemente (dargestellt sind neun Logikelemente), die zusammen mit programmierbaren Verbinderanordnungen, die zwischen ausgewählten Leitungen vorgesehen sind und die Realisierung ermöglichen, und zusammen mit ausgewählten Eingangs/Ausgangs-Anschlüssen (I/O-Pads) und Verbindungen der Leitungen zwischen Logikelementen auf einem integrierten Schaltungs-Chip ausgebildet sind,
Fig. 4B zeigt die Zeichenerklärung für die Verbindungen zwischen sich kreuzenden Leitungen in Fig. 4B,
Fig. 5 zeigt einen Teil einer Schaltung einer neuartigen Kombination von statischem und dynamischem Schieberegister, das sich für die Verwendung bei dem konfigurierbaren Logik-Array gemäß der Erfindung eignet,
Fig. 6A bis 6H zeigen verschiedene Wellenformen zur Erläuterung der Wirkungsweise der Struktur von Fig. 5,
Fig. 7 zeigt ein konfigurierbares Logikelement gemäß der Erfindung,
Fig. 8 zeigt eine mögliche Ausführungsform des konfigurierbaren Logikelements von Fig. 7,
Fig. 9 zeigt eine Ausführungsform des Speicherelements 121 von Fig. 8.
Die folgende Beschreibung soll die Erfindung lediglich veranschaulichen, ohne sie zu beschränken. Der einschlägige Fachmann wird durch die gegebene Offenbarung ohne weiteres in die Lage versetzt, andere Ausführungsbeispiele zu schaffen.
Die US-Patentanmeldung Ser.-Nr. 588 478 mit der Bezeichnung "Konfigurierbares Logik-Array" wird hiermit als Referenz eingeführt.
Zur Erklärung des speziellen konfigurierbaren Logikelements gemäß der Erfindung ist es notwendig, die konfigurierbaren Logikelemente und die allgemeine Verbindungsstruktur des in der genannten Patentanmeldung beschriebenen konfigurierbaren Logik-Arrays zu erläutern.
Fig. 1 zeigt bestimmte logische Funktionen, die sich von einem konfigurierbaren Logikelement realisieren lassen. Die in Fig. 1 dargestellten 28 Funktionen dienen lediglich zur Veranschaulichung. Auf Wunsch lassen sich auch andere (nicht dargestellte) Funktionen von einem konfigurierbaren Logikelement realisieren. Folgende Funktionen sind gezeigt:
Element
Funktion
1
UND-Glied
2 NAND-Glied
3 UND-Glied mit invertiertem Eingang
4 NAND-Glied mit invertiertem Eingang
5 ODER-Glied
6 NOR-Glied
7 Exklusiv-ODER-Glied
8 Exklusiv-NOR-Glied
9 UND-Glied mit drei Eingängen
10 NAND-Glied mit drei Eingängen
11 ODER-Glied mit drei Eingängen
12 NOR-Glied mit drei Eingängen
13 ODER-Glied mit einem ein UND-Glied enthaltenden Eingang
14 NOR-Glied mit einem ein UND-Glied enthaltenden Eingang
15 UND-Glied mit einem ein ODER-Glied enthaltenden Eingang
16 NAND-Glied mit einem ein ODER-Glied enthaltenden Eingang
17 UND-Glied mit drei Eingängen, von denen einer invertiert ist
18 NAND-Glied mit drei Eingängen, von denen einer invertiert ist
19 ODER-Glied mit drei Eingängen, von denen einer invertiert ist
20 NOR-Glied mit drei Eingängen, von denen einer invertiert ist
21 Multiplexer zur Auswahl eines von zwei Eingängen
22 Multiplexer zur Auswahl eines von zwei Eingängen mit einem invertierten Eingang
23 D-Flip-Flop mit Rücksetzung
24 Set-Reset-Verriegelungsschaltung
25 D-Flip-Flop mit Rücksetzung und invertiertem Ausgang
26 Set-Reset-Verriegelungsschaltung mit Rückstellung und invertiertem Ausgang
27 D-Flip-Flop mit Setzeingang
28 D-Flip-Flop mit Setzeingang und invertiertem Ausgang
Es lassen sich natürlich auch andere logische Funktionen in einem konfigurierbaren Logikelement realisieren.
Fig. 2 zeigt die innere logische Struktur eines möglichen konfigurierbaren Logikelements, das alle sinnvollen Basisfunktionen der beiden Variablen A und B ausführen kann, wobei die Funktionen durch Konfigurationssteuersignale C0, C0, C1, C1, . . . C5 ausgewählt werden, die an Steuerleitungen C0, C0, C1, C1, . . . C5 anliegen. (In diesem Beispiel sind alle Steuerleitungen mit den Gates von N-Kanal-Transistoren vom Anreicherungstyp verbunden.) Zur Verwirklichung einer UND- Glied-Funktion unter Verwendung der in Fig. 2 dargestellten Struktur werden die mit A und B bezeichneten Eingangsleitungen hinter den Invertern 21 bzw. 22 mit dem UND-Glied 25 verbunden. Dies geschieht durch Signale mit hohem Pegel auf den Konfigurationssteuerleitungen C1 und C0, die wegen ihrer Verbindung mit den Gates der N-Kanal-Transistoren 29c und 29d letztere in den leitenden Zustand steuern.
An die Konfigurationssteuerleitungen C0 und C1 werden Signale mit niedrigem Pegel angelegt, durch die die Ausgangssignale der Inverter 21 und 22 von dem UND-Glied 25 getrennt werden. Zusätzlich wird an die Leitung C5 ein Signal mit hohem Pegel angelegt, durch das das UND-Glied 25 aktiviert wird. Somit wirkt das mit drei Eingängen versehene UND-Glied 25 für die Signale A und B als UND-Glied mit zwei Eingängen. Das Ausgangssignal des UND-Glieds 25 bildet ein Eingangssignal für das NOR-Glied 26. Ein zweites Eingangssignal des NOR-Glieds 26 wird von dem Ausgangssignal des UND-Glieds 24 gebildet. Das Ausgangssignal des UND-Glieds 24 wird auf einer logischen "0" gehalten, in dem eine logische "0 an die Konfigurationssteuerleitung C4 angelegt wird. Die Steuersignale C2 und C3 sind somit wirkungslos, d. h. diese Signale können einen hohen oder einen niedrigen Pegel haben, ohne daß dadurch das Ausgangssignal des UND-Glieds 24 beeinflußt wird. Da das Ausgangssignal des UND-Glieds 24 eine logische "0" ist und da das Tristatesteuereingangssignal für das NOR- Glied 26 eine logische "0" ist, wirken das UND-Glied 25, das UND-Glied 24 und das NOR-Glied 26 in bezug auf die Eingangssignale A und B zusammen als NAND-Glied. Das das Tristatesteuereingangssignal für das NOR-Glied 27 (außer während des Rücksetzens) eine logische "0" ist, dient das NOR-Glied 27 in bezug auf das Ausgangssignal des NOR-Glieds 26 als Inverter. Das Ausgangssignal des NOR-Glieds 26 wird dem Gate des N-Kanal-Transistors 29a zugeführt, (dessen Source mit Erde und dessen Drain mit der Ausgangsleitung 28 verbunden ist). Das Komplement des Ausgangssignals des NOR-Glieds 26 wird dem Gate des N-Kanal-Transistors 29b zugeführt, (dessen Source mit einer Versorgungsspannung und dessen Drain sowohl mit der Ausgangsleitung 28 als auch mit dem Drain des N-Kanal- Transistors 29a verbunden ist). Somit wirken die N-Kanal- Transistoren 29a und 29b in bezug auf das Ausgangssignal des NOR-Glieds 26 als Inverter. Die in der beschriebenen Weise konfigurierte Struktur gemäß Fig. 2 erfüllt damit in bezug auf die Signale A und B die Funktion eines UND-Glieds.
In ähnlicher Weise lassen sich andere logische Funktionen erzeugen, indem die den Konfigurationssteuerleitungen C1 bis C5 zugeführten Steuersignale in geeigneter Weise ausgewählt werden, um die geeigneten Durchgangstransistoren und Verknüpfungsglieder in der Struktur zu aktivieren.
Fig. 3A zeigt ein 16-Bit-RAM, das als Antwort auf irgendeine von sechzehn möglichen Kombinationen von Eingangssignalen ein Ausgangssignal erzeugen kann. Eingangssignale A und B steuern den X-Dekoder derart, daß eine der vier Spalten in dem 16-Bit-RAM ausgewählt wird. Die Eingangssignale C und D steuern den Y-Dekoder derart, daß eine der vier Zeilen in dem 16-Bit-RAM ausgewählt wird. Das 16-Bit-RAM erzeugt ein Ausgangssignal, das für das Bit an dem Schnittpunkt der ausgewählen Zeile und Spalte kennzeichnend ist. Es gibt sechzehn solcher Schnittpunkte und damit sechzehn derartige Bits.
Mit 16 Bit lassen sich 2¹⁶ verschiedene Kombinationen von Funktionen darstellen. Wenn ein NOR-Glied von den 16 Bits in dem RAM nachgebildet werden soll, hat das Karnaugh-Diagramm für das RAM die in Fig. 3C dargestellte Form. In Fig. 3C haben alle Bits mit Ausnahme des Bits an dem Schnittpunkt der ersten Zeile, (die A=0, B=0 repräsentiert), und der ersten Spalte, (die C=0 und D=0 repräsentiert), den Wert "0". Falls eine weniger häufig verwendete Funktion von dem 16-Bit-RAM erzeugt werden soll, (z. B. ein "1"Ausgangssignale für A=1, B=0, C=0 und D=0), so wird eine binäre "1" an dem Schnittpunkt der zweiten Spalte und der ersten Zeile gespeichert. Wenn eine binäre "1" sowohl dann gewünscht wird, wenn A=0, B=0, C=0 und D=0, als auch dann, wenn A=1, B=0, C=0 und D=0, wird eine binäre "1" an dem den Schnittpunkten der ersten Spalte mit der ersten und der zweiten Zeile gespeichert. Die durch dieses Laden des RAM repräsentierte logische Schaltung ist in Fig. 3D dargestellt. Somit ermöglicht das RAM von Fig. 3A eine elegante und einfache Realisierung irgendeiner von 2¹⁶ logischen Funktionen.
Fig. 3B zeigt eine andere Struktur zur Gewinnung irgendeines beliebigen von sechzehn Auswahlbits. Jedes von sechzehn Registern 0 bis 15 in der vertikalen Spalte links, die mit "16 Auswahlbits" bezeichnet ist, enthält ein ausgewähltes Signal, entweder eine binäre "1" oder "0". Durch Auswahl der geeigneten Kombinationen von A, B, C und D wird ein bestimmtes Bit, das an einer speziellen der 16 Speicherstellen des 16-Auswahlbit-Registers gespeichert ist, zu der Ausgangsleitung übertragen. Um beispielsweise das in dem mit "1" bezeichneten Register gespeicherte Bit zu der Ausgangsleitung zu übertragen, wird das Signal A, B, C, D an die so bezeichneten Leitungen angelegt. Um das mit "15" bezeichnete Signal in der sechzehnten Speicherposition des 16-Auswahlbit-Registers zu der Ausgangsleitung zu übertragen, wird das Signal A, B, C, D an die entsprechenden Spalten angelegt. Durch Verwendung dieser Struktur läßt sich ebenfalls irgendeine von 2¹⁶ logischen Funktionen realisieren.
Fig. 4A zeigt ein (im folgenden auch kurz als "CLA" bezeichnetes) konfigurierbares Logik-Array, das neun konfigurierbare Logikelemente enthält, (die im folgenden auch kurz als "CLE" bezeichnet werden). Jedes der neun konfigurierbaren Logikelemente CLE 40-1 bis CLE 40-9 hat mehrere Eingangsleitungen und eine oder mehrere Ausgangsleitungen. Jede Eingangsleitung besitzt mehrere Zugangsverbindungspunkte, durch die jeweils eine ausgewählte Zwischenverbindungsleitung mit der Eingangsleitung verbindbar ist. Die Zugangsverbindungspunkte für die Eingangsleitung 2 des CLE 40-7 sind in Fig. 4A mit A1 bis A4 bezeichnet. Die Zugangsverbindungspunkte für die anderen Eingangsleitungen sind schematisch indiziert, ihre Benennungen aus Gründen der Übersichtlichkeit jedoch nicht alle eingetragen. In ähnlicher Weise hat jede Ausgangsleitung jedes CLEs mehrere Zugangsverbindungspunkte, die jeweils die Ausgangsleitung mit einem entsprechenden Exemplar der Zwischenverbindungsleitungen verbinden. Die Zugangsverbindungspunkte sind für jede Ausgangsleitung jedes CLEs in Fig. 4A schematisch indiziert. Die Zugangsverbindungspunkte für die Ausgangsleitung des CLE 40-7 sind mit B1 bis B5 bezeichnet. Die Leitungen in Fig. 4A, die weder Eingangsleitungen noch Ausgangsleitungen sind, werden als Zwischenverbindungsleitungen und die Verbindungspunkte, die keine Zugangsverbindungspunkte sind, werden als Zwischenverbindungspunkte bezeichnet.
Wie aus Fig. 4A weiter hervorgeht, sind neun Logikelemente auf einem integrierten Schaltungs-Chip zusammen mit programmierbaren Verbindungspunkten und einer Zwischenverbindungsstruktur ausgebildet, die Zwischenverbindungsleitungen und programmierbare Zwischenverbindungspunkte zur Verbindung verschiedener Leitungen mit anderen Leitungen umfaßt. Die Zwischenverbindungsstruktur umfaßt eine Gruppe von Zwischenverbindungsleitungen und programmierbaren Verbindungspunkten, die die Zwischenverbindungsleitungen untereinander verbinden und die Eigenschaft haben, daß für jede Zwischenverbindungsleitung in der Zwischenverbindungsstruktur eine Programmierung der Zwischenverbindungspunkte vorgesehen ist, die die gegebene Zwischenverbindungsleitung mit einer einer oder mehreren anderen Leitungen der Zwischenverbindungsstruktur verbindet. Darüber hinaus ist eine solche Programmierung der Verbindungspunkte (sowohl der Zugangsverbindungspunkte als auch der Zwischenverbindungspunkte) vorgesehen, daß für eine bestimmte Ausgangsleitung irgendeines CLEs in dem CLA und für irgendeine bestimmte Eingangsleitung eines anderen CLEs in dem CLA eine Programmierung der Verbindungspunkte vorhanden ist, durch die die bestimmte Ausgangsleitung mit der bestimmten Eingangsleitung verbindbar ist. Ein elektrischer Weg von einer bestimmten Ausgangsleitung zu einer bestimmten Eingangsleitung verläuft immer über wenigstens zwei Zugangsverbindungspunkte und wenigstens einen Abschnitt einer Zwischenverbindungsleitung. Ein elektrischer Weg beispielsweise von der Ausgangsleitung des CLE 40-8 zu der zweiten Eingangsleitung des CLE 40-9 enthält die Zugangsverbindungspunkte A7 und B7 und den markierten Abschnitt P einer Zwischenverbindungsleitung. Ein elektrischer Weg von einer Ausgangsleitung eines CLE zu einer Eingangsleitung eines anderen CLE verläuft typisch ebenfalls über einen oder mehrere Zwischenverbindungspunkte. Jedes der Logikelemente 40-1 bis 40-9 repräsentiert eine Schaltungskollektion, wie sie in Fig. 2 dargestellt ist, oder eine ähnliche Struktur, die sich in der oben beschriebenen Weise derart konfigurieren läßt, daß sie irgendeine beliebige von mehreren logischen Funktionen ausführen kann.
Zur Programmierung der Schaltung (sowohl der konfigurierbaren Zwischenverbindungspunkte als auch der konfigurierbaren Logikelemente) werden ausgewählte Signale an die als Konfigurationssteuerleitungen identifizierten Eingangsleitungen angelegt, wodurch in jedem Logikelement die gewünschte logische Funktion erzeugt und die logischen Elemente wunschgemäß miteinander verbunden werden. In Fig. 4A ist keine bestimmte Leitung als Eingangsleitung für die Konfigurationssteuersignale identifiziert. Es kann jedoch irgendein spezielles I/O-Pad zu diesem Zweck ausgewählt werden. Die Konfigurationssteuerbits können dem konfigurierbaren Logik-Array je nach dem konstruktiven Aufbau entweder seriell oder parallel zugeführt werden, wobei sie dann in einem Programmregister (Fig. 5) gespeichert werden. Alternativ können die Konfigurationssteuerbits auch in einem Speicher auf dem Schaltungs-Chip gespeichert werden. Zusätzlich kann ein weiteres I/O-Pad für ein Eingangstaktsignal verwendet werden, der unter anderem für das Einlesen der Konfigurationssteuersignale in das Programmregister verwendet wird. Wenn das in Fig. 4A gezeigte konfigurierbare Logik-Array konfiguriert wurde, werden ausgewählte Ausgangssignale 40-1 bis 40-9 ausgewählten I/O-Pads zugeführt. Fig. 4B zeigt die Bedeutung der in Fig. 4A benutzten Verbindungssymbole.
Zur Konfiguration eines Logikelements (z. b. des Logikelements 40-1 (Fig. 4A) muß eine Anzahl von Bits an die Konfigurationssteuerleitungen, z. B. die in Fig. 2 dargestellten Leitungen C0 bis C5 angelegt werden. Zu diesem Zweck wird z. B. ein Schieberegister als Bestandteil jedes konfigurierbaren Logikelements benutzt. Fig. 5 zeigt ein Schieberegister, das hierfür verwendbar ist. Das Schieberegister gemäß Fig. 5 besitzt zwei Basisspeicherzellen. Jede Speicherzelle kann ein Informationsbit speichern. Natürlich enthält das verwendete Schieberegister soviele Speicherzellen, wie erforderlich sind, um das Logikelement, von dem das Schieberegister ein Bestandteil ist, in seine gewünschte Konfiguration zu bringen. Im Betrieb wird ein Eingangssignal an die Eingangsleitung 58 angelegt. Dieses in Fig. 6D dargestellte Eingangssignal enthält einen Bitstrom, der in dem Schieberegister in Form von Konfigurationssteuerbits gespeichert wird, durch die das Logikelement zur Durchführung einer gewünschten logischen Funktion oder ein Zugangsverbindungspunkt oder ein zwischen Zwischenverbindungsleitungen liegender Zwischenverbindungspunkt in der im folgenden kurz beschriebenen Weise konfigurierbar (programmierbar) sind. Somit repräsentiert die an die Eingangsleitung angelegte Impulsfolge solche Impulse, die nach ihrer Speicherung in den Speicherzellen des Schieberegisters die Konfigurationssteuerbits derart aktivieren, daß die gewünschten funktionellen und/oder Zwischenverbindungsergebnisse erzielt werden. Wenn beispielsweise die Schaltung nach Fig. 2 zu einem UND- Glied zu konfigurieren ist, werden die Impulse C0, C1, C2, C3, C4 und C5 von 1, 1, X, X, 0, 0, 1 repräsentiert.
Die der Eingangsleitung 58 zugeführte Impulsfolge wird mit den Taktimpulsen Φ1 und Φ2 synchronisiert, die an die Leitungen 57 bzw. 59 angelegt werden. So geht in der ersten Periode das Taktsignal Φ1 nach HIGH (Fig. 6A), das Taktsignal Φ2 ist hingegen LOW (Fig. 6B), das HOLD-Signal (Fig. 6C) ist während des Schiebens ebenfalls LOW und erleichtert dadurch das Durchschieben der Daten durch die in Reihe miteinander verbundenen Speicherzellen 5-1, 5-2 usw. des Schieberegisters. Bein Einbringen des Bitmusters 01010 in das Schieberegister finden folgende Vorgänge statt: Das Eingangssignal an der Leitung 58 ist etwa während des ersten Halbzyklus der Taktperiode t1 LOW, das Ausgangssignal Q1 des Inverters 51-1 geht in Abhängigkeit von dem LOW-Zustand des Eingangssignals und dem HIGH-Zustand von Φ1 nach HIGH und aktiviert den Durchschaltetransistor 53-1. Einige Zeit nach dem Beginn der ersten Taktperiode t1 geht das Taktsignal Φ1 nach LOW (Fig. 6A) und das Taktsignal Φ2 geht kurz danach auf HIGH (Fig. 6B), wodurch der Durchschaltetransistor 55-1 aktiviert wird. Infolgedessen wird das HIGH-Ausgangssignal Q1 von dem Durchschaltetransistor 55-1 an die Eingangsleitung des Inverters 52-1 gegeben und erzeugt an dessen Ausgangsleitung ein Ausgangssignal LOW. Am Ende der Periode t1 hat das Ausgangssignal Q1 (Fig. 6F) des Inverters 52-1 deshalb LOW-Pegel. Die Ausgangssignale Q2 und Q2 der Inverter 51-2 und 52-2 in der zweiten Speicherzelle sind noch unbestimmt, da sich noch kein bekanntes Signal zu der zweiten Speicherzelle 5-2 fortgepflanzt hat, um die Signale dieser Inverter in einen definierten Zustand zu bringen.
Zu Beginn der (in Fig. 6A mit t2 bzeichneten) zweiten Periode geht Φ1 nach HIGH (Fig. 6a), während Φ2 LOW ist (Fig. 6B), da es in den LOW-Zustand übergegangen war, bevor die Periode t1 endete. Das Eingangssignal (Fig. 6D) ist nun auf HIGH angestiegen und repräsentiert damit eine binäre "1". Damit ist das Ausgangssignal Q1 des Inverters 51-1 nach LOW gegangen. Das Ausgangssignal Q1 des Inverters 52-1 bleibt LOW, da der Durchschaltetransistor 55-1 von dem LOW-Pegel des Signals Φ2 gesperrt gehalten wird. Einige Zeit nach Beginn der zweiten Periode geht Φ1 nach LOW und nach einer weiteren Zeitspanne geht Φ2 nach HIGH. In diesem Zeitpunkt wird das Ausgangssignal Q1 über den Durchschaltetransistor 55-1 zu dem Inverter 52-1 übertragen und dadurch das Ausgangssignal Q1 des Inverters 52-1 auf HIGH gebracht. Mittlerweile hat während der Periode t2 das zuvor auf LOW liegende Signal an Q1 das Ausgangssignal Q2 des Inverters 51-2 auf HIGH-Pegel gebracht, wodurch der Durchschaltetransistor 53-2 aktiviert wurde. Der Wechsel von Φ2 von LOW nach HIGH in der zweiten Hälfte der Periode t2 aktivierte den Durchschaltetransistor 55-2, der seinerseits das Ausgangssignal Q2 des Inverters 52-2 auf LOW treibt. Auf diese Weise wird das Eingangssignal an der Leitung 58 (Fig. 6D) durch alle Speicherzellen 5-1, 5-2, 5-3 usw. des Schieberegisters übertragen. Bei der Übertragung der gewünschten Information in das Schieberegister wird das HOLD-Signal (Fig. 6C) aktiviert (d. h. auf HIGH gebracht), wodurch die Rückkopplungsleitungen 50-1, 50-2, 50-3 usw. von den Ausgangsleitungen der Inverter 52 mit den Eingangsleitungen der Inverter 51 verbunden werden, so daß die Information dann in jeder Speicherzelle undefiniert gehalten wird. Im Betrieb wird das in einer gegebenen Speicherzelle, z. B. in 5-1 gespeicherte Signal mit einer Konfigurationssteuer- oder einer Zwischenverbindungsdurchschalteeinrichtung verbunden.
Die Ausgangssignale Q1, Q1, Q2, Q2, usw. des Schieberegisters werden direkt mit den (Konfigurations-)Steuereingängen eines Logikelementes oder den Durchschalteeinrichtungen der Zwischenverbindungspunkte verbunden.
Wenn Φ1 LOW ist, können Φ2 und HOLD auf HIGH gebracht werden, wodurch die Daten undefiniert gehalten werden. Das gesamte Schieberegister kann gesetzt oder gelöscht werden, indem die Eingänge mit Φ1 und Φ2 beide HIGH und das HOLD- Signal LOW gesetzt oder gelöscht wird. Es muß hinreichend Setz/Rücksetz-Zeit für die Ausbreitung der Signale durch die gesamte Länge des Schieberegisters gegeben sein, um das Schieberegister auf diese Weise zu löschen. Diese Zeit hängt selbstverständlich von der Länge des Schieberegisters ab.
Das Schieberegister arbeitet in seiner dynamischen Phase, indem es die als Ladung auf den Gates der (in Fig. 5 nicht dargestellten, weil allgemein bekannten) Transistoren verschoben wird, die in den Invertern 51-1, 52-1, 51-2, 52-2 usw. des Schieberegisters enthalten sind. Der Aufbau solcher Inverter ist bekannt und wird nicht im einzelnen beschrieben. Die Verwendung eines dynamischen Schieberegisters ist wichtig, weil ein dynamisches Schieberegister nur sechs Transistoren verwendet und somit sehr wenig Fläche benötigt. Durch Hinzufügen nur eines weiteren Transistors wird das dynamische Schieberegister in eine statische Verriegelungsschaltung umgewandelt. Auf diese Weise läßt sich das dynamische Schieberegister (die statische Verriegelungsschaltung) leicht eines konfigurierbaren Logikelements herstellen, ohne daß die Schaltung wesentlich komplexer wird oder erhebliche Halbleiterfläche beansprucht. Wegen des HOLD-Signals kann das dynamische Schieberegister zu einer statischen Verriegelungsschaltung werden, weil das Schieberegister im HOLD- Zustand die Daten automatisch auffrischt. Eine separate Auffrischschaltung ist deshalb nicht erforderlich.
Aus der vorangehenden Beschreibung geht klar hervor, daß das dynamische Schieberegister (die statische Verriegelungsschaltung) keine Auffrischung benötigt, nachdem es einmal in einem Haltezustand verriegelt ist. Dies wird durch die Rückkopplungsschaltung erreicht, die z. B. in der Speicherzelle 5-1 die Leitungen 50-1 und den Durchschaltetransistor 54-1 umfaßt.
Fig. 7 zeigt ein Blockschaltbild des konfigurierbaren Logikelements 99 gemäß vorliegender Erfindung, das eine konfigurierbare Kombinationslogik 100, eine konfigurierbare Speicherschaltung 120 und eine konfigurierbare Ausgangssignal- Auswahllogik 140 umfaßt. Die Kombinationslogik 100 nimmt die N binären Eingangssignale für das konfigurierbare Logikelement 99 sowie M "Rückkopplungs"-Signale aus der Speicherschaltung 120 auf. Die Kombinationslogik 100 läßt sich in zahlreiche Konfigurationen bringen. Jede dieser Konfiguration entspricht einer oder mehreren ausgewählten kombinatorischen logischen Funktionen einer oder mehrerer ausgewählter Untergruppen der der Kombinationslogik zugeführten Eingangssignale. Da die Kombinationslogik 100 konfigurierbar ist, läßt sie sich zur Ausführung vieler unterschiedlicher Funktionen verwenden. Darüber hinaus können zwei oder mehr ausgewählte Funktionen gleichzeitig ausgeführt werden, die dann an separaten Ausgangsleitungen des konfigurierbaren Logikelements 100 erscheinen.
Dies im folgenden näher ausgeführt: Die Kombinationslogik 100 wählt K binäre Eingangssignale aus ihren M+N binären Eingangssignalen aus (KM+N). Die Kombinationslogik 100 spricht auf mehrere Gruppen von Werten einer ersten Gruppe von Konfigurationssteuersignalen an, die wenigstens eine erste Gruppe von Werten beinhalten, für die die konfigurierbare Kombinationslogik 100 eine erste Gruppe von Funktionen ausführt, von denen jede eine Funktion einiger der genannten K Binärsignale ist, sowie eine zweite Gruppe von Werten, für die die konfigurierbare Kombinationslogik 100 eine zweite Gruppe von Funktionen ausführt, den jede eine Funktion einiger der genannten K Binärsignale ist, wobei die erste Gruppe von Funktionen sich von der zweiten Gruppe von Funktionen unterscheidet.
Bei einem Ausführungsbeispiel besitzt die Kombinationslogik 100 eine erste Konfiguration, die eine Funktion ausführt, die aus binärwertiger Funktionen dieser K Binärsignale auswählbar ist, und eine zweite Konfiguration, die sowohl eine Funktion ausführt, die auswählbar ist aus den binärwertigen Funktionen eines ersten Satzes von (K-1) aus K ausgewählten binären Eingangssignalen, als auch eine Funktion, die auswählbar ist aus den binärwertigen Funktionen eines zweiten Satzes von (K-1) aus K ausgewählten binären Eingangssignalen. (Der zweite Satz von K-1 Signalen muß sich von dem ersten Satz nicht unterscheiden.) Die Operation der Kombinationslogik 100 wird nach der Betrachtung des spezifischen Ausführungsbeispiels von Fig. 8, das später erläutert wird, leicht verständlich.
Die Speicherschaltung 120 ist ebenfalls konfigurierbar und läßt sich so programmieren, daß sie in Abhängigkeit von ihrer Konfiguration eines oder mehrere Speicherelemente enthält, von denen jedes z. B. eine transparente Verriegelungsschaltung mit Setz- und Rücksetzsteuerung, ein D-Flip-Flop mit Setz- und Rücksetzsteuerung, einen Flankendetektor, eine Stufe eines Schieberegisters oder eine Stufe eines Zählers darstellt. Die konfigurierbare Speicherschaltung 120 nimmt die auf einem Bus 161 auftretenden Ausgangssignale der Kombinationslogik 100, ferner ein Taktsignal sowie ausgewählte Exemplare der N Eingangssignale der Kombinationslogik 100 auf, die an dem Eingangsbus anliegen. Die Ausgangssignal- Auswahllogik 140 ist derart konfiguriert, daß sie Ausgangssignale liefert, die aus den Ausgangssignalen der Kombinationslogik und der Speicherschaltung ausgewählt sind.
Fig. 8 zeigt die Details eines Ausführungsbeispiels des konfigurierbaren Logikelements 99 von Fig. 9. In Fig. 8 sind die vier Eingangssignale des konfigurierbaren Logikelements 99 mit A, B, C, D bezeichnet (d. h. N=4). Da die Speicherschaltung 120 nur ein einziges Rückkopplungssignal Q an den Schalter 107 liefert, ist M=1. In Fig. 8 ist K=4, da die Signale A, B, C und eines der Signale D oder Q aus den fünf Signalen A, B, C, D und Q ausgewählt werden. Die konfigurierbare Kombinationslogik 100 beinhaltet konfigurierbare Schalter 101 bis 107, 113 und 114, 8-Bit-RAMs 108 und 109, 1-von-8-Auswahllogiken 110 und 111, Multiplexer 112 und zu den Schaltern 113 und 114 führende Konfigurationssteuerleitungen 115. Jeder der konfigurierbaren Schalter wird durch Steuerbits aus einem (nicht dargestellten) Programmregister, die an die Leitungen (von denen nur die Leitung 115 dargestellt ist) angelegt werden, in der Weise konfiguriert. Der Schalter 101 läßt sich derart konfigurieren, daß er das Signal A als Ausgangssignal liefert, oder aber derart, daß er das Signal B als Ausgangssignal liefert.
In ähnlicher Weise kann jeder der Schalter 102 bis 107 so konfiguriert werden, daß er eines seiner beiden Eingangssignale als Ausgangssignal auswählt. So liefert, z. B. für eine Auswahl von Konfigurationssteuerbits, der Schalter 107 das Signal D und die Binärsignale A, C, D werden durch Schalter 101 bis 103 bzw. 104 bis 107 zu der 1-von-8-Auswahllogik 110 bzw. 1-von-8-Auswahllogik 111 geführt. Für jede der acht möglichen Kombinationen der Binärsignale A, C und D wählt die Auswahllogik 110 ein einziges Speicherelement in dem RAM 108 an und gibt das an der gewählten Stelle gespeicherte Bit aus. Die 1-von-8-Auswahllogik 111 verfährt in ähnlicher Weise mit dem 8-Bit-RAM 109. Der Multiplexer 112 liefert je nach dem Zustand des Signals B entweder das Ausgangssignal der Auswahllogik 110 oder das Ausgangssignal der Auswahllogik 111. Für diese Konfiguration bewirkt das an die Leitung 115 angelegte Steuerbit, daß die Schalter 113 und 114 das Ausgangssignal des Multiplexers 112 gleichzeitig zu den Ausgangsleitungen F1 und F2 der Kombinationslogik 100 durchgeschaltet wird.
Die beiden 8-Bit-RAMs 108 und 109 können mit binären Bits auf 2¹⁶ unterschiedliche Arten programmiert werden. Jede Programmierungsauswahl des 8-Bit-RAMs veranlaßt die Kombinationslogik des Elements 100 zur Ausführung einer der 2¹⁶= möglichen logischen Funktionen der vier binären Variablen A, B, C und D (K ist hier gleich 4). (Eine logische Funktion ist eine binär bewertete Funktion binärer Variabler).
Für eine andere Auswahl von Konfigurationssteuerbits liefert der Schalter 107 das Rückkopplungssignal Q von der Speicherschaltung 120, und die Schalter 101 bis 103 und 104 bis 107 und 113 bis 114 werden wie zuvor konfiguriert. Dann führt die Kombinationslogik 100 eine der 2¹⁶= möglichen logischen Funktionen der vier binären Variablen A, B, C und Q für jede Programmwahl der beiden 8-Bit-RAMs 108 und 109 aus. (Hier ist wieder K=4).
Für eine andere Auswahl der Konfigurationssteuerbits liefern die Schalter 101 bis 103 Signale A, C und Q und die Schalter 104 bis 106 die Signale B, C und Q. Das an die Leitung 115 angelegte Steuersignal veranlaßt die Schalter 113 und 114, das Ausgangssignal der Auswahllogik 110 an die Leitung F2 bzw. das Ausgangssignal der Auswahllogik 111 an die Leitung F1 zu geben. Somit führt diese Konfiguration auf der Leitung F1 eine der 2⁸= logischen Funktionen der drei binären Variablen A, C und Q für jede der 2⁸ möglichen Programmierungen des 8-Bit-RAMs 108 und an der Leitung F2 eine der 2⁸ logischen Funktionen der drei binären Variablen B, C und Q für jede der 2⁸= möglichen Programmierungen des RAM 109 aus.
Allgemein gilt, daß für eine beliebige erste Auswahl von drei der vier Variablen A, B, C und D/Q und für irgendeine zweite Auswahl von drei der vier Variablen A, B, C und D/Q eine Konfiguration des kombinatorischen Logikelementes 100 gegeben ist, die eine der logischen Funktionen der ersten Auswahl von drei Variablen auf der Ausgangsleitung F2 für jede der 2⁸ möglichen Programmierungen des 8-Bit- RAMs 108 und eine der logischen Funktionen der zweiten Auswahl von drei Variablen auf der Ausgangsleitung F1 für jede der 2⁸ möglichen Programmierungen des RAM 109 ausführt.
In einem anderen (nicht dargestellten) Ausführungsbeispiel kann jedes der 8-Bit-RAMs "unterteilt" werden, indem man jedes mit zwei zusätzlichen 1 : 4-Auswahllogiken versieht, so daß beliebige vier Binärfunktionen von zwei der Variablen A, B, C und D/Q auf vier zusätzlichen Ausgangsleitungen des Logikelements 100 implementiert werden.
In einem weiteren (nicht dargestellten) Ausführungsbeispiel ist ein 32-Bit-RAM vorgesehen und die Signale A, B, C und D und das Rückkopplungssignal Q (K ist also gleich 5) werden sämtlich dazu verwendet, in einer Konfiguration ein von binären Funktionen zu implementieren, die allen Programmierungen des 32-Bit-RAMs entsprechen (Hier ist N=4, M=1 und K=5).
In einer weiteren (nicht dargestellten) Konfiguration mit N=4, M=1 und K=5 werden eine erste binäre Funktion F1 der Variablen A, B und C und eine zweite binäre Funktion F2 der Variablen B, C, D und Q sowie eine dritte binäre Funktion F3 der Variablen B, C, D und Q implementiert. Es ist zu beachten, daß
2K′1 + 2K′2 + 2K′3 = 2K,
wobei Ki′ die Anzahl der Variablen ist, von denen Fi Funktion für i=1, 2, 3 ist.
Es sei noch einmal auf Fig. 8 verwiesen. Es ist auch zu beachten, daß die konfigurierbaren Schalter 101, 102 und 103 eine Untergruppe ihrer Eingangssignale auswählen und diese ausgewählte Untergruppe auf einer 1 : 1-Basis an ausgewählte Eingangsleitungen der Schaltung 111 liefern. In Abhängigkeit von einer Wertegruppe von Konfigurationssignalen liefern beispielsweise die Schalter 101, 102 und 103 das Signal A an die Leitung 110-3, das Signal B an die Leitung 110-2 und das Signal C an die Leitung 110-1.
Die Ausgangssignale auf den Leitungen F1 und F2 bilden Eingangssignale der konfigurierbaren Speicherschaltung 120. Die Signale A, C und D bilden ebenfalls Eingangssignale für die Speicherschaltung 120. Die konfigurierbare Speicherschaltung 120 beinhaltet programmierbare Schalter 122, 123, 126, 127 und 128, Exklusiv-ODER-Glieder 124, 129 und 130, UND-Glieder 125, 131 und 132 sowie ein Speicherelement 121. Das Speicherelement 121 besitzt eine Setz-, eine Rücksetz-, eine Dateneingabe- und eine Takteingangsleitung, die mit S, R, D bzw. CK bezeichnet sind, sowie Ausgangsleitungen QFF und QLA.
Die Schalter 123, 126, 127 und 128 sind jeweils so konfiguriert, daß sie eines ihrer Eingangssignale als Ausgangssignal durchschalten. Die den Setz-, Takt- und Rücksetzeingangsleitungen des Speicherelements 121 zugeordneten Setz-, Takt- und Rücksetzfunktionen sind alle aktiv HIGH, jede von ihnen kann jedoch auch aktiv LOW relativ zu dem Ausgangssignal der Schalter 123, 127 bzw. 129 gemacht werden, indem eine logische "1" an die Leitungen INVS, INVC und INVR der Exklusiv-ODER-Glieder 124, 129 bzw. 130 angelegt wird. (Falls an die Leitungen INVS, INVC und INVR eine logische "0" angelegt wird, ist die Polarität der Ausgangssignale der Exklusiv- ODER-Glieder 124, 129 und 130 die gleiche wie diejenige der Eingangssignale. Falls eine logische "1" an die Leitungen INVS, INVC und INVR angelegt wird, sind die Ausgangssignale der Exklusiv-ODER-Glieder 124, 129 und 130 gegenüber den Eingangssignalen invertiert.)
Die UND-Glieder 125, 131 und 132 werden aktiviert, indem eine logische "1" an die Eingangsleitungen ENS, ENC bzw. ENR angelegt wird. (Durch Anlegen einer logischen "0" werden sie deaktiviert.) Falls an eine der Eingangsleitungen ENS, ENC oder ENR eine logische "0" angelegt wird, ist das Ausgangssignal des UND-Gliedes eine logische "0" und die zugehörige Funktion der Speicherschaltung 121 wird unabhängig vom Zustand des entsprechenden Exklusiv-ODER-Gliedes deaktiviert. QFF liefert ein Flip-Flop-Ausgangssignal und QLA liefert ein Verriegelungsausgangssignal, wie es weiter unten in Verbindung mit Fig. 9 erläutert wird. Der konfigurierbare Schalter 122 wählt eines der binären Signale an den Leitungen QFF und QLA aus und das Ausgangssignal Q des Schalters 122 ist das Eingangssignal für die Ausgangssignal-Auswahllogik 140 und die konfigurierbare Kombinationslogik 100.
Fig. 9 zeigt ein Ausführungsbeispiel der Speicherschaltung 121. Das Speicherelement 121 umfaßt zwei D-Verriegelungsschaltungen LA1 und LA2, die zueinander in Reihe geschaltet und damit die Funktion eines Flip-Flops haben. Die Verriegelungsschaltung LA1 umfaßt N-Kanal-Durchschaltetransistoren P1 und P2 und NOR-Glieder G1 und G2. Die Gates der Durchschaltetransistoren P1 und P2 werden von den Signalen CK bzw. CK gesteuert. Die Verriegelungsschaltung LA2 ist ähnlich aufgebaut und umfaßt N-Kanal-Durchschaltetransistoren P3 und P4 und NOR-Glieder G3 und G4. Die Gates der Durchschaltetransistoren P3 und P4 werden durch die Signale CK bzw. CK gesteuert. Die D-Eingangsleitung ist die Dateneingangsleitung der Verriegelungsschaltung LA1. Die S-Eingangsleitung dient als Setz-Eingangsleitung der Verriegelungsschaltung LA1 und als Rücksetz-Eingangsleitung der Verriegelungsschaltung LA2.
Das Ausgangssignal Q LA des NOR-Gliedes G1 ist mit der Daten- Eingangsleitung der Verriegelungsschaltung LA2 verbunden. Die Ausgangsleitung QLA ist mit der Ausgangsleitung des NOR- Gliedes G2 der Verriegelungsschaltung LA1 verbunden, und die Ausgangsleitung QFF ist mit der Ausgangsleitung des NOR- Gliedes G3 der Verriegelungsschaltung LA2 verbunden.
Die konfigurierbare Speicherschaltung 120 (Fig. 8) arbeitet als transparente Verriegelungsschaltung mit Setzen und Rücksetzen durch den zur Konfiguration dienenden Schalter 122 zur Verbindung der Ausgangsleitung Q mit der Ausgangsleitung QLA. Das Ausgangssignal auf der Leitung QLA folgt dem Eingangssignal, solange das Taktsignal CK LOW ist. Das Ausgangssignal auf der Leitung QLA wird gehalten, wenn das Taktsignal CK nach HIGH geht, wodurch der Durchschaltetransistor P1 gesperrt und der Durchschaltetransistor P2 leitend wird. Auf diese Weise wird das Datensignal zu der Ausgangsleitung QLA übertragen.
Die Speicherschaltung 120 kann auch so konfiguriert werden, daß sie als D-Flip-Flop mit Setzen und Rücksetzen arbeitet. In dieser Konfiguration ist der Schalter 126 so konfiguriert, daß er das Signal auf der Leitung F1 auswählt. Die Gatter 125, 131 und 132 werden aktiviert, indem ein logische "1" an die Leitungen ENS, ENC bzw. ENR angelegt wird. Dann wird der Schalter 122 so konfiguriert, daß er das Ausgangssignal auf der Leitung QFF des Speicherelements 121 auswählt. Das Speicherelement 121 kann schließlich auch als D-Flip-Flop ohne Setzen und Rücksetzen konfiguriert werden, indem die oben beschriebene Konfiguration durch Anlegen einer "0" an die Leitungen ENS und ENR modifiziert wird.
Die konfigurierbare Speicherschaltung 120 kann ferner auch als RS-Verriegelungsschaltung konfiguriert werden, indem die UND-Glieder 125 und 122 aktiviert und das UND-Glied 131 deaktiviert wird, so daß an der CK-Eingangsleitung des Speicherelements 121 eine logische "0" als Eingangssignal geliefert wird. Die logische "0" auf der Leitung CK sperrt den Durchschaltetransistor P3 und schaltet den Durchschaltetransistor P4 durchlässig. Der Schalter 122 wird dann so konfiguriert, daß er das Ausgangssignal auf der Leitung QFF auswählt.
Schließlich kann die Speicherschaltung 120 auch als Flankendetektor konfiguriert werden. Um das Speicherelement 120 beispielsweise als Detektor ansteigende Flanken zu konfigurieren, wird das UND-Glied 125 deaktiviert, so daß es eine logische "0" an die Eingangsleitung S anlegt; das UND-Glied 131 wird aktiviert, so daß es ein Taktsignal an die Eingangsleitung CK weitergibt, und der Schalter 126 wird so konfiguriert, daß er die Eingangsleitung 126a auswählt, so daß eine logische "1" an die Eingangsleitung D geliefert wird. Das UND-Glied 132 wird aktiviert. Eine logische "1" als Rücksetzsignal zwingt das Ausgangssignal an QFF auf den Pegel einer logischen "0". Ein Taktsignal LOW sperrt die Durchschaltetransistoren P2 und P3 und schaltet den Durchschaltetransistor P1 durchlässig, so daß das NOR-Glied G1 die logische "1" auf der Leitung D invertieren kann und an dem Schaltungsknoten Q LA eine logische "0" erscheint. Wenn das Taktsignal ansteigt, werden die Transistoren P1 und P4 gesperrt und die Transistoren P2 und P3 eingeschaltet. Die logische "0" an dem Schaltungsknoten Q LA wird durch das NOR-Glied 23 invertiert, so daß an der Ausgangsleitung QFF eine logische "1" erscheint, die die Detektion einer ansteigenden Flanke signalisiert. QFF wird dann durch Verwendung des Rücksetz-Eingangs auf "0" zurückgesetzt, und der Flankendetektor steht zur Erfassung der nächsten ansteigenden Flanke bereit. (Es ist zu beachten, daß beim Abfallen des Taktsignals die Transistoren P2 und P3 gesperrt und der Transistor P4 eingeschaltet wird und das Signal an QFF eine logische "0" bleibt und seinen Zustand bis zur nächsten ansteigenden Flanke nicht ändert.)
Die Speicherschaltung 120 kann in ähnlicher Weise als Detektor für abfallende Flanken konfiguriert werden, indem eine logische "1" an die Leitung INVC des Exklusiv-ODER-Gliedes 129 angelegt wird. Die Schaltung 120 kann auch als Stufe eines Schieberegisters oder als Stufe eines Zählers betrieben werden.
Die Ausgangssignal-Auswahllogik 140 beinhaltet konfigurierbare Schalter 141 und 142, die jeweils so konfiguriert sind, daß sie unter den auf den Leitungen F1 und F2 auftretenden Ausgangssignalen der Kombinationslogik 100 und dem Ausgangssignal des Speicherelements 120 eines auswählen.
In den Patentansprüchen bedeutet die Aussage, daß eine "Einrichtung eine Konfiguration aufweist", daß diese Einrichtung in Abhängigkeit von einer ausgewählten Gruppe von Werten einer Gruppe von Konfigurationssteuersignalen konfigurierbar sind und nach ihrer Konfiguration durch diese ausgewählte Gruppe von Werten eine bestimmte Funktion ausführen.

Claims (8)

1. Konfigurierbare Kombinationslogik (100-115, 100-a, 100-b) für ein konfigurierbares Logikelement (99), welches aufweist:
eine erste konfigurierbare Einrichtung (101-103) zum Empfang von K binären Signalen, welche Einrichtung wenigstens eine erste Konfiguration aufweist, bei der sie eine erste Gruppe von Ausgangssignalen (110-1, 110-2, 110-3, A, B, C) erzeugt, die eine erste Untergruppe der K binären Signale darstellt, sowie eine zweite Konfiguration aufweist, in der sie eine zweite Gruppe von Ausgangssignalen (110-1, 110-2, 110-3, A, B, D/Q) erzeugt, die eine zweite Untergruppe der K Signale darstellt, wobei die erste Gruppe mit der zweiten Gruppe nicht übereinstimmt,
einen ersten Speicher (108) mit einer Mehrzahl von Speicherplätzen zur Speicherung jeweils eines binären Bits und
eine erste Speicherplatz-Auswahleinrichtung (110) zum Empfang der Ausgangssignale (110-1, 110-2, 110-3, A, B, C) der ersten konfigurierbaren Einrichtung (101-103) und zur Auswahl eines Speicherplatzes in dem ersten Speicher (108) in Abhängigkeit von den Ausgangssignalen (110-1, 110-2, 110-3, A, B, C) der ersten konfigurierbaren Einrichtung (101-103) und zur Abgabe eines ersten Ausgangssignals, welches das an dem ausgewählten Speicherplatz in dem ersten Speicher (108) gespeicherte binäre Bit repräsentiert.
2. Konfigurierbare Kombinationslogik nach Anspruch 1, gekennzeichnet durch
eine zweite konfigurierbare Einrichtung (104-106) zum Empfang der K binären Signale, welche Einrichtung wenigstens eine erste Konfiguration aufweist, in der sie eine dritte Gruppe von Ausgangssignalen erzeugt, welche eine dritte Untergruppe der K binären Signale ist, sowie eine zweite Konfiguration aufweist, in der sie eine vierte Gruppe von Ausgangssignalen erzeugt, die eine vierte Untergruppe der K Signale darstellt, wobei die dritte Gruppe mit der vierten Gruppe nicht übereinstimmt,
einen zweiten Speicher (109) mit einer Mehrzahl von Speicherplätzen zur Speicherung jeweils eines binären Bits,
eine zweite Speicherplatz-Auswahleinrichtung (111) zum Empfang der Ausgangssignale der zweiten konfigurierbaren Einrichtung und zur Auswahl eines Speicherplatzes in dem zweiten Speicher (109) in Abhängigkeit von den Ausgangssignalen der zweiten konfigurierbaren Einrichtung und zur Abgabe eines zweiten Ausgangssignales, welches das an dem ausgewählten Speicherplatz in dem zweiten Speicher (109) gespeicherte binäre Bit repräsentiert und
eine Steuerlogik (112-115) zum Empfang des ersten und zweiten Ausgangssignals der ersten und zweiten Speicherplatz- Auswahleinrichtung (110, 111), welche Steuerlogik (112-115) eine erste Konfiguration aufweist, bei der sie ein erstes Ausgangssignal (F2) liefert, das mit dem ersten Ausgangssignal der ersten Speicherplatz-Auswahleinrichtung (110) übereinstimmt, sowie ein zweites Ausgangssignal (F1), das mit dem zweiten Ausgangssignal der zweiten Speicherplatz- Auswahleinrichtung (111) übereinstimmt, wobei die Steuerlogik (112-115) ferner eine zweite Konfiguration aufweist, bei der sie ein Ausgangssignal liefert, welches einem Signal entspricht, das aus dem ersten und zweiten Ausgangssignal (F1, F2) der ersten und zweiten Speicherplatz- Auswahleinrichtung (110, 111) ausgewählt ist.
3. Konfigurierbare Kombinationslogik nach Anspruch 2, dadurch gekennzeichnet, daß die Anzahl der binären Signale in der ersten, der zweiten, der dritten und der vierten Gruppe (110-1, 110-2, 110-3) von Ausgangssignalen L beträgt, wobei L eine ausgewählte positive ganze Zahl größer oder gleich K ist.
4. Konfigurierbare Kombinationslogik nach Anspruch 3, dadurch gekennzeichnet, daß L=K-1 ist.
5. Konfigurierbare Kombinationslogik nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet,
daß die ersten Speicher (108) 2K-1 Speicherplätze haben, die alle programmierbar und wiederprogrammierbar sind, und
daß die zweiten Speicher (109) 2K-1 Speicherplätze haben, die alle programmierbar und wiederprogrammierbar sind.
6. Konfigurierbare Kombinationslogik (100-115, 100-a, 100-b) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die erste und/oder die zweite konfigurierbare Einrichtung (101-103; 104-106) und eine weitere konfigurierbare Einrichtung (107) gemeinsam eine konfigurierbare Auswahleinrichtung (100-a) bilden, welche die K binären Signale aus N binären Eingangssignalen (A, B, C, D) und M binären Rückkopplungssignalen (Q) auswählt und welche aus den K binären Signalen mindestens eine Untergruppe (110-1, 110-2, 110-3; 111) bildet, welche jeweils einer Speicherplatz-Auswahleinrichtung (110, 111) zugeführt ist.
7. Konfigurierbare Kombinationslogik nach einem der vorherstehenden Ansprüche, dadurch gekennzeichnet, daß jeder der mehreren Untergruppen (110-i, 111) von binären Signalen eine Speicherplatz-Auswahleinrichtung (110, 111) und ein Speicher (108, 109) zugeordnet ist.
8. Konfigurierbare Kombinationslogik nach einem der vorherstehenden Ansprüche,
dadurch gekennzeichnet,
daß eine oder mehrere der Speicherplatz-Auswahleinrichtungen (110, 111) unterteilt ist/sind, jeder der unterteilten Auswahleinrichtungen eine, insbesondere eine individuelle, Untergruppe von binären Signalen zugeführt ist,
daß jede unterteilte Auswahleinrichtung einen Speicherplatz eines individuellen Speichers (108, 109) auswählt, wobei die Anzahl der Ausgangssignale (F1, F2) der Auswahleinrichtungen entsprechend der Unterteilung der Auswahleinrichtungen (110, 111) bzw. der Anzahl der Speicher (108, 109) erhöht ist und
daß eine Steuerlogik (112-115) vorsehbar ist, zur freien Auswahl von bestimmten Ausgangssignalen (F1, F2) der Kombinationslogik (100-115, 100-a, 100-b) aus der erhöhten Anzahl von Ausgangssignalen (F1, F2).
DE3645221A 1985-02-27 1986-02-27 Expired - Lifetime DE3645221C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/706,429 US4706216A (en) 1985-02-27 1985-02-27 Configurable logic element

Publications (1)

Publication Number Publication Date
DE3645221C2 true DE3645221C2 (de) 1992-04-23

Family

ID=24837522

Family Applications (3)

Application Number Title Priority Date Filing Date
DE3645224A Expired - Lifetime DE3645224C2 (de) 1985-02-27 1986-02-27
DE3645221A Expired - Lifetime DE3645221C2 (de) 1985-02-27 1986-02-27
DE19863606406 Granted DE3606406A1 (de) 1985-02-27 1986-02-27 Konfigurierbares logikelement

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE3645224A Expired - Lifetime DE3645224C2 (de) 1985-02-27 1986-02-27

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19863606406 Granted DE3606406A1 (de) 1985-02-27 1986-02-27 Konfigurierbares logikelement

Country Status (5)

Country Link
US (2) US4706216A (de)
JP (2) JPS61224520A (de)
CA (1) CA1255364A (de)
DE (3) DE3645224C2 (de)
GB (1) GB2171546B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9114200U1 (de) * 1991-11-14 1993-03-18 Siemens Ag, 8000 Muenchen, De

Families Citing this family (408)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151623A (en) * 1985-03-29 1992-09-29 Advanced Micro Devices, Inc. Programmable logic device with multiple, flexible asynchronous programmable logic blocks interconnected by a high speed switch matrix
US5225719A (en) * 1985-03-29 1993-07-06 Advanced Micro Devices, Inc. Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix
DE3683477D1 (de) * 1985-07-12 1992-02-27 Anamartic Ltd Scheibenbereichsschaltungsintegrierter speicher.
DE3630835C2 (de) * 1985-09-11 1995-03-16 Pilkington Micro Electronics Integrierte Halbleiterkreisanordnungen und Systeme
GB2184268B (en) * 1985-12-13 1989-11-22 Anamartic Ltd Fault tolerant memory system
GB8621357D0 (en) * 1986-09-04 1986-10-15 Mcallister R I Hinged barrier semiconductor integrated circuits
US5477165A (en) * 1986-09-19 1995-12-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5367208A (en) 1986-09-19 1994-11-22 Actel Corporation Reconfigurable programmable interconnect architecture
US5187393A (en) * 1986-09-19 1993-02-16 Actel Corporation Reconfigurable programmable interconnect architecture
US5172014A (en) * 1986-09-19 1992-12-15 Actel Corporation Programmable interconnect architecture
US5451887A (en) * 1986-09-19 1995-09-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US4983959A (en) * 1986-10-01 1991-01-08 Texas Instruments Incorporated Logic output macrocell
IT1206265B (it) * 1987-02-27 1989-04-14 Texas Instruments Italia Spa Complesso di memoria ram a doppia porta con organizzazione variabile a misura di utente
JP2567463B2 (ja) * 1987-10-02 1996-12-25 川崎製鉄株式会社 プロブラマブル入出力回路
US5068603A (en) * 1987-10-07 1991-11-26 Xilinx, Inc. Structure and method for producing mask-programmed integrated circuits which are pin compatible substitutes for memory-configured logic arrays
EP0317287B1 (de) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmierbare logische Vorrichtung
JPH0646707B2 (ja) * 1988-06-30 1994-06-15 川崎製鉄株式会社 プログラマブル論理素子
JPH01171321A (ja) * 1987-12-25 1989-07-06 Kawasaki Steel Corp プログラマブル論理要素
JPH0611113B2 (ja) * 1988-01-14 1994-02-09 川崎製鉄株式会社 プログラマブル論理素子
US4864161A (en) * 1988-05-05 1989-09-05 Altera Corporation Multifunction flip-flop-type circuit
WO1990004233A1 (en) * 1988-10-05 1990-04-19 Mentor Graphics Corporation Method of using electronically reconfigurable gate array logic and apparatus formed thereby
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US4984192A (en) * 1988-12-02 1991-01-08 Ultrasystems Defense Inc. Programmable state machines connectable in a reconfiguration switching network for performing real-time data processing
GB8828828D0 (en) * 1988-12-09 1989-01-18 Pilkington Micro Electronics Semiconductor integrated circuit
IT1225638B (it) * 1988-12-28 1990-11-22 Sgs Thomson Microelectronics Dispositivo logico integrato come una rete di maglie di memorie distribuite
JPH02222217A (ja) * 1989-02-22 1990-09-05 Toshiba Corp プログラマブル論理回路
GB8906145D0 (en) * 1989-03-17 1989-05-04 Algotronix Ltd Configurable cellular array
US4940909A (en) * 1989-05-12 1990-07-10 Plus Logic, Inc. Configuration control circuit for programmable logic devices
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5255203A (en) * 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5231588A (en) * 1989-08-15 1993-07-27 Advanced Micro Devices, Inc. Programmable gate array with logic cells having symmetrical input/output structures
US5233539A (en) * 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5644496A (en) * 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
JPH0654873B2 (ja) * 1989-09-04 1994-07-20 株式会社東芝 プログラマブル型論理装置
US5377124A (en) * 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5400262A (en) * 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
US5099453A (en) * 1989-09-29 1992-03-24 Sgs-Thomson Microelectronics, Inc. Configuration memory for programmable logic device
US5003204A (en) * 1989-12-19 1991-03-26 Bull Hn Information Systems Inc. Edge triggered D-type flip-flop scan latch cell with recirculation capability
US5140193A (en) * 1990-03-27 1992-08-18 Xilinx, Inc. Programmable connector for programmable logic device
US5267187A (en) * 1990-05-10 1993-11-30 Xilinx Inc Logic structure and circuit for fast carry
CA2037142C (en) * 1990-05-10 1996-05-07 Hung-Cheng Hsieh Logic structure and circuit for fast carry
US5295090A (en) * 1992-05-10 1994-03-15 Xilinx, Inc. Logic structure and circuit for fast carry
US5055718A (en) * 1990-05-11 1991-10-08 Actel Corporation Logic module with configurable combinational and sequential blocks
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
EP0476159B1 (de) * 1990-09-15 1996-12-11 International Business Machines Corporation Programmierbare Schaltung für eine neurale Logik
US5363319A (en) * 1990-09-29 1994-11-08 Kabushiki Kaisha Toshiba Logic simulator
DE69133311T2 (de) * 1990-10-15 2004-06-24 Aptix Corp., San Jose Verbindungssubstrat mit integrierter Schaltung zur programmierbaren Verbindung und Probenuntersuchung
US5321704A (en) * 1991-01-16 1994-06-14 Xilinx, Inc. Error detection structure and method using partial polynomial check
US5107146A (en) * 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
US5416367A (en) * 1991-03-06 1995-05-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5220213A (en) * 1991-03-06 1993-06-15 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5122685A (en) * 1991-03-06 1992-06-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5322812A (en) * 1991-03-20 1994-06-21 Crosspoint Solutions, Inc. Improved method of fabricating antifuses in an integrated circuit device and resulting structure
US5255221A (en) * 1991-04-02 1993-10-19 At&T Bell Laboratories Fully configurable versatile field programmable function element
DE69227144T2 (de) * 1991-05-10 1999-03-18 Toshiba Kawasaki Kk Programmierbare logische Einheit
US5317209A (en) * 1991-08-29 1994-05-31 National Semiconductor Corporation Dynamic three-state bussing capability in a configurable logic array
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5436575A (en) * 1991-09-03 1995-07-25 Altera Corporation Programmable logic array integrated circuits
US5883850A (en) * 1991-09-03 1999-03-16 Altera Corporation Programmable logic array integrated circuits
US5371422A (en) * 1991-09-03 1994-12-06 Altera Corporation Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US5260611A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US20020130681A1 (en) 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
JPH09506481A (ja) * 1991-09-23 1997-06-24 アプティックス・コーポレイション ユニバーサル接続マトリクスアレイ
US5513124A (en) * 1991-10-30 1996-04-30 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning method
US5258668A (en) * 1992-05-08 1993-11-02 Altera Corporation Programmable logic array integrated circuits with cascade connections between logic modules
USRE35977E (en) * 1992-05-08 1998-12-01 Altera Corporation Look up table implementation of fast carry arithmetic and exclusive-or operations
US5274581A (en) * 1992-05-08 1993-12-28 Altera Corporation Look up table implementation of fast carry for adders and counters
US5254886A (en) * 1992-06-19 1993-10-19 Actel Corporation Clock distribution scheme for user-programmable logic array architecture
US5646547A (en) * 1994-04-28 1997-07-08 Xilinx, Inc. Logic cell which can be configured as a latch without static one's problem
US5386154A (en) * 1992-07-23 1995-01-31 Xilinx, Inc. Compact logic cell for field programmable gate array chip
US5331226A (en) * 1992-07-23 1994-07-19 Xilinx, Inc. Logic cell for field programmable gate array having optional input inverters
US5365125A (en) * 1992-07-23 1994-11-15 Xilinx, Inc. Logic cell for field programmable gate array having optional internal feedback and optional cascade
US5304871A (en) * 1992-07-24 1994-04-19 Actel Corporation Programmable interconnect architecture employing leaky programmable elements
DE4224804C1 (de) * 1992-07-27 1994-01-13 Siemens Ag Programmierbare logische Schaltungsanordnung
DE4224805A1 (de) * 1992-07-27 1994-02-03 Siemens Ag Konfigurierbare Logikzelle
JPH08501911A (ja) * 1992-07-29 1996-02-27 ザイリンクス, インコーポレイテッド オプションの入力インバータを具備するフィールドプログラマブルゲートアレイ用ロジックセル
CA2091860A1 (en) * 1992-07-29 1994-01-30 F. Erich Goetting Configuration control unit for programming a field programmable gate array and reading array status
US5317698A (en) * 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
JP2746502B2 (ja) * 1992-08-20 1998-05-06 三菱電機株式会社 半導体集積回路装置の製造装置及び製造方法並びに電子回路装置
JP3462534B2 (ja) * 1992-08-28 2003-11-05 テキサス インスツルメンツ インコーポレイテツド プログラマブル論理回路および方法
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5329179A (en) * 1992-10-05 1994-07-12 Lattice Semiconductor Corporation Arrangement for parallel programming of in-system programmable IC logical devices
JPH06125067A (ja) * 1992-10-12 1994-05-06 Mitsubishi Electric Corp 半導体集積回路及びその設計方法
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5434514A (en) * 1992-11-19 1995-07-18 Altera Corporation Programmable logic devices with spare circuits for replacement of defects
US5414377A (en) * 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
GB9303084D0 (en) * 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
US5317212A (en) * 1993-03-19 1994-05-31 Wahlstrom Sven E Dynamic control of configurable logic
US5311080A (en) * 1993-03-26 1994-05-10 At&T Bell Laboratories Field programmable gate array with direct input/output connection
US5483178A (en) * 1993-03-29 1996-01-09 Altera Corporation Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers
US5809281A (en) * 1993-03-30 1998-09-15 Altera Corporation Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US5432467A (en) * 1993-05-07 1995-07-11 Altera Corporation Programmable logic device with low power voltage level translator
US5381058A (en) * 1993-05-21 1995-01-10 At&T Corp. FPGA having PFU with programmable output driver inputs
CN1125006A (zh) * 1993-05-28 1996-06-19 加州大学评议会 动态互连于一个动态逻辑内核的现场可编程逻辑设备
IL109921A (en) * 1993-06-24 1997-09-30 Quickturn Design Systems Method and apparatus for configuring memory circuits
US5399922A (en) * 1993-07-02 1995-03-21 Altera Corporation Macrocell comprised of two look-up tables and two flip-flops
JP3176482B2 (ja) * 1993-07-07 2001-06-18 富士通株式会社 論理シミュレーション装置
US5444394A (en) * 1993-07-08 1995-08-22 Altera Corporation PLD with selective inputs from local and global conductors
GB2280293B (en) * 1993-07-19 1997-12-10 Hewlett Packard Co Architecture for programmable logic
US6460131B1 (en) 1993-08-03 2002-10-01 Xilinx Inc. FPGA input output buffer with registered tristate enable
WO1995004402A1 (en) * 1993-08-03 1995-02-09 Xilinx, Inc. Microprocessor-based fpga
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5410194A (en) * 1993-08-11 1995-04-25 Xilinx, Inc. Asynchronous or synchronous load multifunction flip-flop
US5523705A (en) * 1993-08-24 1996-06-04 Intel Corporation Apparatus and method for selecting and buffering inputs of programmable logic devices
US5506517A (en) * 1993-09-01 1996-04-09 Lattice Semiconductor Corporation Output enable structure and method for a programmable logic device
US5898319A (en) * 1993-09-02 1999-04-27 Xilinx, Inc. Method and structure for providing fast conditional sum in a field programmable gate array
US5481206A (en) * 1993-09-02 1996-01-02 Xilinx, Inc. Circuit for fast carry and logic
US6288570B1 (en) 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5349250A (en) * 1993-09-02 1994-09-20 Xilinx, Inc. Logic structure and circuit for fast carry
US6154053A (en) * 1993-09-02 2000-11-28 Xilinx, Inc. Look-ahead carry structure with homogeneous CLB structure and pitch larger than CLB pitch
US5629886A (en) * 1993-09-02 1997-05-13 Xilinx, Inc. Method and structure for providing fast propagation of a carry signal in a field programmable gate array
US5546018A (en) * 1993-09-02 1996-08-13 Xilinx, Inc. Fast carry structure with synchronous input
EP0734573B1 (de) * 1993-12-13 2002-04-03 Lattice Semiconductor Corporation Anwendungsspezifische module in einem programmierbaren logikbaustein
US5614844A (en) * 1994-01-27 1997-03-25 Dyna Logic Corporation High speed programmable logic architecture
US5504440A (en) * 1994-01-27 1996-04-02 Dyna Logic Corporation High speed programmable logic architecture
US5742179A (en) 1994-01-27 1998-04-21 Dyna Logic Corporation High speed programmable logic architecture
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5369314A (en) * 1994-02-22 1994-11-29 Altera Corporation Programmable logic device with redundant circuitry
US5581200A (en) * 1994-03-04 1996-12-03 Gudger; Keith H. Stored and combinational logic function generator without dedicated storage elements
US5805834A (en) * 1994-03-30 1998-09-08 Zilog, Inc. Hot reconfigurable parallel bus bridging circuit
US5781756A (en) * 1994-04-01 1998-07-14 Xilinx, Inc. Programmable logic device with partially configurable memory cells and a method for configuration
US5504439A (en) * 1994-04-01 1996-04-02 Xilinx, Inc. I/O interface cell for use with optional pad
US5430687A (en) * 1994-04-01 1995-07-04 Xilinx, Inc. Programmable logic device including a parallel input device for loading memory cells
US5550843A (en) * 1994-04-01 1996-08-27 Xilinx, Inc. Programmable scan chain testing structure and method
US5453706A (en) * 1994-04-01 1995-09-26 Xilinx, Inc. Field programmable gate array providing contention free configuration and reconfiguration
US5682107A (en) * 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US6294928B1 (en) 1996-04-05 2001-09-25 Altera Corporation Programmable logic device with highly routable interconnect
US6181162B1 (en) 1994-04-10 2001-01-30 Altera Corporation Programmable logic device with highly routable interconnect
US5802540A (en) * 1995-11-08 1998-09-01 Altera Corporation Programming and verification address generation for random access memory blocks in programmable logic array integrated circuit devices
US5617573A (en) * 1994-05-23 1997-04-01 Xilinx, Inc. State splitting for level reduction
US5442306A (en) * 1994-09-09 1995-08-15 At&T Corp. Field programmable gate array using look-up tables, multiplexers and decoders
US5450022A (en) * 1994-10-07 1995-09-12 Xilinx Inc. Structure and method for configuration of a field programmable gate array
DE9417335U1 (de) * 1994-10-28 1994-12-15 Guenther Baeuerle Gmbh Koppelbaustein
US5815726A (en) * 1994-11-04 1998-09-29 Altera Corporation Coarse-grained look-up table architecture
US5815003A (en) * 1994-11-04 1998-09-29 Altera Corporation Programmable logic integrated circuits with partitioned logic element using shared lab-wide signals
US5581199A (en) * 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
US5592105A (en) * 1995-01-20 1997-01-07 Xilinx, Inc. Configuration logic to eliminate signal contention during reconfiguration
US6181158B1 (en) * 1995-01-20 2001-01-30 Xilinx, Inc. Configuration logic to eliminate signal contention during reconfiguration
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5537057A (en) * 1995-02-14 1996-07-16 Altera Corporation Programmable logic array device with grouped logic regions and three types of conductors
US5847577A (en) * 1995-02-24 1998-12-08 Xilinx, Inc. DRAM memory cell for programmable logic devices
US5581198A (en) * 1995-02-24 1996-12-03 Xilinx, Inc. Shadow DRAM for programmable logic devices
US5757207A (en) 1995-03-22 1998-05-26 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US6049223A (en) 1995-03-22 2000-04-11 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
GB2290895A (en) * 1995-04-10 1996-01-10 Memory Corp Plc Shift register with comparator
JP3948494B2 (ja) * 1995-04-28 2007-07-25 ザイリンクス,インコーポレイテッド プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ
US5625301A (en) * 1995-05-18 1997-04-29 Actel Corporation Flexible FPGA input/output architecture
US5646546A (en) * 1995-06-02 1997-07-08 International Business Machines Corporation Programmable logic cell having configurable gates and multiplexers
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5751165A (en) * 1995-08-18 1998-05-12 Chip Express (Israel) Ltd. High speed customizable logic array device
US5821773A (en) * 1995-09-06 1998-10-13 Altera Corporation Look-up table based logic element with complete permutability of the inputs to the secondary signals
US5777489A (en) 1995-10-13 1998-07-07 Mentor Graphics Corporation Field programmable gate array with integrated debugging facilities
US5592102A (en) * 1995-10-19 1997-01-07 Altera Corporation Means and apparatus to minimize the effects of silicon processing defects in programmable logic devices
US5712806A (en) * 1995-10-30 1998-01-27 International Business Machines Corporation Optimized multiplexer structure for emulation systems
US5943242A (en) 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US5650734A (en) * 1995-12-11 1997-07-22 Altera Corporation Programming programmable transistor devices using state machines
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
IL116792A (en) * 1996-01-16 2000-01-31 Chip Express Israel Ltd Customizable integrated circuit device
US5744980A (en) * 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US5726484A (en) * 1996-03-06 1998-03-10 Xilinx, Inc. Multilayer amorphous silicon antifuse
US5726584A (en) * 1996-03-18 1998-03-10 Xilinx, Inc. Virtual high density programmable integrated circuit having addressable shared memory cells
US5869979A (en) * 1996-04-05 1999-02-09 Altera Corporation Technique for preconditioning I/Os during reconfiguration
US6107822A (en) 1996-04-09 2000-08-22 Altera Corporation Logic element for a programmable logic integrated circuit
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
JPH09320284A (ja) * 1996-05-31 1997-12-12 Nec Corp 半導体集積回路およびその端子状態設定方法
US5952847A (en) * 1996-06-25 1999-09-14 Actel Corporation Multiple logic family compatible output driver
US6624658B2 (en) * 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
US6034547A (en) * 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
US5781032A (en) * 1996-09-09 1998-07-14 International Business Machines Corporation Programmable inverter circuit used in a programmable logic cell
US5805477A (en) * 1996-09-26 1998-09-08 Hewlett-Packard Company Arithmetic cell for field programmable devices
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
DE19639935C1 (de) 1996-09-27 1998-04-23 Siemens Ag Schaltungsanordnung mit zwischen Registern angeordneten kombinatorischen Blöcken
DE19639937C1 (de) * 1996-09-27 1998-03-12 Siemens Ag Schaltungsanordnung mit zwischen Registern angeordneten kombinatorischen Blöcken
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US5760611A (en) * 1996-10-25 1998-06-02 International Business Machines Corporation Function generator for programmable gate array
US5883526A (en) * 1997-04-17 1999-03-16 Altera Corporation Hierarchical interconnect for programmable logic devices
US6005410A (en) * 1996-12-05 1999-12-21 International Business Machines Corporation Interconnect structure between heterogeneous core regions in a programmable array
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
ATE243390T1 (de) 1996-12-27 2003-07-15 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.)
US6133751A (en) * 1998-08-05 2000-10-17 Xilinx, Inc. Programmable delay element
US5841296A (en) * 1997-01-21 1998-11-24 Xilinx, Inc. Programmable delay element
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
US5936426A (en) * 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array
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
US6034536A (en) * 1997-02-05 2000-03-07 Altera Corporation Redundancy circuitry for logic circuits
US6091258A (en) * 1997-02-05 2000-07-18 Altera Corporation Redundancy circuitry for logic circuits
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
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US6204689B1 (en) 1997-02-26 2001-03-20 Xilinx, Inc. Input/output interconnect circuit for FPGAs
US5963050A (en) 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US6201410B1 (en) 1997-02-26 2001-03-13 Xilinx, Inc. Wide logic gate implemented in an FPGA configurable logic element
US5942913A (en) * 1997-03-20 1999-08-24 Xilinx, Inc. FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US6014038A (en) * 1997-03-21 2000-01-11 Lightspeed Semiconductor Corporation Function block architecture for gate array
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6249143B1 (en) 1997-05-23 2001-06-19 Altera Corporation Programmable logic array integrated circuit with distributed random access memory array
DE69802927T2 (de) * 1997-05-23 2002-08-08 Altera Corp A Delaware Corp Sa Redundanzschaltung für programmierbare logikanordnung mit verschachtelten eingangsschaltkreisen
US5960191A (en) 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US6006321A (en) 1997-06-13 1999-12-21 Malleable Technologies, Inc. Programmable logic datapath that may be used in a field programmable device
US5970240A (en) * 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
US6128215A (en) * 1997-08-19 2000-10-03 Altera Corporation Static random access memory circuits
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6072332A (en) * 1997-10-14 2000-06-06 Altera Corporation Variable depth memories for programmable logic devices
US6157210A (en) 1997-10-16 2000-12-05 Altera Corporation Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits
US6191611B1 (en) 1997-10-16 2001-02-20 Altera Corporation Driver circuitry for programmable logic devices with hierarchical interconnection resources
US6185724B1 (en) 1997-12-02 2001-02-06 Xilinx, Inc. Template-based simulated annealing move-set that improves FPGA architectural feature utilization
US6069490A (en) * 1997-12-02 2000-05-30 Xilinx, Inc. Routing architecture using a direct connect routing mesh
US6223313B1 (en) 1997-12-05 2001-04-24 Lightspeed Semiconductor Corporation Method and apparatus for controlling and observing data in a logic block-based asic
US6611932B2 (en) 1997-12-05 2003-08-26 Lightspeed Semiconductor Corporation Method and apparatus for controlling and observing data in a logic block-based ASIC
US6172519B1 (en) * 1997-12-18 2001-01-09 Xilinx, Inc. Bus-hold circuit having a defined state during set-up of an in-system programmable device
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
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.
US6177808B1 (en) * 1998-04-30 2001-01-23 Compaq Computer Corporation Integration of bidirectional switches with programmable logic
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
US6201404B1 (en) 1998-07-14 2001-03-13 Altera Corporation Programmable logic device with redundant circuitry
US6184707B1 (en) 1998-10-07 2001-02-06 Altera Corporation Look-up table based logic element with complete permutability of the inputs to the secondary signals
KR100301809B1 (ko) * 1998-11-24 2001-09-06 김영환 데이터 입출력 버퍼 제어회로_
US6150838A (en) 1999-02-25 2000-11-21 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US6400180B2 (en) * 1999-02-25 2002-06-04 Xilinix, Inc. Configurable lookup table for programmable logic devices
US6331733B1 (en) 1999-08-10 2001-12-18 Easic Corporation Semiconductor device
US6236229B1 (en) 1999-05-13 2001-05-22 Easic Corporation Integrated circuits which employ look up tables to provide highly efficient logic cells and logic functionalities
US6245634B1 (en) 1999-10-28 2001-06-12 Easic Corporation Method for design and manufacture of semiconductors
US6697387B1 (en) * 1999-06-07 2004-02-24 Micron Technology, Inc. Apparatus for multiplexing signals through I/O pins
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US20040225865A1 (en) * 1999-09-03 2004-11-11 Cox Richard D. Integrated database indexing system
US6947882B1 (en) 1999-09-24 2005-09-20 Mentor Graphics Corporation Regionally time multiplexed emulation system
US6756811B2 (en) * 2000-03-10 2004-06-29 Easic Corporation Customizable and programmable cell array
US6331790B1 (en) 2000-03-10 2001-12-18 Easic Corporation Customizable and programmable cell array
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7595659B2 (en) 2000-10-09 2009-09-29 Pact Xpp Technologies Ag Logic cell array and bus system
US7484081B1 (en) 2000-10-10 2009-01-27 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices
US6507212B1 (en) 2000-11-02 2003-01-14 Lattice Semiconductor Corporation Wide input programmable logic system and method
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.)
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7433909B2 (en) * 2002-06-25 2008-10-07 Nvidia Corporation Processing architecture for a reconfigurable arithmetic node
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7624204B2 (en) * 2001-03-22 2009-11-24 Nvidia Corporation Input/output controller node in an adaptable computing environment
US7400668B2 (en) 2001-03-22 2008-07-15 Qst Holdings, Llc Method and system for implementing a system acquisition function for use with a communication device
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
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
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7076595B1 (en) 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
WO2002103532A2 (de) 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
JP3580785B2 (ja) 2001-06-29 2004-10-27 株式会社半導体理工学研究センター ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法
US20030020082A1 (en) * 2001-07-25 2003-01-30 Motorola, Inc. Structure and method for fabricating semiconductor structures and devices for optical switching
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
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
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US7420392B2 (en) * 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6696856B1 (en) 2001-10-30 2004-02-24 Lightspeed Semiconductor Corporation Function block architecture with variable drive strengths
US6489806B1 (en) * 2001-11-14 2002-12-03 Lattice Semiconductor Corporation Zero-power logic cell for use in programmable logic devices
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
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7602740B2 (en) 2001-12-10 2009-10-13 Qst Holdings, Inc. System for adapting device standards after manufacture
US20030108012A1 (en) * 2001-12-12 2003-06-12 Quicksilver Technology, Inc. Method and system for detecting and identifying scrambling codes
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7577822B2 (en) 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
US7403981B2 (en) * 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
EP1483682A2 (de) 2002-01-19 2004-12-08 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
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
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)
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
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
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7493375B2 (en) 2002-04-29 2009-02-17 Qst Holding, Llc Storage and delivery of device features
US6777977B1 (en) * 2002-05-01 2004-08-17 Actel Corporation Three input field programmable gate array logic circuit configurable as a three input look up table, a D-latch or a D flip-flop
US6774667B1 (en) 2002-05-09 2004-08-10 Actel Corporation Method and apparatus for a flexible chargepump scheme for field-programmable gate arrays
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US7378867B1 (en) 2002-06-04 2008-05-27 Actel Corporation Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US6891394B1 (en) * 2002-06-04 2005-05-10 Actel Corporation Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US6970012B2 (en) * 2002-06-10 2005-11-29 Xilinx, Inc. Programmable logic device having heterogeneous programmable logic blocks
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US6844757B2 (en) 2002-06-28 2005-01-18 Lattice Semiconductor Corp. Converting bits to vectors in a programmable logic device
US7312109B2 (en) * 2002-07-08 2007-12-25 Viciciv, Inc. Methods for fabricating fuse programmable three dimensional integrated circuits
US6992503B2 (en) * 2002-07-08 2006-01-31 Viciciv Technology Programmable devices with convertibility to customizable devices
US20040004251A1 (en) * 2002-07-08 2004-01-08 Madurawe Raminda U. Insulated-gate field-effect thin film transistors
US7112994B2 (en) 2002-07-08 2006-09-26 Viciciv Technology Three dimensional integrated circuits
US7673273B2 (en) 2002-07-08 2010-03-02 Tier Logic, Inc. MPGA products based on a prototype FPGA
US7129744B2 (en) * 2003-10-23 2006-10-31 Viciciv Technology Programmable interconnect structures
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
US20070083730A1 (en) * 2003-06-17 2007-04-12 Martin Vorbach Data processing device and method
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US6765427B1 (en) 2002-08-08 2004-07-20 Actel Corporation Method and apparatus for bootstrapping a programmable antifuse circuit
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7043511B1 (en) 2002-08-30 2006-05-09 Lattice Semiconductor Corporation Performing conditional operations in a programmable logic device
US7434080B1 (en) 2002-09-03 2008-10-07 Actel Corporation Apparatus for interfacing and testing a phase locked loop in a field programmable gate array
US7099426B1 (en) 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US6803787B1 (en) 2002-09-25 2004-10-12 Lattice Semiconductor Corp. State machine in a programmable logic device
US6750674B1 (en) 2002-10-02 2004-06-15 Actel Corporation Carry chain for use between logic modules in a field programmable gate array
US6885218B1 (en) 2002-10-08 2005-04-26 Actel Corporation Parallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA
US8643162B2 (en) * 2007-11-19 2014-02-04 Raminda Udaya Madurawe Pads and pin-outs in three dimensional integrated circuits
US7812458B2 (en) * 2007-11-19 2010-10-12 Tier Logic, Inc. Pad invariant FPGA and ASIC devices
US7269814B1 (en) 2002-10-08 2007-09-11 Actel Corporation Parallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA
US7042756B2 (en) * 2002-10-18 2006-05-09 Viciciv Technology Configurable storage device
US7084666B2 (en) * 2002-10-21 2006-08-01 Viciciv Technology Programmable interconnect structures
US6937064B1 (en) * 2002-10-24 2005-08-30 Altera Corporation Versatile logic element and logic array block
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) * 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US6727726B1 (en) 2002-11-12 2004-04-27 Actel Corporation Field programmable gate array architecture including a buffer module and a method of distributing buffer modules in a field programmable gate array
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US7111110B1 (en) * 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
US6946871B1 (en) * 2002-12-18 2005-09-20 Actel Corporation Multi-level routing architecture in a field programmable gate array having transmitters and receivers
US7385420B1 (en) 2002-12-27 2008-06-10 Actel Corporation Repeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks
US6891396B1 (en) 2002-12-27 2005-05-10 Actel Corporation Repeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks
US7255437B2 (en) * 2003-10-09 2007-08-14 Howell Thomas A Eyeglasses with activity monitoring
US6825690B1 (en) 2003-05-28 2004-11-30 Actel Corporation Clock tree network in a field programmable gate array
US6838902B1 (en) * 2003-05-28 2005-01-04 Actel Corporation Synchronous first-in/first-out block memory for a field programmable gate array
US7375553B1 (en) 2003-05-28 2008-05-20 Actel Corporation Clock tree network in a field programmable gate array
US6867615B1 (en) 2003-05-30 2005-03-15 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array
US7385419B1 (en) * 2003-05-30 2008-06-10 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array
US7609297B2 (en) 2003-06-25 2009-10-27 Qst Holdings, Inc. Configurable hardware based digital imaging apparatus
US7693703B2 (en) * 2003-08-01 2010-04-06 Mentor Graphics Corporation Configuration of reconfigurable interconnect portions
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
US7317264B2 (en) * 2003-11-25 2008-01-08 Eaton Corporation Method and apparatus to independently control contactors in a multiple contactor configuration
US7176716B2 (en) * 2003-12-24 2007-02-13 Viciciv Technology Look-up table structure with embedded carry logic
US7019557B2 (en) * 2003-12-24 2006-03-28 Viciciv Technology Look-up table based logic macro-cells
US7030651B2 (en) 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays
US7336097B2 (en) * 2003-12-24 2008-02-26 Viciciv, Inc. Look-up table structure with embedded carry logic
US7176713B2 (en) * 2004-01-05 2007-02-13 Viciciv Technology Integrated circuits with RAM and ROM fabrication options
KR100564611B1 (ko) * 2004-02-14 2006-03-29 삼성전자주식회사 하드 디스크 드라이브의 완충 구조체
US7030652B1 (en) 2004-04-23 2006-04-18 Altera Corporation LUT-based logic element with support for Shannon decomposition and associated method
US7489164B2 (en) * 2004-05-17 2009-02-10 Raminda Udaya Madurawe Multi-port memory devices
US8566616B1 (en) 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US8612772B1 (en) 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
DE102005048525A1 (de) * 2005-10-07 2007-04-12 Micronas Gmbh Schaltungsarchitektur für eine integrierte Schaltung
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US7486111B2 (en) * 2006-03-08 2009-02-03 Tier Logic, Inc. Programmable logic devices comprising time multiplexed programmable interconnect
US7555424B2 (en) 2006-03-16 2009-06-30 Quickturn Design Systems, Inc. Method and apparatus for rewinding emulated memory circuits
US8067970B2 (en) * 2006-03-31 2011-11-29 Masleid Robert P Multi-write memory circuit with a data input and a clock input
US20080024165A1 (en) * 2006-07-28 2008-01-31 Raminda Udaya Madurawe Configurable embedded multi-port memory
US20080182021A1 (en) * 2007-01-31 2008-07-31 Simka Harsono S Continuous ultra-thin copper film formed using a low thermal budget
US7456653B2 (en) * 2007-03-09 2008-11-25 Altera Corporation Programmable logic device having logic array block interconnect lines that can interconnect logic elements in different logic blocks
US7508231B2 (en) 2007-03-09 2009-03-24 Altera Corporation Programmable logic device having redundancy with logic element granularity
US7536615B1 (en) 2007-03-26 2009-05-19 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
US7743296B1 (en) 2007-03-26 2010-06-22 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
US20090128189A1 (en) * 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
US7635988B2 (en) * 2007-11-19 2009-12-22 Tier Logic, Inc. Multi-port thin-film memory devices
US7795913B2 (en) * 2007-12-26 2010-09-14 Tier Logic Programmable latch based multiplier
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
US7573293B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7573294B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7735045B1 (en) * 2008-03-12 2010-06-08 Xilinx, Inc. Method and apparatus for mapping flip-flop logic onto shift register logic
WO2010011813A1 (en) * 2008-07-23 2010-01-28 Alkermes, Inc. Complex of trospium and pharmaceutical compositions thereof
US8230375B2 (en) 2008-09-14 2012-07-24 Raminda Udaya Madurawe Automated metal pattern generation for integrated circuits
US8661394B1 (en) 2008-09-24 2014-02-25 Iowa State University Research Foundation, Inc. Depth-optimal mapping of logic chains in reconfigurable fabrics
US8438522B1 (en) 2008-09-24 2013-05-07 Iowa State University Research Foundation, Inc. Logic element architecture for generic logic chains in programmable devices
US8159265B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Memory for metal configurable integrated circuits
US8159266B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Metal configurable integrated circuits
US8159268B1 (en) 2010-11-16 2012-04-17 Raminda Udaya Madurawe Interconnect structures for metal configurable integrated circuits
US8959010B1 (en) 2011-12-08 2015-02-17 Cadence Design Systems, Inc. Emulation system with improved reliability of interconnect and a method for programming such interconnect
US8743735B1 (en) 2012-01-18 2014-06-03 Cadence Design Systems, Inc. Emulation system for verifying a network device
CN102611431B (zh) * 2012-03-08 2014-12-24 无锡华大国奇科技有限公司 带组合逻辑通路的寄存器
US8595683B1 (en) 2012-04-12 2013-11-26 Cadence Design Systems, Inc. Generating user clocks for a prototyping environment
US10425082B2 (en) 2015-10-27 2019-09-24 Andapt, Inc. Adaptive analog blocks with digital wrappers integrated onto programmable fabric

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0031431B1 (de) * 1979-12-26 1984-03-07 International Business Machines Corporation Programmierbare sequenzielle logische Anordnung

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4911432A (de) * 1972-05-30 1974-01-31
US3967251A (en) * 1975-04-17 1976-06-29 Xerox Corporation User variable computer memory module
DE3342354A1 (de) 1983-04-14 1984-10-18 Control Data Corp., Minneapolis, Minn. Weich programmierbare logikanordnung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0031431B1 (de) * 1979-12-26 1984-03-07 International Business Machines Corporation Programmierbare sequenzielle logische Anordnung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Elektronik, H. 23, 1982, S. 73-74 *
Tietze, Schenk: Halbleiterschaltungstechnik, 6. Aufl., Springer-Verlag 1983, S. 264-268 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9114200U1 (de) * 1991-11-14 1993-03-18 Siemens Ag, 8000 Muenchen, De

Also Published As

Publication number Publication date
GB2171546B (en) 1989-10-18
JPH0645912A (ja) 1994-02-18
JPS61224520A (ja) 1986-10-06
DE3645224C2 (de) 1992-02-20
US4706216A (en) 1987-11-10
JPH0446488B2 (de) 1992-07-30
US4758985A (en) 1988-07-19
GB2171546A (en) 1986-08-28
CA1255364A (en) 1989-06-06
DE3606406A1 (de) 1986-08-28
GB8604761D0 (en) 1986-04-03

Similar Documents

Publication Publication Date Title
DE3645221C2 (de)
DE2723821C2 (de) Programmierbare logische Anordnung
EP0010173B1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE2360762A1 (de) Elementarschaltungsanordnung fuer schaltwerke zur durchfuehrung von datenverarbeitungsoperationen
DE3050199C2 (de) Logikschaltung
DE3635761A1 (de) Programmierbares logikfeld mit dynamischer cmos-logik
DE102011053359A1 (de) Latch-basierte Speichervorrichtung
DE2300186A1 (de) Mos-pufferschaltung, insbesondere fuer ein mos-speichersystem
DE2925925C2 (de) Informationsspeicher
DE2734361A1 (de) Adressenwaehlschaltung fuer halbleiterspeichereinrichtungen
DE2706807C2 (de) Einrichtung und Verfahren zum Verarbeiten von Information in Form digitaler Signale
DE1959870C3 (de) Kapazitive Speicherschaltung
DE2707451A1 (de) Einrichtung und verfahren zum addieren von wenigstens zwei aus mehreren bits bestehenden binaerzahlen
DE2165445C3 (de) Logikschaltung
DE2203456B2 (de) Aus Transistoren aufgebaute bistabile Multivibratorschaltung vom Master/Slave-Typ
DE2141224A1 (de) Bipolarer Antrieb für eine dynamische MOS-Speicher anordnungsgruppe
DE2618760C3 (de) Halbleiter-Speichervorrichtung
DE1774606B1 (de) Speicheranordnung zur durchfuehrung logischer und arithmetischer grundoperationen
DE2824862C2 (de)
DE2246756C3 (de) Elektronischer Datenspeicher
DE2210037C3 (de) Speicher-Prozessor-Element
DE2132560C3 (de)
EP0021084A1 (de) Monolithisch integrierter Halbleiterspeicher
DE2328976C2 (de) Schaltwerk mit einem kapazitiven, änderbaren Festwertspeicher
EP0392636B1 (de) Integrierte Schaltungsanordnung

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3606406

8110 Request for examination paragraph 44
AC Divided out of

Ref country code: DE

Ref document number: 3606406

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 3606406

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee