DE4425552C2 - Gatterarray - Google Patents
GatterarrayInfo
- Publication number
- DE4425552C2 DE4425552C2 DE4425552A DE4425552A DE4425552C2 DE 4425552 C2 DE4425552 C2 DE 4425552C2 DE 4425552 A DE4425552 A DE 4425552A DE 4425552 A DE4425552 A DE 4425552A DE 4425552 C2 DE4425552 C2 DE 4425552C2
- Authority
- DE
- Germany
- Prior art keywords
- logic
- signal
- numbered
- bus
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- 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
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- 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/17704—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 the logic functions being realised by the interconnection of rows and columns
Description
Die vorliegende Erfindung bezieht sich auf ein Gatter-Array,
das ein zweidimensionales Array aus einer Mehrzahl von Lo
gikzellen und Signalführungszellen umfaßt.
Für diese Beschreibung ist eine programmierbare Logikschal
tung als digitale Schaltung mit fester Verbindung definiert,
die durch einen Anwender konfiguriert werden kann, um andere
digitale Systeme mit willkürlichen Topologien bei hoher Ge
schwindigkeit zu emulieren. Sie kann verwendet werden, um
sowohl Hochgeschwindigkeitslogiksimulatoren als auch konfi
gurierbare Berechnungsmaschinen zu entwerfen, die fähig
sind, Supercomputer bei bestimmten Zielen für einen Bruch
teil der Kosten zu übertreffen. Programmierbare Logiksy
steme, die zum Emulieren großer digitaler Schaltungen (mit
hunderttausenden von Gattern) fähig sind, sind teuer, wobei
sie typischerweise Kosten in der Größenordnung von einem bis
zwei US-Dollar pro emuliertes Gatter aufweisen und eine
große Anzahl von integrierten Schaltungen erfordern, die
über mehrere komplexe gedruckte Schaltungsplatinen verteilt
sind.
Eine Klasse von programmierbaren Logikschaltungen basiert
auf der Field Programmable Gate Array Technology (FPGA-
Technology = Feldprogrammierbare Gatterarray-Technik). Die
grundsätzliche Idee bei diesem Ansatz besteht darin, eine
Anzahl von FPGAs zusammen in einer festen Topologie zu ver
binden. Jedes FPGA schließt zwei Arten von Mitteln ein: (1)
eine Anzahl von Logikzellen, die programmiert oder konfigu
riert werden können, um eine bestimmte logische Funktion
auszuführen (wie z. B. "UND" oder "EXLUSIVE ODER"); und (2)
Signalführungsmittel, die programmiert sein können, um die
Logikzellen miteinander und mit externen Eingangs/Ausgangs-
Anschlußstiften zu verbinden. Das programmierte FPGA bildet
folglich eine nützliche logische Schaltung, die eine Teil
menge des gesamten zu simulierenden Logiksystems ist; der
gesamte Satz von FPGAs simuliert dann zusammen das erwünsch
te Logiksystem. Nachdem die FPGAs in diesen Architekturen
feste physikalische Verbindungen zwischeneinander haben, die
nicht verändert werden können, erfordert die Simulierung ei
nes Logiksystems eine Abbildung der Schaltung des interes
sierenden Logiksystems auf die verbundenen FPGAs derart, daß
die Logikfunktionen und Verbindungen der ursprünglichen
Schaltung genau durch die Programmierung der FPGAs darge
stellt ist. Eine Hochgeschwindigkeitssimulation ist möglich,
nachdem die Logikzellen innerhalb der FPGAs ihre Berechnun
gen parallel durchführen, wobei sie ihre Ergebnisse mitein
ander durch das Signalführungsnetzwerk austauschen.
Der Entwurf einer programmierbaren Logikschaltung mit einer
hohen Kapazität (größer als 1.000.000 Gatter) und hoher Ge
schwindigkeit (einer Taktrate größer als 1 MHz) beinhaltet
verschiedene, oft einander entgegenstehende, Herausforde
rungen. Erstens ist die Abbildung oder "Übersetzung" eines
willkürlichen Logiksystems auf die feste Topologie ein
schwieriges und berechnungsmäßig potentiell teueres Verfah
ren. Dieses Problem wird im wesentlichen reduziert, wenn es
die Architektur ermöglicht, das Abbildungsproblem in einen
Satz einfacherer, locker verbundener Teilprobleme auf zu
teilen.
Weil eine typische programmierbare Struktur zur Emulation
einer großen Vielzahl von möglichen Anwenderentwürfen oder
Algorithmen verwendet wird, existiert zweitens eine erheb
lich höhere Signalführung und logischer "Mehraufwand" als es
bei einem optimierten Layout des Entwurfs eines Anwenders
sein würde. Dieser Mehraufwand muß innerhalb sinnvoller
Grenzen gehalten werden, während immer noch ein übersetzba
res Ziel vorhanden ist.
Drittens sind der Entwurf der Architektur und dessen Ausfüh
rung notwendigerweise miteinander verbunden, wenn die Daten
wege bezüglich der Verzögerung optimiert werden.
Abschließend beeinflußt die Topologie und die physikalische
Organisation der Architektur direkt die Schwierigkeit ihrer
Ausführung. Reguläre Strukturen mit einfachen Verbindungen
sind leichter zu bauen.
Auf diese Probleme wird am besten durch Logikstrukturen ein
gegangen, die eine hierarchische Struktur für das Signal
führungsstrukturnetzwerk verwenden. Die Signalführungsstruk
tur besteht aus einem Baum aus Signalführungsschaltungen.
Der Wurzelknoten des Baums stellt die Eingangs- und Aus
gangsleitung für das FPGA bereit. Die Blattknoten des Baums
sind mit den Logikzellen verbunden.
Es wäre vorteilhaft, eine solche Struktur auf einem einzel
nen Wafer bereitzustellen, um die Anzahl von externen Ver
bindungen zu minimieren. Bekannte Architekturen von program
mierbaren Logiksystemen weisen ein Fehlen ihrer Anpassungs
fähigkeit an eine Wafermaßstabsintegration auf. Bei bekann
ten Systemen wurde die Signalführungsfunktion auf getrennten
Signalführungschips ausgeführt. Das heißt das System wurde aus
zwei Klassen von grundsätzlichen Chips, Signalführungs- und
Logik-Chips, aufgebaut. Dieser Ansatz hat zwei Hauptnachtei
le, wenn er auf Entwürfe, die eine Wafermaßstabsausführung
erfordern, angewendet wird. Wenn die Topologie des Systems
verändert wird, muß erstens der Wafer vollständig neu ent
worfen werden. Wenn man z. B. ein System mit einer unter
schiedlichen Anzahl von Ebenen der Baumsignalführungsstruk
tur entwerfen würde, wäre es notwendig, die Größe und Form
aller Signalführungszellen zu ändern. Die neuen Zellen
müßten dann auf dem Wafer angepaßt werden.
Zweitens umfaßt diese Art des Entwurfs Schwierigkeiten beim
Anpassen von Komponentenfehlern. Ein wichtiger Aspekt der
Wafermaßstabsintegration ist die Notwendigkeit eine Anpas
sung zur Kompensation von Komponentenherstellungsfehlern
vorzunehmen. Typischerweise werden zusätzliche Komponenten
vorgesehen und einige Einrichtungen zum Ersetzen der fehler
haften Komponenten durch die zusätzlichen Komponenten sind
vorgesehen. Alternativ sollte das System fähig sein, ohne
eine oder mehrere dieser Komponenten angemessen zu funktio
nieren, vorausgesetzt die Orte der nicht-funktionierenden
Komponenten sind bekannt.
Aus der EP 0461798 ist bereits eine konfigurierbare Ver
bindungsstruktur für ein programmierbares Gate-Array be
kannt, welches drei verschiedene Typen von konfigurierbaren
Elementen umfaßt, welche auf das Anwendersystem durch eine
Spezifikation in einem Konfigurationsspeicher abgestellt
sind. Die drei konfigurierbaren Elemente sind konfigurier
bare logische Blöcke, konfigurierbare Eingangs/Ausgangs-
Blöcke am Außenumfang der Schaltung und ein programmierbares
Verbindungsnetzwerk. Es sind Logikzellenbusstrukturen und
Signalbusstrukturen vorgesehen. Programmierbare Verbindungs
schalter an den jeweiligen Schnittstellen von horizontalen
und vertikalen Bussen dienen zur Schaltung einer Verbindung
in Abhängigkeit von Programmdaten in einem Konfigurations
speicher. Die konfigurierbaren logischen Blöcke sind jedoch
nicht hierarchisch gruppiert.
Der Erfindung liegt die Aufgabe zugrunde, ein Gatter-Array,
das ein zweidimensionales Array aus Logik- und Signalfüh
rungszellen umfaßt, so weiterzubilden, daß mit geringerem
Aufwand ein gewünschtes Logiksystem geschaffen werden kann.
Diese Aufgabe wird durch ein Gatter-Array gemäß Patentan
spruch 1 gelöst.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß
ein FPGA-System geschaffen wird, das leichter als bekannte
FPGA-Systeme an die Wafermaßstabsintegration anpaßbar ist.
Ein weiterer Vorteil der vorliegenden Erfindung besteht da
rin, daß ein FPGA geschaffen wird, das aus einer einzelnen
Teileinheit aufgebaut sein kann.
Die vorliegende Erfindung umfaßt eine Logik- und Signalfüh
rungszelle, die insbesondere gut zur Verwendung beim Aufbau
von FPGAs angepaßt ist. Die Logik- und Signalführungszelle
schließen eine Logikzelle mit einem Logikzellenbus ein, der
p Signalleitungen einschließt, wobei p<1. Die Logikzelle
führt Operationen bezüglich Signalen durch, die auf zumin
dest einer der Signalleitungen empfangen werden, und erzeugt
Signale auf zumindest einer der Signalleitungen, die die
Ergebnisse der Operationen anzeigen. Die Logik- und Signal
führungszelle schließt ebenfalls eine Mehrzahl von Signal
bussen ein, wobei jeder Signalbus eine Mehrzahl von Signal
leitungen einschließt. Die Signalbusse sind aufeinanderfol
gend von Null bis zu einer vorbestimmten Zahl numeriert. Die
Logik- und Signalführungszelle schließt ebenfalls eine Mehr
zahl von programmierbaren Schaltern ein, wobei jeder Schal
ter Verbindungen zwischen einer Signalleitung in einem der
Busse und einer Signalleitung in einem weiteren der Busse
herstellt. Die Schalter sind derart angeordnet, daß zumin
dest eine der Signalleitungen im Signalbus k mit zumindest
einer der Signalleitungen im Signalbus (k-1) verbunden wer
den kann, für k = 1, 2, . . ., und jede der p Signalleitungen in
dem Logikzellenbus kann mit einer Signalleitung im Bus 0
verbunden sein.
Eine Mehrzahl dieser Logik- und Signalführungszellen kann
zusammengeschaltet sein, um ein FPGA zu bilden. Die Signal
leitungen der ungradzahlig numerierten Busse sind in einem
horizontalen parallelen Array angeordnet, und die Signallei
tungen der gradzahlig numierierten Busse sind in einem ver
tikalen parallelen Array angeordnet. Jede Signalleitung in
einer Logik- und Signalführungszelle ist mit einer entspre
chenden Signalleitung in einer benachbarten Logik- und Sig
nalführungszelle verbunden, vorausgesetzt, eine benachbarte
Zelle ist vorhanden, und vorausgesetzt, daß keine Unterbre
chung der Signalleitung vorhanden ist. Unterbrechungen der
Signalleitungen sind an vorbestimmten Orten des zweidimen
sionalen Arrays vorhanden, wobei die Orte von der Busnummer
abhängen, in der die Signalleitung enthalten ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend unter Bezugnahme auf die beiliegenden
Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines hierarchischen FPGA;
Fig. 2 ein Blockdiagramm eines bekannten Layouts eines
hierarchischen FPGA;
Fig. 3 ein Blockdiagramm einer Logik- und Signalführungs
zelle gemäß der vorliegenden Erfindung;
Fig. 4 ein Blockdiagramm eines Abschnitts eines FPGA, das
aus den Logik- und Signalführungszellen der vor
liegenden Erfindung aufgebaut ist;
Fig. 5-8 die Busverbindungen auf verschiedenen Ebenen eines
beispielhaften FPGA gemäß der vorliegenden Erfin
dung;
Fig. 9 ein Blockdiagramm eines weiteren Ausführungsbei
spiels einer Logik- und Signalführungszelle gemäß
der vorliegenden Erfindung; und
Fig. 10 ein Blockdiagramm eines weiteren Ausführungsbei
spiels einer Logik- und Signalführungszelle gemäß
der vorliegenden Erfindung.
Die vorliegende Erfindung betrifft eine Architektur für pro
grammierbare Logikschaltungen, die auf die Stärken und
Schwächen der Wafermaßstabsintegration gut angepaßt ist,
wobei die Möglichkeit für programmierbare Logiksysteme mit
geringeren Kosten und besserem Verhalten geschaffen wird,
als dies bisher erreicht wurde. Die Architektur ist ausge
hend von einer einzelnen Zelle aufgebaut, die sowohl die Si
gnalführungsstruktur für ein Mehrebenensignalführungsnetz
werk als auch eine Logikzelle einschließt. Die Zellen können
dann auf eine solche Art kombiniert werden, daß sie die
Oberfläche eines Wafers kachelartig bedecken.
Die vorliegende Erfindung kann anhand eines einfachen FPGAs,
das einen hierarchischen Signalführungsentwurf verwendet,
wie es in Fig. 1 durch das Bezugszeichen 10 bezeichnet ist,
leichter verstanden werden. Das FPGA 10 besteht aus einer
Mehrzahl von Logikzellen 12-19, die durch drei Ebenen von
Routern (Signalführungsvorrichtungen), die bei 22-24 gezeigt
sind, verbunden sind. Die erste Ebene der Router besteht aus
den vier Routern, die die Logikzellen verbinden. Die zweite
Ebene der Router besteht aus den Routern 25 und 26, die die
erste Ebene der Router verbinden. Die abschließende Ebene
der Router, die bei 24 gezeigt ist, besteht aus dem Router
27, der die zweite Ebene der Router verbindet und die Ein
gangs/Ausgangsleitungsverbindungen bereitstellt. Jeder der
Router umfaßt eine Mehrzahl von Schaltpunkten zur Herstel
lung von Querverbindungen zwischen den Bussen, die den
Router verlassen, und den Bussen, die in den Router eintre
ten. Ein typischer Schaltpunkt ist bei 30 gezeigt. Diese
Querverbindungsschalter werden verwendet, um verschiedene
Verbindungen zwischen den Logikzellen und der Eingangs- und
Ausgangsleitung herzustellen. Ein Weg, der die Logikzellen
12 und 15 verbindet, ist in Fig. 1 fettgedruckt dargestellt.
Die Art, auf die ein FPGA dieser Art bei bekannten Systemen
entworfen wurde, ist in Fig. 2 bei 100 gezeigt. Das FPGA 100
schließt drei Ebenen von Routern mit einer Ausgangsverzwei
gung (fan-out) von vier ein. Jede Ebene der Router verbindet
vier Router (oder Logikzellen) in der Ebene unter dieser.
Die Ebenen der Router können als ein Satz von geschachteten
Zellen betrachtet werden, die die Oberfläche der integrier
ten Schaltung bedecken. Das kleinste Netzwerk besteht aus
den Logikzellen und den Routern der Ebene 0. Der Router 101
ist z. B. mit vier Logikzellen verbunden, von denen die Lo
gikzelle 104 eine typische ist. Vier solcher Verbindungen
sind dann mit dem Router 102 verbunden. Vier Kombinationen,
die bei einem Router der Ebene 1 abschließen, sind dann mit
dem Router 103 verbunden, und so weiter.
Während diese Art der Struktur die Oberfläche eines Wafers
füllt und daher eine effiziente Verwendung der Oberfläche
erzeugt, hat sie verschiedene Nachteile. Erstens gibt es
eine große Anzahl von unterschiedlichen Strukturen, die not
wendig sind, um das FPGA 100 aufzubauen. Jede Routerebene
verwendet Router, die sich von denen, die in anderen Ebenen
verwendet werden, unterscheiden. Daher würde ein System mit
einer Ausgangsverzweigung von vier mit 64.000 Logikzellen
acht Ebenen von Routern zusätzlich zu den Logikzellen erfor
dern. Daher werden neun grundsätzliche Strukturen benötigt,
um ein solches System aufzubauen. Wenn z. B. die Logikzelle
oder der Schalterentwurf, der bei den Routern verwendet
wird, verändert wird, müssen alle Routerstrukturen neu ent
worfen werden, um sich der neuen Beabstandung auf dem Wafer
anzupassen. Daher können die Kosten der Änderung eines
großen FPGA-Entwurfs unerschwinglich sein.
Zweitens erfordert die Wafermaßstabsintegration eine Ein
richtung zum Anpassen defekter Schaltpunkte und/oder Logik
zellen. Wenn eine Logikzelle fehlerhaft ist, kann das Sy
stem, das die Anwendungen, die auf dem FPGA laufen, über
setzt, die Logikzelle vermeiden. Ein fehlerhafter Schalt
punkt kann jedoch den Verlust vieler Logikzellen verursa
chen, wenn der Router, dem diese angeordnet ist, deaktiviert
wird. Bekannte FPGA-Systeme stellen für solche Fehler keine
Möglichkeit bereit, die verhindert, daß der Router und sein
zugeordneter Teil-Baum verlorengeht.
Ein FPGA gemäß der vorliegenden Erfindung ist aus einer
einzelnen Logik- und Signalführungszelle aufgebaut, die die
Signalführungsfunktionen eines hierarchischen Mehrebenensy
stems, wie z. B. die teilweise Kachelung, die in Fig. 2 ge
zeigt ist, mit der Logikzelle verbindet. Eine Logik- und
Signalführungszelle 200 gemäß der vorliegenden Erfindung ist
schematisch in Fig. 3 gezeigt. Bezüglich einer Logikzelle wird
angenommen, daß diese P Anschlußstifte hat, die über einen
Bus 204 mit einem Signalführungsbus 207 der Ebene 0 verbun
den sind. Schaltpunkte 230 werden verwendet, um bestimmte
Verbindungen zwischen den Leitungen des Busses 204 und denen
des Busses 207 herzustellen. Die Anzahl von Leitungen im Bus
207 wird K mal P sein. Die Art, auf die K bestimmt wird,
wird im folgenden genauer beschrieben. Für die derzeitige
Beschreibung ist es ausreichend festzustellen, daß es die
Kreuzpunkte jeder der P Leitungen im Bus 204 ermöglichen,
mit einer oder mehr eines entsprechenden Satzes von K Lei
tungen im Bus 207 verbunden zu werden. Verbindungen zwischen
den Signalführungsfunktionen der Ebene 0 und den Signalfüh
rungsfunktionen der Ebene 1 sind durch die Kreuzpunkte 231
vorgesehen. Die Kreuzpunkte 231 verbinden die QP Leitungen
des Busses 213 mit den KP Leitungen des Busses 207. Die Art,
auf die Q bestimmt wird, wird ebenfalls im folgenden genauer
beschrieben.
Im allgemeinen existiert ein Bus für jede Signalführungsebe
ne. Die geraden Ebenen entsprechen den horizontalen Bussen
207-209. Die ungeraden Ebenen entsprechen den vertikalen
Bussen 211-213. Die Anzahl von Leitungen in den geraden Bus
sen sind bei dem bevorzugten Ausführungsbeispiel der vorlie
genden Erfindung gleich. Auf ähnliche Weise ist die Anzahl
der Leitungen in den Bussen der ungeraden Ebenen in dem be
vorzugten Ausführungsbeispiel der vorliegenden Erfindung
ebenfalls gleich. Ausführungsbeispiele, die dieser Regel
nicht folgen, werden jedoch trotzdem funktionieren. Dazwi
schen existiert ein Satz von Schaltpunkten, die jede Ebene
der Busse verbinden; daher wird der k-te Bus einen Satz von
Schaltpunkten haben, die ihn mit dem (k-1)-ten Bus verbinden
und einen weiteren Satz von Schaltpunkten, die ihn mit dem
(k+1)-ten Bus verbinden.
Die optimale Anzahl von horizontalen und vertikalen Signal
führungsleitungen, die für jeden Router benötigt werden, ist
eine Funktion der Ausgangsverzweigung der Signalführungsstu
fen in der Hierarchie und der Anzahl der Logikmodule in dem
FPGA. Die Anzahl kann durch Verwendung der Regel von Rent
bestimmt werden. Die Regel von Rent besagt, daß eine Logik
schaltung, die aus n Komponenten, z. B. Logikgattern, mit
einem Durchschnitt von p Signalanschlußstiften pro Kompo
nente besteht, pnα Eingangs- und Ausgangssignale erfordert,
wobei α eine Zahl zwischen 0,5 und 0,75 ist.
Eine wichtige Anwendung der Regel von Rent ist die ungefähre
Vorhersage der Ergebnisse einer Min-Cut-Aufteilung (= Auf
teilung mit minimalem Schnitt) eines Logiksystems. Min-Cut-
Aufteilungen beziehen sich auf den Prozeß der Aufteilung
einer Schaltung in N ungefähr gleichgroße Teile, derart, daß
die Anzahl von Signalen, die von einem Teil zu einem wei
teren übergeht, minimal ist. Es sei z. B. eine Schaltung mit
g Gattern mit einem Durchschnitt von p Anschlußstiften pro
Gatter angenommen, die in zwei Teile unter Verwendung der
Min-Cut-Aufteilung geteilt wird. Nach der Aufteilung wird
jede Halbschaltung aus etwa g/2 Gattern bestehen. Für die
Anzahl von Signalleitungen, die durch die Aufteilung aufge
schnitten werden, würde erwartet werden, daß diese bei
p(g/2)a liegt. Durch rekursives Anwenden der Nin-Cut-Auftei
lungsprozedur auf eine Schaltung, bis in jedem Teil eine
kleine Anzahl von Zellen existiert, kann eine hierarchische
Struktur gewonnen werden. Jede Ebene der Hierarchie stellt
eine Ebene der Aufteilung dar.
Ein Signalführungsteilnetzwerk kann als ein horizontales
Array von Routern ausgeführt sein. Jeder Router verbindet ß
Signalleitungen mit der Ebene über ihm und mit N Sätzen von
γ Signalleitungen der Ebene unter ihm. In dem Fall, in dem
N = 4 und α =q0,5 ist, kann gezeigt werden, daß β = 2γ ist. Es
kann ebenfalls gezeigt werden, daß für ein FPGA mit t Logik
zellen die optimale Anzahl von horizontalen Leitungen pro
Zelle etwa (3p/4)log₂(t) ist, und die optimale Anzahl von
vertikalen Leitungen pro Zelle etwa (3p/8)log₂(t) ist.
Die Schaltpunkte, die die horizontalen und vertikalen Lei
tungen verbinden, müssen nicht vollständig besetzt sein.
Jede horizontale oder vertikale Leitung entspricht einer
horizontalen Leitung in einem Router in einem topologisch
äquivalenten Netzwerk, wie es in Fig. 1 gezeigt ist. Die
horizontalen Routerleitungen in dem hierarchischen Netzwerk
haben alle eine feste Anzahl von Schaltern darauf. Daher ist
es für jede Leitung in dem abschließenden Netzwerk, das
durch die Verbindung der Logik- und Signalführungszellen
miteinander erhalten wird, ausreichend, dieselbe Anzahl von
Schaltern zu haben. Wie es im folgenden genauer beschrieben
werden wird, sind Signalführungsleitungen höherer Ebenen bei
dem abschließenden Gatterarray länger; daher kann die Anzahl
von Schaltern von Längeneinheit, d. h. pro Logik- und Signal
führungszelle niedriger sein als für Signalführungsleitungen
niedrigerer Ebenen. Es sei angenommen, daß die Ebene 0/Ebene
1-Schaltpunkte vollständig besetzt sind, d. h. es existiert
an jeder Schnittstelle einer horizontalen und einer verti
kalen Signalführungsleitung ein Schalter, dann müssen die
Ebene 2/Ebene 3-Schaltpunkte und die Ebene 3/Ebene 4-Schalt
punkte lediglich zu einem Viertel besetzt sein. Auf ähnliche
Weise müssen die Ebene 4/Ebene 5-Schaltpunkte lediglich zu
1/16 besetzt sein.
Es wird darauf hingewiesen, daß die obige Abstimmung für die
optimale Anzahl von Signalleitungen und Schaltpunkten an
nimmt, daß es in keiner der Signalleitungen oder in keinem
der Schaltpunkte Defekte gibt. Zusätzliche Signalleitungen
und Schaltpunkte können eingeschlossen sein, um in dem Fall,
daß das nachfolgende Testen einer Logikzelle anzeigt, daß
diese einen Fehler aufweist, Ersatz bereitzustellen.
Die Art, auf die die Logik- und Signalführungszellen gemäß
der vorliegenden Erfindung verbunden sind, um ein FPGA zu
bilden, wird nun für den Fall N = 4 detaillierter beschrieben.
Fig. 4 zeigt einen Abschnitt eines FPGA 300, das aus Logik-
und Signalführungszellen gemäß der vorliegenden Erfindung
aufgebaut ist. Eine typische Logik- und Signalführungszelle
ist bei 302 gezeigt. Die Signalführungsbusse der Ebene 0, 2
und 4 sind bei 303-305 gezeigt. Die Signalführungsbusse der
Ebene 1, 3 und 5 sind bei 306-308 gezeigt. Die niedrigste
Ebene der Hierarchie, die als Ebene 0 bezeichnet wird, ist
durch horizontales Verbinden von Gruppen von vier Logik- und
Signalführungszellen aufgebaut. Eine typische Gruppe ist bei
312 gezeigt. Innerhalb dieser Gruppe sind die Signalführ
ungsbusse 303-305 jeder Zelle mit den entsprechenden Signal
führungsbussen der benachbarten Logik- und Signalführungs
zelle verbunden. An den Grenzen der Gruppe ist eine Unter
brechung im Signalführungsbus der Ebene 0 eingefügt, wie es
bei 310 gezeigt ist.
Auf ähnliche Weise ist die erste Ebene der Hierarchie durch
Gruppieren von vier horizontalen Gruppen der Ebene 0 aufge
baut, um eine 4×4-Gruppierung von Logik- und Signalführungs
zellen zu bilden. Solche Gruppierungen sind bei 314 und 316
gezeigt. Innerhalb jeder dieser 4×4-Gruppierungen sind alle
vertikalen Busse 306-307 einer gegebenen Logik- und Signal
führungszelle mit den entsprechenden vertikalen Bussen der
benachbarten Logik- und Signalführungszellen verbunden. An
den Grenzen der Gruppe ist in jedem der Busse der Ebene 1
eine Unterbrechung eingefügt, wie es bei 320 gezeigt ist.
Die zweite Ebene der Hierarchie ist durch Kombinieren von
vier der 4×4-Gruppierungen in der horizontalen Richtung auf
gebaut. Innerhalb der Gruppierung der zweiten Ebene sind die
Signalführungsbusse der Ebene 2, 3, 4 . . . jeder der Zellen mit
den entsprechenden Bussen der benachbarten Zellen verbunden.
An den Grenzen jeder Gruppierung der zweiten Ebene ist in
dem Signalführungsbus der Ebene 2 jeder Zelle an der Kante
eine Unterbrechung eingefügt.
Die dritte Ebene der Hierarchie ist durch Kombinieren von
vier Ebene 2 Gruppierungen in der vertikalen Richtung aufge
baut. Innerhalb der Gruppierung der dritten Ebene sind die
Signalführungsbusse der Ebenen 3, 4, . . . jeder Zelle mit den
entsprechenden Bussen der benachbarten Zellen verbunden. An
den Grenzen jeder Gruppierung der dritten Zelle ist in dem
Signalführungsbus der Ebene 3 jeder Zelle an der Kante eine
Unterbrechung eingefügt. Eine vereinfachte Darstellung der
Busverbindungen der Ebenen 0-3 für den gesamten 16×16-Array
von Logik- und Signalführungszellen, ist in den Fig. 5-8 ge
zeigt. Dieser Prozeß wird für so viele Ebenen fortgeführt,
wie sie in dem bestimmten FPGA erwünscht sind.
Die Art, auf die die horizontalen und vertikalen Busse bei
dem bevorzugten Ausführungsbeispiel der vorliegenden Erfin
dung verbunden werden, kann mit Bezug auf Fig. 9 leichter
verstanden werden, die eine Logik- und Signalführungszelle
400 mit einer Logikzelle 402 darstellt. Die horizontalen
Busse 412 sind mit der nächsten horizontalen Zelle über ei
nen Satz von programmierbaren, bi-direktionalen Puffern 420
an der Schnittstelle mit der benachbarten Zelle auf einer
Seite verbunden. Auf ähnliche Weise sind die vertikalen Bus
leitungen 414 mit der benachbarten vertikalen Zelle über ei
nen Satz von programmierbaren, bi-direktionalen Puffern 410
an der Schnittstelle mit der benachbarten Zelle über dieser
Zelle verbunden. Jeder Puffer kann programmiert sein, um die
Leitungen auf jeder seiner Seiten zu isolieren. Daher können
die Signalübertragungsleitungslängen einfach durch geeignete
Konfiguration der Puffer bestimmt werden.
Es ist für Fachleute offensichtlich, daß die Unterbrechungen
der Pufferleitungen ebenfalls nur durch Aufbrechen der Lei
tungen an geeigneten Orten hergestellt werden könnten. Die
ser Ansatz hat den Vorteil, daß keine Puffer auf jeder Lei
tung jeder Logik- und Signalführungszelle benötigt wird.
Dieser Ansatz führt jedoch zu einer Zellenstruktur, bei der
jede Logik- und Signalführungszelle nicht ganz identisch zu
jeder anderen Logik- und Signalführungszelle ist. Es ist für
Fachleute ebenfalls offensichtlich, daß eine Kombination
dieser zwei Ansätze verwendet werden kann.
Die oben beschriebene Architektur ist auf die Wafermaßstabs
integration gut angepaßt. Ein FPGA-Chip kann selbst über
einen Wafer gekachelt sein. Die einzelnen Chips sind auf dem
Wafer derart ausgerichtet, daß die horizontalen und vertika
len Signalübertragungsleitungen von benachbarten Chips ver
bunden sind. Bei dem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung enthält jeder Chip eine Konfigurati
ons- und Steuerungsschaltung für die Logik- und Signalfüh
rungszellen innerhalb seines Bereichs.
Während die oben beschriebenen Ausführungsbeispiele der vor
liegenden Erfindung bezüglich der gleichen Ausgangsverzwei
gung auf jeder Ebene der Hierarchie beschrieben wurde, ist
es für Fachleute offensichtlich, daß Systeme mit vermischter
Ausgangsverzweigung, bei der alle Router auf einer gegebenen
Ebene die gleiche Ausgangsverzweigung haben, möglich sind.
Bei einem solchen System kann die Ausgangsverzweigung bei
unterschiedlichen Ebenen der Hierarchie unterschiedlich
sein. Die bevorzugte Ausgangsverzweigung liegt im Bereich
von 4 bis 16.
Während die oben beschriebenen Ausführungsbeispiele der vor
liegenden Erfindung eine wesentliche Verbesserung gegenüber
dem Stand der Technik darstellen, können, wenn dies der Raum
ermöglicht, den Logik- und Signalführungszellen zusätzliche
Kreuzschienenschalter hinzugefügt werden, um das Systemver
halten zu verbessern. Eine Logik- und Signalführungszelle
500, die diese zusätzlichen Schaltpunkte verwendet, ist in
Fig. 10 dargestellt. Die Logik- und Signalführungszelle 500
unterscheidet sich von den oben beschriebenen Logik- und
Signalführungszellen dahingehend, daß die Logikzelle 502
ebenfalls direkt mit allen Ebenen der Signalführungshierar
chie verbunden ist. Dies wird durch Einführen von Schalt
punkten erreicht, die die p Signalleitungen der Logikzelle
502 mit den Signalleitungen jedes Signalführungsbusses ober
halb des Signalführungsbusses der Ebene 0 verbinden. Die
Schaltpunkte, die den Bussen 504 und 505 entsprechen, sind
bei 531 bzw. 532 dargestellt. Diese entsprechen den ungrad
zahligen Ebenen 506-508, die bei 520-522 gezeigt sind. Keine
zusätzlichen Schaltpunkte sind für den Signalführungsbus 503
der Ebene 0 nötig, da dieser Bus bereits mit den Signallei
tungen der Signalführungszelle 502 verbunden ist.
Die Verbindung einer Logikzelle mit allen Schichten der Sig
nalführung, die durch die Logikzelle führen, ermöglicht Ab
kürzungen bei der Signalführung. Ohne zusätzliche Schalt
punkte muß ein Signal, das zwei weit beabstandete Logikzel
len verbindet, von seiner Quelle aus die Hierarchie nach
oben laufen und dann die Hierarchie zurück nach unten zu
seinem Ziel laufen. Die zusätzlichen Verbindungen ermög
lichen es, dies durch direktes Hüpfen von der Signalquelle
zu der höchsten Ebene der Signalführung, die benötigt wird,
um die Verbindung mit dem Ziel herzustellen, abzukürzen. Auf
ähnliche Weise kann das Signal am Zielpunkt direkt von einer
Ebene höher als Null geführt werden. Diese Art der Signal
führung reduziert den Mehraufwand und die Laufzeitverzöge
rungen.
Claims (4)
1. Gatterarray, das ein zweidimensionales Array aus einer
Anzahl von Logik- und Signalführungszellen (200; 400;
500) umfaßt, wobei jede Logik- und Signalführungszelle
folgende Merkmale aufweist:
eine Logikzelle (202; 402; 502) mit einem Logikzellen bus (204), der p-Signalleitungen einschließt, wobei die Logikzelle Operationen bezüglich Signalen durchführt, die auf zumindest einer der Signalleitungen empfangen werden, und die Signale auf zumindest einer der Signal leitungen erzeugt, die die Ergebnisse der Operationen anzeigen, und horizontalen (207-209) bzw. vertikalen (211-213) Signalbusabschnitten, die mit den horizonta len bzw. vertikalen Signalbusabschnitten horizontal bzw. vertikal angrenzender Logik- und Signalführungs zellen (200; 400; 500) verbindbar sind,
wobei jeder Signalbusabschnitt (207-209), (211-213) eine Mehrzahl von Signalleitungen einschließt, wobei die Si gnalbusabschnitte in den Logik- und Signalführungszel len jeweils aufeinanderfolgend von 0 bis zu einem vor bestimmten Wert numeriert sind; und
eine Mehrzahl von programmierbaren Schalteinrichtungen, wobei jede der Schalteinrichtungen eine Einrichtung zum Verbinden einer Signalleitung in einem der Busabschnit te (207-209), (211-213) mit einer Signalleitung in ei nem weiteren der Busabschnitte (207-209), (211-213) be reitstellt, wobei die Mehrzahl von Schalteinrichtungen (231, 232) derart angeordnet ist, daß zumindest eine der Signalleitungen im Signalbusabschnitt k mit zumin dest einer der Signalleitungen im Signalbusabschnitt (k-1), für k = 1 bis zu dem vorbestimmten Wert, verbun den werden kann, und daß jede der p-Signalleitungen in dem Logikzellenbus (204) mit einer Signalleitung zumin dest im Busabschnitt 0 verbindbar ist,
wobei die Signalleitungen der ungeradzahligen Busab schnitte (211-213) in einem vertikalen parallelen Array angeordnet sind, und die Signalleitungen der geradzah ligen Busabschnitte (207-209) in einem horizontalen pa rallelen Array angeordnet sind;
wobei die Logik und Signalführungszellen (202; 402; 502) in Gruppierungsebenen derart angeordnet sind, daß
N Logik- und Signalführungszellen horizontal angeordnet eine Gruppierung der Ebene 0 bilden,
N Gruppierungen der Ebene 0 vertikal angeordnet eine Gruppierung der Ebene 1 bilden,
jeweils N Gruppierungen einer ungeradzahligen Ebene (2n-1; nε N) horizontal angeordnet eine Gruppierung einer geradzahligen Ebene (2n) bilden; und
jeweils N Gruppierungen einer geradzahligen Ebene (2n; nε N) vertikal angeordnet eine Gruppierung einer unge radzahligen Ebene (2n+1) bilden.
eine Logikzelle (202; 402; 502) mit einem Logikzellen bus (204), der p-Signalleitungen einschließt, wobei die Logikzelle Operationen bezüglich Signalen durchführt, die auf zumindest einer der Signalleitungen empfangen werden, und die Signale auf zumindest einer der Signal leitungen erzeugt, die die Ergebnisse der Operationen anzeigen, und horizontalen (207-209) bzw. vertikalen (211-213) Signalbusabschnitten, die mit den horizonta len bzw. vertikalen Signalbusabschnitten horizontal bzw. vertikal angrenzender Logik- und Signalführungs zellen (200; 400; 500) verbindbar sind,
wobei jeder Signalbusabschnitt (207-209), (211-213) eine Mehrzahl von Signalleitungen einschließt, wobei die Si gnalbusabschnitte in den Logik- und Signalführungszel len jeweils aufeinanderfolgend von 0 bis zu einem vor bestimmten Wert numeriert sind; und
eine Mehrzahl von programmierbaren Schalteinrichtungen, wobei jede der Schalteinrichtungen eine Einrichtung zum Verbinden einer Signalleitung in einem der Busabschnit te (207-209), (211-213) mit einer Signalleitung in ei nem weiteren der Busabschnitte (207-209), (211-213) be reitstellt, wobei die Mehrzahl von Schalteinrichtungen (231, 232) derart angeordnet ist, daß zumindest eine der Signalleitungen im Signalbusabschnitt k mit zumin dest einer der Signalleitungen im Signalbusabschnitt (k-1), für k = 1 bis zu dem vorbestimmten Wert, verbun den werden kann, und daß jede der p-Signalleitungen in dem Logikzellenbus (204) mit einer Signalleitung zumin dest im Busabschnitt 0 verbindbar ist,
wobei die Signalleitungen der ungeradzahligen Busab schnitte (211-213) in einem vertikalen parallelen Array angeordnet sind, und die Signalleitungen der geradzah ligen Busabschnitte (207-209) in einem horizontalen pa rallelen Array angeordnet sind;
wobei die Logik und Signalführungszellen (202; 402; 502) in Gruppierungsebenen derart angeordnet sind, daß
N Logik- und Signalführungszellen horizontal angeordnet eine Gruppierung der Ebene 0 bilden,
N Gruppierungen der Ebene 0 vertikal angeordnet eine Gruppierung der Ebene 1 bilden,
jeweils N Gruppierungen einer ungeradzahligen Ebene (2n-1; nε N) horizontal angeordnet eine Gruppierung einer geradzahligen Ebene (2n) bilden; und
jeweils N Gruppierungen einer geradzahligen Ebene (2n; nε N) vertikal angeordnet eine Gruppierung einer unge radzahligen Ebene (2n+1) bilden.
2. Gatterarray gemäß Anspruch 1, bei dem
alle horizontalen (207-209) bzw. vertikalen (211-213) Busabschnitte aller horizontal bzw. vertikal aneinan dergrenzenden Logik- und Signalführungszellen (202; 402; 502) in den Gruppierungen der Ebenen 0 und 1 ver bunden sind,
bei horizontal nebeneinander angeordneten Gruppierungen der geradzahligen Ebenen (2n) jeweils alle geradzahli gen horizontalen Busabschnitte (207-209), deren Nume rierung größer ist als die Numerierung der genannten geradzahligen Ebene, derjenigen Logik- und Signalfüh rungszellen miteinander verbunden sind, die sich in verschiedenen Gruppierungen der genannten geradzahligen Ebene (2n) befinden und horizontal aneinandergrenzen, und
bei vertikal nebeneinander angeordneten Gruppierungen der ungeradzahligen Ebenen (2n-1) jeweils alle ungerad zahligen vertikalen Busabschnitte, deren Numerierung größer ist als die Numerierung der genannten ungerad zahligen Ebene, derjenigen Logik- und Signalführungs zellen (202; 402; 502) miteinander verbunden sind, die sich in verschiedenen Gruppierungen der genannten unge radzahligen Ebene (2n-1) befinden und vertikal aneinan dergrenzen.
alle horizontalen (207-209) bzw. vertikalen (211-213) Busabschnitte aller horizontal bzw. vertikal aneinan dergrenzenden Logik- und Signalführungszellen (202; 402; 502) in den Gruppierungen der Ebenen 0 und 1 ver bunden sind,
bei horizontal nebeneinander angeordneten Gruppierungen der geradzahligen Ebenen (2n) jeweils alle geradzahli gen horizontalen Busabschnitte (207-209), deren Nume rierung größer ist als die Numerierung der genannten geradzahligen Ebene, derjenigen Logik- und Signalfüh rungszellen miteinander verbunden sind, die sich in verschiedenen Gruppierungen der genannten geradzahligen Ebene (2n) befinden und horizontal aneinandergrenzen, und
bei vertikal nebeneinander angeordneten Gruppierungen der ungeradzahligen Ebenen (2n-1) jeweils alle ungerad zahligen vertikalen Busabschnitte, deren Numerierung größer ist als die Numerierung der genannten ungerad zahligen Ebene, derjenigen Logik- und Signalführungs zellen (202; 402; 502) miteinander verbunden sind, die sich in verschiedenen Gruppierungen der genannten unge radzahligen Ebene (2n-1) befinden und vertikal aneinan dergrenzen.
3. Gatterarray gemäß Anspruch 1 oder 2, das ferner folgen
des Merkmal aufweist:
eine Mehrzahl von programmierbaren Puffereinrichtungen (410, 420), wobei jede Puffereinrichtung (410, 420) in die entsprechende Signalleitung der Signalbusse (207- 209, 211-213, 412, 414) integriert ist, wobei jede Puf fereinrichtung (410, 420) eine Einrichtung umfaßt, um eine Unterbrechung der Signalleitung, in die diese inte griert ist, hervorzurufen.
eine Mehrzahl von programmierbaren Puffereinrichtungen (410, 420), wobei jede Puffereinrichtung (410, 420) in die entsprechende Signalleitung der Signalbusse (207- 209, 211-213, 412, 414) integriert ist, wobei jede Puf fereinrichtung (410, 420) eine Einrichtung umfaßt, um eine Unterbrechung der Signalleitung, in die diese inte griert ist, hervorzurufen.
4. Gatterarray gemäß einem der Ansprüche 1 bis 3, bei dem
die Mehrzahl von programmierbaren Schalteinrichtungen
(231, 232) jeder der p Signalleitungen in der Logikzelle
ermöglicht, mit einer entsprechenden Signalleitung in
jedem der Signalbusse (207-209, 211-213, 412, 414) ver
bunden zu werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9429493A | 1993-07-19 | 1993-07-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4425552A1 DE4425552A1 (de) | 1995-02-02 |
DE4425552C2 true DE4425552C2 (de) | 1996-08-01 |
Family
ID=22244332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4425552A Expired - Fee Related DE4425552C2 (de) | 1993-07-19 | 1994-07-19 | Gatterarray |
Country Status (4)
Country | Link |
---|---|
US (1) | US5519629A (de) |
JP (1) | JPH0766718A (de) |
DE (1) | DE4425552C2 (de) |
GB (1) | GB2280293B (de) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9312674D0 (en) * | 1993-06-18 | 1993-08-04 | Pilkington Micro Electronics | Configurabel logic array |
US5457410A (en) * | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6462578B2 (en) | 1993-08-03 | 2002-10-08 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6051991A (en) * | 1993-08-03 | 2000-04-18 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
JP3727065B2 (ja) | 1995-05-03 | 2005-12-14 | ビィティアール・インコーポレーテッド | スケーリング可能な多重レベル相互接続アーキテクチャ |
US5850564A (en) * | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
US5745372A (en) * | 1995-05-04 | 1998-04-28 | Hewlett-Packard Company | Apparatus and method for routing signals in a field programmable gate array integrated circuit |
US5841663A (en) * | 1995-09-14 | 1998-11-24 | Vlsi Technology, Inc. | Apparatus and method for synthesizing integrated circuits using parameterized HDL modules |
US6570404B1 (en) | 1996-03-29 | 2003-05-27 | Altera Corporation | High-performance programmable logic architecture |
US6212668B1 (en) * | 1996-05-28 | 2001-04-03 | Altera Corporation | Gain matrix for hierarchical circuit partitioning |
US5742181A (en) * | 1996-06-04 | 1998-04-21 | Hewlett-Packard Co. | FPGA with hierarchical interconnect structure and hyperlinks |
US6624658B2 (en) | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US6034547A (en) * | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US6301694B1 (en) | 1996-09-25 | 2001-10-09 | Altera Corporation | Hierarchical circuit partitioning using sliding windows |
DE19654595A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6185725B1 (en) * | 1997-04-11 | 2001-02-06 | Altera Corporation | Apparatus and method for partitioning logic into a programmable logic device |
US6289494B1 (en) | 1997-11-12 | 2001-09-11 | Quickturn Design Systems, Inc. | Optimized emulation and prototyping architecture |
US6237129B1 (en) * | 1998-03-27 | 2001-05-22 | Xilinx, Inc. | Method for constraining circuit element positions in structured layouts |
US6430732B1 (en) | 1998-03-27 | 2002-08-06 | Xilinx, Inc. | Method for structured layout in a hardware description language |
JP3576837B2 (ja) * | 1998-10-30 | 2004-10-13 | 日本電気株式会社 | プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ |
US6518156B1 (en) | 1999-03-29 | 2003-02-11 | Hewlett-Packard Company | Configurable nanoscale crossbar electronic circuits made by electrochemical reaction |
US7030408B1 (en) | 1999-03-29 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Molecular wire transistor (MWT) |
US6314019B1 (en) | 1999-03-29 | 2001-11-06 | Hewlett-Packard Company | Molecular-wire crossbar interconnect (MWCI) for signal routing and communications |
US6256767B1 (en) * | 1999-03-29 | 2001-07-03 | Hewlett-Packard Company | Demultiplexer for a molecular wire crossbar network (MWCN DEMUX) |
US6128214A (en) * | 1999-03-29 | 2000-10-03 | Hewlett-Packard | Molecular wire crossbar memory |
US6459095B1 (en) | 1999-03-29 | 2002-10-01 | Hewlett-Packard Company | Chemically synthesized and assembled electronics devices |
US6320412B1 (en) | 1999-12-20 | 2001-11-20 | Btr, Inc. C/O Corporate Trust Co. | Architecture and interconnect for programmable logic circuits |
US6693456B2 (en) * | 2000-08-04 | 2004-02-17 | Leopard Logic Inc. | Interconnection network for a field programmable gate array |
GB2370380B (en) * | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6836839B2 (en) * | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7325123B2 (en) | 2001-03-22 | 2008-01-29 | Qst Holdings, Llc | Hierarchical interconnect for configuring separate interconnects for each group of fixed and diverse computational elements |
US6458621B1 (en) * | 2001-08-01 | 2002-10-01 | Hewlett-Packard Company | Batch fabricated molecular electronic devices with cost-effective lithographic electrodes |
US6594810B1 (en) | 2001-10-04 | 2003-07-15 | M2000 | Reconfigurable integrated circuit with a scalable architecture |
US6986021B2 (en) * | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US6738961B2 (en) * | 2002-02-28 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Computer readable medium and a method for representing an electronic circuit as a routing-resource graph |
US6706619B2 (en) | 2002-03-16 | 2004-03-16 | Memx, Inc. | Method for tiling unit cells |
US20030173648A1 (en) * | 2002-03-16 | 2003-09-18 | Sniegowski Jeffry Joseph | Multi-die chip and method for making the same |
US6791162B2 (en) | 2002-03-16 | 2004-09-14 | Memx, Inc. | Unit cell architecture for electrical interconnects |
US6707077B2 (en) | 2002-03-16 | 2004-03-16 | Memx, Inc. | Chip interconnect bus |
US6919616B2 (en) * | 2002-03-16 | 2005-07-19 | Memx, Inc. | Chip with passive electrical contacts |
JP4283220B2 (ja) * | 2002-06-28 | 2009-06-24 | エヌエックスピー ビー ヴィ | ビルディングブロックを有する集積回路 |
US7255437B2 (en) * | 2003-10-09 | 2007-08-14 | Howell Thomas A | Eyeglasses with activity monitoring |
US6835262B1 (en) * | 2003-06-19 | 2004-12-28 | Northrop Grumman Corporation | Positive pressure hot bonder |
US7225422B2 (en) * | 2003-06-19 | 2007-05-29 | International Business Machines Corporation | Wire trimmed programmable logic array |
US6975139B2 (en) | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7460529B2 (en) * | 2004-07-29 | 2008-12-02 | Advantage Logic, Inc. | Interconnection fabric using switching networks in hierarchy |
US8010826B2 (en) * | 2005-09-13 | 2011-08-30 | Meta Systems | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US7478261B2 (en) * | 2005-09-13 | 2009-01-13 | M2000 | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US7275196B2 (en) | 2005-11-23 | 2007-09-25 | M2000 S.A. | Runtime reconfiguration of reconfigurable circuits |
US7423453B1 (en) | 2006-01-20 | 2008-09-09 | Advantage Logic, Inc. | Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric |
US7376921B2 (en) * | 2006-02-17 | 2008-05-20 | Athena Design Systems, Inc. | Methods for tiling integrated circuit designs |
US7368943B2 (en) * | 2006-03-28 | 2008-05-06 | Advantage Logic, Inc. | Enhanced scheme to implement an interconnection fabric using switching networks in hierarchy |
US7613047B2 (en) * | 2006-10-05 | 2009-11-03 | International Business Machines Corporation | Efficient circuit and method to measure resistance thresholds |
US7994818B2 (en) * | 2007-06-20 | 2011-08-09 | Agate Logic (Beijing), Inc. | Programmable interconnect network for logic array |
US7999570B2 (en) * | 2009-06-24 | 2011-08-16 | Advantage Logic, Inc. | Enhanced permutable switching network with multicasting signals for interconnection fabric |
US8341580B2 (en) * | 2009-09-28 | 2012-12-25 | Advantage Logic, Inc. | Modular routing fabric using switching networks |
EP3975429A1 (de) | 2015-02-22 | 2022-03-30 | Flex Logix Technologies, Inc. | Schaltmatrixarchitektur mit gemischter radix und/oder gemischtem modus und integrierte schaltung |
US10156841B2 (en) | 2015-12-31 | 2018-12-18 | General Electric Company | Identity management and device enrollment in a cloud service |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE34363E (en) * | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4642487A (en) * | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4775942A (en) * | 1985-12-09 | 1988-10-04 | International Business Machines Corporation | Seed and stitch approach to embedded arrays |
US4922441A (en) * | 1987-01-19 | 1990-05-01 | Ricoh Company, Ltd. | Gate array device having a memory cell/interconnection region |
USRE34444E (en) * | 1988-01-13 | 1993-11-16 | Xilinx, Inc. | Programmable logic device |
EP0437491B1 (de) * | 1988-10-05 | 1995-12-13 | Quickturn Systems Inc | Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5260881A (en) * | 1989-10-30 | 1993-11-09 | Advanced Micro Devices, Inc. | Programmable gate array with improved configurable logic block |
US5255203A (en) * | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
US5140193A (en) * | 1990-03-27 | 1992-08-18 | Xilinx, Inc. | Programmable connector for programmable logic device |
US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5313119A (en) * | 1991-03-18 | 1994-05-17 | Crosspoint Solutions, Inc. | Field programmable gate array |
US5255221A (en) * | 1991-04-02 | 1993-10-19 | At&T Bell Laboratories | Fully configurable versatile field programmable function element |
US5317209A (en) * | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
US5208491A (en) * | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
-
1994
- 1994-07-08 GB GB9413816A patent/GB2280293B/en not_active Expired - Fee Related
- 1994-07-19 JP JP6188816A patent/JPH0766718A/ja active Pending
- 1994-07-19 DE DE4425552A patent/DE4425552C2/de not_active Expired - Fee Related
-
1995
- 1995-05-01 US US08/432,234 patent/US5519629A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE4425552A1 (de) | 1995-02-02 |
US5519629A (en) | 1996-05-21 |
JPH0766718A (ja) | 1995-03-10 |
GB9413816D0 (en) | 1994-08-24 |
GB2280293B (en) | 1997-12-10 |
GB2280293A (en) | 1995-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4425552C2 (de) | Gatterarray | |
DE69924486T2 (de) | Spezielle schnittstellenarchitektur für eine hybride schaltung | |
DE102004014472B4 (de) | Anwendungsspezifischer integrierter Halbleiter-Schaltkreis | |
DE69933525T2 (de) | Architekturen für programmierbare logische Vorrichtungen | |
DE69822796T2 (de) | Nutzerprogrammierbarer prozessor | |
DE60128960T2 (de) | Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld | |
DE2633079C3 (de) | Anordnung zum elektrischen Verbinden von auf einem Halbleiterscheibchen aufgebauten Schaltungseinheiten mit einer gemeinsamen Sammelleitung | |
EP0010173B1 (de) | Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen | |
EP0202456B1 (de) | In integrierter Technik hergestellter Logik-Array-Baustein | |
DE60010614T2 (de) | On-line Prüfung des programmierbaren Verbindungsnetzwerks in einer feldprogrammierbaren Gatteranordnung | |
DE3606650A1 (de) | Hardware logik-simulator | |
DE19709219A1 (de) | Feldprogrammierbares Gatterarray mit hierarchischer Verbindungsstruktur und Hyperverbindungen | |
WO2002029600A2 (de) | Zellenarordnung mit segmentierterwischenzellstruktur | |
DE60031081T2 (de) | Regionalzeitmultiplexiertes emulationssystem | |
DE102020111905A1 (de) | Grobkörniges programmierbares routing-netz für logikvorrichtungen | |
DE69811795T2 (de) | Integrierte Schaltung zur Taktsignalversorgung und Verfahren zu ihrer Herstellung | |
DE60222011T2 (de) | Asynchrone sequenzschaltung mit unbestimmten impulsfolgen | |
DE1474581C3 (de) | Schiebe- und Rotierschaltungsanordnung | |
DE3543471C1 (de) | In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen | |
DE4327652C2 (de) | Integrierte Halbleiterschaltungsvorrichtung und Verfahren zum Entwerfen einer integrierten Halbleiterschaltungsvorrichtung | |
DE10143967A1 (de) | Plazierungs- und Weiterleitungsabtastkettenunterteilung nach Taktregionen | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
EP0039077A1 (de) | Zeitmultiplexkoppelfeld | |
DE2833729A1 (de) | Redundanzsystem mit acht vorrichtungen fuer fuenf kanaele | |
DE60221515T2 (de) | Speichersystem für schleifenbeschleunigung nach wunsch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |