DE4417575A1 - Verbesserte Array-Architektur für programmierbare logische Zellen - Google Patents

Verbesserte Array-Architektur für programmierbare logische Zellen

Info

Publication number
DE4417575A1
DE4417575A1 DE4417575A DE4417575A DE4417575A1 DE 4417575 A1 DE4417575 A1 DE 4417575A1 DE 4417575 A DE4417575 A DE 4417575A DE 4417575 A DE4417575 A DE 4417575A DE 4417575 A1 DE4417575 A1 DE 4417575A1
Authority
DE
Germany
Prior art keywords
programmable logic
inputs
register file
memory
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.)
Granted
Application number
DE4417575A
Other languages
English (en)
Other versions
DE4417575C2 (de
Inventor
Gregory S Snider
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE4417575A1 publication Critical patent/DE4417575A1/de
Application granted granted Critical
Publication of DE4417575C2 publication Critical patent/DE4417575C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Electronic Switches (AREA)
  • Static Random-Access Memory (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

Die vorliegende Erfindung bezieht sich auf ein Array für programmierbare logische Zellen und insbesondere auf eine Array-Architektur für programmierbare logische Zellen, die wirksam Demultiplexer und Registerdateien mit mehreren Ein­ gängen unterstützt. Arrays für programmierbare logische Zel­ len (Programmable Logic Cell Arrays = PLCAs) sind integrier­ te Schaltungen, die konfigurierbare digitale logische Funk­ tionen und Signalführungsmittel enthalten. Es seien zum Bei­ spiel Brandenburg und andere, Poor Man′s Gate Arrays: Logic Cell Arrays, IEEE Transactions on Nuclear Science, Band 35, Nr. 1, Februar 1988, Seiten 213-216, und Freeman, User-pro­ grammable Gate Arrays, IEEE Spectrum, Dezember 1988, Seiten 32-35, betrachtet. Durch geeignete Programmierung kann ein PLCA eine Vielzahl von verschiedenen logischen Schaltungen simulieren. Die Fähigkeit PLCAs zu programmieren und umzu­ programmieren liefert den Schaltungsentwicklern erwiesener­ maßen ein großes Maß an Flexibilität.
Die Flexibilität, die durch die PLCAs geboten wird, macht es möglich, neue logische Entwürfe ohne den Aufwand, den Ent­ wurf mit diskreten Komponenten aufzubauen oder den Entwurf in einer kundenspezifischen integrierten Schaltung als Pro­ totyp herzustellen, schnell zu erstellen. Der Kompromiß liegt selbstverständlich darin, daß, da PLCAs dazu bestimmt sind, eine große Vielzahl von logischen Entwürfen zu unter­ stützen, die Architektur der PLCAs eine Funktionalität der Signalführung und eine logische Funktionalität enthalten muß, die wahrscheinlich nicht in allen Anwendungen verwendet wird. Deshalb neigen für eine gegebene Anwendung die Effi­ zienz oder die wirksame Verwendung der PLCA-Mittel dazu, verglichen mit der Effizienz, die bei einer kundenspezifi­ schen integrierten Schaltungsrealisation erreicht werden kann, niedrig zu sein. Der Verlust an Effizienz wird durch die Flexibilität der Vorrichtung gemildert, aber es gibt ei­ nige digitale Schaltungen, die, wenn sie auf ein übliches PLCA abgebildet werden, eine derart extrem niedrige Effizi­ enz aufweisen, daß es unzweckmäßig ist, diese in einem PLCA (oder einem System von PLCAs) zu realisieren.
Aufgrund ihrer Flexibilität sind PLCAs wichtige Komponenten beim Aufbau von Schnellstlogik-Simulatoren oder allgemeiner von konfigurierbaren Hardware-Systemen (auch "virtuelle Hardware" genannt). Es seien zum Beispiel Kean u. a., Imple­ mentation of Configurable Hardware using Wafer Scale Inte­ gration, 1990 International Conference on Wafer Scale Inte­ gration, Seiten 68-73; Kean u. a., Configurable Hardware: A New Paradigm for Computation, 1989 Decennial Caltech Confe­ rence on VLSI, betrachtet. In solchen Anwendungen sind hun­ derte oder tausende von PLCAs elektrisch verschaltet, um ein Prototypen-Prüffeld zum Entwickeln von und Experimentieren mit neuen digitalen Systementwürfen. Ein neuer Entwurf wird auf dem Simulator durch Programmierung der PLCA-Komponenten "abgebildet", so daß der Simulator als ein Ganzes funktional das Verhalten des Systems, das entwickelt werden soll, simu­ liert. Dies macht es möglich, komplexe logische Systeme (z. B. Computerprozessoren, Graphikprozessoren, digitale Signal­ verarbeitungssysteme, usw.) viel schneller als es bei der Verwendung von üblichen Werkzeugen, z. B. Softwaresimulation und Erstellung von Hardware-Prototypen, möglich ist, zu ent­ wickeln, auszutesten und zu prüfen.
Eine wichtige Komponente vieler neuer digitaler Schnellst­ schaltungsentwürfe (z. B. Computerprozessorentwürfe) ist ei­ ne Registerdatei mit mehreren Eingängen (ein Array von Regi­ stern, das gleichzeitig an vielen verschiedenen Eingängen gelesen und beschrieben werden kann). Daher ist es er­ wünscht, solche Registerdateien auf PLCAs abzubilden, damit ein Logiksimulator, der aus solchen PLCAs aufgebaut ist, die Entwicklung solcher digitaler Schaltungsentwürfe unter­ stützt. Ungünstigerweise existiert ein schwerwiegendes Pro­ blem, das es unmöglich macht, Demultiplexer oder Registerfi­ les mit ausreichender Effizienz auf bekannte PLCA-Architek­ turen abzubilden, um zweckmäßig zu sein.
Wenn Registerdateien mit mehreren Eingängen mit reiner Bool′scher Logik realisiert sind, erfordern sie eine große Anzahl von Gattern. Zum Beispiel erfordert eine 80 Bit brei­ te Datei von 96 Registern mit vier Schreibeingängen und acht Leseeingängen mehr als 250 000 Gatter oder logische Funkti­ onen mit zwei Eingängen. Es wurde berechnet, daß eine solche Registerdatei mit mehreren Eingängen über 400 herkömmliche PLCAs erfordern würde, um dargestellt zu werden, wenn dies überhaupt möglich ist.
Man könnte hoffen, daß das Darstellen einer solchen Schal­ tung in Ausdrücken von logischen Zellen mit sechs Eingängen und zwei Ausgängen zu einer signifikanten Verringerung der benötigten logischen Funktionen führen könnte, da beobachtet wurde, daß dies bei vielen anderen Schaltungen der Fall ist. Zum Beispiel besitzt die Xilinx Corporation in San Jose, Ka­ lifornien, PLCA-Software, die eine Schaltung, die aus Gat­ tern mit zwei Eingängen und einem Ausgang besteht, verwenden kann, und diese in eine logisch-äquivalente Schaltung von Gattern (logischen Funktionen) mit fünf Eingängen und zwei Ausgängen transformiert, wobei häufig eine Verringerung der Anzahl der benötigten Gatter um einen Faktor von 10 oder mehr erreicht wird. Allerdings geschieht dies nicht für De­ multiplexer (Decoder) oder Registerdateien mit mehreren Ein­ gängen. Die oben genannte Registerdatei bewirkt z. B. eine Komprimierung auf näherungsweise 90 000 Gatter (logische Funktionen) mit sechs Eingängen und zwei Ausgängen, was ein sehr geringes Maß an Komprimierung, verglichen mit vielen anderen Schaltungen, ist. Die Verwendung von PLCAs, die 256 logische Zellen mit sechs Eingängen und zwei Ausgängen (das ist eine ziemlich typische Anzahl für existierende PLCAs) enthalten, um die Registerdatei zu realisieren, würde mini­ mal 350 von diesen erfordern, wobei unbegrenzte Signalfüh­ rungsmittel und keine E/A-Anschlußstift-Begrenzungen (E/A = Eingangs/Ausgangs) vorausgesetzt sind. Wahrscheinlich wird tatsächlich eine größere Anzahl an PLCAs als diese erforder­ lich sein.
Ein weiterer Lösungsansatz könnte darin liegen, eine Regi­ sterdatei mit mehreren Eingängen als einen Sonderfall zu be­ handeln, indem sie aus diskreten Komponenten aufgebaut wird und über eine Schnittstelle an den Simulator angeschlossen wird. Dieser Lösungsansatz ist jedoch aus einer Anzahl von Gründen nicht zweckmäßig. Ein Grund ist, daß der Sonderfall­ lösungsansatz eine große Anzahl von diskreten gebrauchsfer­ tigen Komponenten (z. B. mehr als 100) erfordert. Ein weite­ rer Grund liegt darin, daß der Sonderfallösungsansatz eine große Anzahl von Signalen (z. B. mehr als 1000) erfordert, die über eine Schnittstelle an den Simulator angelegt werden müssen. Noch ein weiterer Grund, warum der Sonderfallösungs­ ansatz unzweckmäßig ist, liegt darin, daß er, bezugnehmend auf die Registerdateiparamater (z. B. Bit-Breite, Anzahl der Register, Anzahl der Eingänge), unflexibel ist.
Folglich besteht ein Bedarf nach einer PLCA-Architektur, die effizient Demultiplexer und Registerdateien mit mehreren Eingängen unterstützen kann, ohne PLCA-Funktionalität oder -Flexibilität zu opfern.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte Array-Architektur für programmierbare logische Zellen zu schaffen, die wirksam Demultiplexer und Register­ dateien mit mehreren Eingängen unterstützen kann, ohne die Funktionalität oder die Flexibilität der Array-Architektur zu opfern.
Diese Aufgabe wird durch eine programmierbare logische Schaltung nach Anspruch 1 und ein programmierbares logisches Array nach Anspruch 5 gelöst.
Allgemein gesprochen stellt die Erfindung eine verbesserte Array-Architektur für programmierbare logische Zellen (PLCA) dar, die eine wirksame Unterstützung für Demultiplexer und Registerdateien mit mehreren Eingängen schafft, ohne die Funktionalität oder die Flexibilität des PLCA zu opfern.
Grundsätzlich verändert die Erfindung die Architektur her­ kömmlicher PLCs (PLC = Programmable Logic Cell = Program­ mierbare Logische Zelle), so daß Demultiplexer und Register­ dateien mit mehreren Eingängen effizient in PLCAs realisiert werden können. Üblicherweise ist jede PLC eines PLCA mit ei­ nem PLC-Multiplexer (Auswahlvorrichtung) und einem PLC-Spei­ cher realisiert. Gemäß der Erfindung ist der PLC-Speicher modifiziert, so daß er arbeiten kann, um Signale vom PLC- Multiplexer (Auswahlvorrichtung) zu den Eingängen der PLC weiterzuleiten, wenn der PLC-Multiplexer (aus einem Baum von Durchlaßtransistoren aufgebaut) rückwärts betrieben wird, um als ein Demultiplexer (Decoder) zu arbeiten. Daher realisie­ ren PLCs gemäß der Erfindung Demultiplexer, wenn die PLCs rückwärts betrieben werden. Außerdem kann eine Registerdatei mit mehreren Eingängen effizient realisiert werden, indem eine Registerdatei auf dem PLCA plaziert wird, und indem der PLC-Speicher modifiziert wird, so daß er in verschiedenen Modi arbeitet (normal, vorwärts und rückwärts). Im normalen Modus arbeiten die PLCs als herkömmliche PLCs, im Vorwärts­ modus arbeiten die PLCs als Leseeingänge und im Rückwärtsmo­ dus arbeiten die PLCs als Schreibeingänge.
Bei einem ersten Ausführungsbeispiel der Erfindung enthält ein PLCA zumindest PLCs, die mehr Eingänge als Ausgänge auf­ weisen, wobei jede der PLCs geeignet ist, eine logische Funktion durchzuführen, und konfigurierbare Signalführungs­ mittel, um die Eingänge und die Ausgänge der PLCs zu ver­ schalten. Jede der PLCs ist mit mindestens einem PLC-Spei­ cher und einem PLC-Multiplexer realisiert, wodurch, in einem normalen Modus, der PLC-Speicher Daten speichert und der PLC-Multiplexer die Daten auswählt und ausgibt, und, im Rückwärtsmodus, der PLC-Multiplexer als ein Demultiplexer arbeitet und der PLC-Speicher die Ausgangsdaten vom Demulti­ plexer zu den Eingängen der PLC, die im Rückwärts-Modus als Ausgänge dienen, weiterleitet.
Bei einem zweiten Ausführungsbeispiel der Erfindung umfaßt ein PLCA zumindest eine Registerdatei zum Speichern von Da­ ten, PLCs mit Eingängen und Ausgängen, wobei eine Mehrzahl der PLCs wirksam mit der Registerdatei verbunden ist, und wobei jede der PLCs in einem Vorwärtsmodus, einem Rückwärts­ modus und einem normalen Modus betrieben werden kann, und konfigurierbare Signalführungsmittel, um Eingänge und Aus­ gänge der PLCs zu verschalten. Schreibeingänge für die Re­ gisterdatei werden durch die PLCs, die im Rückwärtsmodus arbeiten, gebildet. Leseeingänge für die Registerdatei wer­ den durch die PLCs, die im Vorwärtsmodus arbeiten, gebildet. Jede PLC ist mit mindestens einem PLC-Speicher und einem PLC-Multiplexer realisiert. Im Rückwärtsmodus arbeitet der PLC-Multiplexer als ein Demultiplexer und der PLC-Speicher leitet die Ausgangsdaten vom Demultiplexer zu den Eingängen der PLC, die im Rückwärtsmodus als Ausgänge dienen, weiter. Ferner sind im Rückwärtsmodus die Daten, die das Ausgabesi­ gnal der Eingänge der PLC darstellen, mit der Registerdatei gekoppelt, um Schreibbetrieb durchzuführen. Im Vorwärtsmodus leitet der PLC-Speicher die Eingangsdaten für die PLC von der Registerdatei zum PLC-Multiplexer, der die Daten aus­ wählt und ausgibt.
Es gibt viele Vorteile, die mit der Erfindung verknüpft sind. Erstens sind die Modifikationen zum herkömmlichen PLCA minimal. Im speziellen benötigen die Modifikationen sehr we­ nig zusätzliche Schaltungstechnik über das Maß hinaus, das für PLCAs normalerweise erforderlich ist. Zweitens erreicht die Erfindung eine wesentliche Komprimierung der Anzahl der PLCs, die benötigt werden, um Demultiplexer oder Registerda­ teien mit mehreren Eingängen zu realisieren. Zum Beispiel wird die Anzahl von PLCs, die nötig ist, um eine 80×96-Regi­ sterdatei mit vier Schreibeingängen und acht Leseeingängen zu realisieren, von über 90 000 auf weniger als 3000 redu­ ziert.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer Registerdatei mit mehreren Eingängen, das wenig detailliert einen Array von Registern, die gleichzeitig durch mehrere Schreib­ eingänge beschrieben und durch mehrere Leseeingän­ ge gelesen werden können, zeigt;
Fig. 2 ein Blockdiagramm einer Realisation eines Schreib­ eingangs für eine Registerdatei mit mehreren Ein­ gängen gemäß Fig. 1;
Fig. 3 ein Blockdiagramm einer Realisation von mehrfachen Schreibeingängen für eine Registerdatei mit mehre­ ren Eingängen gemäß Fig. 1;
Fig. 4 ein Blockdiagramm einer Realisation eines Leseein­ gangs für eine Registerdatei mit mehreren Eingän­ gen gemäß Fig. 1;
Fig. 5 ein Blockdiagramm einer Realisation einer Spei­ cherzelle der Registerdatei gemäß Fig. 1;
Fig. 6 ein Blockdiagramm einer programmierbaren logischen Zelle eines PLCAs;
Fig. 7 ein Blockdiagramm eines logischen Funktionsblocks eines PLCAs, der als programmierbare Zugriffsta­ belle realisiert ist;
Fig. 8 ein Blockdiagramm einer programmierbaren logischen Zelle mit sechs Eingängen und zwei Ausgängen;
Fig. 9 ein schematisches Diagramm eines 4 : 1-Multiplexers, der durch die Verwendung von Durchlaßtransistoren realisiert ist;
Fig. 10 ein Blockdiagramm eines elementaren Ausführungs­ beispiels der PLCA-Architektur für eine Register­ datei mit mehreren Eingängen gemäß der Erfindung;
Fig. 11A und 11B Blockdiagramme eines ersten detaillierten Ausführungsbeispiels einer Registerdatei mit meh­ reren Eingängen gemäß der Erfindung;
Fig. 12A ein schematisches Diagramm einer Realisation des steuerbaren Schalters, der in den Fig. 11A und 11B gezeigt ist;
Fig. 12B ein Blockdiagramm einer Realisation der Register­ datei gemäß Fig. 11;
Fig. 13 ein Blockdiagramm einer Realisation eines PLC- Speichers gemäß der Erfindung; und
Fig. 14A und 14B Blockdiagramme eines zweiten detaillier­ ten Ausführungsbeispiels einer Registerdatei mit mehreren Eingängen gemäß der Erfindung.
Die Erfindung stellt eine PLCA-Architektur dar, die nicht- reduktive Funktionen, zum Beispiel Demultiplexer und Regi­ sterdateien mit mehreren Eingängen, unterstützt. Die Erfin­ dung erfordert nur minimale Änderungen und Ergänzungen der Schaltungstechnik, die üblicherweise in existierenden PLCA- Architekturen, die reduktive Funktionen realisieren, vorge­ sehen sind. Ein wichtiges Merkmal der Erfindung besteht da­ rin, daß sie existierende Strukturen in PLCAs ausnutzt, in­ dem sie ermöglicht, daß diese rückwärts betrieben werden.
Um die Erfindung voll einzusehen ist es nützlich, zuerst die Struktur der Bemultiplexer und Registerdateien mit mehreren Eingängen zu beschreiben und dann zu beschreiben, warum her­ kömmliche PLCA-Architekturen nicht in der Lage sind, Demul­ tiplexer und Registerdateien mit mehreren Eingängen wirksam zu formen. Unten folgt eine solche Erörterung.
Fig. 1 ist ein Blockdiagramm einer Registerdatei mit mehre­ ren Eingängen 2, das wenig detailliert ein Array von Regi­ stern 4 darstellt, die gleichzeitig durch mehrere Schreib­ eingänge 6 beschrieben und durch mehrere Leseeingänge 8 gelesen werden können. Jeder Schreibeingang verwendet als Eingangssignale die Adresse des Registers 4, das beschrieben werden soll, die Daten, die in das Register 4 geschrieben werden sollen, und eine Schreibaktivierleitung, die ange­ legt ist, um tatsächlich den Schreibbetrieb durchzuführen. Jeder Leseeingang 8 verwendet eine Adresse des Registers 4, um als ein Eingangssignal gelesen zu werden, und liefert den Inhalt dieses Registers 4 als ein Ausgangssignal. Um die folgende Erörterung zu vereinfachen wird angenommen, daß die Registerdatei 2 aus N Registern besteht, wobei jedes Regi­ ster ein Bit breit ist. Es sollte jedoch offensichtlich sein, daß sich die Erörterung auf Register erstreckt, die breiter sind.
Fig. 2 ist ein Blockdiagramm einer Realisation des Schreib­ eingangs 6 gemäß Fig. 1. Jeder Schreibeingang 6 besteht näm­ lich aus ersten und zweiten 1:N-Demultiplexern 20, die ein Signalpaar an jeden der N Einzelbit-Register 4 in der Regi­ sterdatei 2 liefern. Der erste Demultiplexer 20-1 decodiert das Adreß- und das Schreibaktivier-Signal, um ein DATEI_- SCHREIBEN-Signal zu höchstens einem der N Register 4 zu lie­ fern. Der zweite Demultiplexer 20-2 decodiert die Adreß- und Signalführungs-Eingangsdaten als ein DATEI_DATEN-Signal zu dem gleichen Register 4 wie der erste Multiplexer 20-1. Die­ se Signale sagen jedem Register 4, ob Daten darauf geschrie­ ben werden sollen oder nicht, und wenn das der Fall ist, welche Daten geschrieben werden sollen. Jeder Schreibeingang 6 ist in der Lage, gleichzeitig nur auf ein einzelnes Regi­ ster zu schreiben.
Wenn mehrere Schreibeingänge 6 mit Schnittstellen an die Re­ gisterdatei 2 angeschlossen sind, muß das Signalpaar (DA­ TEI_SCHREIBEN, DATEI_DATEN) von jedem Schreibeingang 6 gemäß Fig. 3 kombiniert werden, bevor es dem Register 4 geliefert wird, da jedes Register 4 nur ein einzelnes Paar von Signa­ len (DATEI_SCHREIBEN, DATEI_DATEN) verarbeiten kann. Für ein gegebenes Register 4 sind die DATEI_SCHREIBEN-Signale von jedem Schreibeingang 6 durch die logische Bedingung ODER miteinander verknüpft, um ein kombiniertes DATEI_SCHREIBEN- Eingangssignal zu bilden. Die logische ODER-Verbindung kann durch ODER-Gatter 30 gemäß Fig. 3 durchgeführt sein. Ähnlich werden die DATEI_DATEN-Signale von jedem Leseeingang 6 durch eine ODER-Bedingungen miteinander verknüpft, um ein kombi­ niertes DATEI_DATEN-Eingangssignal zu bilden. Es sei zu be­ merken, daß ein undefinierter Betrieb vorliegt, wenn zwei Eingänge gleichzeitig versuchen, auf das gleiche Register zu schreiben.
Fig. 4 ist ein Blockdiagramm einer Realisation des Leseein­ gangs 8 für die Registerdatei mit mehreren Eingängen 2 gemäß Fig. 1. Der Leseeingang 8 besteht aus einem Multiplexer 40, der den Inhalt des Registers 4, der durch die Eingangsadres­ se bezeichnet ist, auswählt und an seinen Ausgang liefert. Mehrere Leseeingänge 8 haben die Ausgänge des Registers 4 einfach gemeinsam und erfordern keine Kombinier-Operationen wie die Schreibeingänge 6.
Jedes Register 4 (genauer gesagt jedes Bit jedes Registers) der Registerdatei 2 könnte als ein D-Typ-Flip-Flop 50 und als ein 2 : 1-Multiplexer 52 gemäß Fig. 5 realisiert sein. Bei Fig. 5 wählt das DATEI_SCHREIBEN-Signal eines von zwei Si­ gnalen (DATEI_DATEN oder das gegenwärtige Ausgangssignal 54 des Flip-Flops) als Eingangssignal zum Flip-Flop 50. Wenn das Signal DATEI_SCHREIBEN angelegt ist, wird das DATEI_DA­ TEN-Signal zum Eingang D des Flip-Flops 50 geliefert, an­ dernfalls wird das gegenwärtige Ausgangssignal 54 des Flip- Flops 50 an seinen Eingang zurückgeführt, so daß der Zustand des Flip-Flops 50 ohne Veränderung wirksam gehalten wird, wenn es durch einen Systemtakt getaktet wird.
Die meisten herkömmlichen PLCAs umfassen zwei Hauptkomponen­ ten: programmierbare logische Zellen, die gewisse kombinato­ rische logische Funktionen realisieren, und konfigurierbare Signalführungsmittel, die verwendet werden können, um Ein­ gänge und Ausgänge der logischen Zellen miteinander und mit externen E/A-Anschlußstiften zu verbinden. Fig. 6 ist ein Blockdiagramm einer programmierbaren logischen Zelle 60. Die programmierbare logische Zelle 60 besteht aus einem logi­ schen Funktionsblock 62, der mehrere Eingangssignale verwen­ det und ein oder mehrere Ausgangssignale erzeugt, und dem oft optionale Flip-Flops 64 folgen. Wenn die programmierbare logische Zelle 60 Flip-Flops 64 enthält, kann das Ausgangs­ signal der logischen Zelle 60 gemäß Fig. 6 den Ausgang des Flip-Flops 64 typischerweise umgehen, wenn es erwünscht ist. Im Handel erhältliche PLCAs haben typischerweise zwischen drei und neun Eingänge und nur ein oder zwei Ausgänge. Es ist wichtig zu bemerken, daß die Funktionen, die von exi­ stierenden PLCs unterstützt werden, alle reduktiv sind. Existierende PLCs verwenden nämlich eine Anzahl von Eingän­ gen und kombinieren diese, um eine geringere Anzahl von Aus­ gängen zu erzeugen.
Der logische Funktionsblock 62 ist in den meisten Fällen, wenn auch nicht immer, als eine programmierbare Zugriffsta­ belle realisiert. Fig. 7 ist ein Blockdiagramm eines logi­ schen Funktionsblocks 62, der als eine programmierbare Zu­ griffstabelle realisiert ist. Bei Fig. 7 besteht die pro­ grammierbare Zugriffstabelle aus einem Multiplexer 70 und einem kleinen programmierbaren Speicher 72, wobei beide im logischen Funktionsblock 62 realisiert sind. Eingangssignale werden vom Multiplexer 70 verwendet, um eines der Bits des Speichers 72 zu adressieren, so daß die gewünschte Funktion ausgegeben werden kann. Dieses Schema ermöglicht es, jede willkürliche Funktion der Eingangssignale zu realisieren.
Die obige Beschreibung der Struktur der Demultiplexer und der Registerdateien mit mehreren Eingängen hilft zu erklä­ ren, warum herkömmliche PLCA-Architektur nicht in der Lage ist, wirksam Demultiplexer und Registerdateien mit mehreren Eingängen zu formen. Es wird angenommen, daß die Demulti­ plexer der Ursprung des Problems sind. Gemäß der obigen Er­ örterung erfordern die Schreibeingänge der Registerdateien mit mehreren Eingängen die Verwendung von Demultiplexern.
Demultiplexer sind nicht-reduktive logische Elemente. Das heißt, sie verwenden eine kleine Anzahl von Eingängen und transformieren diese in eine große Anzahl von Ausgängen. Im Gegensatz dazu sind die logischen Zellen in PLCAs, wie oben erörtert, reduktiv. Obwohl eine reduktive Logik eine ver­ nünftige Architekturentwurfs-Entscheidung ist, macht sie es schwierig, Schaltungen zu realisieren, die eine nicht-reduk­ tive Logik enthalten, da die Realisierung derartiger Logik mit reduktiven logischen Zellen extrem uneffizient ist.
Eine Lösung könnte darin bestehen, einige nicht-reduktive logische Zellen in ein PLCA einzubauen, um Situationen wie diese zu handhaben, aber Nachteile machen diese Lösung un­ zweckmäßig. Die Nachteile, einige nicht-reduktive logische Zellen in einem PLCA vorzusehen lauten wie folgt: (1) dies muß auf Kosten von Schaltungen, die solche Funktionen nicht benötigen, geschehen; (2) es werden so viele nicht-reduktive logische Zellen benötigt (zumindest im Fall der Registerda­ teien mit mehreren Eingängen), daß auf der PLCA wenig Platz für die reduktiven Funktionen bleibt; und (3) die Menge der PLCA-Signalführungsmittel müßte stark erhöht werden, um die größere Anzahl von Signalen zu handhaben, wobei folglich die Anzahl der logischen Zellen, die auf einem einzelnen Chip untergebracht werden kann, reduziert wird.
Die Erfindung schafft eine neuartige Lösung dieses Problems, so daß PLCAs effizient nicht-reduktive Schaltungen (z. B. Demultiplexer und Registerdateien mit mehreren Eingängen) unterstützen, ohne merklich Schaltungen zu benachteiligen, die solche Unterstützung nicht erfordern.
Ausführungsbeispiele der Erfindung sind nachfolgend bezug­ nehmend auf die Fig. 8-14 erörtert. Für Fachleute ist es je­ doch ohne weiteres offensichtlich, daß die hierin gegebene detaillierte Beschreibung bezugnehmend auf diese Figuren er­ läuternden Zwecken dient, während sich die Erfindung über diese begrenzten Ausführungsbeispiele hinaus erstreckt.
In der folgenden Erörterung wird vorausgesetzt, daß die PLCA programmierbare logische Zellen (PLCs) mit sechs Eingängen und zwei Ausgängen umfaßt, da angenommen wird, daß dies die beste Verwendung der gegenwärtigen Hardware- und Software- Technologie darstellt, obwohl die Erfindung auf konfigurier­ bare logische Blöcke mit unterschiedlichen Anzahlen von Ein­ gängen und Ausgängen anwendbar ist.
Eine PLC mit sechs Eingängen und zwei Ausgängen kann gemäß Fig. 8 realisiert werden (wenn man die optionalen Flip-Flops an den Ausgängen der PLCs, die in Fig. 6 gezeigt sind, um­ geht). Intern ist der logische Funktionsblock 80 mit sechs Eingängen und zwei Ausgängen als zwei Funktionen 82, 84 mit sechs Eingängen und einem Ausgang realisiert, wobei der gleiche Satz von sechs Eingängen für beide Funktionen 82, 84 verwendet wird. Die Wahrheitstabelle für jede Funktion 82, 84 mit sechs Eingängen und einem Ausgang ist in einem 64- Bit-Speicher (2⁶ = 64) 86 gespeichert. Während der Konfigu­ ration wird jeder 64-Bit-Speicher 86 beschrieben, wobei die gezeigten Konfigurationsleitungen verwendet werden. Während des normalen Betriebs sind die Konfigurationsleitungen elek­ trisch von den Speichern 86 getrennt, so daß die Speicher 86 die Bits halten, mit denen sie programmiert worden sind. Die 6 Eingangssignale (ausgewählt und betrieben durch die Si­ gnalführungsmittel des PLCA) werden verwendet, um zwei 64 : 1-Multiplexer 88 zu adressieren, von denen jeder eines der 64 Bits im Speicher 86, der diesem zugeordnet ist, aus­ wählt und es zum Signalführungs-Netzwerk hinaus zurücklei­ tet. Es sei bemerkt, daß eine beliebige Funktion mit sechs Eingängen und zwei Ausgängen durch eine geeignete Konfigu­ ration der 64-Bit-Speicher realisiert werden kann.
PLCAs werden typischerweise unter Verwendung von Technolo­ gien, die bidirektional sind, z. B. MOSFETs, hergestellt. In solchen Bidirektionaltechnologien (z. B. CMOS, NMOS, PMOS) sind die 64 : 1-Multiplexer 88 effizienter realisiert, wobei ein Baum von Durchlaßtransistoren und nicht Bool′sche Gatter (z. B. Bipolar-Transistoren) verwendet wird. Fig. 9 ist ein schematisches Diagramm eines 4 : 1-Multiplexers 90, der unter Verwendung eines Baums von Durchlaßtransistoren 92 re­ alisiert ist, wobei die gleichen Grundsätze für den Aufbau von größeren Multiplexern verwendet werden. Eine wichtige Tatsache, die bemerkt werden muß, ist, daß die Schaltung als ein Demultiplexer arbeitet, indem diese Schaltung "rück­ wärts" (z. B. indem der einzelne Ausgang als ein Eingang verwendet wird und die mehrfachen Eingänge als Ausgänge ver­ wendet werden) betrieben wird.
Die Erfindung verwendet diesen Rückwärtsbetrieb, um die For­ mung von Demultiplexern und Registerdateien mit mehreren Eingängen in PLCAs zu erleichtern. Speziell indem die Multi­ plexer 88 in der PLC 80 rückwärts betrieben werden, arbeiten die Multiplexer 88 als Demultiplexer. Die Realisierung der Registerdatei mit mehreren Eingängen 2 ist komplizierter. Ein Leseeingang mit einem N : 1-Multiplexer (siehe Fig. 4) kann realisiert werden. Speziell durch das Abtrennen des PLC-Speichers 86 kann der PLC-Multiplexer 88 für diese Funk­ tion verwendet werden. Ein Schreibeingang kann realisiert werden, indem zwei 1 : N-Demultiplexer (siehe Fig. 2) verwen­ det werden. Durch das Abtrennen der PLC-Speicher 86 und das Rückwärtsbetreiben der zwei PLC-Multiplexer 88 werden die zwei PLC-Multiplexer Demultiplexer.
Folglich ist die nicht-reduktive Logik, die benötigt wird, um Demultiplexer und Registerdateien mit mehreren Eingängen zu realisieren, verfügbar, wenn die PLCs rückwärts betrieben werden. Die Erfindung schafft eine Einrichtung, durch die auf diese reduktive Logik zugegriffen werden kann. Im Fall der Registerdateien mit mehreren Eingängen ist die einzige weitere Funktionalität, die benötigt wird, die ODER-Verknüp­ fung der DATEI_SCHREIBEN- und DATEI_DATEN-Signale, die be­ nötigt wird, um mehrfache Schreibeingänge, wie in Fig. 3 ge­ zeigt, zu unterstützen. Wie nachfolgend gezeigt wird, kann diese Funktionalität erreicht werden, indem verdrahtete UND-Logik auf den Konfigurationsleitungen oder indem ODER- Gatter verwendet werden.
PCLs werden im allgemeinen in einer Art von zweidimensio­ nalem Array in PLCAs angeordnet. Jede Spalte kann als 16 unabhängige PLCs betrachtet werden. Andernfalls kann sie als eine einzelne Einheit konfiguriert sein, um eine Registerda­ tei mit mehreren Eingängen von 64 Registern und 16 Eingängen zu werden. Es ist bevorzugt, die PLCs so zu betrachten, als wären sie in "Spalten" logisch gruppiert, wobei jede Spalte zum Beispiel 16 PLCs enthält. Die Verwendung von Spalten in dieser Art und Weise reduziert die Verdrahtungslängen.
Fig. 10 ist ein Blockdiagramm eines elementaren Ausführungs­ beispiels einer Registerdatei mit mehreren Eingängen gemäß der Erfindung. Gemäß Fig. 10 umfaßt ein PLCA 100 eine Mehr­ zahl von PLCs 102, 103, Registerdateien 104, Konfigurati­ onsschaltungen 106, Konfigurationsleitungen 107, Pull-Up- Schaltungen 108 und Schaltkreise 109. Obwohl die PLCs 102, 103 typischerweise in Spalten angeordnet sind, wie in Fig. 10 gezeigt ist, kann eine beliebige Topology verwendet wer­ den. Die Registerdateien 104 können irgendwo auf der PLCA 100 vorgesehen sein, befinden sich jedoch vorzugsweise in der Mitte jeder Spalte, um Leseeingänge von Schreibeingängen zu trennen. Die Schreibeingänge 102 z. B. befinden sich gemäß Fig. 10 über der dazugehörigen Registerdatei 104. Die Lese­ eingänge 103 befinden sich unter der entsprechenden Regi­ sterdatei 104.
Die Konfigurationsschaltung 106 existiert auf herkömmlichen PLCAs und muß nicht weiter erörtert werden. Gemäß dem ele­ mentaren Ausführungsbeispiel der Erfindung sind jedoch die Konfigurationsleitungen 107 für jede Spalte mit jeder der PLCs 102, 103 und der Registerdatei 104 in der jeweiligen Spalte gekoppelt. Es sei zu bemerken, daß die Registerdatei 104 einen Durchlaßzustand besitzt, so daß die Konfigurati­ onsleitungen 107 mit den PLCs 103 durch die Registerdatei 104 während des Programmierens der PLC-Speicher gekoppelt werden können.
Die Schaltereinheit 109 wird durch ein Modus-Steuersignal gesteuert. Wenn der PLCA 100 in seinem normalen Modus be­ trieben wird, werden die PLC-Speicher in den PLCs 102, 103 durch Signale, die von der Konfigurationsschaltung 106 er­ zeugt werden, und dann den Konfigurationsleitungen 107 über die Schaltereinheit 109 zugeführt werden, programmiert. An­ dererseits sind die Eingänge der PLC-Speicher der PLCs 102 (nur Schreibeingänge) mit der Pull-Up-Einheit 108 über die Schaltereinheit 109 und mit der Registerdatei 104 gekoppelt, wenn der PLCA in seinem Registerdatei-Modus betrieben wird. Jedoch sind die Eingänge der PLC-Speicher der PLCs 103 (nur Leseeingänge) mit den Ausgängen der Registerdatei 104 über die Konfigurationsleitungen 107 gekoppelt, wenn das PLCA 100 in seinem Registerdatei-Modus betrieben wird. Zusätzlich durchlaufen die Signale auf den Konfigurationsleitungen 107 nicht einfach die Registerdatei 104, wie dies im Durch­ gangs-Modus der Fall ist, wenn das PLCA in dem Registerda­ tei-Modus betrieben wird.
Die Details des Aufbaus der PLCs 102, 103, der Registerdatei 104, der Pull-Up-Einheit 108 und der Schaltereinheit 109 sind nachfolgend bezugnehmend auf weitere Figuren erörtert. Dennoch werden die PLCs entweder in einem Rückwärts-Modus betrieben, um Schreibeingänge zu bilden, oder in einem Vor­ wärtsmodus betrieben, um Leseeingänge zu bilden, wenn das PLCA in dem Registerdatei-Modus betrieben wird. Ferner, be­ züglich der Realisierung eines Demultiplexers, realisiert jede PLC, die im Rückwärtsmodus betrieben wird, einen Demul­ tiplexer.
Die Fig. 11A und 11B stellen ein Blockdiagramm eines ersten detaillierten Ausführungsbeispiels einer Registerdatei mit mehreren Eingängen, die durch die Verwendung der PLCs effi­ zient realisiert ist, dar. Eine Spalte von PLCs 110 in einem PLCA ist in den Fig. 11A und 11B gezeigt. Jedoch sind der Einfachheit halber nur vier der PLCs der Spalte gezeigt. Je­ de PLC 110 besteht aus zwei Multiplexern 112, die aus Bidi­ rektionalgattern (d. h. Schaltbäumen), UND-Gattern 113 mit drei logischen Zuständen, zwei Sätzen von 64-Bit PLC-Spei­ chern 114 und zwei Sätzen von Konfigurationsleitungen 116-1, 116-2 (64 Bits pro Satz), um die Bits der PLC-Speicher 114 zu programmieren, aufgebaut sind. Jeder Satz von Konfigura­ tionsleitungen 116-1 und 116-2 bildet einen Bus. Während ei­ ner Konfiguration werden Konfigurationsdaten gleichzeitig parallel über den Bus zu allen PLCs 110 in einer Spalte ge­ sendet, aber nur eine der PLCs 110 ist aktiviert, um die Da­ ten anzunehmen. Somit benutzt jede PLC 110 die Konfigurati­ onsleitungen 116-1, 116-2 mit den anderen PLCs in ihrer Rei­ he zeitgestaffelt, wodurch nutzbare Chip-Fläche gesichert wird.
Um in der Lage zu sein, die PLCAs als Registerdateien mit mehreren Eingängen zu verwenden, müssen zwei zusätzliche Komponenten ergänzt werden, nämlich Pull-Up-Widerstände 117, die durch einen elektrisch steuerbaren Schalter 118 (durch das "x" in Fig. 11 dargestellt) mit dem oberen Ende jeder Konfigurationsleitung verbunden sind, was eine Verbindung zur Vcc herstellt, und einer 64-Bit-Registerdatei 119. Vor­ zugsweise halbiert die 64-Bit-Registerdatei 119 näherungs­ weise mindestens einen der 64-Bit-Konfigurationsbusse 116. In jedem Fall ist die Registerdatei 119, wie in Fig. 11A ge­ zeigt, wirksam mit den Bussen 116-1 und 116-2 verbunden.
Die verbesserte PLCA-Architektur gemäß der Erfindung ist in der Lage, in zwei verschiedenen Modi betrieben zu werden. In einem ersten (normalen) Modus sind die PLCs einer Spalte als einzelne PLCs konfiguriert und wirksam. In einem zweiten (Registerdatei-)Modus sind die PLCs einer Spalte als ein Registerdatei-Prozessorelement (bit slice) mit mehreren Ein­ gängen konfiguriert und wirksam. Jeder dieser Modi wird nachfolgend detaillierter erörtert.
In dem ersten Modus arbeiten die PLCs 110 in einer Spalte wie einzelne PLCs in einem herkömmlichen PLCA. Während einer Konfiguration der Spalte sind die Pull-Up-Widerstände 117 am oberen Ende der Konfigurationsleitungen 116-1, 116-2 von den Konfigurationsleitungen durch die steuerbaren Schalter 118 abgetrennt. Die Konfigurationsleitungen 116-1, 116-2 werden von herkömmlicher Konfigurationsschaltungstechnik (Fig. 10) betrieben.
Im ersten Modus ist die 64-Bit-Registerdatei 119 in einen Durchlaßzustand gesetzt. In dem Durchlaßzustand werden alle 64 Signale, die die Registerdatei 119 von der linken Halb­ spalte der Konfigurationsleitungen 116-1 über ihr empfängt, zu der linken Halbspalte der Konfigurationsleitungen 116-1 unter ihr hinabgeleitet. Die 64 Signale, die von der Regi­ sterdatei 119 von der rechten Halbspalte empfangen werden, werden einfach ignoriert. Jeder PLC-Speicher 114 verwendet die Konfigurationsleitungen 116-1, 116-2 als einen Eingang, um seine Bits zu programmieren, wobei jedoch, wie oben er­ örtert, nur ein PLC 110 gleichzeitig programmiert wird. Wenn die Registerdatei 119 im Durchlaßzustand ist, überträgt sie vorzugsweise nicht nur die Signale die Spalte hinab, sondern erzeugt sie auch neu.
Während des Betriebs ist die Registerdatei 119 nicht pro­ grammiert. Daher sind die Speicher-Bits wirksam von den Kon­ figurationsbussen 116 abgetrennt. Nach der Konfiguration kann die 64-Bit-Registerdatei 119 im Durchlaßzustand belas­ sen werden, wenn es erwünscht ist, sie kann jedoch nicht länger das Wirken des PLCA bewirken.
Im ersten Modus arbeiten die PLC-Speicher 114 in einer her­ kömmlichen Art und Weise. Jedes Bit ist nämlich in anti-pa­ rallelen Invertern gespeichert. Jedes Inverterpaar ist über einen Durchlaßtransistor mit einer Konfigurationsleitung verbunden. Wenn das Programmsignal während der Konfiguration angelegt ist, werden die Durchlaßtransistoren in den "an"- Zustand geschaltet, und Daten von den Konfigurationsbussen 116 überschreiben die vorher gespeicherten Bits, wobei somit die Bits programmiert werden.
Im zweiten Modus arbeiten die PLCs 110 in einer Spalte als Eingänge für eine Registerdatei mit mehreren Eingängen. Ins­ besondere wird jede PLC 110 über der 64-Bit-Registerdatei 119 als ein Schreibeingang verwendet, und jede PLC 110 unter der Registerdatei 119 wird als ein Leseeingang verwendet. Ferner wird die 64-Bit-Registerdatei 119 als eine ein Bit breite Datei mit 64 Registern verwendet. Die Pull-Up-Wider­ stände 117 sind mit den Konfigurationsleitungen, die als "verdrahtete UNDs" verwendet sind, verbunden. Zusammen bil­ den diese Komponenten ein 64×1 Prozessorelement, das mit weiteren Prozessorelementen kombiniert werden kann, um Re­ gisterdateien einer willkürlichen Größe zu bilden. Es sei bemerkt, daß die Pull-Up-Widerstände 117 und die steuerbaren Schalter 118 eine Realisation der Pull-Up-Einheit 108 und der Schaltereinheit 109, die in Fig. 10 gezeigt sind, dar­ stellen.
Die UND-Gatter mit drei logischen Zuständen 113 sind nur ak­ tiviert, wenn die PLC 110 als ein Schreibeingang für eine Registerdatei betrieben wird. Fig. 13 stellt die UND-Gatter 113 in den PLCs 110 dar, wobei sie als Schreibeingänge ar­ beiten. Die UND-Gatter 113 hindern Daten daran, geschrieben zu werden, wenn sie nicht durch das Schreibaktivier-Signal zugelassen sind. Andererseits werden die UND-Gatter 113 um­ gangen oder liegen nicht vor, wenn die PLCs 110 nicht als Schreibeingänge arbeiten. In Fig. 11B arbeiten die PLCs 110 z. B. als Leseeingänge. Deshalb sind die UND-Gatter 113 nicht dargestellt, da sie entweder nicht existent oder inak­ tiv sind.
Wenn eine Spalte als Eingänge für eine Registerdatei mit mehreren Eingängen konfiguriert werden soll, müssen die PLC-Speicher 114 nicht programmiert werden, da sie beim Be­ trieb der Registerdatei mit mehreren Eingängen nicht- verwen­ det werden. Daher wird der PLC-Speicher 114 im zweiten Modus in einem Durchlaßzustand betrieben, da eine Speicherfunktion weder benötigt noch erwünscht ist. Mit Durchlaßzustand ist sowohl der Fall gemeint, bei dem das Ausgangssignal das Ein­ gangssignal ist, als auch der Fall, bei dem das Ausgangssi­ gnal das invertierte Eingangssignal ist.
Fig. 12A ist ein schematisches Diagramm einer Realisation des steuerbaren Schalters 118 gemäß Fig. 11A. Der Schalter 118 wird durch ein Modus-Steuersignal gesteuert, um eine Konfigurationsleitung 116 (Anschluß B), einen Pull-Up-Wider­ stand (Anschluß A) oder nichts auszuwählen. Fig. 12B ist ein Blockdiagramm einer Realisation der Registerdatei 119 gemäß Fig. 11A. Die Registerdatei 119 empfängt Datensignale D und aktiviert Signale EN von den Konfigurationsbussen 116. Jede Speicherzelle in der Registerdatei 119 kann mit einer Aus­ wahlvorrichtung 120 und einem D-Typ-Flip-Flop, ähnlich dem in Fig. 5 gezeigten, realisiert sein. Der Unterschied be­ steht darin, daß jede Speicherzelle einen Durchlaßzustand für den normalen Modus aufweist. Gemäß Fig. 12B wird ein Schalter 124 verwendet, um zwischen den Anschlüssen C und D gemäß einem Modus-Steuersignal umzuschalten. Im ersten Modus verbindet der Schalter 124 den Ausgang der Registerdatei 119 mit dem Anschluß D, um die Speicherzelle zu umgehen. Im zweiten Modus verbindet der Schalter 124 den Ausgang der Re­ gisterdatei 119 mit dem Anschluß C.
Es können zusätzliche Leitungen verwendet werden, um Signale von den Schreibeingängen zu der Registerdatei zu liefern, obwohl die bevorzugte Realisation die existierenden Konfi­ gurationsbusse 116 nicht nur verwendet, um die PLC-Speicher 114 zu konfigurieren, sondern auch um Signale von den PLCs 110, die als Schreibeingänge zu der Registerdatei 119 arbei­ ten, zu liefern. Solche zusätzlichen Leitungen komplizieren jedoch den Entwurf und verbrauchen Platz auf dem Chip.
Fig. 13 ist ein Blockdiagramm einer Realisation des PLC- Speichers 114, 130 gemäß der Erfindung. Der PLC-Speicher 114, 130 umfaßt Inverter mit drei logischen Zuständen 132, 134 und Durchlaßtransistoren 136. Die Inverter 134 sind Bau­ elemente mit offenem Drain. Es sei zu bemerken, daß der PLC-Speicher 130 wie ein herkömmlicher PLC-Speicher arbei­ tet, wenn er im ersten Modus betrieben wird. Andererseits führt der PLC-Speicher 130 keine Speicherfunktion aus, wenn er im zweiten Modus betrieben wird, da einer der Inverter 132, 134 in jeder Speicherzelle inaktiv ist. Die Arbeitswei­ se des PLC-Speichers im zweiten Modus ist nachfolgend de­ taillierter erörtert.
Wenn der PLC 110 als ein Schreibeingang konfiguriert ist, sind die Inverter 132, die den Multiplexer 112 betreiben, inaktiv, die Inverter 134, die die Konfigurationsleitungen betreiben, sind in einem Modus mit "offenem Drain" (geeig­ net, den Strom in den niederen Zustand zu senken, aber nicht geeignet, den Strom in den hohen Zustand zu treiben) ge­ setzt. Die Durchlaßtransistoren 136 sind konfiguriert, um zu sperren. Dies ermöglicht es den Multiplexern 112, "rück­ wärts" als Demultiplexer für die SCHREIBEN_AKTIVIEREN- und die SCHREIBEN_DATEN-Signale betrieben zu werden, wobei folg­ lich die benötigten zweifachen Demultiplexer-Funktionen ge­ mäß Fig. 2 geliefert werden.
Da ein Pull-Up-Widerstand 117 mit jeder Konfigurationslei­ tung verbunden ist, und da die Inverter 134 jeder PLC 110 (Schreibeingänge), die die Leitung betreibt, ein offenes Drain aufweisen, führt jede Konfigurationsleitung eine "ver­ drahtete UND"-Funktion aus, die, aufgrund der Inverter 134, wirksam eine NOR-Funktion durchführt. Da jedoch die Vielzahl der Schreibeingänge gemäß Fig. 3 eine ODER-Operation benö­ tigt, sollte das Ergebnis der verdrahteten UND-Verknüpfung vor seiner Speicherung in der Registerdatei 119 invertiert werden. Zum Beispiel könnten Inverter in der Registerdatei 119 vorgesehen sein, um die Invertierung durchzuführen. In jedem Fall liefert die linke Halbspalte der Konfigurations­ leitungen 116-1 die ODER-verknüpften oder die NOR-verknüpf­ ten Daten-Bits für jedes der 64 Bits zu der Registerdatei 119. Die rechte Halbspalte der Konfigurationsleitungen 116-2 (zusammen mit den Erweiterungsleitungen 116-3) liefert die ODER-verknüpften oder NOR-verknüpften Aktivierungs-Bits. Folglich liefern diese zwei Halbspalten der Konfigurations­ leitungen ein Paar von Signalen, DATEI_SCHREIBEN und DATEI_DATEN, zu jedem Bit der Registerdatei 119 (Fig. 12B). Der Ausgang der Registerdatei 119 betreibt die zugehörige linke Halbspalte der Konfigurationsleitung 116-1.
Wenn die PLC 110 als ein Leseeingang (wie dies bei den PLCs unter der Registerdatei 119 der Fall ist) konfiguriert ist, sind die Inverter 134, die die Konfigurationsleitungen 116-1 betreiben, vollständig inaktiv, die Inverter 132, die die Multiplexer 112 betreiben, sind aktiv, und die Durchlaßtran­ sistoren 136 sperren. In diesem Fall haben die Multiplexer 112 für alle Leseeingänge Zugriff zu denselben 64 Daten- Bits, und jeder kann unabhängig ein Bit auswählen, das gele­ sen werden soll.
Die Fig. 14A und 14B sind Blockdiagramme eines zweiten de­ taillierten Ausführungsbeispiels einer Registerdatei mit mehreren Eingängen gemäß der Erfindung. Der Abschnitt eines PLCA, der in den Fig. 14A und 14B gezeigt ist, ist im Regi­ sterdatei-Modus dargestellt. Dieses Ausführungsbeispiel ist dem in den Fig. 11A und 11B gezeigten ähnlich. Deshalb wer­ den nur die Unterschiede erörtert. Bei diesem Ausführungs­ beispiel sind die Pull-Up-Widerstände 117 und die steuer­ baren Schalter 118 durch zusätzliche Leitungsbusse 140 und logische ODER-Schaltungen 142 ersetzt. In diesem Fall ver­ knüpft die logische ODER-Schaltung 142-1 die jeweiligen Bits der zusätzlichen Busse 140 mit einer logischen ODER-Verbin­ dung, wodurch sie wie die ODER-Gatter 30 gemäß Fig. 3 arbei­ tet. Außerdem sind bei diesem Ausführungsbeispiel die PLC- Speicher 144 herkömmliche Speicher und müssen nicht modifi­ ziert werden, wie dies bei denen in den Fig. 11A und 11B nötig war. Zusätzlich ist ein Datenbus 146 vorgesehen, um die Daten, die von der Registerdatei 119 gelesen werden, zu den PLCs 110, die als Leseeingänge arbeiten, zu liefern. Die Menge der Leitungen kann bei diesem Ausführungsbeispiel re­ duziert werden, wenn die Konfigurationsbusse 116 wie in den Fig. 11A und 11B verwendet werden, da die zusätzlichen Busse 114 dann wesentlich verkürzt oder entfernt werden können.
Zusammenfassend gesprochen werden Registerdatei-Prozessor­ elemente unterstützt, indem PLCs zusammen in "Spalten" grup­ piert werden, indem ein Dateiregister, Pull-Up-Widerstände oder ODER-Schaltungen hinzugefügt werden, und indem die Speicherzellen in jedem PLC leicht modifiziert werden. Schreibeingänge sind aktiv, indem die PLC-Multiplexer rück­ wärts als Demultiplexer betrieben werden. Mehrere Schreib­ eingänge werden unterstützt, indem die DATEN- und AKTIVIE­ RUNGS-Signale, die von jedem Schreibeingang erzeugt werden, mit einer verdrahteten UND-Bedingung oder einer ODER-Bedin­ gung verknüpft werden. Bits, die von den Schreibeingängen geschrieben werden, werden in einer Registerdatei gespei­ chert, die die Konfigurationsleitungen betreibt, die an den Leseeingängen befestigt sind. Die Leseeingänge sind aktiv, indem die Konfigurationsleitungen (und nicht die PLC-Spei­ cher-Bits) durch die PLC-Multiplexer gelesen werden.
Obwohl es sich bei den in den Fig. 10 bis 13 gezeigten Aus­ führungsbeispielen um eine Registerdatei mit mehreren Ein­ gängen handelt, gilt die Erfindung für einen Demultiplexer selbst. Der in Fig. 10 gezeigte PLCA 110 z. B. enthält PLCs 102, die als Schreibeingänge arbeiten, wenn das PLCA im Re­ gisterdatei-Modus ist. Dadurch arbeiten die PLC-Multiplexer 112 tatsächlich rückwärts, um als Demultiplexer zu arbeiten. Somit bezieht sich die Erfindung allgemeiner auf eine PLC, die rückwärts betrieben werden kann, um als Demultiplexer zu arbeiten.

Claims (10)

1. Programmierbare logische Schaltung mit mindestens einem logischen N-Bit-Zellenspeicher (86; 114; 144) und einem N : 1-Bit-Multiplexer (88; 112), der mit dem logischen Zellenspeicher (86; 114, 144) gekoppelt ist, wobei jede Zelle in dem logischen Zellenspeicher (86; 114; 144) ein Paar von kreuzgekoppelten Invertern (132, 134) ein­ schließt, dadurch gekennzeichnet,
daß der Multiplexer (88; 112) durch die Verwendung von Bidirektionaldurchlaßtransistoren (92) realisiert ist,
daß mindestens einer der Inverter (132, 134) ein Inver­ ter mit drei logischen Zuständen ist, und
daß die programmierbare logische Zellenschaltung als ein 1 : N-Demultiplexer arbeitet, wenn der Inverter mit drei logischen Zuständen inaktiv ist.
2. Programmierbare logische Schaltung nach Anspruch 1, bei der der Multiplexer (86; 112) durch die Verwendung von CMOS-Transistoren realisiert ist.
3. Programmierbare logische Schaltung nach Anspruch 1 oder 2, bei der der andere der Inverter (132, 134) ein Bau­ element mit offenem Drain ist.
4. Eine programmierbare Schaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß steuerbare Schalter (118) wirksam sind, um Konfi­ gurationsleitungen (116) des logischen Zellenspeichers (114) mit entweder einer Konfigurations-Steuerschaltung (106) oder Pull-Up-Widerständen (108; 117), die mit ei­ ner Spannungsquelle verbunden sind, zu verbinden.
5. Programmierbares logisches Array, der die folgenden Merkmale aufweist:
mindestens eine Registerdatei (104; 119) zum Speichern von Daten;
programmierbare logische Zellen (102, 103; 110) mit Eingängen ,und Ausgängen, wobei die programmierbaren logischen Zellen (102, 103; 110) wirksam mit der zu­ mindest einen Registerdatei (104; 119) verbunden sind, und wobei die programmierbaren logischen Zellen (102, 103; 110) in einem Vorwärtsmodus, einem Rückwärtsmodus und einem normalen Modus betreibbar sind; und
konfigurierbare Signalführungsmittel (107; 116), um mindestens einen der Eingänge und Ausgänge der program­ mierbaren logischen Zellen (102, 103; 110) zu ver­ binden;
bei dem Schreibeingänge für die Registerdatei (104; 119) durch die programmierbaren logischen Zellen (102; 110), die im Rückwärtsmodus arbeiten, gebildet sind, und bei dem Leseeingänge für die Registerdatei (104; 119) durch die programmierbaren logischen Zellen (103; 110), die im Vorwärtsmodus arbeiten, gebildet sind.
6. Programmierbares logisches Array nach Anspruch 5, bei dem jede programmierbare logische Zelle (102, 103; 110) einen logischen Zellenspeicher (114; 144) und eine Aus­ wählvorrichtung (112), die mit dem logischen Zellen­ speicher (114; 144) gekoppelt ist, umfaßt, und
bei dem die Auswahleinrichtung (112) durch die Verwen­ dung eines Baumes von Bidirektionaldurchlaßtransistoren (92) realisiert ist, und bei dem jede Speicherzelle in dem logischen Zellenspeicher (114; 144) mindestens ein Paar von kreuzgekoppelten Invertern mit drei logischen Zuständen (132, 134) umfaßt.
7. Programmierbares logisches Array nach Anspruch 6, bei dem die Auswahleinrichtung (112) im Rückwärtsmodus als ein Decoder arbeitet, und bei dem ein erster der Inver­ ter mit drei logischen Zuständen (132) inaktiv ist.
8. Programmierbares logisches Array nach Anspruch 6 oder 7, bei dem die Auswahleinrichtung (112) im Rückwärts­ modus als Decoder wirksam ist, um Daten, die geschrie­ ben werden sollen, von den Eingängen der Auswahlein­ richtung (112) zu der Registerdatei (104; 119) auszuge­ ben, und bei dem der Speicher (114) im Rückwärtsmodus wirksam ist, um die Daten, die geschrieben werden sol­ len, derart weiterzuleiten, daß die Daten, die ge­ schrieben werden sollen, von den Eingängen des Spei­ chers (114) zu der Registerdatei (104; 119) ausgegeben werden, und
bei dem der Speicher (114) im Vorwärtsmodus wirksam ist, um die Daten von der Registerdatei (104; 119) zu der Auswahleinrichtung (112) weiterzuleiten, und bei dem die Auswahleinrichtung (112) im Vorwärtsmodus als eine Auswahleinrichtung wirksam ist, um die Daten, die aus der Registerdatei (104; 119) gelesen werden, auszu­ geben.
9. Programmierbares logisches Array nach einem der Ansprü­ che 5 bis 8,
bei dem jede der programmierbaren logischen Zellen (102, 103; 110) einen logischen Zellenspeicher (114; 144) und eine Auswahleinrichtung (112), die mit dem lo­ gischen Zellspeicher (114; 144) gekoppelt ist, ein­ schließt, und
bei dem der programmierbare logische Array ferner Ein­ richtungen (142; 107, 108, 109, 134; 116, 117, 118, 134) umfaßt, um die Daten, die von den Eingängen der Auswahleinrichtung (112) für die programmierbaren logi­ schen Zellen (102, 103; 110), die im Rückwärtsmodus be­ trieben sind, ausgegeben werden, mit einer ODER-Bedin­ gung zu verknüpfen.
10. Programmierbares logisches Array nach einem der Ansprü­ che 6 bis 9, das folgende Merkmale aufweist:
eine Mehrzahl von Konfigurationsleitungen (107; 116), die wirksam mit den programmierbaren logischen Zellen (102, 103; 110) und der Registerdatei (104; 119) ver­ bunden sind;
eine Konfigurations-Steuerschaltung (106) zum Liefern der Signale zu den Konfigurationsleitungen (107; 116), um den logischen Zellenspeicher (114) der programmier­ baren logischen Zellen (102, 103; 110) zu programmie­ ren;
eine Mehrzahl von Pull-Up-Widerständen (117) mit einem ersten und einem zweiten Anschluß, wobei der erste Anschluß wirksam mit einer Spannungsquelle verbindbar ist; und
eine Mehrzahl von steuerbaren Schaltern (118) zum wirk­ samen Verbinden der Konfigurationsleitungen (107; 116) mit der Konfigurations-Steuerschaltung (106) oder dem zweiten Anschluß der Pull-Up-Widerstände (117).
DE4417575A 1993-08-27 1994-05-19 Verbesserte Array-Architektur für programmierbare logische Zellen Expired - Fee Related DE4417575C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/113,578 US5315178A (en) 1993-08-27 1993-08-27 IC which can be used as a programmable logic cell array or as a register file

Publications (2)

Publication Number Publication Date
DE4417575A1 true DE4417575A1 (de) 1995-03-02
DE4417575C2 DE4417575C2 (de) 1996-02-01

Family

ID=22350258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4417575A Expired - Fee Related DE4417575C2 (de) 1993-08-27 1994-05-19 Verbesserte Array-Architektur für programmierbare logische Zellen

Country Status (4)

Country Link
US (1) US5315178A (de)
JP (1) JP3471088B2 (de)
DE (1) DE4417575C2 (de)
GB (1) GB2281427B (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US20020130681A1 (en) * 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
US5438295A (en) 1993-06-11 1995-08-01 Altera Corporation Look-up table using multi-level decode
US5815024A (en) * 1993-06-11 1998-09-29 Altera Corporation Look-up table using multi-level decode
US5386156A (en) * 1993-08-27 1995-01-31 At&T Corp. Programmable function unit with programmable fast ripple logic
US5535343A (en) * 1994-03-07 1996-07-09 Intel Corporation Method and apparatus for generating write signals
US5481495A (en) * 1994-04-11 1996-01-02 International Business Machines Corporation Cells and read-circuits for high-performance register files
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
US5406525A (en) * 1994-06-06 1995-04-11 Motorola, Inc. Configurable SRAM and method for providing the same
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5566123A (en) 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
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
US5752077A (en) * 1995-05-15 1998-05-12 Motorola, Inc. Data processing system having a multi-function input/output port with individual pull-up and pull-down control
US5745734A (en) * 1995-09-29 1998-04-28 International Business Machines Corporation Method and system for programming a gate array using a compressed configuration bit stream
US5781031A (en) * 1995-11-21 1998-07-14 International Business Machines Corporation Programmable logic array
US6570404B1 (en) 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
US5977791A (en) 1996-04-15 1999-11-02 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
US5818261A (en) * 1996-08-08 1998-10-06 Hewlett Packard Company Pseudo differential bus driver/receiver for field programmable devices
US5933023A (en) * 1996-09-03 1999-08-03 Xilinx, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
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
US6421817B1 (en) * 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US6020760A (en) * 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6034857A (en) * 1997-07-16 2000-03-07 Altera Corporation Input/output buffer with overcurrent protection circuit
US5995425A (en) * 1997-07-23 1999-11-30 International Business Machines Corporation Design of provably correct storage arrays
US6128215A (en) 1997-08-19 2000-10-03 Altera Corporation Static random access memory circuits
US6072332A (en) * 1997-10-14 2000-06-06 Altera Corporation Variable depth memories for programmable logic devices
US6289494B1 (en) 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
US6188633B1 (en) * 1998-04-28 2001-02-13 Hewlett-Packard Company Multi-port computer register file having shared word lines for read and write ports and storage elements that power down or enter a high-impedance state during write operations
US6020776A (en) * 1998-06-22 2000-02-01 Xilinx, Inc. Efficient multiplexer structure for use in FPGA logic blocks
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
US6240507B1 (en) 1998-10-08 2001-05-29 International Business Machines Corporation Mechanism for multiple register renaming and method therefor
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
GB2351824B (en) 1999-07-02 2004-03-31 Altera Corp Embedded memory blocks for programmable logic
US6529040B1 (en) 2000-05-05 2003-03-04 Xilinx, Inc. FPGA lookup table with speed read decoder
US6697957B1 (en) 2000-05-11 2004-02-24 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US6658438B1 (en) * 2000-08-14 2003-12-02 Matrix Semiconductor, Inc. Method for deleting stored digital data from write-once memory device
US20030120858A1 (en) 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
US20020078342A1 (en) * 2000-09-25 2002-06-20 Broadcom Corporation E-commerce security processor alignment logic
GB2376781B (en) 2001-03-29 2003-09-24 Mentor Graphics Corp Memory device
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US7111110B1 (en) 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
US7366032B1 (en) * 2005-11-21 2008-04-29 Advanced Micro Devices, Inc. Multi-ported register cell with randomly accessible history
US7868605B1 (en) * 2007-07-02 2011-01-11 Altera Corporation Mixed mode power regulator circuitry for memory elements
US8510485B2 (en) * 2007-08-31 2013-08-13 Apple Inc. Low power digital interface
JP5704240B2 (ja) * 2011-08-12 2015-04-22 株式会社デンソー 集積回路
TWI681300B (zh) * 2014-11-14 2020-01-01 美商凱為有限責任公司 在64位元資料路徑上實行128位元simd操作之方法、系統及電腦可讀取媒體
US10802754B2 (en) * 2018-03-12 2020-10-13 Micron Technology, Inc. Hardware-based power management integrated circuit register file write protection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3839113A1 (de) * 1987-11-20 1989-06-01 Mitsubishi Electric Corp Programmierbares logikfeld mit veraenderbarem logikaufbau
DE3941710A1 (de) * 1989-12-18 1991-06-20 Philips Patentverwaltung Programmierbare integrierte schaltungsanordnung

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317287B1 (de) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmierbare logische Vorrichtung
US4933909A (en) * 1988-12-19 1990-06-12 Bull Hn Information Systems Inc. Dual read/write register file memory
US5115411A (en) * 1990-06-06 1992-05-19 Ncr Corporation Dual port memory system
US5245227A (en) * 1990-11-02 1993-09-14 Atmel Corporation Versatile programmable logic cell for use in configurable logic arrays
US5111431A (en) * 1990-11-02 1992-05-05 Analog Devices, Inc. Register forwarding multi-port register file

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3839113A1 (de) * 1987-11-20 1989-06-01 Mitsubishi Electric Corp Programmierbares logikfeld mit veraenderbarem logikaufbau
DE3941710A1 (de) * 1989-12-18 1991-06-20 Philips Patentverwaltung Programmierbare integrierte schaltungsanordnung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
elektronik industrie 9, 1985, S. 43-48 *

Also Published As

Publication number Publication date
GB2281427A (en) 1995-03-01
GB2281427B (en) 1998-03-18
JP3471088B2 (ja) 2003-11-25
GB9417139D0 (en) 1994-10-12
DE4417575C2 (de) 1996-02-01
US5315178A (en) 1994-05-24
JPH07177008A (ja) 1995-07-14

Similar Documents

Publication Publication Date Title
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE60100476T2 (de) Unterstützung mehrerer konfigurationszustände eines fpga mittels eines auf dem integrierten schaltkreis dafür vorgesehenen prozessors
EP0010173B1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE69810995T2 (de) Rekonfigurierbarer Dual-Modus-Speicher in programmierbaren logischen Einrichtungen
DE69633370T2 (de) Benutzerprogrammierbares Gatterfeld mit Multiport-RAM
DE69534812T2 (de) Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration
DE69827589T2 (de) Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
DE2723821C2 (de) Programmierbare logische Anordnung
DE3645224C2 (de)
DE4212202C2 (de) Logikgatter
DE69838462T2 (de) Verbesserte feldprogrammierbare Gatteranordnung
DE69822796T2 (de) Nutzerprogrammierbarer prozessor
DE60309931T2 (de) Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport
EP0202456B1 (de) In integrierter Technik hergestellter Logik-Array-Baustein
DE19639629C2 (de) Programmierbare, monolithische, integrierte Logikschaltung und Verfahren zum Implementieren derselben
DE69834011T2 (de) Statische Direktzugriffspeicherschaltungen
DE102004045527B4 (de) Konfigurierbare Logikschaltungsanordnung
DE19709219A1 (de) Feldprogrammierbares Gatterarray mit hierarchischer Verbindungsstruktur und Hyperverbindungen
DE2822219A1 (de) Integrierte logikschaltung
DE102011053359A1 (de) Latch-basierte Speichervorrichtung
DE2825190C3 (de) Programmierbare logische Anordnung
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE69534659T2 (de) Architektur und Verbindungsmodel für programmierbare logische Schaltungen
DE60129269T2 (de) Speicherschaltung für eine programmierbare logische integrierte Schaltungsanordnung
DE10354501B4 (de) Logik-Schaltkreis-Anordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee