DE10049629C1 - Programmierbare Schaltungsanordnung - Google Patents

Programmierbare Schaltungsanordnung

Info

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
Application number
DE2000149629
Other languages
English (en)
Inventor
Hagen Sankowski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SANKOWSKI, HAGEN, 65812 BAD SODEN, DE
Original Assignee
Hagen Sankowski
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hagen Sankowski filed Critical Hagen Sankowski
Priority to DE2000149629 priority Critical patent/DE10049629C1/de
Application granted granted Critical
Publication of DE10049629C1 publication Critical patent/DE10049629C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks

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.
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.
DE2000149629 2000-10-05 2000-10-05 Programmierbare Schaltungsanordnung Expired - Fee Related DE10049629C1 (de)

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)

* Cited by examiner, † Cited by third party
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.

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
DE60204189T2 (de) FPGA mit zumindest zwei unterschiedlichen und unabhängig konfigurierbaren Speicherstrukturen
DE69721342T2 (de) FPGA mit erhöhter Zellnutzung
DE69933525T2 (de) Architekturen für programmierbare logische Vorrichtungen
DE102004014472B4 (de) Anwendungsspezifischer integrierter Halbleiter-Schaltkreis
DE69633370T2 (de) Benutzerprogrammierbares Gatterfeld mit Multiport-RAM
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
WO2005088838A1 (de) Logik-grundzelle, logik-grundzellen-anordnung und logik-vorrichtung
EP0309670A2 (de) Konzentrator für schnelle Datenvermittlungsnetze
DE60218969T2 (de) Breitband Phasenschieber
DE10147643A1 (de) Multiplexerzelle und Multiplexer-Schaltungsanordnung

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