DE60128960T2 - Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld - Google Patents
Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld Download PDFInfo
- Publication number
- DE60128960T2 DE60128960T2 DE60128960T DE60128960T DE60128960T2 DE 60128960 T2 DE60128960 T2 DE 60128960T2 DE 60128960 T DE60128960 T DE 60128960T DE 60128960 T DE60128960 T DE 60128960T DE 60128960 T2 DE60128960 T2 DE 60128960T2
- Authority
- DE
- Germany
- Prior art keywords
- fpga
- routing
- signals
- regular
- signal
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3947—Routing global
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Description
- Hintergrund der Erfindung
- 1. Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich auf feldprogrammierbare Gate-Arrays und insbesondere auf eine Architektur für durch Bausteine konstruierbare (tileable) feldprogrammierbare Gate-Arrays.
- 2. Beschreibung des Standes der Technik
- Ein feldprogrammierbares Gate-Array (FPGA) ist eine integrierte Schaltung (IC), die ein zweidimensionales Array von Universallogikschaltungen enthält, die Zellen oder Logikblöcke genannt werden, deren Funktionen programmierbar sind. Die Zellen sind durch programmierbare Busse miteinander verknüpft. Die Zellen können kleine Multifunktionsschaltungen (oder konfigurierbare Funktionsblöcke oder -gruppen sein), die alle booleschen Funktionen weniger Variablen realisieren können. Die Zellentypen sind nicht auf Gatter beschränkt. Zum Beispiel enthalten die konfigurierbaren Funktionsgruppen üblicherweise Speicherzellen und Verbindungstransistoren, die verwendet werden können, um innerhalb des FPGA logische Funktionen wie etwa Addition, Subtraktion usw. zu konfigurieren. Außerdem kann eine Zelle ein oder zwei Flipflops enthalten. Zwei Typen von Logikzellen, die in FPGAs zu finden sind, sind jene, die auf Multiplexern beruhen, und jene, die auf programmierbaren Nur-Lese-Speicher-Tabellennachschlagespeichern (Nur-Lese-Speicher-PROM-Tabellennachschlagespeichern) beruhen. Löschbare FPGAs können viele Male neu programmiert werden. Besonders zweckmäßig ist diese Technologie, wenn für ein neues Produkt ein Prototypentwurf entwickelt und ausgetestet wird, sowie für die Einzelfertigung.
- FPGAs enthalten üblicherweise eine physikalische Schablone, die ein Array von Schaltungen, Mengen nicht gebundener Routing-Verdrahtungen und Mengen anwenderprogrammierbarer Schalter, die sowohl den Schaltungen als auch den Routing-Verdrahtungen zugeordnet sind, enthalten. Wenn diese Schalter richtig programmiert sind (auf Ein- oder Aus-Zustände eingestellt sind), ist die Schablone oder die zugrundeliegende Schaltung und Verdrahtung des FPGA zum Ausführen spezifischer angepasster Funktionen angepasst oder konfiguriert. Durch Neuprogrammieren der Ein-Aus-Zustände dieser Schalter kann ein FPGA viele verschiedene Funktionen ausführen. Wenn eine spezifische Konfiguration eines FPGA entschieden worden ist, kann es so konfiguriert werden, dass es diese eine spezifische Konfiguration ausführt.
- Die anwenderprogrammierbaren Schalter in einem FPGA können in verschiedenen Technologien wie etwa ONO-Antifuse, M-M-Antifuse, SRAM-Speicherzelle, Flash-EPROM-Speicherzelle und EEPROM-Speicherzelle implementiert werden. FPGAs, die als Schalter Sicherungen oder Antifuses nutzen, können nur einmal programmiert werden. Eine speicherzellengesteuerte Schalterimplementierung eines FPGA kann wiederholt neu programmiert werden. In diesem Szenarium wird üblicherweise ein NMOS-Transistor als der Schalter verwendet, um zwei ausgewählte Punkte (A, B) in der Schaltung entweder zu verbinden oder zu trennen. Der Source- und der Drain-Knoten des NMOS sind mit Punkten A, B verbunden und sein Gate-Knoten ist direkt oder indirekt mit der Speicherzelle verbunden. Dadurch, dass der Zustand der Speicherzelle entweder auf eine logische "1" oder auf eine logische "0" eingestellt wird, kann der Schalter ein- oder ausgeschaltet werden, wobei die Punkte A und B somit entweder verbun den oder getrennt werden. Somit schafft die Fähigkeit, diese Schalter zu programmieren, eine sehr flexible Vorrichtung.
- FPGAs können das Programm, das die zu implementierende Schaltung bestimmt, in einem RAM oder PROM auf dem FPGA-Chip speichern. Das Muster der Daten in diesem Konfigurationsspeicher CM bestimmt die Funktionen der Zellen und ihre Verbindungsverdrahtung. Jedes Bit des CM steuert einen Transistorschalter in der Zielschaltung, der eine Zellenfunktion auswählen oder eine Verbindung herstellen (oder trennen) kann. Durch Ersetzen der Inhalte des CM können Entwickler Entwurfsänderungen vornehmen oder Entwurfsfehler korrigieren. Der CM kann von einer externen Quelle heruntergeladen oder on-Chip gespeichert werden. Dieser Typ eines FPGA kann wiederholt neu programmiert werden, was die Entwicklungs- und Herstellungskosten wesentlich verringert.
- Im Allgemeinen ist ein FPGA ein Typ einer programmierbaren Logikvorrichtung (PLD), d. h. einer Vorrichtung, die viele Gatter oder andere Universalzellen enthält, deren Verbindungen konfiguriert oder "programmiert" werden können, um irgendeine gewünschte Kombinations- oder Folgefunktion zu implementieren. Wie sein Name bedeutet, ist ein FPGA "feldprogrammierbar", d. h., dass die Vorrichtung allgemein durch Entwickler oder Endanwender über kleine, preiswerte Programmiereinheiten "im Feld" programmiert wird. Dies steht im Gegensatz zu maskenprogrammierbaren Vorrichtungen, die spezielle Schritte in dem IC-Chip-Herstellungsprozess erfordern.
- Eine feldprogrammierbare Einheit verwendet üblicherweise Entwurfssoftware, um das FPGA zu programmieren. Die Entwurfssoftware kompiliert einen spezifischen Anwenderentwurf, d. h. eine spezifische von dem Endanwender gewünschte Konfiguration der programmierbaren Schalter, in FPGA-Konfigurationsdaten. Die Entwurfssoftware assembliert die Konfigurationsdaten zu einem Bitstrom, d. h. zu einem Strom von Einsen und Nullen, der in das FPGA eingespeist und zum Programmieren der Konfigurationsspeicher für die programmierbaren Schalter verwendet wird. Der Bitstrom erzeugt das Muster der Daten in dem Konfigurationsspeicher CM, das bestimmt, ob jede Speicherzelle eine "1" oder eine "0" speichert. Das gespeicherte Bit in jedem CM steuert, ob sein zugeordneter Transistorschalter ein- oder ausgeschaltet ist. Endanwender verwenden üblicherweise Entwurfssoftware, um verschiedene Entwürfe zu testen und Simulationen für FPGAs laufen zu lassen.
- Wenn ein FPGA, das zur Ausführung einer spezifischen Funktion programmiert worden ist, mit einer anwendungsspezifischen integrierten Schaltung (ASIC) verglichen wird, die zur Ausführung derselben spezifischen Funktion entworfen und hergestellt worden ist, ist das FPGA notwendig eine größere Vorrichtung als die ASIC. Dies liegt daran, dass FPGAs sehr flexible Vorrichtungen sind, die viele verschiedene Funktionen implementieren können, und somit eine große Menge Zusatzschaltungsanordnung enthalten, die entweder nicht verwendet wird oder durch fest verdrahtete Verbindungen ersetzt werden könnte, wenn eine spezifische Funktion ausgeführt wird. Diese Zusatzschaltungsanordnung enthält allgemein die zahlreichen programmierbaren Transistorschalter und entsprechende Speicherzellen, die bei der Implementierung einer spezifischen Funktion nicht verwendet werden, die Speicherzellen innerhalb der Funktionsgruppen und die FPGA-Programmierungsschaltungsanordnung. Diese Zusatzschaltungsanordnung wird beim Entwurf einer ASIC üblicherweise weggelassen, was die ASIC zu einer kleineren Vorrichtung macht.
- Andererseits ist eine ASIC keine flexible Vorrichtung. Mit anderen Worten, wenn eine ASIC entworfen und hergestellt worden ist, kann sie nicht, wie es bei einem FPGA möglich ist, neu konfiguriert werden, um eine andere Funktion auszuführen.
- Entwickler von FPGAs (sowie von anderen PLDs) stellen ihre Schaltungsentwürfe häufig für IC-Hersteller bereit, die die FPGAs üblicherweise auf zwei verschiedenen Wegen herstellen. Zunächst kann ein FPGA-Entwurf als sein eigener Chip hergestellt werden, wobei in dem IC-Gehäuse keine weiteren Vorrichtungen enthalten sind. Zweitens kann ein FPGA-Entwurf in eine größere IC eingebettet sein. Ein Beispiel einer solchen größeren IC ist ein System auf einem Chip (SOC), das das eingebettete FPGA sowie mehrere weitere Komponenten enthält. Die mehreren weiteren Komponenten können z. B. einen Mikroprozessor, einen Speicher, eine Arithmetik-Logik-Einheit (ALU), eine Zustandsmaschine usw. enthalten. In diesem Szenarium kann das eingebettete FPGA nur ein kleiner Teil des gesamten SOC sein.
- Gleich, ob ein FPGA als seine eigene IC hergestellt oder in eine größere IC (z. B. in einen SOC) eingebettet werden soll, bestimmt die beabsichtigte Anwendung/Verwendung der IC die Größe und die Komplexität des benötigten FPGA. In einigen Szenarien wird ein großes FPGA benötigt und in anderen Szenarien wird ein kleines FPGA benötigt. Da herkömmliche FPGAs üblicherweise für die beabsichtigte Anwendung/Verwendung entworfen worden sind, muss ein zur Erfüllung einer Notwendigkeit eines kleinen FPGA entworfenes FPGA für die Verwendung, wo ein größeres FPGA benötigt wird, im Wesentlichen neu entworfen werden. Somit wäre es sehr vorteilhaft, eine FPGA-Vorrichtung und ein FPGA-Verfahren zu haben, die leicht für die Verwendung sowohl in ICs, die große FPGAs erfordern, als auch in ICs, die kleine FPGAs erfordern, angepasst werden könnten. Darüber hinaus wäre es sehr vorteilhaft, wenn diese FPGA-Vorrichtung und dieses FPGA-Verfahren sowohl in dem Szenarium, in dem das FPGA als seine eigene IC hergestellt werden soll, als auch in dem Szenarium, in dem das FPGA in eine größere IC eingebettet werden soll, verwendet werden könnte.
-
US 5,874,834 A offenbart ein FGPA mit verteilter Gate-Array-Funktionalität gemäß dem Oberbegriff von Anspruch 1, das eine Vielzahl konfigurierbarer Logikblöcke besitzt. Diese Blöcke enthalten feldprogrammierbare Logikelemente und entsprechende nicht feldprogrammierbare Gate-Arrays. -
GB 2 346 240 A - KURZZUSAMMENFASSUNG DER ERFINDUNG
- Die vorliegende Erfindung schafft eine Vorrichtung, die ein feldprogrammierbares Gate-Array (FPGA) enthält. Das FPGA enthält einen ersten FPGA-Baustein und der erste FPGA-Baustein enthält eine Vielzahl von Funktionsgruppen (FGs), eine reguläre Routing-Struktur und eine Vielzahl von Schnittstellengruppen (IGs). Die Vielzahl von FGs sind in Zeilen und Spalten angeordnet, wobei jede der FGs konfiguriert ist, um reguläre Eingangssignale zu empfangen, eine logische Operation auszuführen und reguläre Ausgangssignale zu erzeugen. Die reguläre Routing-Struktur ist mit den FGs gekoppelt und konfiguriert, um die regulären Ausgangssignale zu empfangen, Signale nach innerhalb von dem ersten FPGA-Baustein zu routen und die regulären Eingangssignale an die FGs zu liefern. Die Vielzahl von IGs umgeben die Vielzahl von FGs, sodass an jedem Ende jeder Zeile und Spalte eine IG angeordnet ist. Jede der IGs ist mit der regulären Routing-Struktur gekoppelt und konfiguriert, um Signale von der regulären Routing-Struktur nach außerhalb von dem ersten FPGA-Baustein zu übertragen. Darüber hinaus enthält die Vorrichtung eine Vielzahl von Eingangsmultiplexern, die konfiguriert sind, um von der regulären Routing-Struktur empfangene Signale auszuwählen und die ausgewählten Signale nach außerhalb von dem FPGA-Baustein zu liefern, und eine Vielzahl von Eingangs/Ausgangs-Anschlussflächen (E/As), wobei jeder der Eingangsmultiplexer zumindest mit einer der E/A direkt gekoppelt ist.
- Ein besseres Verständnis der Merkmale und Vorteile der vorliegenden Erfindung wird anhand der folgenden ausführlichen Beschreibung der Erfindung und der beigefügten Zeichnungen erhalten, die eine veranschaulichende Ausführungsform angeben, in der die Prinzipien der Erfindung genutzt werden.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschaltplan, der einen FPGA-Baustein in Übereinstimmung mit der vorliegenden Erfindung veranschaulicht. -
2 ,3A ,3B und4 sind Blockschaltpläne, die verschiedene Konfigurationen von FPGA-Bausteinen in Übereinstimmung mit der vorliegenden Erfindung veranschaulichen. -
5 ist ein Blockschaltplan, der den in1 gezeigten FPGA-Baustein ausführlicher veranschaulicht. -
6 ist ein Blockschaltplan, der eine der in5 gezeigten Funktionsgruppen (FGs) ausführlicher veranschaulicht. -
7 ist ein Prinzipschaltbild, das die in6 gezeigte FG ausführlicher veranschaulicht. -
8 ist ein Prinzipschaltbild, das die in7 gezeigte LGG-Auswahlschaltung ausführlicher veranschaulicht. -
9 ist ein Prinzipschaltbild, das die in7 gezeigte C/E/P/C-Auswahlschaltung ausführlicher veranschaulicht. -
10 ist ein Prinzipschaltbild, das eine der in7 gezeigten Logikeinheiten (LU) ausführlicher veranschaulicht. -
11 ist ein Blockschaltplan, der eine der in5 gezeigten Schnittstellengruppen (IGs) ausführlicher veranschaulicht. -
12 ist ein Blockschaltplan, der eine alternative Version einer der in5 gezeigten Schnittstellengruppen (IGs) ausführlicher veranschaulicht. -
13 ist ein Prinzipschaltbild, das einen Abschnitt des in5 gezeigten FPGA-Bausteins ausführlicher veranschaulicht. -
14 ist ein Prinzipschaltbild, das einen Abschnitt der in13 gezeigten regulären Routing-Struktur ausführlicher veranschaulicht. -
15 ist ein Prinzipschaltbild, das einen Abschnitt der in14 gezeigten regulären Routing-Struktur ausführlicher veranschaulicht. -
16A und16B sind Prinzipschaltbilder, die die in dem in5 gezeigten FPGA-Baustein enthaltene sekundäre Routing-Struktur veranschaulichen. -
17 ist ein Prinzipschaltbild, das die in4 gezeigte globale Signal-Routing-Struktur ausführlicher veranschaulicht. -
18 ist ein Prinzipschaltbild, das ein optionales Verfahren der Kopplung zweier FPGA-Bausteine miteinander veranschaulicht. - AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
- Anhand von
1 ist ein feldprogrammierbarer Gate-Array-Baustein (FPGA-Baustein)20 in Übereinstimmung mit der vorliegenden Erfindung veranschaulicht. Der FPGA-Baustein20 überwindet viele der Nachteile herkömmlicher FPGAs dahingehend, dass er leicht sowohl für die Verwen dung in integrierten Schaltungen (ICs), die große FPGAs erfordern, als auch in ICs, die kleine FPGAs erfordern, angepasst werden kann. Darüber hinaus kann der FPGA-Baustein20 verwendet werden, wo das FPGA als seine eigene IC hergestellt werden soll und wo das FPGA in eine größere IC (z. B. in ein System auf einem Chip (SOC)) eingebettet werden soll. - Ein Merkmal des FPGA-Bausteins
20 , das ihn zu einer so flexiblen und anpassungsfähigen Vorrichtung macht, ist, dass er "durch Bausteine kombinierbar" ist. Wie der Begriff "durch Bausteine kombinierbar" hier verwendet wird, bedeutet er, dass der FPGA-Baustein20 mit weiteren FPGA-Bausteinen kombiniert werden kann, um ein größeres FPGA zu bilden. Zum Beispiel veranschaulicht2 ein FPGA22 , das durch Kombinieren zweier FPGA-Bausteine20 gebildet ist. Die zwei FPGA-Bausteine20 arbeiten zusammen und kommunizieren miteinander, um das größere FPGA22 zu bilden. Es ist zu erkennen, dass in Übereinstimmung mit der vorliegenden Erfindung irgendeine Anzahl von FPGA-Bausteinen20 kombiniert werden können, um ein größeres FPGA zu bilden. Zum Beispiel veranschaulicht3A ein FPGA24 , das durch Kombination vierer FPGA-Bausteine20 gebildet ist. - In Übereinstimmung mit der vorliegenden Erfindung können FPGA-Bausteine
20 kombiniert werden, um ein größeres FPGA zu bilden, das als seine eigene IC hergestellt werden soll oder das in eine größere IC eingebettet werden soll. In Bezug auf das letztere Szenarium können z. B. die FPGAs22 ,24 in SOCs eingebettet werden.3B zeigt ein SOC25 mit dem darin eingebetteten FPGA24 . Das SOC25 enthält mehrere weitere Komponenten. Die weiteren Komponenten können z. B. einen Nur-Lese-Speicher (ROM)27 , einen Schreib-Lese-Speicher (RAM)29 , einen Mikroprozessor31 und irgendwelche weiteren Komponenten33 enthalten. Es ist zu erkennen, dass die spezifischen Typen weiterer Komponenten und die Anzahl weiterer Komponenten, die auf dem SOC25 enthalten sind, je nach der bestimmten Anwendung stark variieren. In Bezug auf das erstere Szenarium veranschaulicht4 ein FPGA26 , das als seine eigene IC hergestellt worden ist. Genauer enthält das FPGA26 vier FPGA-Bausteine20 und vier Anschlussflächenringe28 ,30 ,32 ,34 . Die Anschlussflächenringe28 ,30 ,32 ,34 werden verwendet, um die FPGA-Bausteine20 mit den IC-Gehäuse-Anschlussflächen des FPGA26 zu koppeln. - Außerdem ist in
4 eine globale Signal-Routing-Struktur36 veranschaulicht. Die globale Signal-Routing-Struktur36 wird im Folgenden ausführlicher beschrieben, wird im Allgemeinen aber verwendet, um globale Inter-Baustein-Signale zwischen den FPGA-Bausteinen20 zu routen. Es ist zu erkennen, dass die globale Signal-Routing-Struktur36 in Übereinstimmung mit der vorliegenden Erfindung in irgendeiner Kombination von FPGA-Bausteinen20 einschließlich z. B. der FPGAs22 ,24 enthalten sein kann. Darüber hinaus kann die globale Signal-Routing-Struktur36 verwendet werden, gleich, ob die kombinierten FPGA-Bausteine20 als ihre eigene IC hergestellt oder in eine größere IC eingebettet sind. - Die FPGA-Bausteine, die kombiniert werden, können in Übereinstimmung mit der vorliegenden Erfindung (wie die Bausteine in den FPGAs
22 ,24 ,26 ) gleich sein oder verschiedene Größen und Entwürfe haben. Ein Vorteil dessen, gleiche FPGA-Bausteine zu verwenden, ist, dass es eine wirtschaftliche Lösung dafür schafft, FPGAs mit Größen bereitzustellen, die für die beabsichtigten Verwendungen/Anwendungen geeignet sind. Da nur ein FPGA-Baustein entworfen zu werden braucht und daraufhin die notwendige Anzahl von Bausteinen kombiniert werden, um ein FPGA zu bilden, ist eine solche Lösung wirtschaftlich. Es ist festzustellen, dass ein "FPGA-Baustein" hier außerdem als ein FPGA betrachtet wird. Mit ande ren Worten, ein einzelner FPGA-Baustein20 kann selbst verwendet werden, um ein FPGA zu bilden. - Anhand von
5 sind einige der inneren Komponenten des FPGA-Bausteins20 veranschaulicht. Genauer enthält der FPGA-Baustein20 mehrere Funktionsgruppen (FGs)40 , die von mehreren Schnittstellengruppen (IGs)42 umgeben sind. Die FGs40 sind kleine Multifunktionsschaltungen, die viele oder alle booleschen Funktionen realisieren können. Die FGs40 enthalten Nachschlagtabellen (LUTs) und weitere Schaltungen, die boolesche Funktionen realisieren können, sowie Speicherzellen, die verwendet werden, um logische Funktionen wie etwa Addition, Subtraktion usw. zu konfigurieren. Die IGs42 werden als Schnittstelle des FPGA-Bausteins20 mit weiteren FPGA-Bausteinen oder Vorrichtungen oder zu Anschlussflächenringen zum Verbinden des FPGA-Bausteins20 mit IC-Gehäuseanschlussstiften verwendet. Im Allgemeinen ist die Logikstruktur des FPGA-Bausteins20 durch die FGs40 und durch die IGs42 bereitgestellt. Außerdem sind in dem FPGA-Baustein20 mehrere horizontale und vertikale reguläre Routing-Busse, Routing-Verdrahtungsbereiche, Schalttransistoren und eine globale Routing-Struktur enthalten, die alle im Folgenden diskutiert werden, in5 aber nicht gezeigt sind. - Anhand von
6 ist eine beispielhafte Version der ersten Menge der Eingangs- und Ausgangsports44 , der globalen Intra-Baustein-Eingangs- und Ausgangsports46 und des globalen Inter-Baustein-Eingangsports48 der FG40 gezeigt. Die erste Menge von Eingangs- und Ausgangsports44 übermitteln Eingangssignale [EUI[0:4] (oberer Eingang) und EBI[0:4] (unterer Eingang). Dies sind die Basiseingänge, an denen die booleschen Funktionen und die logische Operation der FG40 ausgeführt werden. Die erste Menge von Eingangs- und Ausgangsports44 enthält außerdem Ausgangssignale Y[0:4]. Dies sind die Basisausgänge, die das Ergebnis der booleschen Funktionen und der logischen Operation der FG40 übermitteln. Die erste Menge der Eingangs- und Ausgangsports44 routet Signale, die innerhalb des FPGA-Bausteins20 auf horizontalen und vertikalen regulären Routing-Bussen und Routing-Verdrahtungsbereichen übermittelt werden. Falls irgendeines der über die ersten Eingangs- und Ausgangsports44 gesendeten Signale zu einem anderen FPGA-Baustein gesendet werden soll, werden sie wie in5 gezeigt über eine IG42 übergeben. - Die globalen Intra-Baustein-Eingangs- und -Ausgangsports
46 übermitteln Eingangssignale LGG[0:5] und ein Ausgangssignal LINT. Das Signal LINT wird über eine sekundäre Routing-Struktur übermittelt. Genauer können die regulären Ausgangssignale Y[0:4] in einigen Situationen nicht an die beabsichtigte FG40 gesendet werden, da die regulären Routing-Leiter und Routing-Verdrahtungsbereiche nicht die notwendigen Verbindungen bereitstellen. Außerdem kann es in anderen Situationen erwünscht sein, nicht die Zeit der Systemzentraleinheit (System-CPU) zu verwenden, um ein Signal über die regulären Routing-Leiter und Routing-Verdrahtungsbereiche zu senden. In diesen Situationen können die benötigten der regulären Routing-Ausgangssignale Y[0:4] als das Signal LINT ausgewählt werden. Das Signal LINT wird durch eine Routing-Struktur, die von den regulären Routing-Leitern und Routing-Verdrahtungsbereichen, die zum Routen der ersten Menge von Ausgangssignalen Y[0:4] verwendet werden, getrennt ist, um den FPGA-Baustein20 herum geroutet. Somit kann das Signal LINT unabhängig davon, ob die regulären Routing-Leiter und Routing-Verdrahtungsbereiche die notwendigen Verbindungen bereitstellen, an irgendeine FG40 oder IG42 gesendet werden. Die Signale LINT werden über Eingangsports LGG[0:5], die Teil der sekundären Routing-Struktur sind, von der FG40 empfangen. Wie der Name besagt, übermittelt der globale Intra-Baustein-Eingangs- und -Ausgangsport46 Signale, die innerhalb der Grenzen des FPGA-Bausteins20 geroutet werden und vorzugsweise nicht zwischen FPGA-Bausteinen geroutet werden. Die globalen Intra-Baustein-Eingangs- und -Ausgangsports46 und die Erzeugung und Verwendung des Signals LINT werden im Folgenden ausführlicher diskutiert. - Der globale Inter-Baustein-Eingangsport
48 übermittelt die Eingangssignale GG[0:7]. Diese Signale werden an jede FG40 in allen FPGA-Bausteinen gesendet. Wie im Folgenden diskutiert wird, werden Ausgewählte der Eingangssignale GG[0:7] verwendet, um die Takt/Freigabe/Voreinstellungs/Lösch-Eingänge (C/E/P/C-Eingänge) der in jeder FG40 enthaltenen Flipflops zu steuern. - Außerdem enthält jede FG
40 einen Eingang CL und einen Ausgang CO. Der Zweck dieser Eingangs- und Ausgangsports ist es, eine Übermittlungskette für die schnellere Nutzung von Logikbetriebsmitteln zu implementieren. - Anhand von
7 enthält jede FG40 vorzugsweise vier Logikeinheiten (LU)50 ,52 ,54 ,56 . Die LUs50 ,52 ,54 ,56 stellen die booleschen Funktionen und die logischen Operationen der FG40 bereit. Jede der LUs50 ,52 ,54 ,56 enthält mehrere Eingänge, an denen boolesche Funktionen und logische Operationen ausgeführt werden. Wie gezeigt ist, enthält jede der LUs50 ,52 ,54 ,56 zwanzig solcher Eingänge, wobei aber festzustellen ist, dass die Anzahl der Eingänge in Übereinstimmung mit der vorliegenden Erfindung variieren kann. Genauer empfängt jede der LUs50 ,52 ,54 ,56 über die Eingangsports UI[0:4] und BI[0:4] Signale, die Signalen entsprechen, die über die oben diskutierten regulären Eingangsports EUI[0:4] und EBI[0:4] empfangen werden. Darüber hinaus empfängt jede der LUs50 ,52 ,54 ,56 Signale über den Eingangsport GI[0:1]. Die Eingangssignale GI[0:1] werden durch die LGG-Auswahlschaltung58 erzeugt, die zwei der Eingangssignale LGG[0:5] auswählt. Wie oben erwähnt wurde, übermittelt der Eingangsport LGG[0:5] Ausgewählte der Signale, die über den LINT-Bus laufen. Schließlich empfängt jede der LUs50 ,52 ,54 ,56 Signale über den Eingangsport JI[0:7]. Die Eingangssignale über den Eingangsport JI[0:7] enthalten zwei Ausgangssignale von jeder der LUs50 ,52 ,54 ,56 . Somit werden zwei Ausgangssignale jeder der LUs50 ,52 ,54 ,56 über JI[0:7] zu den Eingängen rückgekoppelt. - Außerdem enthält jede der LUs
50 ,52 ,54 ,56 einen Takt/Freigabe/Voreinstellungs/Lösch-Eingang (C/E/P/C-Eingang). Dieser Eingang wird verwendet, um ein innerhalb jeder der LUs50 ,52 ,54 ,56 enthaltenes Flipflop zu steuern. Die C/E/P/C-Eingabe wird durch eine C/E/P/C-Auswahlschaltung60 erzeugt. Die C/E/P/C-Auswahlschaltung60 empfängt Eingaben EUI[0:4], EBI[0:4], JI[0:7], GI[0:1] und GG[0:7]. Die C/E/P/C-Auswahlschaltung60 wählt aus diesen Signalen vier Signale aus, die als die C/E/P/C-Signale zu verwenden sind. - Anhand von
9 ist eine beispielhafte Version der C/E/P/C-Auswahlschaltung60 veranschaulicht. Die Auswahlschaltung60 enthält zwei Zwanzig-zu-eins-Multiplexer70 ,72 . Jeder Multiplexer70 ,72 wählt ein Signal von den Bussen EUI[0:4], EBI[0:4], JI[0:7] und GI[0:1] aus. Das durch den Multiplexer70 ausgewählte Signal wird zu dem Signal GX[0] und das durch den Multiplexer72 ausgewählte Signal wird zu dem Signal GX[1]. Der Bus GX[0:1] wird an die Eingänge von vier Elf-zu-eins-Multiplexern74 ,76 ,78 ,80 geliefert. Außerdem werden der Bus GG[0:7] und eine Massesignalleitung an die Eingänge der vier Multiplexer74 ,76 ,78 ,80 geliefert. Das durch den Multiplexer74 ausgewählte Signal wird zu dem Taktsignal CLK, das durch den Multiplexer76 ausgewählte Signal wird zu dem Freigabesignal E, das durch den Multiplexer78 ausgewählte Signal wird zu dem Voreinstellungssignal PRSTN und das durch den Multiplexer80 ausgewählte Signal wird zu dem Löschsignal CLRN. Die Verwendung der vier Multiplexer74 ,76 ,78 ,80 ermöglicht, dass irgendwelche der Signale GX[0:1], GG[0:7] und die Masse als eines der C/E/P/C-Signale ausgewählt werden. - Unter Verwendung eines Multiplexers
64 kann das Signal LINT als eines der Signale Y[0:4] ausgewählt werden. Da das Signal LINT an irgendeine der FGs40 oder IGs42 gesendet werden kann, fügt die Verwendung des Signals LINT zu den FPGA-Baustein20 eine gewaltige Menge an Flexibilität hinzu. Dies liegt daran, dass das Signal LINT unter Verwendung einer Routing-Struktur, die von der des Busses Y[0:4] getrennt und unabhängig ist, um den FPGA-Baustein20 herum geroutet wird. In jenen Situationen, in denen eines der Signale auf dem Bus Y[0:4] nicht an das gewünschte Ziel gesendet werden kann oder CPU-Zeit gespart werden muss, kann der Multiplexer64 verwendet werden, um dieses eine der Signale Y[0:4] als das Signal LINT auszuwählen, um das Signal an das gewünschte Ziel zu senden. - Anhand von
8 enthält eine beispielhafte Version der LGG-Auswahlschaltung58 zwei Sechs-zu-eins-Multiplexer66 ,68 . Jeder Multiplexer66 ,68 wählt eines der Eingangssignale LGG[0:5] aus. Das durch den Multiplexer66 ausgewählte Signal wird zu dem Signal GI[0] und das durch den Multiplexer68 ausgewählte Signal wird zu dem Signal GI[1]. Da der Bus LGG[0:5] an beide Multiplexer66 ,68 geliefert wird, ist es möglich, dass die Signale GI[0] und GI[1] dasselbe Signal sind. Wie oben erwähnt wurde, ist der Bus LGG[0:5] eine Möglichkeit, damit die Signale LINT von irgendeiner FG40 oder IG42 an irgendeine FG40 oder IG42 gesendet werden. Die gezeigte beispielhafte Version der LGG-Auswahlschaltung58 kann irgendeines dieser Signale LINT zum Senden über den Bus GI[0:1] an die LUs50 ,52 ,54 ,56 auswählen. Es ist festzustellen, dass in Übereinstimmung mit der vorliegenden Erfindung viele verschiedene Entwürfe der LGG-Auswahlschaltung58 verwendet werden können, um für die LUs50 ,52 ,54 ,56 viele verschiedene Anzahlen von Signalen von dem Bus LGG[0:5] auszuwählen. - Anhand von
9 ist eine beispielhafte Version der C/E/P/C-Auswahlschaltung60 veranschaulicht. Die Schaltung60 enthält zwei Zwanzig-zu-eins-Multiplexer70 ,72 . Jeder Multiplexer70 ,72 wählt ein Signal von den Bussen EUI[0:4], EBI[0:4], JI[0:7] und GI[0:1] aus. Das durch den Multiplexer70 ausgewählte Signal wird zu dem Signal GX[0] und das durch den Multiplexer72 ausgewählte Signal wird zu dem Signal GX[1]. Der Bus GX[0:1] wird an die Eingänge von vier Elf-zu-eins-Multiplexern74 ,76 ,78 ,80 geliefert. Außerdem werden der Bus GG[0:7] und ein Massesignal an die Eingänge der vier Multiplexer74 ,76 ,78 ,80 geliefert. Das durch den Multiplexer74 ausgewählte Signal wird zu dem Taktsignal CLK, das durch den Multiplexer76 ausgewählte Signal wird zu dem Freigabesignal E, das durch den Multiplexer78 ausgewählte Signal wird zu dem Voreinstellungssignal PRSTN und das durch den Multiplexer80 ausgewählte Signal wird zu dem Löschsignal CLRN. Die Verwendung der vier Multiplexer74 ,76 ,78 ,80 ermöglicht, dass irgendwelche der Signale GX[0:1], GG[0:7] und die Masse als eines der Signale C/E/P/C ausgewählt werden. - Wie oben diskutiert wurde, ist der Bus GG[0:7] ein globaler Inter-Baustein-Bus, der an jede FG
40 in allen FPGA-Bausteinen gesendet wird. Die Signale in dem Bus GG[0:7] werden häufig als die Signale C/E/P/C ausgewählt. Außerdem ermöglicht die C/E/P/C-Auswahlschaltung60 vorteilhaft, dass die zwei Signale GX[0:1] als die Signale C/E/P/C ausgewählt werden. Außerdem können die zwei Signale in dem Bus GX[0:1] von irgendeinem der Busse EUI[0:4], EBI[0:4], JI[0:7] und GI[0:1] ausgewählt werden. Somit ermöglicht die C/E/P/C-Auswahlschaltung60 , dass zahlreiche verschiedene Signale als die Signale C/E/P/C ausgewählt werden, was eine sehr flexible Vorrichtung schafft. Es ist festzustellen, dass die veranschaulichte C/E/P/C-Auswahlschaltung60 aber nur eine beispielhafte Version einer solchen Auswahlschaltung ist, wobei in Übereinstimmung mit der vorliegenden Erfindung viele verschiedene Entwürfe der C/E/P/C-Auswahlschaltung60 verwendet werden können, um viele verschiedene Signale auszuwählen. - Anhand von
10 ist eine beispielhafte Version der LU50 veranschaulicht. Die LUs50 ,52 ,54 ,56 haben vorzugsweise alle denselben Entwurf, wobei aber festzustellen ist, dass dies in Übereinstimmung mit der vorliegenden Erfindung nicht notwendig ist. Die LU50 enthält zwei Nachschlagtabellen (LUT)82 ,84 . Jede LUT82 ,84 enthält drei Eingänge A, B, C, einen Ausgang Y und mehrere interne Speicherzellen (nicht gezeigt). Die LUTs82 ,84 werden durch Programmieren der internen Speicherzellen konfiguriert, wobei die spezifische Einstellung der internen Speicherzellen zusammengenommen eine spezifische Konfiguration für jede der LUTs82 ,84 schafft. Die zum Programmieren der internen Speicherzellen verwendeten Konfigurationsdaten werden durch Entwurfssoftware erzeugt. Wenn eine spezifische Konfiguration der internen Speicherzellen entschieden wird, können die Eingangssignale A, B, C verwendet werden, um in Übereinstimmung mit der gewünschten logischen Funktion das Ausgangssignal Y zu erzeugen. - Die Eingaben A, B, C der LUT
82 werden in dieser Reihenfolge durch die Zwanzig-zu-eins-Multiplexer86 ,88 ,90 geliefert und die Eingaben A, B, C der LUT84 werden in dieser Reihenfolge durch die Zwanzig-zu-eins-Multiplexer92 ,94 ,96 geliefert. Jeder der Multiplexer86 ,88 ,90 ,92 ,94 ,96 empfängt als Eingaben die vier Busse EUI[0:4], EBI[0:4], JI[0:7] und GI[0:1]. Somit werden für jede der LUTs82 ,84 aus jedem dieser zwanzig Signale drei Signale als die Eingaben A, B, C ausgewählt. - Wenn nur eine Drei-Eingangs-LUT benötigt wird, kann die LUT
82 selbst verwendet werden und wird die LUT84 nicht benötigt. Die Ausgabe Y der LUT82 kann direkt an den Ausgang JO der LUT50 gesendet werden oder die Ausgabe Y der LUT82 kann unter Verwendung des Zwei-zu-eins-Multiplexers104 an den Ausgang Y der LU50 gesendet werden, um den Ausgang Y der LUT82 auszuwählen. Außerdem kann die Ausgabe Y der LUT82 unter Verwendung des Zwei-zu-eins-Multiplexers98 , um den Ausgang Y der LUT82 auszuwählen, und unter Verwendung des Zwei-zu-eins-Multiplexers102 , um den Ausgang des Multiplexers98 auszuwählen, an den Ausgang JPO der LU50 gesendet werden. Somit können die Multiplexer98 ,102 ,104 verwendet werden, um die Ausgabe Y der LUT82 an irgendeinen der Ausgänge Y, JO, JPO der LU50 zu senden. - Ein Zweck der Aufnahme zweier LUTs
82 ,84 in die LU50 ist, dass sie zusammen verwendet werden können, um eine Vier-Eingangs-LUT bereitzustellen. Genauer sind der Ausgang Y der LUT82 und der Ausgang Y der LUT84 mit den Eingängen des Zwei-zu-eins-Multiplexers98 verbunden. Der Multiplexer98 wird durch den Zwanzig-zu-eins-Multiplexer100 gesteuert, der als seine Eingaben die vier Busse EUI[0:4], EBI[0:4], JI[0:7] und GI[0:1] empfängt. Die LUTs82 ,84 empfangen beide die erste, die zweite und die dritte Eingabe als ihre Eingaben A, B, C und der Multiplexer100 wird so programmiert, dass er die vierte Eingabe auswählt und sie an den Steuereingang des Multiplexers98 liefert. Gemäß den gut bekannten Techniken boolescher Logik und der Shannon-Erweiterung simuliert das Verbinden der Drei-Eingangs-LUTs82 ,84 auf diese Weise eine Drei-Eingangs-LUT, wobei das Ergebnis am Eingang des Multiplexers98 erzeugt wird. Die Ausgabe des Multiplexers98 kann mittels des Multi plexers102 an den Ausgang JPO der LU50 geliefert werden oder mittels der Multiplexer102 ,104 an den Ausgang Y der LU50 geliefert werden. - Außerdem ist in der LU
50 vorzugsweise ein Flipflop106 enthalten. Genauer ist der Eingang D des Flipflops106 mit dem Ausgang des Multiplexers98 verbunden und ist der Ausgang Q des Flipflops106 mit einem der Eingänge des Multiplexers102 verbunden. Der Takt-, der Freigabe-, der Setz- und der Rücksetz-Eingang des Flipflops106 sind mit den entsprechenden Signalen des C/E/P/C-Busses verbunden. Ein Zweck des Flipflops106 ist das Speichern der Ausgangsdaten des Multiplexers98 . Diese Daten können durch Auswählen des Ausgangs Q mit dem Multiplexer102 gespeichert und später an den Ausgang JPO der LU50 gesendet werden. Außerdem können die gespeicherten Daten durch Auswählen des JPO-Signals mit dem Multiplexer104 an den Ausgang Y der LU50 gesendet werden. Die Aufnahme des Flipflops106 in die LU50 trägt dahingehend, dass die Ausgangsdaten der LU50 gespeichert und zu einer späteren Zeit verwendet werden können, zur Flexibilität der Vorrichtung bei. - Ähnlich der FG
40 empfängt die IG42 über die sekundäre Routing-Struktur ebenfalls Signale LINT. Genauer ist der Bus PI[0:9] für in den FPGA-Baustein20 kommende Signale mit zehn Zwölf-zu-eins-Multiplexern110 gekoppelt, die die Signale auswählen, die den Bus CI[0:9] bilden. Falls die mit dem Bus CI[0:9] gekoppelte reguläre Routing-Struktur dagegen kein Signal an den gewünschten Ort in dem FPGA-Baustein20 routen kann, kann das Signal durch den Zwölf-zu-eins-Multiplexer112 als das Signal "bLINT" ausgewählt werden. Das Signal bLINT wird durch dieselbe sekundäre Routing-Struktur geroutet, die für das Routen der durch die FGs40 erzeugten Signale LINT verwendet wird. Somit kann das Signal bLINT entlang dieser sekundären Routing-Struktur zu irgendeiner der FGs40 und/oder IGs42 in dem FPGA-Baustein20 geroutet werden. Dies schafft eine Möglichkeit, irgendwelche der ankommenden Signale PI[0:9] selbst dann zu irgendeinem Ziel in dem FPGA-Baustein20 zu routen, wenn die reguläre Routing-Struktur, die den Bus CI[0:9] übermittelt, keinen Weg zu diesem Ziel bereitstellt. - Ähnlich der FG
40 enthält die IG42 ebenfalls Signale LINT und Busse LGG. Genauer ist der Bus PI[0:9] für in den FPGA-Baustein20 kommende Signale mit zehn Zwölf-zu-eins-Multiplexern110 gekoppelt, die die Signale auswählen, die den Bus CI[0:9] bilden. Falls mit dem Bus CI[0:9] gekoppelte reguläre Routing-Struktur dagegen keine Signal zu dem gewünschten Ort in dem FPGA-Baustein20 routen kann, kann das Signal durch den Zwölf-zu-eins-Multiplexer112 als das "bLINT"-Signal ausgewählt werden. Das Signal bLINT wird durch die gleiche sekundäre Routing-Struktur geroutet, die zum Routen der durch die FGs40 erzeugten Signale LINT verwendet wird. Somit kann das Signal bLINT entlang dieser sekundären Routing-Struktur zu irgendeiner der FGs40 und/oder IGs42 in dem FPGA-Baustein20 geroutet werden. Dies schafft eine Möglichkeit, irgendwelche der ankommenden Signale PI[0:9] selbst dann zu irgendeinem Ziel in dem FPGA-Baustein20 zu routen, wenn die reguläre Routing-Struktur, die den Bus CI[0:9] übermittelt, keinen Weg zu diesem Ziel bereitstellt. - Ähnlich ist der Bus CO[0:9] für Signale, die den FPGA-Baustein
20 verlassen, mit zehn Zwölf-zu-eins-Multiplexern114 gekoppelt, die die Signale auswählen, die den Bus PO[0:9] bilden. Falls dagegen die Routing-Struktur, die mit dem Bus PO[0:9] gekoppelt ist, kein Signal zu dem gewünschten Ort nach außerhalb von dem FPGA-Baustein20 (z. B. in einem benachbarten FPGA-Baustein) routen kann, kann das Signal durch den Zwölf-zu-eins-Multiplexer116 als das "tLINT"-Signal ausgewählt werden. Das Signal tLINT wird durch eine sekundäre Routing-Struktur geroutet, die zum Routen der Signale LINT in den benachbarten FPGA-Baustein verwendet wird, sodass das Signal tLINT zu irgendeiner der FGs und/oder IGs in dem benachbarten FPGA-Baustein geroutet werden kann. Dies schafft eine Möglichkeit, irgendeines der abgehenden Signale CO[0:9] selbst dann zu irgendeinem Ziel in dem benachbarten FPGA-Baustein zu routen, wenn die reguläre Routing-Struktur, die den Bus PO[0:9] übermittelt, keinen Weg zu diesem Ziel bereitstellt. - Wie oben erwähnt wurde, enthält die sekundäre Routing-Struktur in dem FPGA-Baustein
20 , die Signale LINT übermittelt, den Bus LGG[0:5]. Genauer werden mehrere Signale LINT, die um den FPGA-Baustein20 herum geroutet werden müssen, miteinander gruppiert, um den Bus LGG[0:5] zu bilden. Der Bus LGG[0:5] wird für jede FG40 und IG42 bereitgestellt, sodass die Signale LINT zu jeder Vorrichtung gesendet werden können. Die IGs42 empfangen den Bus LGG[0:5] von innerhalb des FPGA-Bausteins20 am Eingang bLGG[0:5]. Der Eingang bLGG[0:5] ist mit den Sechs-zu-eins-Multiplexern118 ,120 gekoppelt, deren Ausgänge mit den Multiplexern114 ,116 gekoppelt sind. Auf diese Weise kann irgendein innerhalb des FPGA-Bausteins20 erzeugtes Signal LINT durch Programmierung der geeigneten Multiplexer114 ,116 zur Auswahl der Ausgänge der geeigneten Multiplexer118 ,120 auf dem Bus PO[0:9] oder als das Signal tLINT nach außerhalb von dem FPGA-Baustein20 gesendet werden. - Ähnlich kann ein Bus LGG in einem benachbarten FPGA-Baustein mit dem Eingang tLGG[0:5] der IG
42 verbunden werden. Der Eingang tLGG[0:5] ist mit den Sechs-zu-eins-Multiplexern122 ,124 gekoppelt, deren Ausgänge mit den Multiplexern110 ,112 gekoppelt sind. Auf diese Weise kann irgendein nach außerhalb von dem FPGA-Baustein20 erzeugtes Signal LINT auf dem Bus CI[0:9] oder als das Signal bLINT durch Programmierung der geeigneten Multiplexer110 ,112 zur Auswahl der Ausgänge der geeigneten Multiplexer122 ,124 nach innerhalb von dem FPGA-Baustein20 gesendet werden. -
13 veranschaulicht die reguläre Routing-Struktur des FPGA-Bausteins20 , die zum Routen der [regulären] Signale über die Eingangs- und Ausgangsports44 der FGs40 verwendet wird. Wie oben diskutiert wurde, übermitteln die Eingangs- und Ausgangsports44 [der regulären Routing-Signale44 einschließlich der Signale] die Signale an die ersten Eingangsports EUI[0:4], EBI[0:4] und die Signale von den ersten Ausgangs-[Signal-]Ports Y(0:4]. Außerdem behandelt die reguläre Routing-Struktur des FPGA-Bausteins20 das Routing der Busse CO[0:9] und CI[0:9] zu und von den IGs42 . -
12 veranschaulicht außerdem ein weiteres wichtiges Merkmal der vorliegenden Erfindung. Genauer können in dem Szenarium, in dem eine Seite des FPGA-Bausteins20 für E/A-Zwecke mit einem Anschlussflächenring gekoppelt werden soll, die E/As101 ,103 ,105 ,107 ,109 direkt mit der IG42' gekoppelt sein. Darüber hinaus können die E/As101 ,103 ,105 ,107 ,109 direkt mit den Multiplexern126 ,128 gekoppelt sein. Mit anderen Worten, die E/As101 ,103 ,105 ,107 ,109 können direkt mit den Multiplexern126 ,128 gekoppelt sein, ohne zuerst mit einem Routing-Kanal verbunden zu sein. Die Verbindung mit einem Routing-Kanal wird nach der IG42' und den Multiplexern126 ,128 hergestellt. Somit sind in diesem Szenarium E/As direkt mit den Multiplexern126 ,128 gekoppelt und gehen daraufhin zu dem Routing-Kanal oder zu anderen Routing-Betriebsmitteln über. - Es ist festzustellen, dass die IGs zweier benachbarter FPGA-Bausteine in Übereinstimmung mit der vorliegenden Erfindung zu einer IG kombiniert werden können. Zum Beispiel sind bei der in
11 gezeigten IG42 die Busse PO[0:9], PI[0:9], tLGG[0:5] und das Signal tLINT üblicherweise nicht mit einer getrennten IG eines benachbarten Bausteins gekoppelt, sondern sind diese Signale eher mit den Routing-Strukturen des benachbarten FPGA-Bausteins gekoppelt, wobei die IG42 außerdem als die IG des Nachbarbausteins dient. - Irgendwelche der hier diskutierten Multiplexer (Auswahlschaltungen) wie etwa z. B. die Multiplexer
86 ,88 ,90 ,92 ,94 ,96 ,98 ,100 ,102 ,104 können beispielhaft irgendwelche der Auswahlschaltungen umfassen, die in der gleichzeitig anhängigenUS-Patentanmeldung Nr. 09/250.781 - Anhand von
13 ist ein ausführlicheres Diagramm veranschaulicht, das näherungsweise ein Viertel einer beispielhaften Version des FPGA-Bausteins20 zeigt. Der Abschnitt des FPGA-Bausteins20 , der veranschaulicht ist, ist in5 mit129 bezeichnet. Der Durchschnittsfachmann auf dem Gebiet wird würdigen, dass die verbleibenden Abschnitte des FPGA-Bausteins20 Spiegelbilder des veranschaulichten Abschnitts129 sind. -
13 veranschaulicht die reguläre Routing-Struktur des FPGA-Bausteins20 , der zum Routen der regulären Routing-Signale44 der FGs40 verwendet wird. Wie oben diskutiert wurde, enthalten die regulären Routing-Signale44 die Eingangssignale EUI[0:4], EBI[0:4] und die Ausgangssignale Y[0:4]. Die reguläre Routing-Struktur des FPGA-Bausteins20 behandelt außerdem das Routing der Busse CO[0:9] und CI[0:9] zu und von den IGs42 . - Die reguläre Routing-Struktur des FPGA-Bausteins
20 enthält mehrere horizontale reguläre Routing-Busse150 ,152 ,154 ,156 und mehrere vertikale Routing-Busse158 ,160 ,162 . Beispielhaft können die horizontalen Routing-Busse150 ,152 ,154 ,156 jeweils eine Anzahl X von Leitungen enthalten, kann der horizontale Routing-Bus164 eine Anzahl A von Leitungen enthalten, können die vertikalen Routing-Busse160 ,162 jeweils eine Anzahl Y von Leitungen enthalten und kann der vertikale Routing-Bus158 eine Anzahl B von Leitungen enthalten. Als weiteres Beispiel können die horizontalen Routing-Busse150 ,152 ,154 ,156 jeweils 50 Leitungen enthalten, kann der horizontale Routing-Bus164 70 Leitungen enthalten, können die vertikalen Routing-Busse160 ,162 jeweils 60 Leitungen enthalten und kann der vertikale Routing-Bus158 70 Leitungen enthalten. - Um Daten von einem Routing-Bus zu einem weiteren Routing-Bus oder zu einer FG
40 oder zu einer IG42 zu übertragen, sind in dem FPGA-Baustein20 mehrere Routing-Verdrahtungsbereiche130 ,132 ,134 ,136 ,138 ,140 ,142 ,144 ,146 ,148 enthalten. Die Routing-Verdrahtungsbereiche130 ,138 ,144 ,146 werden verwendet, um Daten von einem der vertikalen Routing-Busse zu einem der horizontalen Routing-Busse zu übertragen. Die weiteren Routing-Verdrahtungsbereiche132 ,134 ,134 ,140 ,142 ,148 werden verwendet, um Daten zu und von einer der IGs42 oder einer der FGs40 zu und von einem der vertikalen Routing-Busse oder einem der horizontalen Routing-Busse zu übertragen. Im Allgemeinen bilden die Routing-Busse und die Routing-Verdrahtungsbereiche die reguläre Routing-Struktur des FPGA-Bausteins20 . -
14 veranschaulicht eine beispielhafte Struktur für die Routing-Bereiche130 ,132 ,134 . In diesem Beispiel enthält der horizontale Routing-Bus152 50 Leitungen und enthält der vertikale Routing-Bus160 60 Leitungen. Allerdings ist festzustellen, dass die spezifische Anzahl der Leitungen in irgendeinem der Routing-Busse in Übereinstimmung mit der vorliegenden Erfindung selbstverständlich variieren kann. Darüber hinaus sollte gut verständlich sein, das die spezifische Anzahl der Leitungen in irgendeinem der Signalbusse wie etwa z. B. EUI[0:4], EBI[0:4], Y[0:4], LGG[0:5], GG[0:7], JI[0:7], GI[0:1], CO[0:9], CI[0:9], PO[0:9], PI[0:9] in Übereinstimmung mit der vorliegenden Erfindung variieren kann. - Jeder der Routing-Verdrahtungsbereiche
130 ,132 ,134 enthält mehrere Transistorschalter und entsprechende Speicherzellen, die dazu verwendet werden, die Verbindungen zwischen den verschiedenen Bussen herzustellen. Jeder Transistorschalter und jede Speicherzelle ist in der Figur als ein Kreis (oder als eine Blase) veranschaulicht, der/die bei dem Schnittpunkt der miteinander zu koppelnden Signalleitungen gezeichnet ist. Um dies zu veranschaulichen, zeigt15 eine Einzelheit der mit170 bezeichneten Kreise. Die Kreise172 ,174 ,176 ,178 ,180 enthalten in dieser Reihenfolge Transistorschalter M2, M4, M6, M8, M10. Die Source und der Drain jedes der Transistorschalter M2, M4, M6, M8, M10 sind mit den sich schneidenden Signalleitungen gekoppelt und ihr Gate ist mit einer entsprechenden Speicherzelle182 ,184 ,186 ,188 ,190 gekoppelt. Jede der Speicherzellen speichert ein Bit Konfigurationsdaten, um zu steuern, ob der entsprechende Transistorschalter ein- oder ausgeschaltet wird oder nicht. Wenn ein Transistorschalter eingeschaltet ist, sind die Leitungen, mit denen er verbunden ist, miteinander gekoppelt. - Wieder anhand von
14 werden der Betrieb der Routing-Busse und der der Routing-Verdrahtungsbereiche ausführlicher beschrieben. Es sind eine der FGs40 und ihre nahegelegenen Routing-Verdrahtungsbereiche130 ,132 ,134 veranschaulicht. Der Bus Y[0:4] der FG40 ist mit dem Routing-Verdrahtungsbereich134 gekoppelt und der Bus EBI[0:4] der FG40 ist mit dem Routing-Verdrahtungsbereich132 gekoppelt. In einem typischen Szenarium gibt die FG40 Daten auf den Bus Y[0:4] aus und wird der Routing-Verdrahtungsbereich134 zum Übertragen dieser Daten auf den Bus160 verwendet. Dies erfolgt dadurch, dass der Transistorschalter innerhalb des veranschaulichten Kreises (oder innerhalb der veranschaulichten Blase) bei dem richtigen Schnittpunkt von Signalleitungen eingeschaltet wird. Jeder Transistorschalter wird durch Programmieren seiner entsprechenden Speicherzelle eingeschaltet. Ähnlich wird der Routing-Verdrahtungsbereich132 verwendet, um Daten vom Bus152 auf den Bus EBI[0:4] der FG40 zu übertragen. Dies wird wieder dadurch ausgeführt, dass die Speicherzelle zum Einschalten des Transistorschalters bei dem richtigen Schnittpunkt programmiert wird. Der Routing-Verdrahtungsbereich130 wird wieder durch Programmieren der Speicherzelle zum Einschalten des Transistorschalters bei dem richtigen Schnittpunkt zum Übertragen von Daten vom Bus160 auf den Bus152 verwendet. - Wie veranschaulicht ist, enthalten die Routing-Verdrahtungsbereiche
130 ,132 ,134 bei vielen Schnittpunkten von Signalleitungen, jedoch nicht bei allen Schnittpunkten, Transistorschalter und Speicherzellen. (Die Transistorschalter und Speicherzellen sind wieder innerhalb der veranschaulichten Kreise oder Blasen). Wenn bei jedem Schnittpunkt der Signalleitungen ein Transistorschalter und eine Speicherzelle enthalten sind, ist dies als ein "vollständig besiedelter" Routing-Verdrahtungsabschnitt bekannt. In dem Routing-Verdrahtungsbereich132 ist bei192 ein vollständig bevölkerter Routing-Verdrahtungsabschnitt gezeigt. Es ist festzustellen, dass die spezifischen Schnittpunkte, die so gewählt worden sind, dass sie einen Transistorschalter und eine Speicherzelle haben, und welche Bereiche (wenn überhaupt) vollständig besiedelt sind, in Übereinstimmung mit der vorliegenden Erfindung weit variieren können. Mit anderen Wor ten, in Übereinstimmung mit der vorliegenden Erfindung können in den Routing-Verdrahtungsbereichen130 ,132 ,134 viele verschiedene Muster von Transistorschaltern in Speicherzellen verwendet werden. - Die weiteren Routing-Verdrahtungsbereiche
136 ,138 ,140 ,142 ,144 ,146 ,148 in dem FPGA-Baustein20 sind ähnlich den Routing-Verdrahtungsbereichen130 ,132 ,134 . Allerdings haben einige verschiedene Anzahlen von Signalleitungen und Schnittpunkten. Zum Beispiel können die Routing-Verdrahtungsbereiche136 ,144 in dem horizontalen Bus164 , teilweise infolgedessen, dass an den Bus CO[0:9] der IGs42 zehn Signale (anstelle von fünf) übertragen werden, eine größere Anzahl von Signalleitungen haben. Ähnlich haben die Routing-Verdrahtungsbereiche146 ,148 weniger Eingänge und/oder Ausgänge, da sie sich am Ende einer Zeile befinden. - Die Anzahl der verwendeten Transistorschalter und ihre Anordnung in dem FPGA-Baustein
20 können sich in Übereinstimmung mit der vorliegenden Erfindung ändern. Die spezifische Anordnung und Positionierung der IGs, FGs, Routing-Busse, Routing-Verdrahtungsbereiche und Schalttransistoren innerhalb des Routing-Verdrahtungsbereichs variieren je nach der bestimmten Anwendung stark. Es ist festzustellen, dass die hier in den Figuren veranschaulichten Konfigurationen Beispielkonfigurationen sind. - Die
16A und16B veranschaulichen die zweite Menge von Routing-Leitern des FPGA-Bausteins20 . Wie oben diskutiert wurde, ist die sekundäre Routing-Struktur von der regulären Routing-Struktur und von den zum Routen der Ausgangssignale Y[0:4] verwendeten Routing-Verdrahtungsbereichen getrennt. Die sekundäre Routing-Struktur wird für das Routing globaler Intra-Baustein-Signale über die Eingangs- und Ausgangsports46 verwendet, die den Eingangsport LGG[0:5] und den Aus gangsport LINT enthalten. Die LINT-Routing-Struktur ist eine sekundäre Routing-Struktur, die verwendet werden kann, um in Situationen ein Signal zu senden, wenn die reguläre Routing-Struktur nicht zum Senden eines Signals an ein gewünschtes Ziel verwendet werden kann. Dies kann auftreten, da ein Transistorschalter und eine Speicherzelle nicht bei dem benötigten Schnittpunkt der Signalleitungen in einem oder in mehreren der regulären Routing-Verdrahtungsbereiche130 ,132 ,134 ,136 ,138 ,140 ,142 ,144 ,146 ,148 angeordnet worden sein können. Falls die benötigten Verbindungen mit den regulären Routing-Verdrahtungsbereichen nicht hergestellt werden können, kann das Signal dadurch zu irgendeiner der FGs40 und/oder IGs42 gesendet werden, dass die benötigten der Ausgangssignale Y[0:4] wie oben beschrieben als das Signal LINT ausgewählt werden und es über die sekundäre Routing-Struktur gesendet wird. - Die über den LINT-Ausgangsport der sechs Vorrichtungen, die irgendeine der Kombination von FGs
40 und/oder IGs42 sein können, gesendeten Signale [LINT-Signale] werden zusammengesetzt, um den Bus LGG[0:5] zu bilden. Während der Bus LGG[0:5] als ein Sechs-Signal-Bus veranschaulicht ist, ist festzustellen, dass die Anzahl der Signale in dem LGG-Bus in Übereinstimmung mit der vorliegenden Erfindung selbstverständlich Variieren kann. Darüber besteht der LGG-Bus aus Signalen LINT von den FGs40 und aus Signalen bLINT von den IGs42 . Wie oben diskutiert wurde, gibt die Bezeichnung "b" an den Signalen bLINT der IGs42 an, dass diese Signale im Gegensatz zu den externen Signalen tLINT intern zu dem FPGA-Baustein20 sind. Somit soll die Verwendung des Begriffs "LINT" bei der Diskussion der Bildung des Busses LGG[0:5] allgemein sowohl das durch die FGs40 erzeugte Signal LINT als auch das durch die IGs42 erzeugte Signal bLINT umfassen. - Der Bus LGG[0:5] ist wie folgt zusammengesetzt. Die bLINT-Ausgänge der ersten Spalte der IGs
42 sind mit einem Acht-Signal-Bus200 gekoppelt. Mit dem Bus200 sind sechs Acht-zu-eins-Multiplexer202 gekoppelt. Der Ausgang jedes der Multiplexer202 ist mit einem entsprechenden Dreizustandspuffer204 gekoppelt. Die Ausgänge der Dreizustandspuffer204 sind mit dem Bus LGG[0:5] gekoppelt. In der zweiten Spalte der FGs40 und der zwei IGs42 sind die Ausgabe LINT jeder FG40 und die Ausgabe bLINT jeder der IG42 mit einem Zehn-Signal-Bus206 gekoppelt. Mit dem Bus206 sind sechs Zehn-zu-eins-Multiplexer208 gekoppelt. Der Ausgang jedes der Multiplexer208 ist mit einem entsprechenden Dreizustandspuffer204 gekoppelt, der wiederum mit dem Bus LGG[0:5] gekoppelt ist. - Auf ähnliche Weise sind die bLINT-Ausgänge der letzten Spalte der IGs
42 mit einem Acht-Signal-Bus210 gekoppelt. Sechs Acht-zu-eins-Multiplexer202 und Dreizustandspuffer204 koppeln den Bus210 mit dem Bus LGG[0:5]. In der zweiten bis letzten Spalte der FGs40 und der zwei IGs42 sind der Ausgang LINT jeder der FG40 und der Ausgang bLINT jeder IG42 mit einem Zehn-Signal-Bus212 gekoppelt, der wiederum über sechs Zehn-zu-eins-Multiplexer208 und Dreizustandspuffer204 mit dem Bus LGG[0:5] gekoppelt ist. Es ist festzustellen, dass der Rest der FGs40 und IGs42 in dem FPGA-Baustein20 , die in den16A und16B nicht gezeigt sind, auf ähnliche Weise mit dem Bus LGG[0:5] verbunden ist. - Während des Betriebs wählt jeder der Multiplexer
202 ,208 ein Signal LINT von seinem Eingangsbus, d. h. den jeweils einen der Busse200 ,206 ,210 ,212 , aus. Bis zu sechs dieser ausgewählten Signale LINT können auf dem Bus LGG[0:5] angeordnet werden. Dies erfolgt dadurch, dass sechs der Dreizustandspuffer204 in einen leitenden Zustand versetzt werden und die verbleibenden Dreizustandspuffer in einen nicht leitenden Zustand versetzt werden. Die sechs Dreizustandspuffer204 , die in einen lei tenden Zustand versetzt werden, sollten den Multiplexern202 ,208 entsprechen, die die gewünschten Signale LINT ausgewählt haben. - Der Bus LGG[0:5] wird zu allen der FGs
40 und IGs42 in dem FPGA-Baustein20 geroutet. Auf diese Weise kann ein Signal LINT von irgendeiner der FGs40 und IGs42 unabhängig von der für den Bus Y[0:4] verwendeten regulären Routing-Struktur an irgendeine der FGs40 und IGs42 gesendet werden. - Die
16A und16B zeigen außerdem das Routing des Busses GG[0:7]. Wie oben diskutiert wurde, bildet der Bus GG[0:7] die globalen Inter-Baustein-Signale48 . Diese Signale werden an jede FG40 in allen FPGA-Bausteinen gesendet. Wie bei214 angegeben ist, verläuft der Bus GG[0:7] somit über die Grenze des FPGA-Bausteins20 hinaus, sodass er zu anderen FPGA-Bausteinen gehen kann. Der Bus GG[0:7] verläuft über die Grenze des FPGA-Bausteins20 hinaus, ohne über eine IG42 zu gehen. Wie oben diskutiert wurde, können Ausgewählte der Eingangssignale GG[0:7] verwendet werden, um die Takt/Freigabe/Voreinstellung/Löschen-Eingänge (C/E/P/C-Eingänge) der in jeder FG40 enthaltenen Flipflops zu steuern. Es ist festzustellen, dass der Bus GG[0:7] in Übereinstimmung mit der vorliegenden Erfindung mehr oder weniger Signale enthalten kann. - Anhand von
17 ist die globale Signal-Routing-Struktur36 ausführlicher veranschaulicht. Wie oben erwähnt wurde, wird die globale Signal-Routing-Struktur36 zum Routen globaler Inter-Baustein-Signale zwischen den FPGA-Bausteinen20 verwendet. Zum Beispiel ist der GG[0:7] in der globalen Routing-Struktur36 enthalten und in der Weise gezeigt, dass er alle vier FPGA-Bausteinen20 verbindet. Der Bus GG[0:7] kann mit den Eingängen220 ,222 gekoppelt sein, um Signale zu senden, die an den Bus GG[0:7] gesendet werden sollen. Ausgewählte der Eingänge220 ,222 können mittels Transistorschaltern und Speicherzellen (wie etwa oben beschrieben worden ist) mit dem Bus GG[0:7] gekoppelt sein, wobei Beispiele davon durch die Kreise224 ,226 angegeben sind. - Wie gezeigt ist, enthält die globale Signal-Routing-Struktur
36 außerdem einen Bus230 zum Verbinden mit dem Anschlussflächenring. - Wenn zwei FPGA-Bausteine
20 miteinander gekoppelt sind, sind die IG-Ausgänge eines Bausteins üblicherweise direkt mit den IG-Eingängen des anderen Bausteins gekoppelt. Außerdem können die IGs der zwei Bausteine, wie oben diskutiert wurde, als eine IG kombiniert sein.18 veranschaulicht eine weitere Option, um zwei FPGA-Bausteine20 miteinander zu koppeln. Genauer kann eine Zwischen-Routing-Bahn240 verwendet werden. Der Ausgangsbus PO[0:9] der IG42 eines Bausteins20 ist mit der Bahn240 gekoppelt und der Eingangsbus PI[0:9] der IG42 des anderen Bausteins20 ist an einem anderen Ort mit der Bahn240 gekoppelt. Die Verbindungen mit der Bahn240 , z. B. bei den Punkten242 ,244 ,246 , können wie oben beschrieben mittels fest verdrahteter Verbindungen oder mittels Transistorschaltern und Speicherzellen sein. Die Letzteren wären natürlich programmierbar. Es ist festzustellen, dass die Verwendung der Zwischen-Routing-Bahn240 optional ist. - Selbstverständlich können bei der Verwirklichung der Erfindung verschiedene Alternativen zu den hier beschriebenen Ausführungsformen der Erfindung genutzt werden. Die folgenden Ansprüche sollen den Umfang der Erfindung definieren, wobei die Strukturen und Verfahren im Umfang dieser Ansprüche auf diese Weise enthalten sein sollen.
Claims (10)
- Vorrichtung mit einem feldprogrammierbaren Gate-Array (FPGA), wobei das FPGA umfasst: einen ersten FPGA-Baustein, der aufweist: eine Vielzahl von Funktionsgruppen, die in Zeilen und Spalten angeordnet sind, wobei jede der Funktionsgruppen konfiguriert ist, um reguläre Eingangssignale zu empfangen, eine logische Operation durchzuführen und reguläre Ausgangssignale zu erzeugen; eine reguläre Routing-Struktur, die mit den Funktionsgruppen gekoppelt und konfiguriert ist, um die regulären Ausgangssignale zu empfangen, Signale innerhalb des ersten FPGA-Bausteins zu routen und die regulären Ausgangssignale an die Funktionsgruppen zu liefern; und eine Vielzahl von Schnittstellengruppen, die die Vielzahl von Funktionsgruppen umgeben, sodass eine Schnittstellengruppe an jedem Ende jeder Zeile und Spalte angeordnet ist, wobei eine jede der Schnittstellengruppen mit der regulären Routing-Struktur gekoppelt und konfiguriert ist, um Signale von der regulären Routing-Struktur nach außerhalb von dem ersten FPGA-Baustein zu übertragen, und jede der Schnittstellengruppen eine Vielzahl von Eingangsmultiplexern umfasst, die konfiguriert sind, um Signale, die von außerhalb des FPGA-Bausteins empfangen werden, auszuwählen und die ausgewählten Signale an die reguläre Routing-Struktur innerhalb des FPGA-Bausteins zu liefern, dadurch gekennzeichnet, dass die Vorrichtung darüber hinaus eine Vielzahl von Eingangs/Ausgangs-Anschlussflächen umfasst und ein jeder der Eingangs multiplexer direkt mit zumindest einer der Eingangs/Ausgangs-Anschlussflächen gekoppelt ist.
- Vorrichtung nach Anspruch 1, wobei eine jede der Schnittstellengruppen darüber hinaus umfasst: eine Vielzahl von Ausgangsmultiplexern, die konfiguriert sind, um Signale, die von der regulären Routing-Struktur empfangen werden, auszuwählen und die ausgewählten Signale nach außerhalb von dem FPGA-Baustein zu liefern.
- Vorrichtung nach Anspruch 1, wobei das FPGA darüber hinaus umfasst: einen zweiten FPGA-Baustein, der eine Vielzahl von Funktionsgruppen, eine reguläre Routing-Struktur und eine Vielzahl von Schnittstellengruppen umfasst, die auf im Wesentlichen ähnliche Weise wie bei dem ersten FPGA-Baustein angeordnet sind, wobei zumindest eine Schnittstellengruppe des ersten FPGA-Bausteins mit zumindest einer Schnittstellengruppe des zweiten FPGA-Bausteins gekoppelt ist.
- Vorrichtung nach Anspruch 3, wobei das FPGA darüber hinaus umfasst: einen dritten FPGA-Baustein, der eine Vielzahl von Funktionsgruppen, eine reguläre Routing-Struktur und eine Vielzahl von Schnittstellengruppen umfasst, die auf im Wesentlichen ähnliche Weise wie bei dem ersten FPGA-Baustein angeordnet sind, wobei zumindest eine Schnittstellengruppe des ersten FPGA-Bausteins mit zumindest einer Schnittstellengruppe des dritten FPGA-Bausteins gekoppelt ist.
- Vorrichtung nach Anspruch 1, wobei die Vorrichtung darüber hinaus ein System-on-a-Chip umfasst.
- Vorrichtung nach Anspruch 1, wobei jede der Funktionsgruppen darüber hinaus umfasst: einen Multiplexer, der konfiguriert ist, um eines der regulären Ausgangssignale als ein sekundäres Funktionsgruppen-Routing-Signal auszuwählen.
- Vorrichtung nach Anspruch 6, wobei der erste FPGA-Baustein darüber hinaus umfasst: eine sekundäre Routing-Struktur, die unabhängig von der regulären Routing-Struktur ist und die konfiguriert ist, um das sekundäre Funktionsgruppen-Routing-Signal um den ersten FPGA-Baustein herum zu routen.
- Vorrichtung nach Anspruch 7, wobei jede der Schnittstellengruppen darüber hinaus umfasst: einen Multiplexer, der konfiguriert ist, um ein Signal, das von außerhalb des FPGA-Bausteins empfangen wird, als ein sekundäres Schnittstellengruppen-Routing-Signal auszuwählen, wobei die sekundäre Routing-Struktur konfiguriert ist, um das sekundäre Schnittstellengruppen-Routing-Signal auszuwählen und um den ersten FPGA-Baustein herum zu routen.
- Vorrichtung nach Anspruch 7, wobei die sekundäre Routing-Struktur darüber hinaus umfasst: einen sekundären Routing-Bus, der mit einem sekundären Routing-Eingang jeder Funktionsgruppe gekoppelt ist.
- Vorrichtung nach Anspruch 9, wobei die sekundäre Routing-Struktur darüber hinaus umfasst: eine Vielzahl von ersten Bussen, wobei ein unterschiedlicher erster Bus jeder Zeile von Funktionsgruppen entspricht, und dieser gekoppelt ist, um das sekundäre Funktionsgruppen-Routing-Signal von jeder Funktionsgruppe zu empfangen; eine Vielzahl von sekundären Multiplexern, wobei zumindest ein sekundärer Multiplexer mit jedem ersten Bus gekoppelt ist, um von dort ein Signal auszuwählen; und eine Vielzahl von Puffern, wobei ein unterschiedlicher Puffer mit jedem sekundären Multiplexer gekoppelt ist und einen Ausgang aufweist, der mit dem sekundären Routing-Bus gekoppelt ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/654,240 US6476636B1 (en) | 2000-09-02 | 2000-09-02 | Tileable field-programmable gate array architecture |
US654240 | 2000-09-02 | ||
PCT/US2001/027172 WO2002021694A2 (en) | 2000-09-02 | 2001-08-31 | Tileable field-programmable gate array architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60128960D1 DE60128960D1 (de) | 2007-07-26 |
DE60128960T2 true DE60128960T2 (de) | 2008-02-14 |
Family
ID=24624042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60128960T Expired - Lifetime DE60128960T2 (de) | 2000-09-02 | 2001-08-31 | Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld |
Country Status (6)
Country | Link |
---|---|
US (11) | US6476636B1 (de) |
EP (1) | EP1354404B1 (de) |
JP (1) | JP2004524715A (de) |
AU (1) | AU2001286979A1 (de) |
DE (1) | DE60128960T2 (de) |
WO (1) | WO2002021694A2 (de) |
Families Citing this family (381)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6756811B2 (en) * | 2000-03-10 | 2004-06-29 | Easic Corporation | Customizable and programmable cell array |
US7725860B1 (en) * | 2000-06-19 | 2010-05-25 | Herman Kwong | Contact mapping using channel routing |
US7015719B1 (en) * | 2000-09-02 | 2006-03-21 | Actel Corporation | Tileable field-programmable gate array architecture |
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6937063B1 (en) | 2000-09-02 | 2005-08-30 | Actel Corporation | Method and apparatus of memory clearing with monitoring RAM memory cells in a field programmable gated array |
US6870396B2 (en) * | 2000-09-02 | 2005-03-22 | Actel Corporation | Tileable field-programmable gate array architecture |
GB2374561B (en) * | 2001-02-28 | 2003-03-12 | Sherwood Technology Ltd | Laser coding |
US6605962B2 (en) * | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
JP3580785B2 (ja) * | 2001-06-29 | 2004-10-27 | 株式会社半導体理工学研究センター | ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法 |
US7253660B1 (en) * | 2001-11-28 | 2007-08-07 | Altera Corporation | Multiplexing device including a hardwired multiplexer in a programmable logic device |
US7602740B2 (en) * | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
US6941538B2 (en) * | 2002-02-22 | 2005-09-06 | Xilinx, Inc. | Method and system for integrating cores in FPGA-based system-on-chip (SoC) |
US7142011B1 (en) | 2002-04-24 | 2006-11-28 | Altera Corporation | Programmable logic device with routing channels |
US6781408B1 (en) | 2002-04-24 | 2004-08-24 | Altera Corporation | Programmable logic device with routing channels |
US6992925B2 (en) * | 2002-04-26 | 2006-01-31 | Kilopass Technologies, Inc. | High density semiconductor memory cell and memory array using a single transistor and having counter-doped poly and buried diffusion wordline |
PT1509256E (pt) * | 2002-05-24 | 2009-10-15 | Angiotech Int Ag | Composições e métodos de revestimento de implantes médicos |
US6735754B2 (en) * | 2002-06-06 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus to facilitate global routing for an integrated circuit layout |
US7112994B2 (en) | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
US6992503B2 (en) | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US7093225B2 (en) * | 2002-07-17 | 2006-08-15 | Osann Robert Jr | FPGA with hybrid interconnect |
US7679398B2 (en) * | 2002-07-17 | 2010-03-16 | Osann Jr Robert | Reprogrammable instruction DSP |
US7340585B1 (en) * | 2002-08-27 | 2008-03-04 | Xilinx, Inc. | Method and system for fast linked processor in a system on a chip (SoC) |
US7092865B1 (en) * | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
JP3785388B2 (ja) * | 2002-09-17 | 2006-06-14 | 松下電器産業株式会社 | 故障検出方法 |
US7042772B2 (en) * | 2002-09-26 | 2006-05-09 | Kilopass Technology, Inc. | Methods and circuits for programming of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric |
US7031209B2 (en) * | 2002-09-26 | 2006-04-18 | Kilopass Technology, Inc. | Methods and circuits for testing programmability of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric |
US6750674B1 (en) | 2002-10-02 | 2004-06-15 | Actel Corporation | Carry chain for use between logic modules in a field programmable gate array |
US8643162B2 (en) | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
US6774672B1 (en) | 2002-12-30 | 2004-08-10 | Actel Corporation | Field-programmable gate array architecture |
US6774669B1 (en) * | 2002-12-30 | 2004-08-10 | Actel Corporation | Field programmable gate array freeway architecture |
US6800884B1 (en) * | 2002-12-30 | 2004-10-05 | Actel Corporation | Inter-tile buffer system for a field programmable gate array |
US6774670B1 (en) | 2002-12-30 | 2004-08-10 | Actel Corporation | Intra-tile buffer system for a field programmable gate array |
US6798240B1 (en) * | 2003-01-24 | 2004-09-28 | Altera Corporation | Logic circuitry with shared lookup table |
US7330808B1 (en) * | 2003-07-24 | 2008-02-12 | Xilinx, Inc. | Dummy block replacement for logic simulation |
US7170315B2 (en) | 2003-07-31 | 2007-01-30 | Actel Corporation | Programmable system on a chip |
US7693703B2 (en) * | 2003-08-01 | 2010-04-06 | Mentor Graphics Corporation | Configuration of reconfigurable interconnect portions |
US6924664B2 (en) * | 2003-08-15 | 2005-08-02 | Kilopass Technologies, Inc. | Field programmable gate array |
US7030651B2 (en) * | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
US7622947B1 (en) * | 2003-12-18 | 2009-11-24 | Nvidia Corporation | Redundant circuit presents connections on specified I/O ports |
CN1894692A (zh) * | 2003-12-18 | 2007-01-10 | 皇家飞利浦电子股份有限公司 | 基于模板的领域特定的可重构逻辑 |
US7437635B1 (en) * | 2003-12-30 | 2008-10-14 | Altera Corporation | Testing hard-wired IP interface signals using a soft scan chain |
US6972986B2 (en) * | 2004-02-03 | 2005-12-06 | Kilopass Technologies, Inc. | Combination field programmable gate array allowing dynamic reprogrammability and non-votatile programmability based upon transistor gate oxide breakdown |
US7064973B2 (en) * | 2004-02-03 | 2006-06-20 | Klp International, Ltd. | Combination field programmable gate array allowing dynamic reprogrammability |
US7284222B1 (en) | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
US7167022B1 (en) | 2004-03-25 | 2007-01-23 | Altera Corporation | Omnibus logic element including look up table based logic elements |
US20050218929A1 (en) * | 2004-04-02 | 2005-10-06 | Man Wang | Field programmable gate array logic cell and its derivatives |
US7402855B2 (en) | 2004-05-06 | 2008-07-22 | Sidense Corp. | Split-channel antifuse array architecture |
US9123572B2 (en) | 2004-05-06 | 2015-09-01 | Sidense Corporation | Anti-fuse memory cell |
US7755162B2 (en) | 2004-05-06 | 2010-07-13 | Sidense Corp. | Anti-fuse memory cell |
US8735297B2 (en) | 2004-05-06 | 2014-05-27 | Sidense Corporation | Reverse optical proximity correction method |
US7707472B1 (en) * | 2004-05-17 | 2010-04-27 | Altera Corporation | Method and apparatus for routing efficient built-in self test for on-chip circuit blocks |
US7164290B2 (en) * | 2004-06-10 | 2007-01-16 | Klp International, Ltd. | Field programmable gate array logic unit and its cluster |
US20050275427A1 (en) * | 2004-06-10 | 2005-12-15 | Man Wang | Field programmable gate array logic unit and its cluster |
US7282950B1 (en) | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
US7312630B2 (en) * | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
US7135886B2 (en) * | 2004-09-20 | 2006-11-14 | Klp International, Ltd. | Field programmable gate arrays using both volatile and nonvolatile memory cell properties and their control |
US7676661B1 (en) | 2004-10-05 | 2010-03-09 | Xilinx, Inc. | Method and system for function acceleration using custom instructions |
US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
US7276933B1 (en) * | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
US7917559B2 (en) * | 2004-11-08 | 2011-03-29 | Tabula, Inc. | Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations |
US7664891B2 (en) * | 2004-12-06 | 2010-02-16 | Stmicroelectronics Inc. | Modular data transfer architecture |
US7779318B2 (en) * | 2004-12-27 | 2010-08-17 | Danish Hasan Syed | Self test structure for interconnect and logic element testing in programmable devices |
US20060190852A1 (en) * | 2005-01-12 | 2006-08-24 | Sotiriou Christos P | Asynchronous, multi-rail, asymmetric-phase, static digital logic with completion detection and method for designing the same |
JP2006252267A (ja) * | 2005-03-11 | 2006-09-21 | Oki Electric Ind Co Ltd | システム検証用回路 |
US7530033B2 (en) | 2005-03-15 | 2009-05-05 | Tabula, Inc. | Method and apparatus for decomposing functions in a configurable IC |
US7825684B2 (en) | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7310003B2 (en) * | 2005-03-15 | 2007-12-18 | Tabula, Inc. | Configurable IC with interconnect circuits that have select lines driven by user signals |
US7298169B2 (en) * | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US7193436B2 (en) * | 2005-04-18 | 2007-03-20 | Klp International Ltd. | Fast processing path using field programmable gate array logic units |
US7548085B2 (en) | 2005-07-15 | 2009-06-16 | Tabula, Inc. | Random access of user design states in a configurable IC |
US7409610B1 (en) * | 2005-07-20 | 2008-08-05 | Xilinx, Inc. | Total configuration memory cell validation built in self test (BIST) circuit |
US7430697B1 (en) * | 2005-07-21 | 2008-09-30 | Xilinx, Inc. | Method of testing circuit blocks of a programmable logic device |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
US7765249B1 (en) | 2005-11-07 | 2010-07-27 | Tabula, Inc. | Use of hybrid interconnect/logic circuits for multiplication |
US7818361B1 (en) | 2005-11-07 | 2010-10-19 | Tabula, Inc. | Method and apparatus for performing two's complement multiplication |
US7568136B2 (en) * | 2005-11-08 | 2009-07-28 | M2000 Sa. | Reconfigurable system and method with corruption detection and recovery |
US7885103B2 (en) | 2005-11-22 | 2011-02-08 | Agate Logic, Inc. | Non-volatile electromechanical configuration bit array |
US8063455B2 (en) * | 2005-11-22 | 2011-11-22 | Agate Logic, Inc. | Multi-terminal electromechanical nanocsopic switching device with control and release electrodes |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US7405462B2 (en) * | 2006-01-31 | 2008-07-29 | Hewlett-Packard Development Company, L.P. | FPGA architecture at conventional and submicron scales |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US7797497B1 (en) | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
US7694083B1 (en) | 2006-03-08 | 2010-04-06 | Tabula, Inc. | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture |
US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7774579B1 (en) * | 2006-04-14 | 2010-08-10 | Tilera Corporation | Protection in a parallel processing environment using access information associated with each switch to prevent data from being forwarded outside a plurality of tiles |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US7930336B2 (en) * | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
US7814137B1 (en) | 2007-01-09 | 2010-10-12 | Altera Corporation | Combined interpolation and decimation filter for programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US7514957B2 (en) | 2007-03-20 | 2009-04-07 | Tabula, Inc | Configurable IC having a routing fabric with storage elements |
US7698677B2 (en) * | 2007-03-31 | 2010-04-13 | Freescale Semiconductor, Inc. | On-chip decoupling capacitance and power/ground network wire co-optimization to reduce dynamic noise |
US7757198B1 (en) | 2007-04-10 | 2010-07-13 | Lattice Semiconductor Corporation | Scan chain systems and methods for programmable logic devices |
US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
US20090045836A1 (en) * | 2007-08-15 | 2009-02-19 | Herzl Robert D | Asic logic library of flexible logic blocks and method to enable engineering change |
US20090045839A1 (en) * | 2007-08-15 | 2009-02-19 | International Business Machines Corporation | Asic logic library of flexible logic blocks and method to enable engineering change |
US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
WO2009039462A1 (en) * | 2007-09-19 | 2009-03-26 | Tabula, Inc. | Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic |
US7788623B1 (en) * | 2007-11-29 | 2010-08-31 | Lattice Semiconductor Corporation | Composite wire indexing for programmable logic devices |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
JP5086929B2 (ja) * | 2008-07-25 | 2012-11-28 | 株式会社東芝 | 不揮発性半導体記憶装置 |
WO2010016857A1 (en) | 2008-08-04 | 2010-02-11 | Tabula, Inc. | Trigger circuits and event counters for an ic |
WO2010033263A1 (en) | 2008-09-17 | 2010-03-25 | Tabula, Inc. | Controllable storage elements for an ic |
US7911229B2 (en) * | 2008-09-26 | 2011-03-22 | Siliconblue Technologies Corporation | Programmable signal routing systems having low static leakage |
US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US20100138575A1 (en) | 2008-12-01 | 2010-06-03 | Micron Technology, Inc. | Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices |
US20100174887A1 (en) | 2009-01-07 | 2010-07-08 | Micron Technology Inc. | Buses for Pattern-Recognition Processors |
US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8805916B2 (en) | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US9711407B2 (en) | 2009-04-14 | 2017-07-18 | Monolithic 3D Inc. | Method of manufacturing a three dimensional integrated circuit by transfer of a mono-crystalline layer |
US8362800B2 (en) | 2010-10-13 | 2013-01-29 | Monolithic 3D Inc. | 3D semiconductor device including field repairable logics |
US7986042B2 (en) | 2009-04-14 | 2011-07-26 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US8378715B2 (en) | 2009-04-14 | 2013-02-19 | Monolithic 3D Inc. | Method to construct systems |
US8669778B1 (en) | 2009-04-14 | 2014-03-11 | Monolithic 3D Inc. | Method for design and manufacturing of a 3D semiconductor device |
US8258810B2 (en) | 2010-09-30 | 2012-09-04 | Monolithic 3D Inc. | 3D semiconductor device |
US9509313B2 (en) | 2009-04-14 | 2016-11-29 | Monolithic 3D Inc. | 3D semiconductor device |
US8362482B2 (en) | 2009-04-14 | 2013-01-29 | Monolithic 3D Inc. | Semiconductor device and structure |
US8395191B2 (en) | 2009-10-12 | 2013-03-12 | Monolithic 3D Inc. | Semiconductor device and structure |
US8427200B2 (en) | 2009-04-14 | 2013-04-23 | Monolithic 3D Inc. | 3D semiconductor device |
US8384426B2 (en) | 2009-04-14 | 2013-02-26 | Monolithic 3D Inc. | Semiconductor device and structure |
US8373439B2 (en) | 2009-04-14 | 2013-02-12 | Monolithic 3D Inc. | 3D semiconductor device |
US8058137B1 (en) | 2009-04-14 | 2011-11-15 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US8754533B2 (en) | 2009-04-14 | 2014-06-17 | Monolithic 3D Inc. | Monolithic three-dimensional semiconductor device and structure |
US9577642B2 (en) | 2009-04-14 | 2017-02-21 | Monolithic 3D Inc. | Method to form a 3D semiconductor device |
US8405420B2 (en) | 2009-04-14 | 2013-03-26 | Monolithic 3D Inc. | System comprising a semiconductor device and structure |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US9099424B1 (en) | 2012-08-10 | 2015-08-04 | Monolithic 3D Inc. | Semiconductor system, device and structure with heat removal |
US10354995B2 (en) | 2009-10-12 | 2019-07-16 | Monolithic 3D Inc. | Semiconductor memory device and structure |
US11018133B2 (en) | 2009-10-12 | 2021-05-25 | Monolithic 3D Inc. | 3D integrated circuit |
US8581349B1 (en) | 2011-05-02 | 2013-11-12 | Monolithic 3D Inc. | 3D memory semiconductor device and structure |
US11374118B2 (en) | 2009-10-12 | 2022-06-28 | Monolithic 3D Inc. | Method to form a 3D integrated circuit |
US8450804B2 (en) | 2011-03-06 | 2013-05-28 | Monolithic 3D Inc. | Semiconductor device and structure for heat removal |
US10910364B2 (en) | 2009-10-12 | 2021-02-02 | Monolitaic 3D Inc. | 3D semiconductor device |
US10157909B2 (en) | 2009-10-12 | 2018-12-18 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US8294159B2 (en) | 2009-10-12 | 2012-10-23 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US10043781B2 (en) | 2009-10-12 | 2018-08-07 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US8742476B1 (en) | 2012-11-27 | 2014-06-03 | Monolithic 3D Inc. | Semiconductor device and structure |
US8476145B2 (en) | 2010-10-13 | 2013-07-02 | Monolithic 3D Inc. | Method of fabricating a semiconductor device and structure |
US10388863B2 (en) | 2009-10-12 | 2019-08-20 | Monolithic 3D Inc. | 3D memory device and structure |
US8536023B2 (en) | 2010-11-22 | 2013-09-17 | Monolithic 3D Inc. | Method of manufacturing a semiconductor device and structure |
US10366970B2 (en) | 2009-10-12 | 2019-07-30 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US9323994B2 (en) | 2009-12-15 | 2016-04-26 | Micron Technology, Inc. | Multi-level hierarchical routing matrices for pattern-recognition processors |
US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US8298875B1 (en) | 2011-03-06 | 2012-10-30 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US8541819B1 (en) | 2010-12-09 | 2013-09-24 | Monolithic 3D Inc. | Semiconductor device and structure |
US8026521B1 (en) | 2010-10-11 | 2011-09-27 | Monolithic 3D Inc. | Semiconductor device and structure |
US8492886B2 (en) | 2010-02-16 | 2013-07-23 | Monolithic 3D Inc | 3D integrated circuit with logic |
US8461035B1 (en) | 2010-09-30 | 2013-06-11 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US8373230B1 (en) | 2010-10-13 | 2013-02-12 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US9099526B2 (en) | 2010-02-16 | 2015-08-04 | Monolithic 3D Inc. | Integrated circuit device and structure |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US9219005B2 (en) | 2011-06-28 | 2015-12-22 | Monolithic 3D Inc. | Semiconductor system and device |
US8901613B2 (en) | 2011-03-06 | 2014-12-02 | Monolithic 3D Inc. | Semiconductor device and structure for heat removal |
US8642416B2 (en) | 2010-07-30 | 2014-02-04 | Monolithic 3D Inc. | Method of forming three dimensional integrated circuit devices using layer transfer technique |
US10217667B2 (en) | 2011-06-28 | 2019-02-26 | Monolithic 3D Inc. | 3D semiconductor device, fabrication method and system |
US9953925B2 (en) | 2011-06-28 | 2018-04-24 | Monolithic 3D Inc. | Semiconductor system and device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US11482440B2 (en) | 2010-12-16 | 2022-10-25 | Monolithic 3D Inc. | 3D semiconductor device and structure with a built-in test circuit for repairing faulty circuits |
US8163581B1 (en) | 2010-10-13 | 2012-04-24 | Monolith IC 3D | Semiconductor and optoelectronic devices |
US10497713B2 (en) | 2010-11-18 | 2019-12-03 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US8273610B2 (en) | 2010-11-18 | 2012-09-25 | Monolithic 3D Inc. | Method of constructing a semiconductor device and structure |
US11018191B1 (en) | 2010-10-11 | 2021-05-25 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11024673B1 (en) | 2010-10-11 | 2021-06-01 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10290682B2 (en) | 2010-10-11 | 2019-05-14 | Monolithic 3D Inc. | 3D IC semiconductor device and structure with stacked memory |
US10896931B1 (en) | 2010-10-11 | 2021-01-19 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11315980B1 (en) | 2010-10-11 | 2022-04-26 | Monolithic 3D Inc. | 3D semiconductor device and structure with transistors |
US11600667B1 (en) | 2010-10-11 | 2023-03-07 | Monolithic 3D Inc. | Method to produce 3D semiconductor devices and structures with memory |
US11469271B2 (en) | 2010-10-11 | 2022-10-11 | Monolithic 3D Inc. | Method to produce 3D semiconductor devices and structures with memory |
US11227897B2 (en) | 2010-10-11 | 2022-01-18 | Monolithic 3D Inc. | Method for producing a 3D semiconductor memory device and structure |
US11158674B2 (en) | 2010-10-11 | 2021-10-26 | Monolithic 3D Inc. | Method to produce a 3D semiconductor device and structure |
US8114757B1 (en) | 2010-10-11 | 2012-02-14 | Monolithic 3D Inc. | Semiconductor device and structure |
US11257867B1 (en) | 2010-10-11 | 2022-02-22 | Monolithic 3D Inc. | 3D semiconductor device and structure with oxide bonds |
US11605663B2 (en) | 2010-10-13 | 2023-03-14 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors and wafer bonding |
US8283215B2 (en) | 2010-10-13 | 2012-10-09 | Monolithic 3D Inc. | Semiconductor and optoelectronic devices |
US11869915B2 (en) | 2010-10-13 | 2024-01-09 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors and wafer bonding |
US10833108B2 (en) | 2010-10-13 | 2020-11-10 | Monolithic 3D Inc. | 3D microdisplay device and structure |
US11855100B2 (en) | 2010-10-13 | 2023-12-26 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with oxide bonding |
US11327227B2 (en) | 2010-10-13 | 2022-05-10 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with electromagnetic modulators |
US9197804B1 (en) | 2011-10-14 | 2015-11-24 | Monolithic 3D Inc. | Semiconductor and optoelectronic devices |
US10943934B2 (en) | 2010-10-13 | 2021-03-09 | Monolithic 3D Inc. | Multilevel semiconductor device and structure |
US11163112B2 (en) | 2010-10-13 | 2021-11-02 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with electromagnetic modulators |
US11133344B2 (en) | 2010-10-13 | 2021-09-28 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors |
US11043523B1 (en) | 2010-10-13 | 2021-06-22 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors |
US10679977B2 (en) | 2010-10-13 | 2020-06-09 | Monolithic 3D Inc. | 3D microdisplay device and structure |
US8379458B1 (en) | 2010-10-13 | 2013-02-19 | Monolithic 3D Inc. | Semiconductor device and structure |
US10998374B1 (en) | 2010-10-13 | 2021-05-04 | Monolithic 3D Inc. | Multilevel semiconductor device and structure |
US11404466B2 (en) | 2010-10-13 | 2022-08-02 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors |
US10978501B1 (en) | 2010-10-13 | 2021-04-13 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with waveguides |
US11164898B2 (en) | 2010-10-13 | 2021-11-02 | Monolithic 3D Inc. | Multilevel semiconductor device and structure |
US11855114B2 (en) | 2010-10-13 | 2023-12-26 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors and wafer bonding |
US11694922B2 (en) | 2010-10-13 | 2023-07-04 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with oxide bonding |
US11063071B1 (en) | 2010-10-13 | 2021-07-13 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with waveguides |
US11929372B2 (en) | 2010-10-13 | 2024-03-12 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with image sensors and wafer bonding |
US11437368B2 (en) | 2010-10-13 | 2022-09-06 | Monolithic 3D Inc. | Multilevel semiconductor device and structure with oxide bonding |
US11735462B2 (en) | 2010-11-18 | 2023-08-22 | Monolithic 3D Inc. | 3D semiconductor device and structure with single-crystal layers |
US11901210B2 (en) | 2010-11-18 | 2024-02-13 | Monolithic 3D Inc. | 3D semiconductor device and structure with memory |
US11569117B2 (en) | 2010-11-18 | 2023-01-31 | Monolithic 3D Inc. | 3D semiconductor device and structure with single-crystal layers |
US11107721B2 (en) | 2010-11-18 | 2021-08-31 | Monolithic 3D Inc. | 3D semiconductor device and structure with NAND logic |
US11443971B2 (en) | 2010-11-18 | 2022-09-13 | Monolithic 3D Inc. | 3D semiconductor device and structure with memory |
US11482439B2 (en) | 2010-11-18 | 2022-10-25 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor memory device comprising charge trap junction-less transistors |
US11521888B2 (en) | 2010-11-18 | 2022-12-06 | Monolithic 3D Inc. | 3D semiconductor device and structure with high-k metal gate transistors |
US11508605B2 (en) | 2010-11-18 | 2022-11-22 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US11615977B2 (en) | 2010-11-18 | 2023-03-28 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US11121021B2 (en) | 2010-11-18 | 2021-09-14 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11094576B1 (en) | 2010-11-18 | 2021-08-17 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor memory device and structure |
US11164770B1 (en) | 2010-11-18 | 2021-11-02 | Monolithic 3D Inc. | Method for producing a 3D semiconductor memory device and structure |
US11495484B2 (en) | 2010-11-18 | 2022-11-08 | Monolithic 3D Inc. | 3D semiconductor devices and structures with at least two single-crystal layers |
US11211279B2 (en) | 2010-11-18 | 2021-12-28 | Monolithic 3D Inc. | Method for processing a 3D integrated circuit and structure |
US11355381B2 (en) | 2010-11-18 | 2022-06-07 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US11004719B1 (en) | 2010-11-18 | 2021-05-11 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor memory device and structure |
US11031275B2 (en) | 2010-11-18 | 2021-06-08 | Monolithic 3D Inc. | 3D semiconductor device and structure with memory |
US11862503B2 (en) | 2010-11-18 | 2024-01-02 | Monolithic 3D Inc. | Method for producing a 3D semiconductor device and structure with memory cells and multiple metal layers |
US11804396B2 (en) | 2010-11-18 | 2023-10-31 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor device and structure with memory cells and multiple metal layers |
US11923230B1 (en) | 2010-11-18 | 2024-03-05 | Monolithic 3D Inc. | 3D semiconductor device and structure with bonding |
US11854857B1 (en) | 2010-11-18 | 2023-12-26 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor device and structure with memory cells and multiple metal layers |
US11784082B2 (en) | 2010-11-18 | 2023-10-10 | Monolithic 3D Inc. | 3D semiconductor device and structure with bonding |
US11482438B2 (en) | 2010-11-18 | 2022-10-25 | Monolithic 3D Inc. | Methods for producing a 3D semiconductor memory device and structure |
US11018042B1 (en) | 2010-11-18 | 2021-05-25 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US11610802B2 (en) | 2010-11-18 | 2023-03-21 | Monolithic 3D Inc. | Method for producing a 3D semiconductor device and structure with single crystal transistors and metal gate electrodes |
US11355380B2 (en) | 2010-11-18 | 2022-06-07 | Monolithic 3D Inc. | Methods for producing 3D semiconductor memory device and structure utilizing alignment marks |
US8975670B2 (en) | 2011-03-06 | 2015-03-10 | Monolithic 3D Inc. | Semiconductor device and structure for heat removal |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US10388568B2 (en) | 2011-06-28 | 2019-08-20 | Monolithic 3D Inc. | 3D semiconductor device and system |
US8760193B2 (en) | 2011-07-01 | 2014-06-24 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US8548071B2 (en) * | 2011-07-19 | 2013-10-01 | Xilinx, Inc. | Integrated circuit enabling the communication of data and a method of communicating data in an integrated circuit |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8687399B2 (en) | 2011-10-02 | 2014-04-01 | Monolithic 3D Inc. | Semiconductor device and structure |
US9029173B2 (en) | 2011-10-18 | 2015-05-12 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US8593175B2 (en) * | 2011-12-15 | 2013-11-26 | Micron Technology, Inc. | Boolean logic in a state machine lattice |
US9000557B2 (en) | 2012-03-17 | 2015-04-07 | Zvi Or-Bach | Semiconductor device and structure |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US11594473B2 (en) | 2012-04-09 | 2023-02-28 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and a connective path |
US11164811B2 (en) | 2012-04-09 | 2021-11-02 | Monolithic 3D Inc. | 3D semiconductor device with isolation layers and oxide-to-oxide bonding |
US11088050B2 (en) | 2012-04-09 | 2021-08-10 | Monolithic 3D Inc. | 3D semiconductor device with isolation layers |
US11881443B2 (en) | 2012-04-09 | 2024-01-23 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and a connective path |
US8557632B1 (en) | 2012-04-09 | 2013-10-15 | Monolithic 3D Inc. | Method for fabrication of a semiconductor device and structure |
US11410912B2 (en) | 2012-04-09 | 2022-08-09 | Monolithic 3D Inc. | 3D semiconductor device with vias and isolation layers |
US11694944B1 (en) | 2012-04-09 | 2023-07-04 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and a connective path |
US11735501B1 (en) | 2012-04-09 | 2023-08-22 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and a connective path |
US11616004B1 (en) | 2012-04-09 | 2023-03-28 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and a connective path |
US11476181B1 (en) | 2012-04-09 | 2022-10-18 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US10600888B2 (en) | 2012-04-09 | 2020-03-24 | Monolithic 3D Inc. | 3D semiconductor device |
US20130275709A1 (en) | 2012-04-12 | 2013-10-17 | Micron Technology, Inc. | Methods for reading data from a storage buffer including delaying activation of a column select |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8891405B2 (en) * | 2012-07-18 | 2014-11-18 | International Business Machines Corporation | Integrated device management over Ethernet network |
US9524248B2 (en) | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US8686428B1 (en) | 2012-11-16 | 2014-04-01 | Monolithic 3D Inc. | Semiconductor device and structure |
US8574929B1 (en) | 2012-11-16 | 2013-11-05 | Monolithic 3D Inc. | Method to form a 3D semiconductor device and structure |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US11784169B2 (en) | 2012-12-22 | 2023-10-10 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US11063024B1 (en) | 2012-12-22 | 2021-07-13 | Monlithic 3D Inc. | Method to form a 3D semiconductor device and structure |
US11309292B2 (en) | 2012-12-22 | 2022-04-19 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US8674470B1 (en) | 2012-12-22 | 2014-03-18 | Monolithic 3D Inc. | Semiconductor device and structure |
US11916045B2 (en) | 2012-12-22 | 2024-02-27 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US11967583B2 (en) | 2012-12-22 | 2024-04-23 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US11217565B2 (en) | 2012-12-22 | 2022-01-04 | Monolithic 3D Inc. | Method to form a 3D semiconductor device and structure |
US11961827B1 (en) | 2012-12-22 | 2024-04-16 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US11018116B2 (en) | 2012-12-22 | 2021-05-25 | Monolithic 3D Inc. | Method to form a 3D semiconductor device and structure |
US11430668B2 (en) | 2012-12-29 | 2022-08-30 | Monolithic 3D Inc. | 3D semiconductor device and structure with bonding |
US11430667B2 (en) | 2012-12-29 | 2022-08-30 | Monolithic 3D Inc. | 3D semiconductor device and structure with bonding |
US10651054B2 (en) | 2012-12-29 | 2020-05-12 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11087995B1 (en) | 2012-12-29 | 2021-08-10 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10600657B2 (en) | 2012-12-29 | 2020-03-24 | Monolithic 3D Inc | 3D semiconductor device and structure |
US11004694B1 (en) | 2012-12-29 | 2021-05-11 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US9871034B1 (en) | 2012-12-29 | 2018-01-16 | Monolithic 3D Inc. | Semiconductor device and structure |
US10115663B2 (en) | 2012-12-29 | 2018-10-30 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10903089B1 (en) | 2012-12-29 | 2021-01-26 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US9385058B1 (en) | 2012-12-29 | 2016-07-05 | Monolithic 3D Inc. | Semiconductor device and structure |
US10892169B2 (en) | 2012-12-29 | 2021-01-12 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11177140B2 (en) | 2012-12-29 | 2021-11-16 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US8902663B1 (en) | 2013-03-11 | 2014-12-02 | Monolithic 3D Inc. | Method of maintaining a memory state |
US11935949B1 (en) | 2013-03-11 | 2024-03-19 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and memory cells |
US10325651B2 (en) | 2013-03-11 | 2019-06-18 | Monolithic 3D Inc. | 3D semiconductor device with stacked memory |
US11869965B2 (en) | 2013-03-11 | 2024-01-09 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers and memory cells |
US11088130B2 (en) | 2014-01-28 | 2021-08-10 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US8994404B1 (en) | 2013-03-12 | 2015-03-31 | Monolithic 3D Inc. | Semiconductor device and structure |
US11923374B2 (en) | 2013-03-12 | 2024-03-05 | Monolithic 3D Inc. | 3D semiconductor device and structure with metal layers |
US10840239B2 (en) | 2014-08-26 | 2020-11-17 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11398569B2 (en) | 2013-03-12 | 2022-07-26 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9703574B2 (en) | 2013-03-15 | 2017-07-11 | Micron Technology, Inc. | Overflow detection and correction in state machine engines |
US9117749B1 (en) | 2013-03-15 | 2015-08-25 | Monolithic 3D Inc. | Semiconductor device and structure |
US10224279B2 (en) | 2013-03-15 | 2019-03-05 | Monolithic 3D Inc. | Semiconductor device and structure |
US9448965B2 (en) | 2013-03-15 | 2016-09-20 | Micron Technology, Inc. | Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine |
US11574109B1 (en) | 2013-04-15 | 2023-02-07 | Monolithic 3D Inc | Automation methods for 3D integrated circuits and devices |
US11030371B2 (en) | 2013-04-15 | 2021-06-08 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US11720736B2 (en) | 2013-04-15 | 2023-08-08 | Monolithic 3D Inc. | Automation methods for 3D integrated circuits and devices |
US9021414B1 (en) | 2013-04-15 | 2015-04-28 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US11487928B2 (en) | 2013-04-15 | 2022-11-01 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US11341309B1 (en) | 2013-04-15 | 2022-05-24 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US11270055B1 (en) | 2013-04-15 | 2022-03-08 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US9436565B2 (en) | 2013-07-04 | 2016-09-06 | Altera Corporation | Non-intrusive monitoring and control of integrated circuits |
US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
US11107808B1 (en) | 2014-01-28 | 2021-08-31 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10297586B2 (en) | 2015-03-09 | 2019-05-21 | Monolithic 3D Inc. | Methods for processing a 3D semiconductor device |
US11031394B1 (en) | 2014-01-28 | 2021-06-08 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US9118325B1 (en) | 2014-08-27 | 2015-08-25 | Quicklogic Corporation | Routing network for programmable logic device |
CN104281742A (zh) * | 2014-09-11 | 2015-01-14 | 上海卫星工程研究所 | 一种sram型大规模fpga抗单粒子装置及方法 |
WO2016109570A1 (en) | 2014-12-30 | 2016-07-07 | Micron Technology, Inc | Systems and devices for accessing a state machine |
US11366675B2 (en) | 2014-12-30 | 2022-06-21 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
US10769099B2 (en) | 2014-12-30 | 2020-09-08 | Micron Technology, Inc. | Devices for time division multiplexing of state machine engine signals |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US11056468B1 (en) | 2015-04-19 | 2021-07-06 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10825779B2 (en) | 2015-04-19 | 2020-11-03 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11011507B1 (en) | 2015-04-19 | 2021-05-18 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10381328B2 (en) | 2015-04-19 | 2019-08-13 | Monolithic 3D Inc. | Semiconductor device and structure |
US11956952B2 (en) | 2015-08-23 | 2024-04-09 | Monolithic 3D Inc. | Semiconductor memory device and structure |
DE112016004265T5 (de) | 2015-09-21 | 2018-06-07 | Monolithic 3D Inc. | 3d halbleitervorrichtung und -struktur |
US9628083B1 (en) * | 2015-10-01 | 2017-04-18 | Quicklogic Corporation | Local routing network with selective fast paths for programmable logic device |
US10522225B1 (en) | 2015-10-02 | 2019-12-31 | Monolithic 3D Inc. | Semiconductor device with non-volatile memory |
US10846103B2 (en) | 2015-10-06 | 2020-11-24 | Micron Technology, Inc. | Methods and systems for representing processing resources |
US10977309B2 (en) | 2015-10-06 | 2021-04-13 | Micron Technology, Inc. | Methods and systems for creating networks |
US10691964B2 (en) | 2015-10-06 | 2020-06-23 | Micron Technology, Inc. | Methods and systems for event reporting |
US10847540B2 (en) | 2015-10-24 | 2020-11-24 | Monolithic 3D Inc. | 3D semiconductor memory device and structure |
US11296115B1 (en) | 2015-10-24 | 2022-04-05 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US11114464B2 (en) | 2015-10-24 | 2021-09-07 | Monolithic 3D Inc. | 3D semiconductor device and structure |
US10418369B2 (en) | 2015-10-24 | 2019-09-17 | Monolithic 3D Inc. | Multi-level semiconductor memory device and structure |
US11114427B2 (en) | 2015-11-07 | 2021-09-07 | Monolithic 3D Inc. | 3D semiconductor processor and memory device and structure |
US11937422B2 (en) | 2015-11-07 | 2024-03-19 | Monolithic 3D Inc. | Semiconductor memory device and structure |
US10248585B2 (en) * | 2016-06-14 | 2019-04-02 | Oracle International Corporation | System and method for filtering field programmable gate array input/output |
US10146555B2 (en) | 2016-07-21 | 2018-12-04 | Micron Technology, Inc. | Adaptive routing to avoid non-repairable memory and logic defects on automata processor |
US10019311B2 (en) | 2016-09-29 | 2018-07-10 | Micron Technology, Inc. | Validation of a symbol response memory |
US10268602B2 (en) | 2016-09-29 | 2019-04-23 | Micron Technology, Inc. | System and method for individual addressing |
US11251149B2 (en) | 2016-10-10 | 2022-02-15 | Monolithic 3D Inc. | 3D memory device and structure |
US11869591B2 (en) | 2016-10-10 | 2024-01-09 | Monolithic 3D Inc. | 3D memory devices and structures with control circuits |
US11812620B2 (en) | 2016-10-10 | 2023-11-07 | Monolithic 3D Inc. | 3D DRAM memory devices and structures with control circuits |
US11329059B1 (en) | 2016-10-10 | 2022-05-10 | Monolithic 3D Inc. | 3D memory devices and structures with thinned single crystal substrates |
US11930648B1 (en) | 2016-10-10 | 2024-03-12 | Monolithic 3D Inc. | 3D memory devices and structures with metal layers |
US11711928B2 (en) | 2016-10-10 | 2023-07-25 | Monolithic 3D Inc. | 3D memory devices and structures with control circuits |
US10929764B2 (en) | 2016-10-20 | 2021-02-23 | Micron Technology, Inc. | Boolean satisfiability |
US10592450B2 (en) | 2016-10-20 | 2020-03-17 | Micron Technology, Inc. | Custom compute cores in integrated circuit devices |
CN106909425B (zh) * | 2017-03-03 | 2020-05-08 | 中国电子科技集团公司第五十四研究所 | 一种dsp和fpga系统在线升级方法 |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
CN109583577B (zh) * | 2017-09-29 | 2021-04-23 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN108132811B (zh) * | 2017-12-15 | 2021-09-21 | 杭州迪普科技股份有限公司 | 一种fpga程序数据的加载方法及装置 |
KR102409505B1 (ko) * | 2017-12-22 | 2022-06-14 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 |
EP3762831A4 (de) | 2018-03-08 | 2022-04-06 | Quadric.I0, Inc. | Integrierte schaltung für maschinenwahrnehmungs- und -dichtealgorithmus |
JP7386543B2 (ja) | 2018-03-28 | 2023-11-27 | クアドリック.アイオー,インコーポレイテッド | 機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法 |
CN108762970A (zh) * | 2018-06-12 | 2018-11-06 | 上海航天计算机技术研究所 | 一种高可靠星载计算机程序存储设备 |
US10855284B1 (en) * | 2018-09-25 | 2020-12-01 | Flex Logix Technologies, Inc. | Process of routing tile-to-tile interconnects of an FPGA, and method of manufacturing an FPGA |
CN111611196A (zh) * | 2019-02-26 | 2020-09-01 | 北京知存科技有限公司 | 一种存算一体芯片及其dac复用控制方法 |
US11763864B2 (en) | 2019-04-08 | 2023-09-19 | Monolithic 3D Inc. | 3D memory semiconductor devices and structures with bit-line pillars |
US11158652B1 (en) | 2019-04-08 | 2021-10-26 | Monolithic 3D Inc. | 3D memory semiconductor devices and structures |
US11296106B2 (en) | 2019-04-08 | 2022-04-05 | Monolithic 3D Inc. | 3D memory semiconductor devices and structures |
US10892016B1 (en) | 2019-04-08 | 2021-01-12 | Monolithic 3D Inc. | 3D memory semiconductor devices and structures |
US11018156B2 (en) | 2019-04-08 | 2021-05-25 | Monolithic 3D Inc. | 3D memory semiconductor devices and structures |
CN112486895B (zh) * | 2019-09-12 | 2024-01-09 | 阿里巴巴集团控股有限公司 | 一种fpga芯片及其互联控制方法 |
JP7037528B2 (ja) * | 2019-09-12 | 2022-03-16 | 株式会社東芝 | 集積回路およびそのテスト方法ならびに電子機器 |
Family Cites Families (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4750155A (en) | 1985-09-19 | 1988-06-07 | Xilinx, Incorporated | 5-Transistor memory cell which can be reliably read and written |
US5451887A (en) | 1986-09-19 | 1995-09-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5477165A (en) | 1986-09-19 | 1995-12-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
GB8906145D0 (en) | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
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 |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5621650A (en) | 1989-10-30 | 1997-04-15 | Advanced Micro Devices, Inc. | Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses |
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 |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
EP0584910B1 (de) | 1992-08-03 | 1996-09-04 | Advanced Micro Devices, Inc. | Programmierbare logische Vorrichtung |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
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 |
US5682107A (en) | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
US5504439A (en) | 1994-04-01 | 1996-04-02 | Xilinx, Inc. | I/O interface cell for use with optional pad |
US6181162B1 (en) * | 1994-04-10 | 2001-01-30 | Altera Corporation | Programmable logic device with highly routable interconnect |
US5689195A (en) | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
US5572712A (en) * | 1994-09-30 | 1996-11-05 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits with built-in self-test |
US5761099A (en) | 1994-11-04 | 1998-06-02 | Altera Corporation | Programmable logic array integrated circuits with enhanced carry routing |
US5566123A (en) * | 1995-02-10 | 1996-10-15 | Xilinx, Inc. | Synchronous dual port ram |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
ATE252291T1 (de) * | 1995-05-03 | 2003-11-15 | Btr Inc | Skalierbare vielstufige verbindungsarchitektur |
US5614840A (en) | 1995-05-17 | 1997-03-25 | Altera Corporation | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5625301A (en) | 1995-05-18 | 1997-04-29 | Actel Corporation | Flexible FPGA input/output architecture |
US5671432A (en) | 1995-06-02 | 1997-09-23 | International Business Machines Corporation | Programmable array I/O-routing resource |
US5521529A (en) | 1995-06-02 | 1996-05-28 | Advanced Micro Devices, Inc. | Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation |
US5633832A (en) | 1995-09-26 | 1997-05-27 | Alliance Semiconductor Corporation | Reduced area word line driving circuit for random access memory |
US5991907A (en) * | 1996-02-02 | 1999-11-23 | Lucent Technologies Inc. | Method for testing field programmable gate arrays |
US5703827A (en) | 1996-02-29 | 1997-12-30 | Monolithic System Technology, Inc. | Method and structure for generating a boosted word line voltage and a back bias voltage for a memory array |
US5694056A (en) | 1996-04-01 | 1997-12-02 | Xilinx, Inc. | Fast pipeline frame full detector |
US6346824B1 (en) * | 1996-04-09 | 2002-02-12 | Xilinx, Inc. | Dedicated function fabric for use in field programmable gate arrays |
US6184709B1 (en) * | 1996-04-09 | 2001-02-06 | Xilinx, Inc. | Programmable logic device having a composable memory array overlaying a CLB array |
US6154049A (en) * | 1998-03-27 | 2000-11-28 | Xilinx, Inc. | Multiplier fabric for use in field programmable gate arrays |
US5744995A (en) | 1996-04-17 | 1998-04-28 | Xilinx, Inc. | Six-input multiplexer wtih two gate levels and three memory cells |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5781497A (en) | 1996-08-02 | 1998-07-14 | Alliance Semiconductor Corp. | Random access memory word line select circuit having rapid dynamic deselect |
US5825202A (en) | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
US5773993A (en) | 1996-09-26 | 1998-06-30 | Xilinx, Inc. | Configurable electronic device which is compatible with a configuration bitstream of a prior generation configurable electronic device |
US5977793A (en) * | 1996-10-10 | 1999-11-02 | Altera Corporation | Programmable logic device with hierarchical interconnection resources |
US5880598A (en) * | 1997-01-10 | 1999-03-09 | Xilinx, Inc. | Tile-based modular routing resources for high density programmable logic device |
US5878051A (en) * | 1997-02-05 | 1999-03-02 | Lockheed Martin Corp. | Assembly-level bist using field-programmable gate array |
US5920202A (en) * | 1997-02-26 | 1999-07-06 | Xilinx, Inc. | Configurable logic element with ability to evaluate five and six input functions |
US6150837A (en) | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
US5874834A (en) * | 1997-03-04 | 1999-02-23 | Xilinx, Inc. | Field programmable gate array with distributed gate-array functionality |
US5874384A (en) * | 1997-03-31 | 1999-02-23 | The University Of Chicago | Elongate Bi-based superconductors made by freeze dried conducting powders |
US6345000B1 (en) * | 1997-04-16 | 2002-02-05 | Sandisk Corporation | Flash memory permitting simultaneous read/write and erase operations in a single memory array |
JP3204299B2 (ja) | 1997-06-30 | 2001-09-04 | 日本電気株式会社 | 半導体記憶装置 |
US6020755A (en) | 1997-09-26 | 2000-02-01 | Lucent Technologies Inc. | Hybrid programmable gate arrays |
US5949690A (en) | 1997-09-26 | 1999-09-07 | Xilinx, Inc. | Schematic design entry with annotated timing |
US6130551A (en) * | 1998-01-19 | 2000-10-10 | Vantis Corporation | Synthesis-friendly FPGA architecture with variable length and variable timing interconnect |
US6084427A (en) * | 1998-05-19 | 2000-07-04 | Altera Corporation | Programmable logic devices with enhanced multiplexing capabilities |
US6091263A (en) | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
US6034544A (en) | 1997-12-22 | 2000-03-07 | Lattice Semiconductor Corporation | Programmable input/output block (IOB) in FPGA integrated circuits |
US5990702A (en) | 1997-12-22 | 1999-11-23 | Vantis Corporation | Flexible direct connections between input/output blocks (IOBs) and variable grain blocks (VGBs) in FPGA integrated circuits |
US6064225A (en) * | 1998-03-20 | 2000-05-16 | Lucent Technologies Inc. | Global signal distribution with reduced routing tracks in an FPGA |
US6084429A (en) * | 1998-04-24 | 2000-07-04 | Xilinx, Inc. | PLD having a window pane architecture with segmented and staggered interconnect wiring between logic block arrays |
US6069489A (en) | 1998-08-04 | 2000-05-30 | Xilinx, Inc. | FPGA having fast configuration memory data readback |
US6301688B1 (en) * | 1998-11-24 | 2001-10-09 | Agere Systems Optoelectronics Guardian Corp. | Insertion of test points in RTL designs |
US6081473A (en) * | 1998-12-15 | 2000-06-27 | Lattice Semiconductor Corporation | FPGA integrated circuit having embedded sram memory blocks each with statically and dynamically controllable read mode |
US6181163B1 (en) * | 1999-01-21 | 2001-01-30 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals |
JP3444216B2 (ja) * | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | プログラマブルデバイス |
US6301696B1 (en) | 1999-03-30 | 2001-10-09 | Actel Corporation | Final design method of a programmable logic device that is based on an initial design that consists of a partial underlying physical template |
US6446242B1 (en) * | 1999-04-02 | 2002-09-03 | Actel Corporation | Method and apparatus for storing a validation number in a field-programmable gate array |
US6211697B1 (en) * | 1999-05-25 | 2001-04-03 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure |
US6463560B1 (en) * | 1999-06-23 | 2002-10-08 | Agere Systems Guardian Corp. | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits |
US6631487B1 (en) * | 1999-09-27 | 2003-10-07 | Lattice Semiconductor Corp. | On-line testing of field programmable gate array resources |
US6550030B1 (en) * | 1999-09-27 | 2003-04-15 | Lattice Semiconductor Corp. | On-line testing of the programmable logic blocks in field programmable gate arrays |
US6285212B1 (en) | 2000-03-06 | 2001-09-04 | Actel Corporation | Block connector splitting in logic block of a field programmable gate array |
US6567968B1 (en) * | 2000-03-06 | 2003-05-20 | Actel Corporation | Block level routing architecture in a field programmable gate array |
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6937063B1 (en) * | 2000-09-02 | 2005-08-30 | Actel Corporation | Method and apparatus of memory clearing with monitoring RAM memory cells in a field programmable gated array |
US6870396B2 (en) * | 2000-09-02 | 2005-03-22 | Actel Corporation | Tileable field-programmable gate array architecture |
US7015719B1 (en) * | 2000-09-02 | 2006-03-21 | Actel Corporation | Tileable field-programmable gate array architecture |
US6470485B1 (en) * | 2000-10-18 | 2002-10-22 | Lattice Semiconductor Corporation | Scalable and parallel processing methods and structures for testing configurable interconnect network in FPGA device |
US6681354B2 (en) * | 2001-01-31 | 2004-01-20 | Stmicroelectronics, Inc. | Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation |
US6651238B1 (en) * | 2001-04-17 | 2003-11-18 | Xilinx, Inc. | Providing fault coverage of interconnect in an FPGA |
US6774670B1 (en) * | 2002-12-30 | 2004-08-10 | Actel Corporation | Intra-tile buffer system for a field programmable gate array |
-
2000
- 2000-09-02 US US09/654,240 patent/US6476636B1/en not_active Expired - Fee Related
-
2001
- 2001-08-31 DE DE60128960T patent/DE60128960T2/de not_active Expired - Lifetime
- 2001-08-31 EP EP01966470A patent/EP1354404B1/de not_active Expired - Lifetime
- 2001-08-31 WO PCT/US2001/027172 patent/WO2002021694A2/en active IP Right Grant
- 2001-08-31 JP JP2002525998A patent/JP2004524715A/ja active Pending
- 2001-08-31 AU AU2001286979A patent/AU2001286979A1/en not_active Abandoned
-
2002
- 2002-01-30 US US10/066,398 patent/US6700404B1/en not_active Expired - Lifetime
- 2002-01-31 US US10/061,955 patent/US6611153B1/en not_active Expired - Fee Related
- 2002-01-31 US US10/061,951 patent/US6744278B1/en not_active Expired - Lifetime
- 2002-02-07 US US10/071,262 patent/US6968487B1/en not_active Expired - Lifetime
- 2002-02-15 US US10/077,190 patent/US6731133B1/en not_active Expired - Lifetime
- 2002-02-15 US US10/077,189 patent/US7137095B1/en not_active Expired - Fee Related
- 2002-02-15 US US10/077,188 patent/US6531891B1/en not_active Expired - Lifetime
-
2003
- 2003-04-30 US US10/429,002 patent/US6888375B2/en not_active Expired - Lifetime
-
2006
- 2006-11-08 US US11/557,717 patent/US20070089082A1/en not_active Abandoned
-
2008
- 2008-02-25 US US12/036,470 patent/US20080238477A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2002021694A2 (en) | 2002-03-14 |
US6968487B1 (en) | 2005-11-22 |
US6611153B1 (en) | 2003-08-26 |
US20080238477A1 (en) | 2008-10-02 |
EP1354404B1 (de) | 2007-06-13 |
US6744278B1 (en) | 2004-06-01 |
US20030218479A1 (en) | 2003-11-27 |
US6700404B1 (en) | 2004-03-02 |
JP2004524715A (ja) | 2004-08-12 |
AU2001286979A1 (en) | 2002-03-22 |
US20070089082A1 (en) | 2007-04-19 |
US6476636B1 (en) | 2002-11-05 |
US7137095B1 (en) | 2006-11-14 |
DE60128960D1 (de) | 2007-07-26 |
WO2002021694A3 (en) | 2003-08-14 |
US6731133B1 (en) | 2004-05-04 |
US6531891B1 (en) | 2003-03-11 |
US6888375B2 (en) | 2005-05-03 |
EP1354404A2 (de) | 2003-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60128960T2 (de) | Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld | |
DE69924486T2 (de) | Spezielle schnittstellenarchitektur für eine hybride schaltung | |
DE102004014472B4 (de) | Anwendungsspezifischer integrierter Halbleiter-Schaltkreis | |
EP0202456B1 (de) | In integrierter Technik hergestellter Logik-Array-Baustein | |
DE19639629C2 (de) | Programmierbare, monolithische, integrierte Logikschaltung und Verfahren zum Implementieren derselben | |
DE69838462T2 (de) | Verbesserte feldprogrammierbare Gatteranordnung | |
EP0705465B1 (de) | Konfigurierbares, analoges und digitales array | |
DE69933525T2 (de) | Architekturen für programmierbare logische Vorrichtungen | |
DE3712178C2 (de) | ||
DE4041897A1 (de) | Abtastpfadsystem und integrierte schaltkreiseinrichtung mit diesem | |
DE10313926A1 (de) | Halbleiterbauelement mit einem auf Zellen beruhenden Grundelementaggregat, welches ein vorspringendes Teil in einem aktiven Gebiet aufweist | |
DE3215671C2 (de) | Programmierbare Logikanordnung | |
EP0005847A1 (de) | Speicherschaltung und deren Verwendung in einer elektrisch programmierbaren logischen Anordnung | |
DE69534659T2 (de) | Architektur und Verbindungsmodel für programmierbare logische Schaltungen | |
DE60118490T2 (de) | Logisches Allzweckmodul und Zelle mit einem solchen Modul | |
DE69811795T2 (de) | Integrierte Schaltung zur Taktsignalversorgung und Verfahren zu ihrer Herstellung | |
DE10164606B4 (de) | Flip-Chip-Halbleitereinrichtung mit außerhalb von Energiezufuhranschlussflächen angeordneten Signalanschlussflächen | |
DE102005033715A1 (de) | Integriertes Schaltkreisbauelement, Zwischenverbindungsstruktur und Entwurfsverfahren | |
DE4327652C2 (de) | Integrierte Halbleiterschaltungsvorrichtung und Verfahren zum Entwerfen einer integrierten Halbleiterschaltungsvorrichtung | |
DE10241385A1 (de) | Integrierter Schaltkreis | |
DE4344231C2 (de) | Integrierte Schaltungsvorrichtung mit Bit-Slice-Zellen | |
DE102004056738B3 (de) | Programmierbare Logikzelle für eine programmierbare Logikanordnung, arithmetische Einheit und digitale Schaltungsanordnung | |
EP0166027B1 (de) | In C-MOS-Technik realisierte Basiszelle | |
DE112012003335T5 (de) | Integrierte Schaltung | |
DE10347975B4 (de) | Einrichtung der programmierbaren Logik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |