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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
- G11C19/282—Digital 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]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
- H03K19/1736—Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators 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/037—Bistable circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/153—Arrangements 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/1534—Transition 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.
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.
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.
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).
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).
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)
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)
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)
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)
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 |
-
1985
- 1985-02-27 US US06/706,429 patent/US4706216A/en not_active Expired - Lifetime
-
1986
- 1986-02-14 JP JP61030608A patent/JPS61224520A/ja active Granted
- 1986-02-26 GB GB8604761A patent/GB2171546B/en not_active Expired
- 1986-02-26 CA CA000502720A patent/CA1255364A/en not_active Expired
- 1986-02-27 DE DE3645224A patent/DE3645224C2/de not_active Expired - Lifetime
- 1986-02-27 DE DE3645221A patent/DE3645221C2/de not_active Expired - Lifetime
- 1986-02-27 DE DE19863606406 patent/DE3606406A1/de active Granted
- 1986-03-28 US US06/845,287 patent/US4758985A/en not_active Expired - Lifetime
-
1991
- 1991-10-09 JP JP3290528A patent/JPH0645912A/ja active Pending
Patent Citations (1)
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)
Title |
---|
Elektronik, H. 23, 1982, S. 73-74 * |
Tietze, Schenk: Halbleiterschaltungstechnik, 6. Aufl., Springer-Verlag 1983, S. 264-268 * |
Cited By (1)
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 |