DE102004001669A1 - Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus - Google Patents

Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus Download PDF

Info

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
Application number
DE102004001669A
Other languages
English (en)
Other versions
DE102004001669B4 (de
Inventor
Michael Scheppler
Wolfgang Gruber
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004001669A priority Critical patent/DE102004001669B4/de
Priority to US11/032,436 priority patent/US7348795B2/en
Priority to CNB2005100041572A priority patent/CN100555292C/zh
Publication of DE102004001669A1 publication Critical patent/DE102004001669A1/de
Application granted granted Critical
Publication of DE102004001669B4 publication Critical patent/DE102004001669B4/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/17748Structural details of configuration 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/1731Optimisation thereof
    • 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/17704Logic 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
    • 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • 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

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 und 1b) 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 Logikbauelement 30 noch mindestens ein weiteres Bauelement 20 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, Konfigurationsdatenbus 42 vom Speicherbauelement 20 zum Logikbauelement 30 geleitet. Die Breite des Konfigurationsdatenbus 42 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 Konfigurationsdatenbusses 42 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 Konfigurationsbusses 42, in einer Betriebspause des Logikbauelements 30 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 Logikbauelements 30 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 Logikbauelements 30 mit der Matrix der logischen Zellen 33 verwoben. Bei den Speicherzellen 34 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 Logikbauelement 30 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 Logikbauelement 30. 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 in 2) 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 und 1b: 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 und 1b sind die vier Zelltypen dargestellt, die im Allgemeinen innerhalb eines Logikbauelements, wie beispielsweise eines programmierbaren Logikbauelements oder eines FPGAs, auftreten. Konfigurierbare Logikzellen 11 dienen der Signalverarbeitung auf Bitebene. Konfigurierbare Abgreifzellen 12 greifen aus einem Datenbus 15a so viele Signal ab, wie die Logikzelle 11 Eingänge besitzt. Konfigurierbare Einspeiszellen 13 führen einem weiteren Datenbus 15b das Ausgangssignal der Logikzelle 11 zu. Konfigurierbare Koppelzellen 14 sind Matrizen zur wahlfreien und bidirektionalen Schaltung von Signalpfaden (Verdrahtung) im Verbindungsnetzwerk eines Logikbauelements 30.
  • 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 Logikzelle 11 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 Speicherbauelement 20 ist als Lesespeicher ausgelegt, und es können mehrere Konfigurationsworte 25a25c abgelegt werden.
  • An das Speicherbauelement 20 wird über die Steuerleitung 41 die Aufforderung zu einer Rekonfiguration des Logikbauelements 30 gesendet. Das Speicherbauelement sendet die Konfigurationsdaten über einen sequentiellen Konfigurationsdatenbus 42 an das Logikbauelement 30. Die Konfigurationsdaten werden in lokalen Speicherzellen 34 des Logikbauelements 30 zwischengespeichert. Die lokalen Speicherzellen 34 sind mit der Matrix der konfigurierbaren Zellen 33 verwoben und führen diesen die jeweiligen Konfigurationsdaten zu.
  • In 3 ist die erfindungsgemäße face-to-face-Montage eines Logikbauelements 30 mit einem Speicherbauelement 20 dargestellt. Im unteren Teil der Figur ist die Halbleiterschicht 31 des Logikbauelements 30 mit den konfigurierbaren Zellen 33, im oberen Teil ist die Halbleiter-Schicht 21 des Speicherbauelements 20 mit den Speicherzellen 23 gezeigt. Die Metallisierungsschichten 22 bzw. 32 der beiden Halbleiter-Bauelemente liegen sich gegenüber und sind durch eine Lötschicht 40 verbunden. Die Lötschicht 40 bewirkt eine mechanisch sehr stabile Verbindung der beiden Halbleiter-Bauelemente 20 und 30. Die Lötschicht 40 wird strukturiert, womit eine Vielzahl wechselseitig isolierter, leitender Verbindungen zwischen den beiden Halbleiter-Bauelementen 20 und 30 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 in 2) völlig entfällt.
  • Durch die face-to-face-Montage eines Logikbauelements 30 mit einem Speicherbauelement 20 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 Speicherbauelement 20 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 Konfigurationsworte 25a bis 25c zur permanenten Bereitstellung von Konfigurationsdaten abgelegt. Über die Steuerleitung 41 wird eine Aufforderung zu einer Rekonfiguration des Logikbauelements 30 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 Steuerleitung 41 besitzt beispielsweise eine Breite von 5 Bit. Die Steuersignale auf der Steuerleitung 41 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 Schnittstelle 24 des Speicherbauelements 20 statt.
  • Innerhalb des Speicherbauelements wird gemäß dem ausgewählten Konfigurationswort ein Satz von Konfigurationsspannungen erzeugt und über die Konfigurationsdatenleitung 42 an das Logikbauelement 30 übertragen. Durch die hohe Bandbreite der Datenleitung 42 zwischen dem Speicherbauelement 20 und dem Logikbauelement 30 können die ausgewählten Konfigurationsdaten mit Hilfe des Satzes von Konfigurationsspannungen in Form von Gleichspannungen parallel übertragen werden. Die Konfigurationsspannungen werden den konfigurierbaren Zellen 33 ohne weitere Zwischenspeicherung zugeführt, wodurch die Verwendung lokaler Speicherzellen (34 in 2) ü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 Speicherbauelements 20, so steht damit die Bandbreite des Datenbusses 42 vollständig dem Transport der Konfigurationsdaten zur Verfügung.
  • In 5 ist die Expansion der Konfigurationsdaten bei verdichteter Übertragung mit Hilfe einer Expansionslogik 36 dargestellt. Die Expansion geschieht ohne Zwischenspeicherung der Konfigurationsdaten. Eine Expansion ist notwendig, wenn die Konfigurationsdaten 25 im Speicherbauelement 20 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 Logikbauelement 30 beispielsweise mit Hilfe von Mehr-Niveau-Spannungen. Die Umsetzung symbolischer Adressen 50 in physikalische Adressen 51 findet in der Schnittstelle 24 des Speicherbauelements 20 statt. Der Konfigurationswechsel wird durch eine Steuereinheit 35 gesteuert, welche im Ausführungsbeispiel von 5 innerhalb des Logikbauelements 30 angeordnet ist.
  • In 6 ist die Segmentierung des Logikbauelements 30 bzw. das sogenannten paging dargestellt. Das Logikbauelement 30 ist dabei in mehrere Teilflächen bzw. Segmente 37a37c unterteilt. Die einzelnen Segmente 37a37c 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)

  1. Konfigurierbares Logikbauelement ohne Konfigurationsspeicher, dessen Konfiguration über anliegende Konfigurationsspannungen festgelegt wird.
  2. Konfigurierbares Logikbauelement nach Anspruch 1, dadurch gekennzeichnet, dass die Konfigurationsspannungen Konfigurationsbits repräsentieren.
  3. 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.
  4. Programmierbares Logikbauelement nach Anspruch 3, dadurch gekennzeichnet, dass der Konfigurationsspeicher eine Anzahl auswählbarer Konfigurationswörter bereitstellt, gemäß welchen die Konfigurationsspannungen erzeugt werden.
  5. 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.
  6. 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.
  7. 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.
  8. Programmierbares Logikbauelement nach Anspruch 7, dadurch gekennzeichnet, dass der erste integrierte Schaltkreis und der zweite integrierte Schaltkreis sich deckende aktive Flächen aufweisen.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
DE102004001669A 2004-01-12 2004-01-12 Konfigurierbares Logikbauelement ohne lokalen Konfigurationsspeicher mit parallelem Konfigurationsbus Expired - Fee Related DE102004001669B4 (de)

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)

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

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

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

Patent Citations (2)

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