DE102004001669A1 - Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus - Google Patents
Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus Download PDFInfo
- Publication number
- DE102004001669A1 DE102004001669A1 DE102004001669A DE102004001669A DE102004001669A1 DE 102004001669 A1 DE102004001669 A1 DE 102004001669A1 DE 102004001669 A DE102004001669 A DE 102004001669A DE 102004001669 A DE102004001669 A DE 102004001669A DE 102004001669 A1 DE102004001669 A1 DE 102004001669A1
- Authority
- DE
- Germany
- Prior art keywords
- configuration
- logic device
- memory
- configurable
- programmable logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/17748—Structural details of configuration 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/1731—Optimisation thereof
-
- 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
-
- 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/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- 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)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Ein konfigurierbares Logikbauelement (30) besitzt keinen lokalen Konfigurationsspeicher. Die Konfiguration des konfigurierbaren Logikbauelements wird durch anliegende Spannungen definiert. Die Konfigurationsspannungen werden vorteilhafterweise in einem externen Konfigurationsspeicher (2) erzeugt. In einer bevorzugten Ausgestaltung wird ein Speicherchip (20) (beispielsweise EEPROM) und das erfindungsgemäße Logikbauelement ohne Konfigurationsspeicher (30) face-to-face montiert. Eine zwischenliegende strukturierte Lötschicht (40) stellt eine Vielzahl von elektrischen Verbindungen zur Verfügung.
Description
- Die Erfindung betrifft vereinfachte Vorrichtungen und verfahren zum schnellen Umprogrammieren eines programmierbaren Logikbauelements (PLD) gemäß den unabhängigen Ansprüchen.
- Programmierbare Logikbauelemente (PLD, programmable logical device) sind allgemeine und häufig sehr regulär aufgebaute Architekturen für logische Operationen. Sie enthalten eine Vielzahl von Schaltern, die eine Vielzahl von Signalpfaden schalten können. Somit erhalten sie erst durch eine Konfiguration ihre spezifische Funktion. Ein PLD (
1a und1b ) besteht grundsätzlich aus konfigurierbaren logischen Zellen und einem konfigurierbaren Verbindungsnetzwerk, das eine wahlfreie Verknüpfung der logischen Zellen erlaubt. Die Konfiguration des PLD betrifft dabei sowohl die logischen Zellen als auch das Verbindungsnetzwerk, wobei die Komplexität der Konfiguration auf der Bit-Ebene oder auf einer etwas komplexeren Modulebene angelegt sein kann. Je allgemeiner die Verwendbarkeit eines PLD desto höher gestaltet sich der Aufwand für die Konfigurierbarkeit. Programmierbare Logikbauelemente umfassen unter anderem auch die wichtige Gruppe der weitverbreiteten FPGAs (Field Programmable Gate Arrays). Diese zeigen eine maximale Flexibilität und besitzen daher einen hohen Konfigurationsaufwand für die logischen Zellen und das zugehörige Verbindungsnetzwerk. - Die Konfiguration ist grundsätzlich entweder irreversibel (einmalige Programmierung) oder wiederbeschreibbar (Rekonfigurierbarkeit). Die Konfiguration eines PLD geschieht entweder bei der Herstellung des Systems oder während des Betriebes, beispielsweise:
- – während der Boot-Phase,
- – bei wechselnden Applikationen während des Systembetriebes,
- – periodisch bei einer Sequenzialisierung von Teilaufgaben oder
- – durch dynamische Selbstmodifikation (self-reconfiguration).
- Bisher bestehen typische Lösungen beim Einsatz von Programmierbaren Logikbauelementen, insbesondere FPGAs darin, dass die Konfigurationsdaten über die Platine in das Logikbauelement
30 geladen werden.2 zeigt den schematischen Aufbau einer solchen Lösung. Dabei benötigt man neben dem Logikbauelement30 noch mindestens ein weiteres Bauelement20 für die permanente Bereitstellung der Konfigurationsdaten. Es handelt sich dabei meist um einen nicht-flüchtigen Speicher der als wiederbeschreibbares Medium (EEPROM, electrically erasable and programable read only memory) ausgebildet sein kann. Die Daten werden über den, über die Platine führenden, Konfigurationsdatenbus42 vom Speicherbauelement20 zum Logikbauelement30 geleitet. Die Breite des Konfigurationsdatenbus42 beträgt typischerweise 32 Bit während zur Konfiguration eines Programmierbaren Logikbauelements Konfigurationswörter mit Datenmengen in der Größenordung von 1 MBit benötigt werden. Die Breite des Konfigurationsdatenbusses42 ist daher deutlich kleiner als die Länge des Konfigurationswortes, weswegen die Übertragung der Konfigurationsdaten in sequentieller Form geschieht. Ein Konfigurationswechsel benötigt daher eine meist hohen Anzahl von Maschinenzyklen (bei obiger Abschätzung: 220–5 = 32768 Zyklen), was typischerweise, abhängig von der Taktrate des Konfigurationsbusses42 , in einer Betriebspause des Logikbauelements30 von einigen Millisekunden resultiert. Ein Konfigurationswechsel steht somit Echtzeit-Anwendungen entgegen. - Wegen der sequentiellen Übertragung der Konfigurationsdaten müssen diese zudem in lokalen Speicherzellen
34 , beispielsweise SRAM Zellen, gespeichert werden. Diese nehmen einen signifikanten Flächenanteil des Logikbauelements30 ein, da beispielsweise für 10000 logische Zellen typischerweise 1 MBit Konfigurationsdaten zwischengespeichert werden müssen. - Die Speicherzellen
34 sind auf der Oberfläche des Logikbauelements30 mit der Matrix der logischen Zellen33 verwoben. Bei den Speicherzellen34 handelt es sich somit um lokale Cluster von SRAM-Zellen, so dass im Vergleich zu großflächigen SRAM-Feldern keine optimierten SRAM-Zellen verwendet werden können, was einen zusätzlichen Flächenzuwachs bedeutet. - Der wichtigste Nachteil der beschriebenen Lösung liegt in den wirtschaftlichen Gründen (Flächenverbrauch) und der begrenzten Miniaturisierbarkeit des Systemaufbaus.
- Darüber hinaus gibt es Lösungen bei denen innerhalb eines gemeinsamen Gehäuses ein Konfigurations-Speicherbauelement und ein Logikbauelement über Bond-Drähte verbunden sind. Der Vorteil dieser Lösung ist der bereits erhöhte Miniaturisierungsgrad. Die technischen Nachteile dieser Lösung liegen in der begrenzten Bandbreite für den Datenaustausch, sowie dem weiterhin bestehenden Bedarf lokal zwischenzuspeichern. Die Rekonfiguration ist nach wie vor ein sequentieller Vorgang und findet wegen der damit verbundenen Betriebspausen selten statt.
- Ein dritter Lösungsweg besteht darin, die lokalen Speicherzellen
34 auf dem Logikbauelement30 aus nicht-flüchtigen Zellen aufzubauen. Typischerweise sind das eingebettete EEPROM Zellen (embedded flash). Man erspart sich dadurch den externen Konfigurationsspeicher und die internen SRAM-Zellen. Da eine EEPROM Zelle nur ca. ein Drittel der Fläche einer SRAM Zelle benötigt, erzielt man damit eine Flächenersparnis auf dem Logikbauelement30 . Diesem Vorteil steht gegenüber, dass bei einer Verwendung lokaler EEPROM Zellen die Programmierspannung zur Programmierung der EEPROM Zellen auf dem Chip erzeugt werden muss, wofür Spannungswandler benötigt werden. Der wesentliche und sehr kostspielige Nachteil dieser Lösung liegt jedoch in der Notwendigkeit zwei verschiedene Halbleiter-Technologien auf einem Chip zu vereinen bzw. eine Halbleiter-Technologie bereitzustellen, sie sowohl EEPROM-Zellen als auch konfigurierbare Zellen optimiert. - Aufgabe der Erfindung ist es daher, verbesserte Vorrichtungen zum Aufbau und ein vereinfachtes Verfahren zum Betrieb eines kostengünstigen und flexibel einsetzbaren programmierbaren Logikbauelements anzugeben.
- Diese Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen und Ausgestaltungen sind in den Unteransprüchen angegeben.
- Eine erste erfindungemäße Vorrichtung betrifft ein konfigurierbares Logikbauelement, welches keinen Konfigurationsspeicher aufweist. Die Konfiguration des Logikbauelements wird über an elektrischen Verbindungen anliegenden Spannungen festgelegt. Es handelt sich erfindungsgemäß um kontinuierliche bzw. DC-Spannungen. Die Gesamtheit der anliegenden Konfigurationsspannungen bildet einen Satz von Konfigurationsspannungen, welcher eine Konfiguration des Logikbauelements definiert. Die Anzahl der zur Verfügung stehenden, wechselseitig isolierten elektrischen Verbindungen gibt die Breite des Konfigurationsbusses vor. Die Breite des Konfigurationsbusses ist größer oder gleich der Anzahl der, zum Einstellen der gewünschten Konfiguration notwendigerweise anliegenden, Konfigurationsspannungen. Dies ermöglicht die parallele Einspeisung von Konfigurationsdaten in das konfigurierbare Logikbauelement mittels eines Satzes von Konfigurationsspannungen.
- Durch die Vermeidung einer sequentiellen Datenübertragung kann auf die Zwischenspeicherung von Konfigurationsdaten, in innerhalb des konfigurierbaren Logikbauelements angeordneten lokalen Konfigurationsspeichern, verzichtet werden.
- Ein Satz von Konfigurationsspannungen definiert die Konfigurationsdaten in verdichteter oder expandierter Form. Bei der expandierten Datendarstellung entspricht eine Konfigurationsspannung genau einem Konfigurations-Bit für das konfigurierbare Logikbauelement. Die Konfigurationsspannungen werden daher ohne weitere Verarbeitung direkt zur Konfiguration der konfigurierbaren Zellen des konfigurierbaren Logikbauelements genutzt. Die konfigurierbaren Zellen umfassen die logischen Zellen und das Verbindungsnetzwerk des Logikbauelements. Im Gegensatz dazu definiert bei einer verdichteten Datendarstellung eine Konfigurationsspannung eine Mehrzahl von Konfigurations-Bits. Beispielsweise kann eine 1 aus N Kodierung (one-hot-only) mittels einer verdichteten Datendarstellung ausgedrückt werden. Die verdichteten Daten werden mit Hilfe einer Expansionslogik innerhalb des konfigurierbaren Logikbauelements expandiert. Eine verdichtete Datendarstellung des Konfigurationswortes kann aber auch durch die Verwendung von Mehr-Niveau-Spannungen erreicht werden. Eine Konfigurationsspannung stellt dabei ein Mehr-Bit-Symbol dar, welches eine Mehrzahl von Konfigurations-Bits für das konfigurierbare Logikbauelement beschreibt. Die Expansionslogik selbst kann wiederum konfigurierbar sein, um verschiedene Arten der verdichteten Datendarstellung expandieren zu können.
- Die parallele Zuführung von Konfigurationsdaten in Form von Konfigurationsspannungen wird für eine neue, vereinfachte Architektur des konfigurierbaren Logikbauelements genutzt, bei der die Speicherung von Konfigurationsdaten in lokalen Speicherzellen (
34 in2 ) völlig entfällt. Die Konfigurationsspannungen liegen während der Gültigkeitsdauer der gewünschten Konfiguration kontinuierlich an. - Eine weitere erfindungsgemäße Vorrichtung betrifft ein programmierbares Logikbauelement, welches ein konfigurierbares Logikbauelement wie oben beschrieben, ein Speicherbauelement mit Konfigurationsspeicher sowie elektrische Verbindungen zwischen dem konfigurierbaren Logikbauelement und dem Speicherbauelement aufweist. Das konfigurierbare Logikbauelement wird dabei mit Hilfe von Konfigurationsspannungen konfigu riert, welche innerhalb des Speicherbauelements erzeugt und über die elektrischen Verbindungen dem konfigurierbaren Logikbauelement zugeführt werden.
- Die Konfigurationsspannungen werden gemäß einem im Konfigurationsspeicher abgelegten Konfigurationswort erzeugt und bilden einen Satz von Konfigurationsspannungen. Der Satz von Konfigurationsspannungen liegt während der Gültigkeitsdauer der Auswahl des Konfigurationswortes an.
- In einer vorteilhaften Ausgestaltung der Erfindung sind im Konfigurationsspeicher mehrere Konfigurationsworte gespeichert, auf welche mit Hilfe von Multiplexerstrukturen zugegriffen werden kann. Die Auswahl des Konfigurationswortes kann dabei vom konfigurierbaren Logikbauelement selbst oder von einer anderen Schaltungseinheit gesteuert werden. Gemäß der Auswahl eines neuen Konfigurationswortes, wird ein neuer Satz von Konfigurationsspannungen erzeugt und das konfigurierbare Logikbauelement rekonfiguriert. Das programmierbare Logikbauelement wird somit umprogrammiert. Durch den parallelen Konfigurationsdatenaustausch zwischen Konfigurationsspeicher und konfigurierbarem Logikbauelement ist ein schneller Konfigurationswechsel möglich. Im Idealfall wird das konfigurierbare Logikbauelement bzw. das programmierbare Logikbauelement innerhalb eines Maschinenzyklus rekonfiguriert bzw. umprogrammiert. Somit ist eine Mehrfach-Verwendung des programmierbaren Logikbauelements für verschiedene Aufgaben, beispielsweise in Echtzeitanwendungen, möglich.
- In einer weiteren bevorzugten Ausführungsform werden die Daten, welche das konfigurierbare Logikbauelement verarbeitet, während des Konfigurationswechsels innerhalb der logischen Zellen oder eines sonstigen Speicherelements gehalten und nach dem Konfigurationswechsel mit Hilfe der neuen Konfiguration weiterverarbeitet.
- In einer weiteren vorteilhaften Ausgestaltung der Erfindung betrifft der Konfigurationswechsel des konfigurierbaren Logikbauelements nur einen Teil der konfigurierbaren Zellen. Dazu ist das konfigurierbare Logikbauelement in mehrere Segmente unterteilt. Für jedes Segment des konfigurierbaren Logikbauelements stehen jeweils eine Anzahl auswählbarer Konfigurationswörter innerhalb des Konfigurationsspeichers zur Verfügung. Die Konfiguration der verschiedenen Segmente des konfigurierbaren Logikbauelements findet unabhängig voneinander statt. Die Flexibilität bei der Konfiguration des konfigurierbaren Logikbauelements nimmt dadurch zu.
- Eine weitere erfindungsgemäße Vorrichtung betrifft einen integrierten Schaltkreis mit konfigurierbarem Logikbauelement und elektrischen Zuleitungen wie oben beschrieben. Das konfigurierbare Logikbauelement erhält seine Konfiguration über extern zugeführte Spannungen und verzichtet auf einen lokalen Konfigurationsspeicher. Daher kann der Aufbau des konfigurierbaren Logikbauelements auf dem integrierten Schaltkreis optimiert werden.
- Durch den Wegfall der Zwischenspeicherung in lokalen Speicherzellen wird eine höhere Dichte der konfigurierbaren Logikbauelemente auf dem integrierten Schaltkreis erzielt. Das bisher bei Logikbauelemente sehr ungünstige Verhältnis von Konfigurations-Overhead zu nutzbarer Logik verbessert sich spürbar.
- Dies äußert sich einerseits in einem erhöhten Miniaturisierungsgrad der Vorrichtung. Dieser erlaubt die Verwendung preiswerter Gehäuse sowie beispielsweise die Implementierung in Chip-Karten. Weiterhin vereinfacht sich die Herstellung des integrierten Schaltkreises, da die Halbleiter-Technologie nur auf die Herstellung der konfigurierbaren Zellen optimiert sein muss. Zudem können auch die Verbindungslängen im Verbindungsnetzwerk verkürzt werden, was sich positiv auf die Energiebilanz des Logikbauelements auswirkt.
- Das konfigurierbare Logikbauelement kann sich dabei auf mehrere integrierte Schaltkreise erstrecken. Weiterhin kann es vorteilhaft sein auf dem integrierten Schaltkreis nicht nur das konfigurierbare Logikbauelement sondern auch weitere Baugruppen anzuordnen.
- Eine weitere erfindungsgemäße Vorrichtung betrifft ein programmierbares Logikbauelement, welches einen ersten integrierten Schaltkreis mit konfigurierbaren Logikbauelement, wie oben beschrieben, sowie einen zweiten integrierten Schaltkreis mit einem Speicherbauelement mit Konfigurationsspeicher enthält. Die beiden integrierten Schaltkreise sind face-to-face montiert, d.h. die integrierten Schaltkreise sind mit ihren aktiven Seiten zusammengefügt. Dabei werden die Transistoren und Metallisierungsebenen des oberen integrierten Schaltkreises gespiegelt auf die Metallisierungsebenen und Transistoren des unteren integrierten Schaltkreises gelegt. Eine zwischenliegende strukturierte Lötschicht stellt eine Vielzahl wechselseitig isolierter, elektrischer Verbindungen zwischen beiden integrierten Schaltkreisen her. Die Lötschicht ist mechanisch sehr stabil.
- Aus dieser Aufbautechnik ergeben sich folgende Vorteile:
- – Hohe Anzahl von elektrisch wechselseitig isolierten Verbindungen;
- – Sehr kurze und geschützte Verbindungen;
- – Integration unterschiedlicher Halbleiter-Technologien;
- – Vereinfachung der Architektur von Logikbauelementen; und
- – Höchster Miniaturisierungsgrad des Aufbaus.
- Die hohe Anzahl von elektrischen Verbindungen ermöglicht einen breitbandigen bzw. parallelen Zugriff auf das Logikbauelement innerhalb des ersten integrierten Schaltkreises zur Übertragung von Konfigurationsdaten aus dem Konfigurationsspeicher des zweiten integrierten Schaltkreis. Die elektrischen Verbindungen sind innerhalb der strukturierten Löt schicht stark geschützt und erhöhen somit die Betriebsicherheit durch den Schutz beispielsweise vor störenden Einstrahlungen und die Datensicherheit vor möglichen Lauschangriffen. Wegen der mechanischen Stabilität der Lötschicht werden die integrierten Schaltkreise dabei mit hoher Wahrscheinlichkeit mechanisch beschädigt und die Daten vernichtet.
- Durch die face-to-face-Aufbautechnik können mit unterschiedlichen Technologien hergestellte Halbleiter-Chips verbunden werden und somit die kostenintensivere Alternative von eingebetteten Technologien bzw. der Integration mehrerer Halbleiter-Technologien bei der Herstellung eines integrierten Schaltkreises vermieden werden. Der Herstellungsprozess beider Halbleiter-Chips kann daher in Bezug auf die jeweilige Halbleiter-Technologie optimiert werden, was sich in einem hohen Miniaturisierungsgrad und einer kostengünstigen Herstellungsweise äußert. In der vorliegenden Erfindung kann auf lokale Speicherzellen im Logikbauelement bzw. auf dem ersten integrierten Schaltkreis verzichtet werden. Der sehr hohe Miniaturisierungsgrad erlaubt die Verwendung preisgünstiger Gehäuse, sowie die Implementierung in Chipkarten.
- Für eine optimale Nutzung ist es günstig, wenn sich die Anschlussraster von Speicherzellen einerseits und Konfigurationsschalter der konfigurierbaren Zellen andererseits möglichst decken.
- Die Verwendung einer hochgradig konfigurierbaren Architektur zusammen mit einem reprogrammierbaren Lesespeicher (beispielsweise EEPROM) stellt eine kostengünstige Plattform dar. Ein weiterer Vorteil liegt in den zusätzlichen Sicherheitsaspekten, weil das programmierbare Logikbauelement ein reguläres Layout hat. Man kann also von der Struktur nicht auf die Funktion zurückschließen. Eingeschränkt gilt dies ebenso für das Speicherbauelement in Form eines EEPROMs, bei dem lediglich die Programmierung die Funktion bestimmt. Bei einer face-to-face Verlötung kann unterstellt werden, dass bei einem Trennen des Speicher- und des Logikbauelements mit hoher Wahrscheinlichkeit Zerstörungen auftreten, die eine Rekonstruktion des Speicherinhaltes erschweren. Die face-to-face-Montage erhöht die Aufwände für das Ausspionieren der Schaltung soweit, dass zumindest eine entsprechende Ausrüstung notwendig ist.
- Die face-to-face-Montage unterstützt embedded configurability, weil damit sämtliche Systemkomponenten in einem Chip-Gehäuse zusammengefasst werden können.
- In einer bevorzugten Ausführungsform liegen sich beide integrierten Schaltkreise deckungsgleich gegenüber. Damit wird die Länge der elektrischen Verbindungen zwischen den beiden integrierten Schaltkreisen minimiert, was sich vorteilhaft auf die Energiebilanz auswirkt. Weiterhin wird dadurch die maximale Betriebs- und Datensicherheit erreicht.
- Besitzen beide integrierte Schaltkreise unterschiedliche Flächen, so wird der kleinere integrierte Schaltkreis mittig auf dem größeren integrierten Schaltkreis platziert, wobei die elektrischen Verbindungen zwischen den beiden integrierten Schaltkreisen strahlenförmig verlaufen.
- In dem Fall, dass das Speicherelement deutlich kleiner als das Logikbauelement gewählt werden kann, ist auch denkbar mehrere Konfigurationswörter in dem Speicherelement zu halten.
- Bei dem erfindungsgemäßen Verfahren zur Konfiguration eines konfigurierbaren Logikbauelements wird dessen Konfiguration über einen Satz von Konfigurationsspannungen definiert, welche dem konfigurierbaren Logikbauelement über elektrische Zuleitungen zugeführt werden. Die Konfigurationsspannungen definieren eine Konfiguration und liegen für die Dauer der Gültigkeit der Konfiguration kontinuierlich an. Die Konfigurationsspannungen sind Gleichspannung bzw. DC-Spannungen.
- Durch die permanente Zuführung der Konfigurationsdaten in Form von kontinuierlich anliegenden Konfigurationsspannungen kann auf das Zwischenspeichern von Konfigurationsdaten innerhalb des Logikbauelements verzichtet werden, wodurch sich der Aufbau des erfindungsgemäßen konfigurierbaren Logikbauelemnts vereinfacht.
- Bei dem erfindungsgemäßen Verfahren zur Programmierung eines programmierbaren Logikbauelements ist ein Konfigurationswort in einem Konfigurationsspeicher abgelegt. Das Konfigurationswort definiert dabei einen Satz von Konfigurationsspannungen. Mit Hilfe des Satzes von Konfigurationsspannungen wird ein konfigurierbares Logikbauelement gemäß obigem erfindungsgemäßem Verfahren konfiguriert.
- In einer vorteilhaften Ausgestaltung, wird der Satz von Konfigurationsspannungen innerhalb eines Speicherbauelements generiert, welcher auch den Konfigurationsspeicher umfasst.
- Bei dem erfindungsgemäßen Verfahren zur Umprogrammierung eines programmierbaren Logikbauelements ist in dem Konfigurationsspeicher eine Mehrzahl von Konfigurationswörtern gespeichert. Die Auswahl eines Konfigurationswortes bestimmt die resultierende Konfiguration des konfigurierbaren Logikbauelements bzw. die Programmierung des programmierbaren Logikbauelements. Die Auswahl eines Konfigurationswortes bleibt für die Dauer der Gültigkeit der zugehörigen Konfiguration bestehen. Durch die Auswahl eines neuen Konfigurationswortes wird das konfigurierbare Logikbauelement rekonfiguriert bzw. das programmierbare Logikbauelement neu- bzw. umprogrammiert.
- Die Zugriff auf eines der im Konfigurationsspeicher abgelegten Konfigurationswörter, kann dabei mit Hilfe von Multiplexerstrukturen realisiert werden.
- In einer vorteilhaften Ausgestaltung des Verfahrens findet das Rekonfigurieren des konfigurierbaren Logikbauelements bzw. das Umprogrammieren des programmierbaren Logikbauelements innerhalb eines Maschinenzyklus statt. Die Konfigurationsdaten werde in Form von kontinuierlich anliegenden Konfigurationsspannungen parallel übertragen. Die Auswahl eines neuen Konfigurationswortes und die Erzeugung des zugehörigen Satzes von Konfigurationsspannungen ist daher der zeitbestimmende Faktor bei der Umprogrammierung des programmierbaren Logikbauelements. Diese Schritte finden bei geeignetem Aufbau des Speicherbauelements innerhalb eines Maschinenzyklus statt. Die Umprogrammierung des programmierbaren Logikbauelements findet daher innerhalb eines Maschinenzyklus statt. Die daraus resultierende Betriebspause des Logikbauelements beträgt einen Maschinenzyklus.
- In einer weiteren vorteilhaften Ausgestaltung betrifft die Rekonfiguration nicht das gesamte Logikbauelement sondern nur eine Anzahl von Segmenten, in welche das Logikbauelement unterteilt ist. Für jedes Segment kann unter einer Anzahl von zugehörigen Konfigurationswörtern gewählt werden. Diese Verfahren nennt man auch paging.
- Die Unterteilung des Logikbauelements in Segmente ermöglicht eine parallele Datenverarbeitung in den einzelnen Segmenten des konfigurierbaren Logikbauelements sowie eine rasche, unabhängige Rekonfiguration der verschiedenen Segmente. Insbesondere können einzelne Segmente des konfigurierbaren Logikbauelements rekonfiguriert werden, während andere Segmente die Datenverarbeitung fortführen bzw. noch mit der Abarbeitung eines laufenden Tasks beschäftigt sind. Danach kann ein sehr schneller Task-Wechsel erfolgen. Die hohe Geschwindigkeit der Rekonfiguration unterstützt dynamische Task-Erzeugung. Die Möglichkeit parallel ablaufender Tasks, sowie deren rasche Konfiguration ermöglicht eine neue Form von programmierbaren Rechnern.
- Ein erfindungsgemäßes Verfahren zur Verarbeitung von Daten in einem programmierbaren Logikbauelement weist eine Mehrzahl von Verarbeitungsschritten auf. Zwischen einem ersten und einem zweiten Arbeitsschritt wird das programmierbare Logikbauelement umprogrammiert. Die Daten werden während der entstehenden Betriebspause des Logikbauelements zwischengespeichert. Die Daten werden vorteilhafterweise in den konfigurierbaren logischen Zellen des Logikbauelements oder einem speziellen Datenspeicher zwischengespeichert. Die Umprogrammierung des programmierbaren Logikbauelements kann die Rekonfiguration des gesamten oder nur einer Anzahl von Segmenten des konfigurierbaren Logikbauelements betreffen.
- Die erfindungsgemäßen Vorrichtungen und Verfahren unterstützen die Mehrfachnutzung eines konfigurierbaren bzw. programmierbaren Logikbauelements. Das programmierbare Logikbauelement kann für mehrere Aufgaben eingesetzt werden, die gleichzeitig oder parallel anfallen. Typische Anwendungen sind Algorithmen für Paketverarbeitung, bei welchen in einem ersten Verarbeitungsschritt eine größere Datenmenge verarbeitet wird und der nächste Schritt auf den vorher berechneten Satz von Daten aufsetzt.
- Die erfindungsgemäße Vorrichtungen und Verfahren unterstützen den raschen Konfigurationswechsel und erleichtern dadurch die Mehrfachverwendung des programmierbaren Logikbauelements bei Echtzeitanforderungen. Nach einer sehr kurzen Betriebspause für die Umprogrammierung können die Daten weiterverarbeitet werden. Dabei können Daten beim Konfigurationswechsel in den Flip-Flops der konfigurierbaren logischen Zellen oder in einem Daten-RAM (random access memory, Schreib- und Lesespeicher mit wahlfreiem Zugriff) zwischengespeichert werden.
- Nachfolgend werden anhand der Figuren verschiedene Ausführungsbeispiele beschrieben. Es zeigen:
-
1a und1b : Zelltypen eines Logikbauelements; -
2 : schematischer Aufbau eines Logikbauelements mit lokalem Konfigurationsspeicher und externem Permanetspeicher; -
3 : erfindungsgemäße face-to-face-Montage eines Logik- und eines Speicherbauelements; -
4 : schematischer Aufbau eines erfindungsgemäßen Logikbauelements ohne lokalen Konfigurationsspeicher; -
5 : Satz von Konfigurationsspannungen mit verdichteter Datendarstellung mit anschließender Expansion; und -
6 : Schema einer segmentierten Architektur. - In den
1a und1b sind die vier Zelltypen dargestellt, die im Allgemeinen innerhalb eines Logikbauelements, wie beispielsweise eines programmierbaren Logikbauelements oder eines FPGAs, auftreten. Konfigurierbare Logikzellen11 dienen der Signalverarbeitung auf Bitebene. Konfigurierbare Abgreifzellen12 greifen aus einem Datenbus15a so viele Signal ab, wie die Logikzelle11 Eingänge besitzt. Konfigurierbare Einspeiszellen13 führen einem weiteren Datenbus15b das Ausgangssignal der Logikzelle11 zu. Konfigurierbare Koppelzellen14 sind Matrizen zur wahlfreien und bidirektionalen Schaltung von Signalpfaden (Verdrahtung) im Verbindungsnetzwerk eines Logikbauelements30 . - Eine typische Implementierung einer konfigurierbaren Logikzelle
11 verwendet Lookup-Tabellen (lut). Im Folgenden werden als Beispiel ein Lookup-Tabelle (lut4) mit vier Eingangssignalen und einem Ausgangssignal angenommen. Die Tabelle benötigt 16 Konfigurationssignale für eine uneingeschränkte Konfigurierbarkeit. Das nachgeschaltete Flip-Flop und der Multiplexer benötigen in Summe ca. 5 Konfigurations-Bits. Die Clock-Auswahl für beispielsweise vier verschiedene Clock- Takte benötigt 2 Bits. Insgesamt benötigt eine konfigurierbare Logikzelle11 daher ca. 25 bis 30 Bits für ihre Konfiguration. - Eine konfigurierbare Abgreifzelle
14 kann für jeden ihrer M Ausgänge unter N Eingängen auswählen. Ist diese Auswahl exklusiv, das heißt bei verdichteter Kodierung, so werden M × 1d(N) Bits benötigt. Die one-hot-only (1 aus N) Dekodierung erfolgt in der Zelle, sodass die Anzahl der Verbindungen vom Konfigurationsspeicher minimiert wird. Für M = 4 und N = 16 ergeben sich 16 Konfigurations-Bits. - Eine konfigurierbare Einspeiszelle
13 kann jeden ihrer K Eingänge auf L Ausgänge verteilen. Die Anzahl der maximal nutzbaren Ausgänge wird durch die Treiberfähigkeit (FO, fan-out) bestimmt, d.h. es können FO von L Verbindungen gleichzeitig gesetzt werden. Für K = 1, FO = 2 und L = 16 ergeben sich maximal 16 Konfigurations-Bits. - Eine konfigurierbare Koppelzelle
14 kann für jede ihrer vier Seiten für jeweils jeden ihrer O Eingänge 3 × P Ausgänge wählen. Für die Auswahl werden maximal ½ × 4 × 0 × 3 × P Konfigurationsbits benötigt. Unter der Annahme, dass diese Auswahl exklusiv ist, werden bei verdichteter Codierung ½ × 4 × O × 3 × 1d(P) Konfigurations-Bits benötigt. Ist O = 16 und P = 1 ergeben sich somit 96 Konfigurations-Bits. - Bei obiger Abschätzung der Architektur werden rechnerisch insgesamt ca. 160 Konfigurations-Bits je Logikzelle benötigt. Um dem Ziel einer kleinen Anzahl von Konfigurations-Bits näher zu kommen, können jedoch noch Einsparpotentiale genutzt werden.
- In
2 ist der schematische Aufbau eines programmierbaren Logikbauelements gemäß dem Stand der Technik dargestellt. Das Speicherbauelement20 ist als Lesespeicher ausgelegt, und es können mehrere Konfigurationsworte25a –25c abgelegt werden. - An das Speicherbauelement
20 wird über die Steuerleitung41 die Aufforderung zu einer Rekonfiguration des Logikbauelements30 gesendet. Das Speicherbauelement sendet die Konfigurationsdaten über einen sequentiellen Konfigurationsdatenbus42 an das Logikbauelement30 . Die Konfigurationsdaten werden in lokalen Speicherzellen34 des Logikbauelements30 zwischengespeichert. Die lokalen Speicherzellen34 sind mit der Matrix der konfigurierbaren Zellen33 verwoben und führen diesen die jeweiligen Konfigurationsdaten zu. - In
3 ist die erfindungsgemäße face-to-face-Montage eines Logikbauelements30 mit einem Speicherbauelement20 dargestellt. Im unteren Teil der Figur ist die Halbleiterschicht31 des Logikbauelements30 mit den konfigurierbaren Zellen33 , im oberen Teil ist die Halbleiter-Schicht21 des Speicherbauelements20 mit den Speicherzellen23 gezeigt. Die Metallisierungsschichten22 bzw.32 der beiden Halbleiter-Bauelemente liegen sich gegenüber und sind durch eine Lötschicht40 verbunden. Die Lötschicht40 bewirkt eine mechanisch sehr stabile Verbindung der beiden Halbleiter-Bauelemente20 und30 . Die Lötschicht40 wird strukturiert, womit eine Vielzahl wechselseitig isolierter, leitender Verbindungen zwischen den beiden Halbleiter-Bauelementen20 und30 hergestellt wird. - Dies ermöglicht einen parallelen Datenaustausch für die Konfiguration, der für eine neue, vereinfachte Architektur genutzt wird, bei der die Speicherung von Konfigurationsdaten in lokalen Speicherzellen (
34 in2 ) völlig entfällt. - Durch die face-to-face-Montage eines Logikbauelements
30 mit einem Speicherbauelement20 werden der Konfigurationsspeicher und das konfigurierbare Matrix-Feld sehr nahe gebracht. Dies ermöglicht einen parallelen, schnellen und geschützten Datenfluss, sowie eine Vereinfachung der System-Architektur. - Für eine 0.18 μm-Technologie würde dies beispielsweise bedeuten: Bei einer angenommenen Feldgröße von 10 mm2 für 10.000 konfigurierbare logische Zellen und einem Konfigurationswort von 1 Mbit, ergibt sich eine Kontaktdichte von 100.000 mm–2 bzw. 316 m–1 (Kontakt-Raster ca. 3,0 μm).
- In
4 ist der schematische Aufbau eines Ausführungsbeispiels des erfindungsgemäßen programmierbaren Logikbauelements dargestellt. Das Speicherbauelement20 ist ein nichtflüchtiger Lesespeicher (ROM), der entweder einmalig während der Fertigung programmiert (PROM) wird oder wiederbeschreibbar ist (EPROM oder EEPROM). - Im Speicherbauelement
20 sind mehrere Konfigurationsworte25a bis25c zur permanenten Bereitstellung von Konfigurationsdaten abgelegt. Über die Steuerleitung41 wird eine Aufforderung zu einer Rekonfiguration des Logikbauelements30 gesendet und ein Konfigurationswort ausgewählt. Im vorliegenden Ausführungsbeispiel wird die Auswahl des Konfigurationswortes vom Logikbauelement selbst gesteuert. Es ist allerdings auch denkbar, dass eine andere Schalteinheit die Konfiguration des konfigurierbaren Logikbauelements steuert. Die Steuerleitung41 besitzt beispielsweise eine Breite von 5 Bit. Die Steuersignale auf der Steuerleitung41 bestimmen das Zeitverhalten (die Kausalität) des Lesezugriffs und optional Einsprungadressen in dem Fall, dass mehrere Konfigurationen parallel gehalten werden. Die Umsetzung symbolischer Adressen in physikalische Adressen findet in der Schnittstelle24 des Speicherbauelements20 statt. - Innerhalb des Speicherbauelements wird gemäß dem ausgewählten Konfigurationswort ein Satz von Konfigurationsspannungen erzeugt und über die Konfigurationsdatenleitung
42 an das Logikbauelement30 übertragen. Durch die hohe Bandbreite der Datenleitung42 zwischen dem Speicherbauelement20 und dem Logikbauelement30 können die ausgewählten Konfigurationsdaten mit Hilfe des Satzes von Konfigurationsspannungen in Form von Gleichspannungen parallel übertragen werden. Die Konfigurationsspannungen werden den konfigurierbaren Zellen33 ohne weitere Zwischenspeicherung zugeführt, wodurch die Verwendung lokaler Speicherzellen (34 in2 ) überflüssig wird. - Auf dem Logikbauelement
30 befinden sich typischerweise 5000 logische Zellen, für welche zusammen mit dem zugehörigen Verbindungsnetz gemäß obiger Abschätzung jeweils ca. 200 Bits benötigt werden. Es werden daher ca. 1 MBit Konfigurationsdaten in einem sehr breiten Wort übertragen. - Erfolgt die Berechnung der korrekten Einsprungadresse und das Inkrementieren der Adresse in der Schnittstelle
24 des Speicherbauelements20 , so steht damit die Bandbreite des Datenbusses42 vollständig dem Transport der Konfigurationsdaten zur Verfügung. - In
5 ist die Expansion der Konfigurationsdaten bei verdichteter Übertragung mit Hilfe einer Expansionslogik36 dargestellt. Die Expansion geschieht ohne Zwischenspeicherung der Konfigurationsdaten. Eine Expansion ist notwendig, wenn die Konfigurationsdaten25 im Speicherbauelement20 beispielsweise mittels einer 1 aus N Kodierung (one-hot-only) in verdichteter Form abgelegt sind. Bei einer 1 aus N Kodierung werden aus N = 2n Bits genau 1 Bit ausgewählt. Das auszuwählende Bit kann mit Hilfe von n übertragenen Bits eindeutig beschriebenen werden. Eine weitere Möglichkeit der verdichteten Kodierung bietet die Übertragung von Mehr-Bit-Symbolen vom Speicherbauelement 20 zum Logikbauelement30 beispielsweise mit Hilfe von Mehr-Niveau-Spannungen. Die Umsetzung symbolischer Adressen50 in physikalische Adressen51 findet in der Schnittstelle24 des Speicherbauelements20 statt. Der Konfigurationswechsel wird durch eine Steuereinheit35 gesteuert, welche im Ausführungsbeispiel von5 innerhalb des Logikbauelements30 angeordnet ist. - In
6 ist die Segmentierung des Logikbauelements30 bzw. das sogenannten paging dargestellt. Das Logikbauelement30 ist dabei in mehrere Teilflächen bzw. Segmente37a –37c unterteilt. Die einzelnen Segmente37a –37c können unabhängig voneinander konfiguriert und rekonfiguriert werden, während andere Segmente mit der Abarbeitung einer anderen Aufgabe bzw. eines laufenden Tasks beschäftigt sind. Danach kann ein sehr schneller Task-Wechsel erfolgen. Die hohe Geschwindigkeit der Rekonfiguration unterstützt dynamische Task-Erzeugung. Die Möglichkeit parallel ablaufender Tasks sowie deren rasche Rekonfiguration ermöglicht eine neue Form von programmierbaren Rechnern.
Claims (15)
- Konfigurierbares Logikbauelement ohne Konfigurationsspeicher, dessen Konfiguration über anliegende Konfigurationsspannungen festgelegt wird.
- Konfigurierbares Logikbauelement nach Anspruch 1, dadurch gekennzeichnet, dass die Konfigurationsspannungen Konfigurationsbits repräsentieren.
- Programmierbares Logikbauelement, enthaltend – ein konfigurierbares Logikbauelement nach Anspruch 1 oder 2, – ein Speicherbauelement mit Konfigurationsspeicher, und – elektrische Verbindungen zwischen dem konfigurierbaren Logikbauelement und dem Speicherbauelement, wobei das Speicherbauelement die Konfigurationsspannungen erzeugt.
- Programmierbares Logikbauelement nach Anspruch 3, dadurch gekennzeichnet, dass der Konfigurationsspeicher eine Anzahl auswählbarer Konfigurationswörter bereitstellt, gemäß welchen die Konfigurationsspannungen erzeugt werden.
- Programmierbares Logikbauelement nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass das konfigurierbare Logikbauelement aus einer Mehrzahl Segmente besteht, für jedes Segment eine Anzahl Konfigurationswörter zur Verfügung stehen und die Konfiguration der Segmente unabhängig voneinander stattfindet.
- Integrierter Schaltkreis, enthaltend ein konfigurierbares Logikbauelement nach Anspruch 1 oder 2, welcher: – keinen Konfigurationsspeicher für das konfigurierbare Logikbauelement aufweist, – elektrische Verbindung aufweist, an welchen Konfigurationsspannungen zur Konfiguration des konfigurierbaren Logikbauelements anliegen.
- Programmierbares Logikbauelement nach Anspruch 3 bis 5, enthaltend: – einen ersten integrierten Schaltkreis nach Anspruch 6, und – einen zweiten integrierten Schaltkreis, welcher das Speicherbauelement mit Konfigurationsspeicher enthält, wobei sich die aktiven Seiten der integrierten Schaltkreise gegenüberliegen, und die elektrischen Verbindungen durch eine zwischenliegende strukturierte Lötschicht gebildet werden.
- Programmierbares Logikbauelement nach Anspruch 7, dadurch gekennzeichnet, dass der erste integrierte Schaltkreis und der zweite integrierte Schaltkreis sich deckende aktive Flächen aufweisen.
- Programmierbares Logikbauelement nach einem der Ansprüche 3 bis 8, dadurch gekennzeichnet, dass der Konfigurationsspeicher als nicht-flüchtiger Speicher, insbesondere als programmierbarer, nicht-flüchtiger Speicher ausgebildet ist.
- Verfahren zur Konfiguration eines konfigurierbaren Logikbauelements, bei welchem – ein Satz von Konfigurationsspannungen über elektrische Verbindungen dem konfigurierbaren Logikbauelement zugeführt wird, und – die Konfigurationsspannungen während der Dauer der Gültigkeit der Konfiguration kontinuierlich anliegen.
- Verfahren zur Programmierung eines programmierbaren Logikbauelements, bei welchem – zumindest ein Konfigurationswort in einem Konfigurationsspeicher bereitgehalten wird, – daraus ein Satz von Konfigurationsspannungen erzeugt wird, und – damit ein konfigurierbares Logikbauelement gemäß einem Verfahren nach Anspruch 10 konfiguriert.
- Verfahren zur Umprogrammierung eines programmierbaren Logikbauelements, bei welchem – ein Konfigurationsspeicher eine Mehrzahl Konfigurationswörter bereithält, – das programmierbare Logikbauelement nach einem Verfahren nach Anspruch 11 programmiert wird, – das konfigurierbare Logikbauelement durch die Auswahl eines zweiten Konfigurationswortes rekonfiguriert wird.
- Verfahren zur Umprogrammierung eines programmierbaren Logikbauelements nach Anspruch 12, dadurch gekennzeichnet, dass die Rekonfiguration des konfigurierbaren Logikbauelements bzw. das Umprogrammieren des programmierbaren Logikbauelements innerhalb eines Maschinenzyklus stattfindet.
- Verfahren zur Umprogrammierung eines programmierbaren Logikbauelements nach einem der Ansprüche 12 oder 13, dadurch gekennzeichnet, dass die Rekonfiguration des konfigurierbaren Logikbauelements nur eine Anzahl Segmente des konfigurierbaren Logikbauelements betrifft.
- Verfahren zur Verarbeitung von Daten in einem programmierbaren Logikbauelement, welches – eine Mehrzahl von Arbeitsschritten aufweist, – das programmierbare Logikbauelement zwischen einem ersten und einem zweiten Arbeitsschritt nach einem Verfahren nach einem der Ansprüche 12 bis 14 umprogrammiert wird, und – die Daten während der Umprogrammierung in dem programmierbaren Logikbauelement gehalten werden.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004001669A DE102004001669B4 (de) | 2004-01-12 | 2004-01-12 | Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus |
US11/032,436 US7348795B2 (en) | 2004-01-12 | 2005-01-10 | Configurable logic component without a local configuration memory and with a parallel configuration bus |
CNB2005100041572A CN100555292C (zh) | 2004-01-12 | 2005-01-12 | 无局部组态存储器但具平行组态总线的可组态逻辑组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004001669A DE102004001669B4 (de) | 2004-01-12 | 2004-01-12 | Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004001669A1 true DE102004001669A1 (de) | 2005-09-29 |
DE102004001669B4 DE102004001669B4 (de) | 2008-06-05 |
Family
ID=34853370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004001669A Expired - Fee Related DE102004001669B4 (de) | 2004-01-12 | 2004-01-12 | Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus |
Country Status (3)
Country | Link |
---|---|
US (1) | US7348795B2 (de) |
CN (1) | CN100555292C (de) |
DE (1) | DE102004001669B4 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006072142A1 (en) * | 2005-01-06 | 2006-07-13 | Justin Martin Spangaro | A reprogrammable integrated circuit |
JP2006287675A (ja) * | 2005-04-01 | 2006-10-19 | Renesas Technology Corp | 半導体集積回路 |
US20090128189A1 (en) * | 2007-11-19 | 2009-05-21 | Raminda Udaya Madurawe | Three dimensional programmable devices |
US8916959B2 (en) | 2012-12-20 | 2014-12-23 | International Business Machines Corporation | Packaging structure |
US9583410B2 (en) | 2014-03-21 | 2017-02-28 | International Business Machines Corporation | Volumetric integrated circuit and volumetric integrated circuit manufacturing method |
US10735004B1 (en) * | 2019-04-01 | 2020-08-04 | Microchip Technology Inc. | LUT-based focused ion beam friendly fill-cell design |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485105A (en) * | 1994-08-01 | 1996-01-16 | Texas Instruments Inc. | Apparatus and method for programming field programmable arrays |
WO2004081764A2 (en) * | 2003-03-12 | 2004-09-23 | Xilinx, Inc. | Multi-chip programmable logic device having configurable logic circuitry and configuration data storage on different dice |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9223226D0 (en) * | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US6542998B1 (en) * | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
JP3754221B2 (ja) * | 1999-03-05 | 2006-03-08 | ローム株式会社 | マルチチップ型半導体装置 |
US6180526B1 (en) * | 1999-09-17 | 2001-01-30 | Industrial Technology Research Institute | Method for improving conformity of a conductive layer in a semiconductor device |
US6331790B1 (en) * | 2000-03-10 | 2001-12-18 | Easic Corporation | Customizable and programmable cell array |
US6331784B1 (en) * | 2000-07-28 | 2001-12-18 | Atmel Corporation | Secure programmable logic device |
GB0122477D0 (en) * | 2001-09-18 | 2001-11-07 | Anadigm Ltd | Methods and apparatus for reconfiguring programmable devices |
US6627985B2 (en) * | 2001-12-05 | 2003-09-30 | Arbor Company Llp | Reconfigurable processor module comprising hybrid stacked integrated circuit die elements |
-
2004
- 2004-01-12 DE DE102004001669A patent/DE102004001669B4/de not_active Expired - Fee Related
-
2005
- 2005-01-10 US US11/032,436 patent/US7348795B2/en not_active Expired - Fee Related
- 2005-01-12 CN CNB2005100041572A patent/CN100555292C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485105A (en) * | 1994-08-01 | 1996-01-16 | Texas Instruments Inc. | Apparatus and method for programming field programmable arrays |
WO2004081764A2 (en) * | 2003-03-12 | 2004-09-23 | Xilinx, Inc. | Multi-chip programmable logic device having configurable logic circuitry and configuration data storage on different dice |
Also Published As
Publication number | Publication date |
---|---|
CN100555292C (zh) | 2009-10-28 |
US7348795B2 (en) | 2008-03-25 |
CN1641650A (zh) | 2005-07-20 |
US20050184755A1 (en) | 2005-08-25 |
DE102004001669B4 (de) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3839113C2 (de) | ||
DE69534812T2 (de) | Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration | |
DE69028395T2 (de) | Konfigurierbare zellenanordnung | |
DE102004063926B4 (de) | Konfigurierbare Treiberzelle eines logischen Zellenfeldes | |
DE102005055185B4 (de) | Halbleiterspeichermodul | |
DE102004045527B4 (de) | Konfigurierbare Logikschaltungsanordnung | |
WO2002029600A2 (de) | Zellenarordnung mit segmentierterwischenzellstruktur | |
DE10354535A1 (de) | Chipintegrierte Abschlussschaltung, zugehöriges Speichersystem und zugehöriges Abschlussverfahren | |
DE2754354A1 (de) | Programmierbare logische baugruppenanordnung | |
EP0202456A2 (de) | In integrierter Technik hergestellter Logik-Array-Baustein | |
DE2905675A1 (de) | Schaltungsanordnung zur sperrung des zugangs zu einem speicher | |
DE69018832T2 (de) | EEPROM-Zelle mit einschichtigem Metallgate und mit einem Lese-Interface des externen Schaltkreises, welches isoliert ist vom Schreib/Lösch-Interface des Programmierungsschaltkreises. | |
DE2606958A1 (de) | Bausteinschaltung mit speichertransistoren | |
DE102004001669B4 (de) | Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus | |
DE2146905C3 (de) | Datenspeicher, insbesondere monolithisch integrierter Halbleiter-Datenspeicher | |
DE3787429T2 (de) | Minimierung von Anschlussinseln des Typs "Engineering Change". | |
DE102005023911A1 (de) | Halbleiterschaltungsvorrichtung und Verfahren zum Betreiben der Halbleiterschaltvorrichtung | |
DE102018216399A1 (de) | Verfahren zum Herstellen eines Leistungs-Halbleitermoduls und Leistungs-Halbleitermodul | |
DE112010002791B4 (de) | SCHALTKREISSTRUKTUR UND VERFAHREN ZUM PROGRAMMIEREN UNDUMPROGRAMMIEREN EINER ELEKTRONISCHEN SICHERUNG (eFUSE) FÜRGERINGE LEISTUNG UND MIT MEHREREN ZUSTÄNDEN | |
DE2629893A1 (de) | Zellenadressierbare matrix | |
EP0875062A2 (de) | Zur abarbeitung von softwareprogrammen ausgelegte integrierte schaltung | |
DE3337850C2 (de) | ||
DE60204968T2 (de) | Direktzugriffdekodierer | |
EP0244605B1 (de) | In integrierter Technik hergestellter Logik-Array-Baustein zur Erstellung integrierter Schaltungen | |
DE4422189A1 (de) | Halbleiterspeicher-Steuereinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |