DE10049629C1 - Programmierbare Schaltungsanordnung - Google Patents
Programmierbare SchaltungsanordnungInfo
- Publication number
- DE10049629C1 DE10049629C1 DE2000149629 DE10049629A DE10049629C1 DE 10049629 C1 DE10049629 C1 DE 10049629C1 DE 2000149629 DE2000149629 DE 2000149629 DE 10049629 A DE10049629 A DE 10049629A DE 10049629 C1 DE10049629 C1 DE 10049629C1
- Authority
- DE
- Germany
- Prior art keywords
- logic
- data
- network
- circuit arrangement
- arrangement according
- 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
- 239000011159 matrix material Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001465 metallisation Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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
- 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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Die Erfindung betrifft eine programmierbare Schaltungsanordnung mit mehreren Logikelementen (1), die kreisförmig zusammengeschaltet sind und gemeinsam einen Logikblock (2) bilden. Die Logikelemente (1) besitzen wenigstens einen ersten Dateneingang (3) und einen zweiten Dateneingang (4). Außerdem besitzen die Logikelemente (1) mindestens einen Datenausgang (5). Die Logikelemente (1) sind mit einheitlicher Signalflußrichtung vom Dateneingang zum Datenausgang kreisförmig zusammengeschaltet, so daß jeder Datenausgang (5) eines ersten Logikelements (1) jeweils an einen Dateneingang (3) des nachfolgenden Logikelements (1) gekoppelt ist. Der jeweils andere Dateneingang jedes Logikelements (1) steht als Dateneingang (7) des Logikblocks (2) zur Verfügung. Der Datenausgang (5) jedes Logikelements (1) ist gleichzeitig nach außen geführt und bildet einen Datenausgang (8) des Logikblocks (2). DOLLAR A Mit solch einer Schaltungsanordnung kann ein FPGA effektiv aufgebaut werden, wobei ein großer Teil der herkömmlichen Verbindungskapazitäten eingespart werden kann.
Description
Die vorliegende Erfindung betrifft eine programmierbare
Schaltungsanordnung mit mehreren Logikelementen, die wenig
stens zwei Dateneingänge und einen Datenausgang haben.
Solche programmierbaren Schaltungsanordnungen sind geeignet,
verschiedene komplexe digitale, kombinatorische Funktionen zu
realisieren, wobei die gewünschte digitale Funktion durch
eine veränderbare Programmierung der Schaltungsanordnung vom
Anwender vorgegeben wird. Programmierbare Schaltungsanordnun
gen bilden die Grundlage für anwenderprogrammierbare Logikma
trizen (Field Programmable Gate Array = FPGA). Bei neueren
Schaltkreisentwürfen werden programmierbare Schaltungsanord
nungen auch als Bestandteil von speziellen anwendungsbezoge
nen integrierten Schaltkreisen (Application Specific Inte
grated Circuits = ASIC) genutzt. Generell bieten solche
programmierbaren Schaltungsanordnungen den Vorteil, daß mit
ein und demselben Bauelement (üblicherweise als integrierter
Schaltkreis aufgebaut) je nach Bedarf verschiedene Logikfunk
tionen realisiert werden können. Auf diese Weise können
beispielsweise Schaltungen, die auf gedruckten Leiterplatten
angeordnet sind, an veränderte Einsatzbedingungen angepaßt
werden.
Die Grundlagen von FPGA-Schaltungen sowie die bevorzugten
Realisierungen und Anwendungsfälle sind zusammenfassend in
dem Buch "Das FPGA-Kochbuch", M. Wannemacher, International
Thompson Publishing, 1998, beschrieben. Dort sind auch die
üblichen Schaltungsanordnungen erläutert, die bisher zur
Realisierung von FPGA verwendet werden. Die derzeit üblichen
Schaltungsanordnungen in FPGA sind aus zwei Hauptkomponenten
zusammengesetzt, einerseits den Logikblöcken, die eine viel
seitig konfigurierbare Kombinatorik umfassen, und anderer
seits den sogenannten Verbindungskapazitäten, die der Reali
sierung der jeweils notwendigen Verbindungen zwischen den
Eingängen und den Ausgängen der Logikblöcke dienen. Die
Verbindungskapazitäten werden üblicherweise durch eine Viel
zahl von Verbindungsleitungen sowie durch Multiplexer und
Demultiplexer gebildet, die letztlich die verschiedenen
Verschaltungsvarianten der Verbindungsleitungen bereitstel
len, in Abhängigkeit von der angewendeten Programmierung.
Um so mehr Logikblöcke in einem integrierten Schaltkreis
enthalten sind und um so vielseitiger diese Logikblöcke
konfigurierbar sein sollen, desto aufwendiger wird die Reali
sierung der Verbindungskapazitäten. Die Verbindungsleitungen,
die Multiplexer und die Demultiplexer müssen es ermöglichen,
alle gewünschten kombinatorischen Schaltfunktionen mit den
zur Verfügung stehenden Logikblöcken zu realisieren. Die
Verbindungskapazitäten sind daher eine wesentliche Größe
hinsichtlich der Gesamtkomplexität des integrierten Schalt
kreises, des Fertigungsaufwandes, der Fehleranfälligkeit und
damit der Herstellungskosten. Obwohl die Verbindungskapazitä
ten selbst nicht zur Realisierung der eigentlichen Logikfunk
tion genutzt werden, beanspruchen sie einen erheblichen Teil
der zur Verfügung stehenden Ressourcen eines FPGA. Je viel
seitiger ein FPGA ausgelegt ist, um so höher ist auch der
Anteil der jeweiligen Verbindungskapazitäten, der bei einer
realisierten Logikfunktion nicht verwendet wird, also funk
tionslos oder redundant in dem jeweiligen Schaltkreis
verbleibt.
Eine Aufgabe der vorliegenden Erfindung besteht somit darin,
eine programmierbare Schaltungsanordnung bereitzustellen, bei
welcher der Bedarf an Verbindungskapazitäten drastisch
gesenkt wird, um dadurch die zur Verfügung stehenden Ressour
cen in einem mikroelektronischen Chip besser zu nutzen.
Insbesondere ist es die Aufgabe der Erfindung, die Anzahl der
Verbindungsleitungen zwischen den einzelnen Logikblöcken zu
reduzieren und auf Multiplexer und Demultiplexer weitgehend
zu verzichten. Dadurch soll es ermöglicht werden, mit vorhan
denen Fertigungstechnologien höhere Packungsdichten an konfi
gurierbaren Schaltungen zu erreichen.
Diese und weitere Aufgaben werden durch eine programmierbare
Schaltungsanordnung nach Anspruch 1 gelöst.
Auf diese Weise ist es möglich, Daten bzw. Signale in dem
Logikblock in Abhängigkeit von der Programmierung der unmit
telbar nachfolgenden Logikelemente, d. h. der diesen Logikele
menten zugeordneten logischen Funktion, an in weiteren Logik
ebenen nachfolgende Logikelemente weiterzuleiten und/oder als
Datenausgang des Logikblocks bereitzustellen. Dazu sind keine
zusätzlichen Verbindungskapazitäten erforderlich. Vom Daten
ausgang eines Logikelements werden sowohl ein Dateneingang
des unmittelbar nachfolgenden Logikelements als auch ein
Ausgang des Logikblocks stets beliefert. Entsprechend der
Programmierung der nachfolgenden Logikelemente ist bestimmt,
wie die anliegenden Daten weiter verarbeitet, ggf. unverändert
durchgeleitet oder ganz ignoriert werden. Damit bestimmt
die Programmierung der Logikelemente auch gleichzeitig das
sogenannte Routing für die Datensignale.
Eine besondere Ausführungsform dieser Schaltungsanordnung
zeichnet sich dadurch aus, daß jeder Logikblock aus vier
Logikelementen besteht, von denen jedes zwei Dateneingänge
und einen Datenausgang besitzt, wobei alle Datenausgänge der
Logikelemente auch als Datenausgänge des Logikblocks bereit
gestellt sind. Diese Kombination der Logikelemente hat sich
als besonders geeignet erwiesen, um möglichst vielseitig
programmierbare Schaltungsanordnungen aufzubauen, ohne den
schaltungs- und herstellungstechnischen Aufwand unnötig zu
erhöhen.
Bei abgewandelten Ausführungsformen können auch Logikelemente
mit abweichender Anzahl an Dateneingängen bzw. Datenausgängen
eingesetzt werden. Es ist auch denkbar, in den Logikblöcken
einzelne Logikelemente zu verwenden, deren Eingänge und/oder
Ausgänge nicht unmittelbar als Dateneingänge bzw. Datenaus
gänge des Logikblocks zur Verfügung stehen, sondern nur über
andere Logikelemente des gleichen Logikblocks erreichbar
sind.
Vorzugsweise können die Logikelemente als logische Verweista
bellen (look-up-table), herkömmliche Logikgatter oder Flip-
Flop ausgestaltet sein. Dem Fachmann ist jedoch auch bekannt,
daß andere schaltungstechnische Einheiten verwendet werden
können, um derartige Logikelemente zu realisieren. Jedoch hat
sich bisher gezeigt, daß insbesondere die logischen Verwei
stabellen einfach herstellbar sind und trotz leichter
Programmierung viele verschiedene Logikfunktionen realisieren
können.
Eine besonders zu bevorzugende Ausführungsform der Schal
tungsanordnung zeichnet sich dadurch aus, daß mehrere solcher
Logikblöcke zu einem Logiknetz zusammengeschaltet sind.
Vorzugsweise wird dabei die gleiche Anordnung der Logikblöcke
gewählt, wie sie auch für die Anordnung der Logikelemente
innerhalb der einzelnen Logikblöcke zur Anwendung kommt.
Eine besonders zweckmäßige Ausführungsform dieses Logiknetzes
ist aus einzelnen Netzmaschen zusammengesetzt, die jeweils
vier kreisförmig zusammengeschaltete Logikblöcke enthalten,
wobei an den Verknüpfungspunkten der Logikblöcke jeweils ein
Dateneingang und ein Datenausgang der benachbarten Logik
blöcke komplementär miteinander verbunden sind. Die Bestim
mung der Signalwege in der gesamten Schaltungsanordnung
erfolgt bei einer derartigen Gestaltung ohne Zuhilfenahme von
Multiplexern und Demultiplexern, allein durch die geeignete
Konfiguration und Auswahl der Logikelemente in dem Logiknetz.
Dabei werden die Signalwege (Routing) dadurch bestimmt,
welches unmittelbar mit dem Datenausgang verbundene Logikele
ment mit welcher speziellen Konfiguration eingestellt wird.
Wenn auf einen Datenausgang eines Logikelements ein ganz
bestimmtes Logikelement folgen muß (mit einer bestimmten
kombinatorischen Funktion), kann dieses nachfolgende Logik
element innerhalb des Logikblockes oder innerhalb einer
Netzmasche realisiert werden.
In Abweichung zu den aus dem Stand der Technik bekannten
Lösungen, wo die Signalwege durch Eingangsmultiplexer und
Ausgangsdemultiplexer bestimmt werden, kann bei Verwendung
der erfindungsgemäßen Schaltungsanordnung der Signalweg durch
eine geeignete Verteilung der benötigten kombinatorischen
Funktionen über die zur Verfügung stehenden Logikelemente
erreicht werden.
Bei einer nochmals weitergebildeten Ausführungsform der
Schaltungsanordnung ist die Struktur des Logiknetzes zumin
dest teilweise räumlich ausgebildet, indem ausgehend von
einer flächigen Netzstruktur zumindest teilweise die Daten
eingänge an einem Netzrand mit den Datenausgängen am gegen
überliegenden Netzrand verbunden sind. Durch diese Verschal
tung der einzelnen Logikblöcke bzw. Netzmaschen wird eine
weitgehend räumlich geschlossene Netzstruktur erzielt.
Beispielsweise können zylinderförmige, kissenförmige oder
kugelförmige Netzstrukturen aufgebaut werden, bei denen
besonders hohe Variationsmöglichkeiten der Signalführung
bestehen.
Weitere Vorteile, Einzelheiten und Weiterbildungen ergeben
sich aus der nachfolgenden Beschreibung bevorzugter Ausfüh
rungsformen der Erfindung, unter Bezugnahme auf die Zeich
nung. Es zeigen:
Fig. 1 ein Blockschaltbild einer ersten Ausführungsform
einer programmierbaren Schaltungsanordnung mit vier
Logikelementen, gemäß der Erfindung;
Fig. 2 ein Blockschaltbild einer zweiten Ausführungsform
der Schaltungsanordnung mit drei Logikelementen;
Fig. 3 ein Funktionsschaltbild einer möglichen Realisie
rungsform eines Logikelements, welches in der
erfindungsgemäßen Schaltungsanordnung verwendbar
ist;
Fig. 4 eine weitere Ausführungsform der Schaltungsanord
nung, wobei vier Logikblöcke zu einer Netzmasche
verbunden sind;
Fig. 5 ein Blockschaltbild eines Abschnittes eines Logik
netzes mit einer Vielzahl von Logikblöcken;
Fig. 6 eine Detaildarstellung eines Randbereichs eines
Logiknetzes.
Fig. 1 zeigt ein Blockschaltbild einer ersten Ausführungsform
einer erfindungsgemäßen programmierbaren Schaltungsanordnung.
Wesentlich für diese Schaltungsanordnung ist, daß mehrere
Logikelemente 1 kreisförmig zusammengeschaltet sind und
gemeinsam einen Logikblock 2 bilden. Bei der einfachsten
Ausführungsform besitzen die Logikelemente 1 jeweils einen
ersten Dateneingang 3 und einen zweiten Dateneingang 4.
Außerdem besitzen die Logikelemente 1 mindestens einen Daten
ausgang 5. Die Logikelemente 1 sind mit einheitlicher Signal
flußrichtung (betrachtet vom Dateneingang zum Datenausgang)
kreisförmig zusammengeschaltet, d. h. jeder Datenausgang 5
eines ersten Logikelements 1 ist jeweils an einen Datenein
gang (hier 3) des nachfolgenden Logikelements 1 gekoppelt.
Der jeweils andere Dateneingang jedes Logikelements 1 steht
als Dateneingang 7 des Logikblocks 2 zur Verfügung. Der
Datenausgang 5 jedes Logikelements 1 ist gleichzeitig nach
außen geführt und bildet einen Datenausgang 8 des Logikblocks
2.
Bei abgewandelten Ausführungsformen können die Logikelemente
1 mehrere Dateneingänge und/oder Datenausgänge besitzen.
Ebenfalls ist es möglich, andere Logikelemente in dem Logik
block vorzusehen, die beispielsweise keinen direkten Daten
ausgang des Logikblocks bereitstellen oder nur über andere
Logikelemente innerhalb desselben Logikblocks Daten empfangen
können. Außerdem kann die Anzahl der Logikelemente, die zu
einem Logikblock zusammengefaßt sind, variieren.
Durch die ringförmige Anordnung der Logikelemente sind
verschiedene Signalführungen möglich, die abhängig von der
jeweiligen Konfiguration der Logikelemente sind. Dabei ist zu
bedenken, daß gemäß dem Grundprinzip der programmierbaren
Schaltungsanordnung die Logikelemente mit verschiedenen Funk
tionen programmiert werden können. Die ringförmige Anordnung
eignet sich auch für ggf. benötigte Rückkopplungen innerhalb
eines Datenflusses, da die einzelnen Logikelemente sequen
tiell angeordnet sind. Die programmierte Funktion jedes
Logikelements bestimmt somit die weitere Verarbeitung und
Verteilung des Dateneingangs. Durch die Definition der
Signalwege (Routing) über die Konfiguration der verwendeten
Logikelemente ist es möglich, die bei FPGA nach dem Stand der
Technik üblichen Routingelemente (z. B. Multiplexer, Demulti
plexer, Schaltmatrizen) einzusparen. Dies führt insbesondere
zu einer effizienteren Nutzung der zur Verfügung stehenden
Chipfläche, so daß letztlich größere Schaltungsanordnungen
auf der Chipfläche realisiert werden können. Da auch die
sonst übliche Vielzahl von verschiedenen Verbindungsleitungen
drastisch reduziert wird, kann auf zusätzliche Metallisie
rungsebenen bei der Chipherstellung verzichtet werden,
wodurch die Herstellungskosten und die Fehleranfälligkeit bei
der Realisierung der Schaltungen sinken.
Beispielsweise könnte bei einer zu programmierenden Logik
funktion der Schaltungsanordnung der Bedarf bestehen, an
einer bestimmten Stelle in der sequentiellen Datenverarbei
tung einen Inverter vorzusehen, der den ihm eingespeisten
Dateneingang invertiert. In Abhängigkeit von dem weiteren
gewünschten Signalweg kann der Inverter innerhalb des im
Logikblock ausgebildeten Ringes angeordnet sein oder außer
halb dieses Logikblocks, so daß das entsprechende Signal über
einen Datenausgang 8 den Logikblock 2 verläßt und einem
benachbarten Logikblock zugeführt wird (siehe unten).
Die dargestellte Schaltungsanordnung besitzt weiterhin den
Vorteil, daß die Signalwege nicht über Multiplexer/Demulti
plexer in Abhängigkeit von der Programmierung der Schaltungs
anordnung an verschiedene nachfolgende Logikelemente geschal
tet sind, sondern eine feste Verschaltung mit Logikelementen
aufweisen, so daß konkret definierte und konstante Lastver
hältnisse an den Ausgängen der Logikelemente vorhanden sind.
Dadurch werden für die Schaltung zerstörerische Fehlkonfigu
rationen, die bei einer freien Programmierung auftreten könn
ten, ausgeschlossen. Es ist generell keine programmierte
Konfiguration möglich, die zu einer Überlastung einzelner
Logikelemente führen könnte.
Fig. 2 zeigt ein Blockschaltbild einer zweiten Ausführungs
form der Schaltungsanordnung. Der Logikblock 2 enthält bei
dieser Ausführungsform nur drei Logikelemente 1. Die
Verschaltung der Logikelemente 1 erfolgt in der oben
beschriebenen Weise wiederum kreisförmig, so daß jeder Daten
ausgang 5 des Logikelements an den ersten Dateneingang 3 des
nachfolgenden Logikelements gekoppelt ist. Der zweite Daten
eingang jedes Logikelements steht wiederum als Dateneingang 7
des Logikblocks 2 zur Verfügung. Bei den beiden Ausführungs
formen, die in Bezug auf die Fig. 1 und 2 beschrieben
wurden, entspricht die Anzahl der Dateneingänge bzw. der
Datenausgänge des Logikblocks jeweils der Anzahl der im
Logikblock enthaltenen Logikelemente.
Fig. 3 zeigt eine beispielhafte schaltungstechnische Reali
sierung des Logikelements 1. Das Logikelement 1 ist hier als
logische Verweistabelle (look-up-table) gestaltet. In bekann
ter Weise besitzt eine solche Verweistabelle neben den Daten
eingängen 3, 4 und dem Datenausgang 5 mehrere Programmierein
gänge 10, über deren Voreinstellung die logische Funktion der
Verweistabelle programmiert wird. Im dargestellten Beispiel
ist die Verweistabelle als XOR-Gatter programmiert, wie dies
auch durch die Funktion des Datenausgangs angegeben ist,
Y = a1 XOR a2. Die Logikelemente 1 können jedoch auch durch
andere Schaltungselemente realisiert werden. Die verschiede
nen Möglichkeiten für die Gestaltung der Logikelemente sind
dem Fachmann aus der allgemeinen Schaltungstechnik bekannt,
so daß an dieser Stelle auf weitere Beispiele verzichtet
werden kann.
Fig. 4 zeigt ein Blockschaltbild einer Netzmasche 12, die
eine Weiterbildung der Schaltungsanordnung darstellt. Die
Netzmasche 12 ist aus vier Logikblöcken 2 zusammengesetzt,
die wiederum kreisförmig zusammengeschaltet sind, so daß sich
eine geschlossene Netzmasche ergibt. Bei anderen Ausführungs
formen kann die Anzahl der für eine Netzmasche verwendeten
Logikblöcke variieren. Die einzelnen Logikblöcke 2 sind
derart miteinander gekoppelt, daß jeweils ein Datenausgang 8
eines Logikblocks 2 auf einen Dateneingang 7 des benachbarten
Logikblocks geschaltet ist, wobei gleichzeitig eine Kopplung
in entgegengesetzter Richtung besteht. Bei der Verwendung
gleichmäßig orientierter Logikblöcke 2 zum Aufbau der Netz
masche 12 ergibt sich aus dieser Kopplung, daß die Signal
flußrichtung innerhalb eines Logikblocks 2 in entgegengesetztem
Richtungssinn gegenüber der kreisförmigen Signalflußrich
tung innerhalb der Netzmasche 12 verläuft.
Fig. 5 zeigt ein Blockschaltbild eines Abschnittes eines
Logiknetzes 15. Dieses Logiknetz 15 ist aus einer Vielzahl
von Netzmaschen zusammengesetzt, so daß sich die Größe des
Logiknetzes beliebig an den jeweiligen Anwendungsfall anpas
sen läßt. Durch einfaches Verbinden mehrerer Netzmaschen an
den jeweiligen Randpunkten (siehe Fig. 4) kann das Logiknetz
in jeder Richtung beliebig fortgesetzt werden. Die Besonder
heit der in Fig. 5 gezeigten Ausführungsform besteht darin,
daß das Logiknetz 15 eine räumliche Struktur aufweist. In der
gewählten zweidimensionalen Abbildung ist ein erstes Teilnetz
16 und ein zweites Teilnetz 17 erkennbar, die durch unter
schiedliche Schattierungen kenntlich gemacht sind. Die beiden
Teilnetze 16, 17 erscheinen in dieser Art der Darstellung mit
einer unterschiedlichen Orientierung der Signalflußrichtung.
Tatsächlich werden jedoch gleichartige Netzmaschen verwendet,
wobei das zweite Teilnetz lediglich von der "Rückseite" gese
hen wird, da es sich im Vergleich zu dem ersten Teilnetz 16
auf der anderen Seite des räumlichen Logiknetzes 15 befindet.
Diese räumliche Struktur des Logiknetzes wird am einfachsten
erzeugt, indem bestimmte Randbereiche eines zweidimensionalen
Logiknetzes mit anderen Randbereichen dieses Netzes in der
bereits beschriebenen Weise verbunden werden.
Fig. 6 zeigt eine Detailansicht eines Randbereiches des
Logiknetzes 15. Zwei an sich gleichartige Logikblöcke 2, die
jeweils in Netzmaschen integriert sind, werden an den Randbe
reichen, die nicht unmittelbar an eine benachbarte Netzmasche
angrenzen, mit gegenüberliegenden Netzmaschen verbunden. Aus
dieser räumlichen Anordnung resultiert die in der Figur
dargestellte Sichtweise. Die Verbindung der Randbereiche
erfolgt in der bereits beschriebenen Weise, also durch Kopp
lung der Dateneingänge und Datenausgänge des jeweiligen
Logikblocks.
Die konkrete räumliche Ausbildung des Logiknetzes kann an die
speziellen Anwendungsfälle angepaßt werden. Beispielsweise
sind zylindrische Formen des Netzes denkbar. Bei der prakti
schen Realisierung könnten die Teilnetze des Logiknetzes zwar
in verschiedenen Ebenen eines Mikrochips ausgebildet sein,
jedoch ist dies aufgrund der einfachen Schaltungsstruktur
nicht erforderlich. Vielmehr können die Teilnetze entkoppelt
in einer Ebene des Chips liegen, wobei die Logikblöcke des
ersten Teilnetzes 16 in den räumlichen Lücken des zweiten
Teilnetzes 17 liegen und umgekehrt. Aufgrund der beschriebe
nen zyklischen Struktur der Logikelemente, Logikblöcke und
Netzmaschen kann die gesamte Schaltung weitgehend kreuzungs
frei in einer Ebene eines Mikrochips aufgebaut werden. Da
somit eine Großteil der üblichen Kreuzungspunkte entfallen,
können die notwendigen Metallisierungsebenen reduziert
werden. Für die einfachen Kreuzungen, die sich beim Ineinan
derlegen der Teilnetze ergeben, genügen zwei Metallisierungs
ebenen, die durch herkömmliche Technologien ohne weiteres
herstellbar sind.
Aus der Darstellung zeigt sich, daß unter Anwendung der
erläuterten Schaltungsanordnung Logikblöcke und beliebig
große Logiknetze aufgebaut werden können, in denen verschie
denste Logikfunktionen realisiert werden können. In Abhängig
keit von der Programmierung der Logikelemente wird der benö
tigte Signalweg in einem solchen Logiknetz verteilt, so daß
keine zusätzlichen Verbindungskapazitäten erforderlich sind.
Da unabhängig von der Programmierung jeder Datenausgang eines
Logikelements (bei den dargestellten Ausführungsformen)
lediglich an zwei Dateneingänge nachfolgender Logikelemente
gekoppelt ist, sind jederzeit konstante und definierte
Lastverhältnisse vorhanden. Damit sind aber auch konstante
Signalverzögerungszeiten vorhanden, die nicht von unter
schiedlichen Leitungslängen (bei veränderter Programmierung)
abhängig sind, sondern allein durch die Anzahl der verwende
ten Logikelemente bestimmt sind. Die Anzahl der in einer
programmierbaren Schaltungsanordnung (z. B. FPGA) vorzuhalten
den Verbindungskapazitäten wird durch die Nutzung dieser
Schaltungsanordnung drastisch verringert.
Claims (11)
1. Programmierbare Schaltungsanordnung mit:
mehreren Logikelementen (1), die wenigstens zwei Dateneingänge (3, 4) und einen Datenausgang (5) haben,
mehreren Logikblöcken (2), die jeweils mindestens drei kreisförmig zusammengeschaltete Logikelemente (1) besitzen, wobei der Datenausgang (5) jedes Logikelements an einen ersten Dateneingang (3) des nachfolgenden Logikelements gekoppelt ist und zumindest einige der Datenausgänge der Logikelemente gleichzeitig als Datenausgänge (8) des Logikblocks bereitgestellt sind, und wobei ein zweiter Dateneingang (4) jedes Logikelements als ein Dateneingang (7) des Logikblocks bereitgestellt ist,
einer Vielzahl von Netzmaschen (12), die jeweils mindestens drei kreisförmig zusammengeschaltete Logikblöcke aufweisen, wobei an den Verknüpfungspunkten der Logikblöcke jeweils ein Dateneingang (7) und ein Datenausgang (8) der benachbarten Logikblöcke miteinander verbunden sind, und
einem Logiknetz (15), wobei
Teilnetze (16, 17) ausgebildet sind, die jeweils eine Vielzahl von Netzmaschen enthalten,
die Teilnetze in einer gemeinsamen Ebene eines Mikrochips alternierend ausgebildet sind, so dass die Logikblöcke eines Teilnetzes in den räumlichen Lücken eines anderen Teilnetzes liegen, und
die Teilnetze an den Netzrändern miteinander verbunden sind.
mehreren Logikelementen (1), die wenigstens zwei Dateneingänge (3, 4) und einen Datenausgang (5) haben,
mehreren Logikblöcken (2), die jeweils mindestens drei kreisförmig zusammengeschaltete Logikelemente (1) besitzen, wobei der Datenausgang (5) jedes Logikelements an einen ersten Dateneingang (3) des nachfolgenden Logikelements gekoppelt ist und zumindest einige der Datenausgänge der Logikelemente gleichzeitig als Datenausgänge (8) des Logikblocks bereitgestellt sind, und wobei ein zweiter Dateneingang (4) jedes Logikelements als ein Dateneingang (7) des Logikblocks bereitgestellt ist,
einer Vielzahl von Netzmaschen (12), die jeweils mindestens drei kreisförmig zusammengeschaltete Logikblöcke aufweisen, wobei an den Verknüpfungspunkten der Logikblöcke jeweils ein Dateneingang (7) und ein Datenausgang (8) der benachbarten Logikblöcke miteinander verbunden sind, und
einem Logiknetz (15), wobei
Teilnetze (16, 17) ausgebildet sind, die jeweils eine Vielzahl von Netzmaschen enthalten,
die Teilnetze in einer gemeinsamen Ebene eines Mikrochips alternierend ausgebildet sind, so dass die Logikblöcke eines Teilnetzes in den räumlichen Lücken eines anderen Teilnetzes liegen, und
die Teilnetze an den Netzrändern miteinander verbunden sind.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeich
net, daß jeder Logikblock (2) aus vier Logikelementen (1)
besteht, von denen jedes zwei Dateneingänge (3, 4) und
einen Datenausgang (5) besitzt, wobei alle Datenausgänge
(5) der Logikelemente auch als Datenausgänge (8) des
Logikblocks bereitgestellt sind.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß weiterhin Logikelemente bereitgestellt
sind, die Dateneingänge besitzen, die nicht als Datenein
gang des Logikblocks dienen.
4. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß wenigstens einige der Logikelemente
mehr als zwei Dateneingänge und/oder mehr als einen Daten
ausgang besitzen, die in gleicher Weise an die nachfolgen
den Logikelemente gekoppelt sind.
5. Schaltungsanordnung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß die Logikelemente (1) als
logische Verweistabellen oder andere programmierbare
Schaltungseinheiten ausgebildet sind.
6. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeich
net, daß die beiden Verbindungen zwischen zwei benachbar
ten Logikblöcken (2) jeweils an die Dateneingänge dessel
ben Logikelements gekoppelt sind.
7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeich
net, daß jeweils eine Anzahl von gleichartigen Logikblöc
ken (2), die der Anzahl der in jedem Logikblock enthalte
nen Logikelemente (1) entspricht, zu einer geschlossenen
Netzmasche (12) zusammengeschaltet sind, wobei die Signal
flußrichtung in der Netzmasche entgegengesetzt zur Signal
flußrichtung in den beteiligten Logikblöcken ist.
8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeich
net, daß die Struktur des Logiknetzes (15) zumindest
teilweise räumlich ausgebildet ist.
9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch
gekennzeichnet, daß das Logiknetz (15) eine Vielzahl von
Netzmaschen (12) enthält, die jeweils vier kreisförmig
gekoppelte Logikblöcke (2) besitzen, in denen jeweils
vier Logikelemente (1) kreisförmig zusammengeschaltet
sind.
10. Schaltungsanordnung nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet, daß sie als eine anwenderprogram
mierbare Logikmatrix (FPGA) in einen integrierten Schalt
kreis implementiert ist.
11. Schaltungsanordnung nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet, daß sie in einem anwenderspezifi
schen integrierten Schaltkreis (ASIC) implementiert ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000149629 DE10049629C1 (de) | 2000-10-05 | 2000-10-05 | Programmierbare Schaltungsanordnung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000149629 DE10049629C1 (de) | 2000-10-05 | 2000-10-05 | Programmierbare Schaltungsanordnung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10049629C1 true DE10049629C1 (de) | 2002-08-01 |
Family
ID=7658945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2000149629 Expired - Fee Related DE10049629C1 (de) | 2000-10-05 | 2000-10-05 | Programmierbare Schaltungsanordnung |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10049629C1 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3630835A1 (de) * | 1985-09-11 | 1987-04-09 | Pilkington Micro Electronics | Integrierte halbleiterkreisanordnungen und systeme |
DE4224804C1 (de) * | 1992-07-27 | 1994-01-13 | Siemens Ag | Programmierbare logische Schaltungsanordnung |
DE3786669T2 (de) * | 1986-11-07 | 1994-03-31 | Concurrent Logic Inc | Programmierbare logische zelle und matrix. |
-
2000
- 2000-10-05 DE DE2000149629 patent/DE10049629C1/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3630835A1 (de) * | 1985-09-11 | 1987-04-09 | Pilkington Micro Electronics | Integrierte halbleiterkreisanordnungen und systeme |
DE3786669T2 (de) * | 1986-11-07 | 1994-03-31 | Concurrent Logic Inc | Programmierbare logische zelle und matrix. |
DE4224804C1 (de) * | 1992-07-27 | 1994-01-13 | Siemens Ag | Programmierbare logische Schaltungsanordnung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69924486T2 (de) | Spezielle schnittstellenarchitektur für eine hybride schaltung | |
DE69534812T2 (de) | Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration | |
DE69031525T2 (de) | Konfigurierbare Logikanordnung und zugehöriges Verfahren | |
DE60204189T2 (de) | FPGA mit zumindest zwei unterschiedlichen und unabhängig konfigurierbaren Speicherstrukturen | |
DE69028395T2 (de) | Konfigurierbare zellenanordnung | |
DE69933525T2 (de) | Architekturen für programmierbare logische Vorrichtungen | |
DE4425552C2 (de) | Gatterarray | |
DE69633370T2 (de) | Benutzerprogrammierbares Gatterfeld mit Multiport-RAM | |
DE69721343T2 (de) | FPGA mit Setz-/Rücksetzleitungen | |
DE2556274C2 (de) | Programmierbare logische Schaltung | |
DE19639629C2 (de) | Programmierbare, monolithische, integrierte Logikschaltung und Verfahren zum Implementieren derselben | |
DE69820326T2 (de) | Frequenzteiler | |
DE3513473A1 (de) | Hochgeschwindigkeits-datenschieberegister | |
DE10313926A1 (de) | Halbleiterbauelement mit einem auf Zellen beruhenden Grundelementaggregat, welches ein vorspringendes Teil in einem aktiven Gebiet aufweist | |
DE3215671C2 (de) | Programmierbare Logikanordnung | |
DE102004045527B4 (de) | Konfigurierbare Logikschaltungsanordnung | |
DE60012639T2 (de) | Verbindungsressourcen für programmierbare logische integrierte schaltungen | |
DE60222011T2 (de) | Asynchrone sequenzschaltung mit unbestimmten impulsfolgen | |
EP0231434B1 (de) | In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen | |
DE102004056322B4 (de) | Logik-Grundzelle und Logik-Grundzellen-Anordnung | |
DE10049629C1 (de) | Programmierbare Schaltungsanordnung | |
DE10241385A1 (de) | Integrierter Schaltkreis | |
DE10347975B4 (de) | Einrichtung der programmierbaren Logik | |
DE68915211T2 (de) | Standardzelle. | |
WO2005088838A1 (de) | Logik-grundzelle, logik-grundzellen-anordnung und logik-vorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SANKOWSKI, HAGEN, 65812 BAD SODEN, DE |
|
8320 | Willingness to grant licenses declared (paragraph 23) | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |