DE102005023118B3 - Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen - Google Patents

Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen Download PDF

Info

Publication number
DE102005023118B3
DE102005023118B3 DE102005023118A DE102005023118A DE102005023118B3 DE 102005023118 B3 DE102005023118 B3 DE 102005023118B3 DE 102005023118 A DE102005023118 A DE 102005023118A DE 102005023118 A DE102005023118 A DE 102005023118A DE 102005023118 B3 DE102005023118 B3 DE 102005023118B3
Authority
DE
Germany
Prior art keywords
output
input
data
flop
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102005023118A
Other languages
English (en)
Inventor
Michael Scheppler
Winfried Kamp
Siegmar Koeppe
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 DE102005023118A priority Critical patent/DE102005023118B3/de
Priority to US11/437,421 priority patent/US7492187B2/en
Priority to CNB2006101076732A priority patent/CN100550642C/zh
Application granted granted Critical
Publication of DE102005023118B3 publication Critical patent/DE102005023118B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

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)

Abstract

Schaltungsanordnung (16, 35) zum Betrieb von in konfigurierbaren Logikzellen einer FPGA-Einrichtung (28, 39) vorgesehenen Ausgangs-Flip-Flops (1, 2, 3, 4) zum Transport von Konfigurationsdaten (CDIN) mit mehreren jeweiligen konfigurierbaren Logikzellen zugeordneten Ausgangs-Flip-Flops (1, 2, 3, 4), wobei jedes Ausgangs-Flip-Flop zumindest einen Dateneingang (5) und einen Datenausgang (6) aufweist, wobei ein Dateneingang (5) eines ersten Ausgangs-Flip-Flops (2) mit einem Datenausgang (6) eines zweiten Ausgangs-Flip-Flops (1) zum Ausbilden eines Schieberegisters (1, 2, 3, 4) mittels einem in der FPGA-Einrichtung (28, 29) integrierten Schaltmittel (8) schaltbar verbunden ist, wobei zumindest ein Ausgangs-Flip-Flop (1, 2, 3, 4) einen Takteingang (7) aufweist, an den ein Einlesetaktsignal (CCLK) oder ein Logikzellentaktsignal (CLK1, CLK2, CLK3) umschaltbar zugeführt ist, und wobei dem Takteingang (7) eines jeweiligen Ausgangs-Flip-Flops (1, 2, 3, 4) ein zweiter mittels eines zweiten Auswahlsignals (CSEL2) steuerbarer Multiplexer (21) zum Schalten des Einlesetaktsignals (CCLK) oder des jeweiligen Logikzellentaktsignals (CLK1, CLK2, CLK3) vorgeschaltet ist.

Description

  • Die folgende Erfindung betrifft eine Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen. Insbesondere ermöglicht die erfindungsgemäße Schaltungsanordnung den Betrieb von in konfigurierbaren Logikzellen einer FPGA-Einrichtung vorgesehenen Ausgangs-Flip-Flops zum Transport solcher Konfigurationsdaten bei FPGA-Einrichtungen mit Konfigurationsspeichern aus Feldern von nichtflüchtigen Speicherzellen.
  • FPGAs (Field Programmable Gate Arrays) sind integrierte elektronische Schaltungen, die vollständig durch den Anwender („im Feld") programmierbar sind und gemäß ihrer Programmierung bzw. ihrer Konfiguration eine Vielzahl der vom Anwender gewünschten logischen Funktionen durchführen. Dazu sind in der Regel in einem FPGA konfigurierbare logische Blöcke und konfigurierbare Verdrahtungsresourcen vorgesehen, wobei die elektrischen Verschaltungen dieser untereinander durch eine Vielzahl von durch Konfigurationsbits setzbare Schalter festgelegt werden. Die logischen Funktionen der konfigurierbaren logischen Blöcke, welche wiederum aus konfigurierbaren Logikzellen aufgebaut sind, werden ebenfalls durch Konfigurationsbits festgelegt. Die Konfiguration oder Programmierung eines FPGAs erfolgt somit durch Einschreiben und (flüchtiges) Abspeichern von entsprechenden Konfigurationsdaten in in den logischen Blöcken vorgehaltenen Speichern. So wird insgesamt einen komplexen logischen Baustein gebildet.
  • Mehrere Logikzellen und ihre zugehörigen Verdrahtungsresourcen, also vorgefertigte elektrische durch die Konfigurationsbits definierbare Verbindungselemente, werden als ein konfigurierbarer Logikblock oder als eine Logikkachel zusammengefasst. Eine entsprechende Logikkachel weist auch einen loka len Konfigurationsspeicher auf, in dem die benötigten Konfigurationsbits abgelegt sind. Im Folgenden wird vereinfacht von einzelnen Logikzellen mit Konfigurationsschieberegistern als lokale Konfigurationsspeicher gesprochen.
  • Bevor ein FPGA in Betrieb geht müssen alle Konfigurationsbits von Außen in die lokalen Konfigurationsspeicher geschrieben werden. Dies muss bei jeder erneuten Inbetriebnahme nach Abschalten der Spannungsversorgung geschehen. Es ist jedoch häufig gewünscht, die Konfigurationsdaten in einem in dem entsprechenden FPGA-Chip integrierten Speicher nichtflüchtig vorzuhalten. Dann ist lediglich ein Transport der Konfigurationsdaten aus dem nichtflüchtigen Speicher in die lokalen Konfigurationsspeicher notwendig.
  • Ein so genannter nichtflüchtiger FPGA-Baustein weist daher als Grundelemente die eingangs genannten konfigurierbare Logikzellen und zusätzlich einen nichtflüchtigen Speicher zum Abspeichern von Konfigurationsdaten auf. In diesem Konfigurationsspeicher werden beispielsweise „im Feld" die entsprechenden Konfigurationsbits in geeignet strukturierter Form abgespeichert und beim Hochfahren des FPGAs zunächst den in den konfigurierbaren Zellen vorhandenen setzbaren Schaltern als Konfigurationsbits zugeführt. Eine jeweilige konfigurierbare Logikzelle verfügt deshalb über ein Konfigurationsregister, das ein jeweiliges Konfigurationswort aus Konfigurationsbits für den Betrieb des FPGAs flüchtig abspeichert und die Konfigurationsbits, welche letztlich die Logikfunktion der konfigurierbaren Logikzelle bestimmen, einzeln bereitstellt.
  • Typischerweise sind die konfigurierbaren Logikzellen und der lokale Konfigurationsspeicher in derselben Fertigungstechnologie, beispielsweise CMOS realisiert, während der nichtflüchtige Konfigurationsspeicher eine weitere Technologie, z.B. FLASH, benötigt. Dann werden für die in unterschiedlichen Technologien ausgeführten Schaltungsteile unterschiedli che Signalpegel verwendet. Die Anpassung der entsprechenden logischen Pegel erhöht dann den Schaltungsaufwand.
  • Eine Besonderheit bei nichtflüchtigen Konfigurationsspeichern ist die Verifikation der eingeschriebenen Konfigurationsdaten. Diese kann durch Auslesen der eingeschriebenen Informationen und Vergleich mit den geschriebenen Daten erfolgen. Dieses Verifikationsverfahren kann nachteilig mehrere Zyklen beanspruchen.
  • Die 1 zeigt beispielhaft den Aufbau einer konfigurierbaren Logikzelle LC für FPGAs nach dem Stand der Technik, wie es beispielsweise in der EP 1 324 495 A1 offenbart ist.
  • Eine entsprechend konfigurierbare Logikzelle LC dient der Umsetzung einer Logikfunktion, die Eingangsdaten PD entgegennimmt und ein entsprechendes logisch verknüpftes Ergebnis FFO ausgibt. Es ist ein Konfigurationsschiebregister CM vorgesehen, das Konfigurationsbits CB speichert und an die Eingänge eines erstes Multiplexers MUX1 bereitstellt. Der erste Multiplexer MUX1 definiert in Abhängigkeit von den Eingangsdaten PD eines der Konfigurationsbits CB als Ausgangssignal LTO. Der Multiplexer MUX1 mit den durch das Konfigurationsschieberegister CM zugeführten Konfigurationsbits CB kann als Nachschlagetabelle LUT verstanden werden. Es kann daher eine Boolesche Funktion mit den Eingangsdaten PD als Eingangsvariablen und dem Ausgangssignal LTO des Multiplexers bzw. der Nachschlagetabelle LUT ausgeführt werden.
  • Ferner ist ein D-Flip-Flop DFF mit einem Dateneingang D, einem Datenausgang Q und einem Takteingang CK vorgesehen. Das Ausgangssignal LTO der Nachschlagetabelle ist an den Dateneingang D geführt, und an den Takteingang CK ist ein Taktsignal CLK1 angelegt. Das Ausgangssignal LTO der Nachschlagetabelle LUT ist ferner an einen Eingang eines zweiten Multiplexers MUX2 geführt, der auch das Ausgangssignal FFO des D-Flip-Flops DFF erhält. Der zweite Multiplexer MUX2 schaltet in Abhängigkeit eines der Konfigurationsbits CB' entweder das Ausgangssignal FFO des Flip-Flops DFF oder das Ausgangssignal LTO der Nachschlagetabelle LUT als Ausgangssignal FFO' der konfigurierbaren Logikzelle LC durch. Werden FPGA-Bausteine für Anwendungen in der Datenverarbeitung verwendet, sind meist die getakteten Ausgangssignale FFO des D-Flip-Flops DFF, welcher in der Regel in einer konfigurierbaren Logikzelle LC für einen FPGA-Baustein vorgesehen ist, verwendet. Das D-Flip-Flop DFF dient dann dem Zwischenspeichern des Ausgangssignals der Logikzelle LC.
  • In der 2 nach dem Stand der Technik sind schematisch die Basiselemente eines nichtflüchtigen FPGA-Bausteins FPGA dargestellt.
  • Das FPGA weist konfigurierbare Logikzellen LC1, LC2, LCN in einer Spalte angeordnet auf, wobei jede konfigurierbare Logikzelle an einem Ausgang A1, A2, AN ein jeweiliges logisches Ergebnis FFO, FF1, FFN aus den jeweiligen Eingangssignalen PD1, PD2, PD3 liefert. Die konfigurierbaren Logikzellen LC1, LC2, LCN weisen jeweils Konfigurationsschieberegister CM1, CM2, CMN zum Speichern und Bereitstellen von Konfigurationsbits für die jeweilige Logikzelle LC1, LC2, LCN auf.
  • Bevor das FPGA in Betrieb geht, werden in einer Konfigurationsphase die jeweiligen Konfigurationsbits aus einem nichtflüchtigen Speicher MCA als serielle Konfigurationsdaten SCD1, SCD2, SCDN in die Konfigurationsschieberegister CM1, CM2, CMN eingelesen. Der Konfigurationsspeicher MCA kann beispielsweise ein Speicherzellenfeld aus nichtflüchtigen Speicherelementen wie beispielsweise MRAM-oder FRAM-Speicherzellen aufweisen. Die eigentliche Programmierung des FPGAs geschieht in einer Einlesephase, in der das Speicherzellenfeld MCA mit den Konfigurationsdaten beschrieben wird. Dazu ist ein weiteres Ladeschieberegister ISR vorgesehen, mit einer Anzahl N von Schieberegisterzellen Z1, Z2, ZN, die der Anzahl der an das Speicherzellenfeld MCA aus nichtvolatilen Speicherelementen gekoppelten Bitleitungen BL1, ...BLN entspricht.
  • Die Konfigurationsdaten CD werden seriell in dieses Ladeschieberegister ISR taktweise mit einem Takt CLK eingelesen. Jede dieser Schieberegisterzellen Z1, Z2, ZN ist an eine Bitleitung BL1, BL2, BLN gekoppelt. Die jeweiligen Bitleitungen BL1, BL2, BLN des Speicherzellenfeldes MCA sind mit Wortleitungen WL1, WL2, WLN gekreuzt, wobei die Anzahl der Wortleitungen der Anzahl der jeweiligen Konfigurationsbits für eine konfigurierbare Logikzelle LC1 entspricht. In der Einschreibephase der Konfigurationsdaten CD werden somit zunächst seriell alle ersten Konfigurationsbits für die konfigurierbaren Logikzellen LC1, LC2, LCN in die nichtvolatilen Speicherzellen NVMC geschrieben. In einem weiteren Schritt werden zweite Konfigurationsbits geschrieben, bis alle Konfigurationsdaten CD in das Speicherzellenfeld MCA geführt sind. Erst dann können die Konfigurationsschieberegister CM1, CM2, CMN bei geschlossenen steuerbaren Schaltern SW1, SW2, SWN in der Konfigurationsphase des FPGAs mit den in den nichtvolatilen Speicherzellen NVMC einer jeweiligen Bitleitung BL1, BL2, BLN abgespeicherten Konfigurationsbits gefüllt werden.
  • Insbesondere bei einer Ausführung der nichtvolatilen Speicherzellen NVMC als FRAM-Zellen sind zum Lesen und Schreiben der Speicherzelleninhalte zusätzliche aufwändige Wandlerschaltungen erforderlich, welche hier nicht dargestellt sind. Ein Nachteil der in 2 dargestellten Lösung zum Beschreiben des nichtvolatilen Speichers MCA mit Konfigurationsdaten CD über ein Schieberegister ISR ist ferner der zusätzliche Verdrahtungsaufwand durch die Kopplung der einzelnen Schieberegisterzellen Z1, Z2, ZN des Ladeschieberegisters ISR an die Bitsleitungen BL1, BL2, BLN und der erhöhte Schaltungsaufwand durch das Schieberegister ISR selbst.
  • Die EP 0 317 287 B1 offenbart programmierbare Logikschaltkreise und programmierbare Logikzellenfelder, die FPGAs ähn lich sind. Dort sind D-Flip-Flops als Ausgangs-Flip-Flops vorgesehen, die jeweils einem Logikschaltkreis zugeordnet sind. Dabei sind ferner Multiplexer eingesetzt, die entweder logische Ausgangssignale der jeweiligen zugeordneten Logikeinrichtung an die Eingänge der Ausgangs-Flip-Flops zuführen oder das Ausgangsdatensignal eines Ausgangs-Flip-Flops an den Dateneingang eines weiteren Ausgangs-Flip-Flops schalten. Nachteilig bei der in der EP 0 317 287 B1 beschriebenen Anordnung ist u. A., dass alle Ausgangs-Flip-Flops der Logikzellenfelder mit derselben Taktrate betrieben werden müssen. Dies schränkt insbesondere die Möglichkeiten von Tests auf die Integrität der eingeschriebenen Konfigurationsdaten ein.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Schaltungsordnung anzugeben, die einen vereinfachten Transport bzw. ein einfacheres Einschreiben von Konfigurationsdaten, beispielsweise in einen nichtvolatilen Speicher und eine vielseitige Verwendung von Ausgangs-Flip-Flops ermöglicht.
  • Diese Aufgabe wird durch eine Schaltungsanordnung mit den Merkmalen des Patentanspruchs 1 gelöst.
  • Demgemäß ist eine Schaltungsanordnung zum Betrieb von in konfigurierbaren Logikzellen einer FPGA-Einrichtung vorgesehenen Ausgangs-Flip-Flops zum Transport von Konfigurationsdaten angegeben, wobei die Schaltungsanordnung mehrere Ausgangs-Flip-Flops, welche jeweiligen konfigurierbaren Logikzellen zugeordnet sind, aufweist, wobei jedes Ausgangs-Flip-Flop zumindest einen Dateneingang und einen Datenausgang aufweist. Dabei ist erfindungsgemäß ein Dateneingang eines ersten Ausgangs-Flip-Flops mit einem Datenausgang eines zweiten Ausgangs-Flip-Flops zum Ausbilden eines Schieberegisters mittels einem in der FPGA-Einrichtung integrierten Schaltmittel schaltbar verbunden. Zumindest weist ein Ausgangs-Flip-Flop einen Takteingang auf, wobei an dem Takteingang ein Einlesetaktsignal oder ein Logikzellentaktsignal umschaltbar zugeführt ist. Dem Takteingang eines jeweiligen Ausgangs-Flip- Flops ist ein zweiter, mittels eines zweiten Auswahlsignals steuerbarer Multiplexer zum Schalten des Einlesetaktsignals oder des jeweiligen Logikzellentaktsignals vorgeschaltet.
  • Eine wesentliche, der Erfindung zugrundeliegende Idee besteht darin, die Ausgangs-Flip-Flops in den konfigurierbaren Logikzellen während der Einschreibephase von Konfigurationsdaten in einen nichtvolatilen Speicher als Schieberegister zusammenzuschalten. Dazu sind erfindungsgemäß Schaltmittel in die FPGA-Einrichtung integriert. Während der Normalbetriebsphase der entsprechenden FPGA-Einrichtung dienen die Ausgangs-Flip-Flops der getakteten Ausgabe von durch die jeweilige Logikzelle verarbeiteten Ausgangsdaten. Die erfindungsgemäße Schaltungsanordnung ermöglicht somit den Verzicht auf zusätzliche Schieberegister zum Transport von Konfigurationsdaten in nichtflüchtige Konfigurationsspeicher und reduziert den Verdrahtungsaufwand. Gemäß der Erfindung ist daher zumindest ein alternatives Schalten der jeweiligen Ausgangs-Flip-Flops als Schieberegisterkette, wobei jeweilige Datenausgänge an Dateneingänge anderer Ausgangs-Flip-Flops geschaltet sind, oder als Ausgangselemente der Logikzellen zum Ausgeben der entsprechend der Konfiguration der Logikzelle verarbeiteten Daten. Durch die erfindungsgemäße Schaltungsanordnung wird durch eine einfach zu erzielende Schaltbarkeit der Ein- und Ausgänge der Ausgangs-Flip-Flops erreicht und ein erheblicher Verdrahtungs- und Schaltungsaufwand durch spezielle Ladeeinrichtungen zum Einschreiben der Konfigurationsdaten in nichtvolatile Konfigurationsspeicher eingespart. Ferner ist es möglich, verschiedene Takte während des Einlesens von mehreren Konfigurationsdaten in die erfindungsgemäß ausgebildete Schieberegisterkette aus den Ausgangs-Flip-Flops und während des Normalbetriebs der jeweiligen Logikzellen, bei dem die Ausgangs-Flip-Flops dann mit dem Logikzellentaktsignal getaktete logische Ausgangssignale liefern, zu verwenden.
  • Bevorzugterweise ist dem Datenausgang eines jeweiligen Ausgangs-Flip-Flops ein Mittel zur Signalpegelwandlung nachge schaltet. Dadurch können durch unterschiedliche Herstellungstechnologien der konfigurierbaren Logikzellen und weiterer Schaltungsteile des FPGAs, insbesondere von Konfigurationsspeichern, bedingte Unterschiede in den logischen Pegeln ausgeglichen werden. Dies ist besonders von Vorteil, wenn die FPGA-Einrichtung einen integrierten, nichtvolatilen Speicher zum Speichern der Konfigurationsbits aufweist. Dann liefern entsprechende Signalpegelwandler aus den an den Ausgängen der Ausgangs-Flip-Flops anliegenden Pegeln entsprechend angepasste Pegel für den angeschlossenen nichtvolatilen Konfigurationsspeicher.
  • Vorteilhafterweise ist in einer konfigurierbaren Logikzelle an den Eingang eines jeweiligen Ausgangs-Flip-Flops ein Ausgangssignal einer Nachschlagetabelle der jeweiligen Logikzelle zuführbar. Dadurch wird im Normalbetrieb als Logikzelle die entsprechend konfigurierte Boolesche Funktion für die Logikzelle dem Ausgangs-Flip-Flop zum Zwischenspeichern zugeführt.
  • In einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungsanordnung ist dem Dateneingang eines jeweiligen ersten Ausgangs-Flip-Flops ein mittels eines ersten Auswahlsignals steuerbarer erster Multiplexer zum Schalten des Ausgangssignals der jeweiligen Nachschlagetabelle oder des Ausgangssignals des zweiten Ausgangs-Flip-Flops vorgeschaltet. Der Einsatz eines Multiplexers stellt eine einfache Möglichkeit dar, den Dateneingang eines ersten Ausgangs-Flip-Flops mit einem Datenausgang eines zweiten Ausgangs-Flip-Flops zum Ausbilden des Schieberegisters schaltbar zu verbinden.
  • Besonders bevorzugt sind dann das erste und das zweite Auswahlsignal identisch. In diesem Fall genügt eine einzelne Auswahlsignalleitung zur Steuerung der beiden Multiplexer.
  • Die Ausgangs-Flip-Flops sind bevorzugt als Taktflankengesteuerte D-Flip-Flops ausgebildet.
  • In einer vorteilhaften Ausgestaltung der Schaltungsanordnung ist der Datenausgang eines jeweiligen Ausgangs-Flip-Flops mit einem Ein-/Ausleseverstärker für eine Bitleitung eines Speicherzellenfeldes verbunden. Der Ein-/Ausleseverstärker dient dabei dem Schreiben von Bits in an die jeweilige Bitleitung gekoppelte Speicherzellen und zum Auslesen der jeweiligen gespeicherten Bitzustände in den Speicherzellen. Es ist daher von besonderem Vorteil, dass die jeweilige Bitleitung an eine vorbestimmte Anzahl von Speicherzellen zum Speichern von Konfigurationsbits gekoppelt ist, wobei die Speicherzellen an Kreuzungspunkten von entsprechenden Wortleitungen mit den Bitleitungen angeordnet sind.
  • Eine derartige matrixförmige Anordnung der Speicherzellen für die Konfigurationsbits kann beispielsweise für FRAM-Speicherzellen günstig sein. Dann dient auch der Ein-/Ausleseverstärker der Signalanpassung einerseits beim Einschreiben der Konfigurationsdaten in das Speicherzellenfeld und andererseits beim Auslesen der Konfigurationsbits, die in Speicherzellen an einer Bitleitung gespeichert sind, in entsprechende Konfigurationsregister der zugehörigen konfigurierbaren Logikzelle.
  • Es ist ferner von besonderem Vorteil, dass die Anzahl der Wortleitungen der Anzahl M der Konfigurationsbits für eine konfigurierbare Logikzelle entspricht. Somit sind alle Konfigurationsbits bzw. ein entsprechendes Konfigurationswort für eine Logikzelle in Speicherzellen abgelegt, welche an die Bitleitung gekoppelt sind, die wiederum über einen Ein-/Ausleseverstärker mit dem Ausgangs-Flip-Flop verbunden ist. Diese besonders vorteilhafte erfindungsgemäße Verschaltung ermöglicht neben dem Datentransport über die ausgebildete Schieberegisterkette zum Schreiben von Daten in das Speicherzellenfeld, ferner die Verifikation von in das Speicherzellenfeld eingeschriebenen Konfigurationsdaten.
  • Vorteilhafterweise haben die Ein-/Ausleseverstärker jeweils einen Einleseeingang zum Einlesen von Daten, welche in die an die jeweilige Bitleitung gekoppelten Speicherzellen zu schreiben sind, und einen Ausleseausgang zum Ausgeben von Konfigurationsdaten an die jeweilige konfigurierbare Logikzelle. Besonders bevorzugt weist der jeweilige erste Multiplexer dann einen dritten Eingang auf, mit dem der jeweilige Ausleseausgang des Ein-/Ausleseverstärkers verbunden ist zum Schalten von Konfigurationsbits der Konfigurationsdaten an den Dateneingang des jeweiligen Ausgangs-Flip-Flops. Durch dieses Verschalten ist es möglich, in dem Ausgangs-Flip-Flop in einem besonderen Betriebsmodus die Speicherzelleninhalte aus dem Konfigurationsspeicher zwischenzuspeichern. Dies kann beispielsweise der Verifikation der in den Speicher eingeschriebenen Konfigurationsdaten dienen.
  • Ein jeweiliger Ausleseausgang des Ein-/Ausleseverstärkers ist dann vorteilhaft mit einem Konfigurationsschieberegister der jeweiligen konfigurierbaren Logikzelle schaltbar verbunden, um eine Übertragung der Konfigurationsbits zu schaffen.
  • In einer bevorzugten Weiterbildung der erfindungsgemäßen Schaltungsanordnung weist ein jeweiliger Ein-/Ausleseverstärker eine Logikeinrichtung zum Vergleichen eines an dem Einleseeingang und dem Ausleseausgang anliegenden Datums und zum Ausgeben eines Vergleichsergebnisses auf. In Kombination mit einem zwischengespeicherten Datum in dem jeweiligen Ausgangs-Flip-Flops ist somit ein Vergleich von in den Speicherzellen gespeicherten Daten und dem zwischengespeicherten Datum möglich.
  • In einer bevorzugten Weiterbildung der vorliegenden Erfindung ist eine FPGA-Einrichtung vorgesehen, die eine Mehrzahl von konfigurierbaren Logikzellen aufweist, eine Mehrzahl von erfindungsgemäßen Schaltungsanordnungen aufweist, und ein Speicherzellenfeld aufweist. Dabei sind die konfigurierbaren Logikzellen spaltenweise angeordnet, und mittels der Ausgangs- Flip-Flops der jeweiligen Spalten ist ein Schieberegister ausbildbar.
  • Die erfindungsgemäße spaltenhafte Anordnung der Logikzellen ermöglicht eine besonders verdrahtungsgünstige Ausführung und Ausbildung des erfindungsgemäßen Schieberegisters zum Transport von Konfigurationsdaten. Die matrixförmig angeordneten Speicherzellen an Kreuzungspunkten von Wort- und Bitleitungen des Speicherzellenfeldes sind einfach mittels der Ein-/Ausleseverstärker ein- und auslesbar. Mittels der erfindungsgemäßen FPGA-Einrichtung kann diese aufwandsgünstig hergestellt werden, weil keine zusätzlichen Mittel zum Einschreiben der Konfigurationsdaten in das Speicherzellenfeld vorgesehen werden müssen.
  • Vorteilhafterweise werden die an einem Datenausgang eines jeweiligen Ausgangs-Flip-Flops anliegenden Pegel mit dem entsprechenden Pegel an dem zugeordneten Ausleseausgang zum Erzeugen eines Vergleichsergebnisses verglichen. Dann werden die Vergleichsergebnisse der Ein-/Ausleseverstärker einer Spalte miteinander logisch verknüpft, um so ein Spaltenfehlersignal zu erzeugen. So lässt sich beispielsweise das jeweilige Vergleichsergebnis kaskadiert mit einem weiteren verknüpfen, und es lässt sich feststellen, ob bei einem der Ein-/Ausleseverstärker einer Spalte unterschiedliche logische Zustände anliegen. Bevorzugt ist eine Steuereinrichtung zum Erzeugen der Auswahlsignale vorgesehen. Die Steuereinrichtung kann beispielsweise das Anlegen der verschiedenen Taktsignale an die Takteingänge der Ausgangs-Flip-Flops und die entsprechenden Signale an die Dateneingänge koordinieren.
  • In einer bevorzugten Weiterbildung ist eine Versorgungsspannung für die ersten oder zweiten Multiplexer getrennt schaltbar. Da die Multiplexer in der Hauptsache während des Einschreibens der Konfigurationsdaten in das Speicherzellenfeld oder während eines Verifikationsbetriebsmodus zum Vergleichen von eingeschriebenen Referenzdaten in das Speicherzellenfeld verwendet werden, können diese stromsparend abgeschaltet werden, während der FPGA-Baustein im Normalmodus arbeitet. Im Normalmodus arbeiten die konfigurierbaren Logikzellen entsprechend ihrer Konfiguration durch die Konfigurationsbits in ihren Konfigurationsschieberegistern als logische Funktionen.
  • In einer alternativen Ausbildungsform der erfindungsgemäßen FPGA-Einrichtung ist jede an eine jeweilige Bitleitung gekoppelte Speicherzelle an einen Schalttransistor der jeweiligen konfigurierbaren Logikzelle gekoppelt. Dabei legen die Schalttransistoren eine Logikfunktion der konfigurierbaren Logikzelle fest.
  • Weitere vorteilhafte Weiterbildungen und Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung und unter Bezugnahme auf die Figuren näher erläutert. Es zeigt dabei:
  • 1: eine konfigurierbare Logikzelle nach dem Stand der Technik;
  • 2: eine schematische Darstellung eines nichtflüchtigen FPGAs nach dem Stand der Technik;
  • 3: eine schematische Darstellung einer ersten Ausführungsform der erfindungsgemäßen Schaltungsanordnung;
  • 4: ein Blockschaltbild der erfindungsgemäßen Schaltungsanordnung;
  • 5: eine schematische Darstellung einer zweiten Ausführungsform der erfindungsgemäßen Schaltungsanordnung in einem Einschreibebetriebsmodus;
  • 6: die zweite Ausführungsform der erfindungsgemäßen Schaltungsanordnung in einem Konfigurationsbetriebsmodus;
  • 7: ein Blockschaltbild einer dritten Ausführungsform der erfindungsgemäßen Schaltungsanordnung;
  • 8: eine schematische Darstellung eines erfindungsgemäßen FPGAs; und
  • 9: einen erfindungsgemäßen Ein-/Ausleseverstärker für eine Bitleitung.
  • In den Figuren sind, sofern nichts Anderes angegeben ist, gleiche bzw. funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden.
  • Die 3 zeigt zur Erläuterung der Erfindung eine Verschaltung mit an einen nichtflüchtigen Speicher gekoppelten Ausgangs-Flip-Flops von zugeordneten konfigurierbaren Logikzellen. Es sind mehrere in einer Spalte angeordnete Flip-Flops 1, 2, 3, 4 dargestellt, die jeweils einen Dateneingang 5, einen Datenausgang 6 und einen Takteingang 7 aufweisen. Die dargestellten Flip-Flops 1, 2, 3, 4 sind jeweils Teil einer programmierbaren Logikzelle, welche hier nicht näher dargestellt ist. In einem Betrieb nach dem Stand der Technik, wie es beispielsweise in der 1 dargestellt ist, dienen die Flip-Flops 1, 2, 3, 4 als Ausgangs-Flip-Flops zum Ausgeben von Ausgangssignalen einer ebenfalls vorgehaltenen Nachschlagetabelle der jeweiligen Logikzelle.
  • Erfindungsgemäß ist jeweils der Dateneingang 5 eines ersten Flip-Flops 2 über einen Schalter 8 mit einem Datenausgang 6 eines zweiten Ausgangs-Flip-Flops 1 schaltbar verbunden. Den Takteingängen 7 der Ausgangs-Flip-Flops 1, 2, 3, 4 ist ein gemeinsames Taktsignal CLK zugeführt. Es ist ferner ein Speicherzellenfeld 9 vorgesehen, welches als Speicher für Konfi gurationsdaten für die konfigurierbaren Logikzellen dient. Die entsprechenden nichtvolatilen Speicherzellen 10 sind jeweils an Kreuzungspunkten einer Bitleitung 11 mit einer Wortleitung 12 vorgesehen.
  • In dem hier dargestellten Beispiel sind vier Bitleitungen 11 dargestellt, die jeweils über einen Ein-/Ausleseverstärker 13 an die Datenausgänge 6 der Ausgangs-Flip-Flops 1, 2, 3, 4 gekoppelt sind. Die Ein-/Ausleseverstärker 13 dienen unter Anderem als Signalpegelwandler, da das Speicherzellenfeld, bzw. der in das FPGA integrierte Konfigurationsspeicher, und die übrigen die logischen Funktionen bestimmenden Elemente in verschiedenen Fertigungstechnologien hergestellt sein können. Dann ist eine Anpassung der jeweiligen logischen Pegel zwischen den Technologien durch die Ein-/Ausleseverstärker 13 möglich.
  • Die Wortleitungen 12 sind jeweils über Ein-/Ausleseverstärker 14 an einen Wortleitungsdekoder 15 gekoppelt. Dem Wortleitungsdekoder 15 sind Wortleitungsadress-Signale WA zugeführt, die beim Ein- und Auslesen aus dem Konfigurationsspeicher 9 die jeweiligen Speicherzellen 10 adressieren.
  • Die Anzahl der nichtvolatilen Speicherzellen 10, welche an eine Bitleitung 11 gekoppelt sind, entspricht der Anzahl der Konfigurationsbits für eine konfigurierbare Logikzelle, der das jeweilige Ausgangs-Flip-Flop 1 zugeordnet ist.
  • Die Erfindung ermöglicht nun, die Ausgangs-Flip-Flops 1 zu einem Schieberegister zusammenzuschalten. Dabei ist dann der Datenausgang 6 des der nullten Zeile bzw. Bitleitung 11 zugeordneten Ausgangs-Flip-Flops 1 an den Dateneingang 5 des der ersten Zeile zugeordneten Ausgangs-Flip-Flops 2 verbunden. Der Datenausgang 6 des der ersten Zeile zugeordneten Ausgangs-Flip-Flops 2 ist mit dem Dateneingang 5 des der zweiten Zeile zugeordneten Ausgangs-Flip-Flops 3 verbunden, und der Datenausgang 6 dieses Flip-Flops 3 ist mit dem Dateneingang 5 des der dritten Zeile zugeordneten Ausgangs-Flip-Flops 4 verbunden. Somit ist ein serieller Datentransport von Konfigurationsdaten CDIN in die so ausgebildete Schieberegisterkette möglich.
  • Nachdem die Ausgangs-Flip-Flops 1, 2, 3, 4 mit Konfigurationsbits gefüllt sind, lassen sich diese Bits in Abhängigkeit von den Wortadress-Signalen CA durch die Ein-/Ausleseverstärker 13, 14 in entsprechende nichtvolatile Speicherzellen 10 einschreiben. Dieser Vorgang wird dann M-fach wiederholt, um die vollständigen Konfigurationsdaten in das Speicherzellenfeld 9 einzuschreiben.
  • In einer anschließenden Konfigurationsphase, wie sie im Folgenden beispielsweise in der 6 näher erläutert ist, werden die Konfigurationsbits, welche in nichtvolatilen Speicherzellen 10 derselben Bitleitung 11 bzw. derselben Zeile gespeichert sind, in Konfigurationsschieberegister (hier nicht dargestellt) der konfigurierbaren Logikzellen eingelesen.
  • Im Normalbetriebsmodus des entsprechenden FPGA-Bausteins sind dann die bevorzugt als steuerbare Schalter ausgeführten Schalter 8 geöffnet, so dass die Ausgangs-Flip-Flops 1, 2, 3, 4 lediglich der (getakteten) Ausgabe der jeweiligen digitalen Ausgangssignale der der jeweiligen konfigurierbaren Logikzelle zugeordneten Nachschlagetabelle dienen.
  • Die 4 zeigt eine bevorzugte Ausführungsform der erfindungsgemäßen Schaltungsanordnung 16 um ein Ausgangs-Flip-Flop anhand eines Ausgangs-Flip-Flop 2 einer jeweiligen konfigurierbaren Logikzelle. Das Ausgangs-Flip-Flop 2 hat einen Dateneingang 5, einen Datenausgang 6 und einen Takteingang 7.
  • Dem Dateneingang 5 ist ein erster Multiplexer 17 vorgeschaltet, dessen Ausgang 18 mit dem Dateneingang 5 verbunden ist. Der erste Multiplexer 17 schaltet in Abhängigkeit von dem Auswahlsignal CSEL1 entweder ein an seinem ersten Eingang 19 zugeführtes Signal FFO0, das das Ausgangssignal eines zweiten (hier nicht dargestellten) Ausgangs-Flip-Flops ist, oder ein Ausgangssignal LTO1 einer Nachschlagetabelle der entsprechenden Logikzelle (hier nicht dargestellt), das an den zweiten Eingang 20 des ersten Multiplexers 17 geführt ist. Mittels des ersten Multiplexers 17 ist somit ein Umschalten in Abhängigkeit des Auswahlsignals CSEL1 zwischen einem Betriebsmodus in dem eine Schieberegisterkette durch Zuführen der Ausgangssignale FFO0 eines anderen Ausgangs-Flip-Flops gebildet ist (Einlesebetriebsmodus), oder einem Normalbetriebsmodus, bei dem dem Ausgangs-Flip-Flop 2 als Eingangssignal das Ausgangssignal LTO1 der zugeordneten Nachschlagetabelle zugeführt ist.
  • Es ist zweiter Multiplexer 21 vorgesehen mit einem ersten Eingang 22, dem ein Einlesetaktsignal CCLK zugeführt ist und einem zweiten Eingang 23, dem ein Logikzellentaktsignal CLK1 zugeführt ist. Der Ausgang 24 des zweiten Multiplexers 21 ist mit dem Takteingang 7 des Ausgangs-Flip-Flops 2 verbunden. Der zweite Multiplexer 21 schaltet in Abhängigkeit eines zweiten Auswahlsignals CSEL2 entweder das Einlesetaktsignal CCLK oder das Logikzellentaktsignal CLK1 an den Takteingang 7 des Auslese-Flip-Flops 2. Es sind somit zwei verschiedene Taktungen je nach Betriebsmodus möglich.
  • Das Einlesetaktsignal CCLK kann beispielsweise bei der erfindungsgemäßen Verschaltung des Ausgangs-Flip-Flops 2, bei dem das Ausgangssignal FFO0 an den Eingang 5 geführt ist, als Taktsignal für den bitweisen Transport durch die Schieberegisterkette verwendet werden. Im Normalbetrieb hingegen ist es möglich, das Ausgangs-Flip-Flop 2 einer jeden konfigurierbaren Logikzelle mittels des individuellen Logikzellentaktsignals CLK1 zu takten.
  • Die 5 zeigt schematisch den Einsatz der erfindungsgemäßen Schaltung 16 in einem FPGA-Baustein. Die schematische Darstellung einer FPGA-Einrichtung 28 zeigt beispielhaft drei Schaltungsanordnungen 16, wie sie in der 4 dargestellt sind, sowie ein Speicherzellenfeld 9 gemäß der 3.
  • Die Ausgangssignale LTO0, LTO1, LTO2 der Nachschlagetabellen 25, 26, 27 sind an die ersten Multiplexer 17 geführt. An den ersten Multiplexer 17 der nullten Zeile sind ferner die seriellen Konfigurationsdaten DCIN geführt. Der Datenausgang des Ausgangs-Flip-Flops 1 der Nullten Zeile ist an den ersten Multiplexer 17 der ersten Zeile verbunden, und die Signale des Ausgangs-Flip-Flops 2 der ersten Zeile sind an den ersten Multiplexer 17 der zweiten Zeile geführt. Ferner ist den zweiten Multiplexern 21 jeweils das Einlesetaktsignal CCLK zugeführt wie auch jeweils ein Logikzellentaktsignal CLK0, CLK1, CLK2.
  • In der Einlesephase der Konfigurationsdaten in das Speicherzellenfeld sind daher die Ausgangs-Flip-Flops 1, 2, 3 zu einer Schieberegisterkette verschaltet, wobei die als Schieberegisterzellen wirkenden Ausgangs-Flip-Flops 1, 2, 3 jeweils gemeinsam mit dem Einlesetakt CLK getaktet sind. Die Multiplexer 17, 21 werden von einem gemeinsamen Auswahlsignal CSEL gesteuert. Nach drei Taktzyklen ist das hier beispielhaft dargestellte dreigliedrige Schieberegister 1, 2, 3 gefüllt, und über die Ein-/Ausleseverstärker 13, 14 sowie den Wortleitungsdekodern 15 werden in jeder Zeile nichtvolatile Speicherzellen 10 beschrieben. Dieser Vorgang wiederholt sich, bis für jede konfigurierbare Logikzelle M Konfigurationsbits in dem Speicherzellenfeld 9 abgespeichert sind. Der entsprechende FPGA-Baustein 28 enthält damit die für seine Funktion notwendige Konfigurationsdaten. Nach dieser Einlesephase schließt sich die Konfigurationsphase der einzelnen konfigurierbaren Logikzellen an, in der Konfigurationsschieberegister mit den Konfigurationsbits gefüllt werden.
  • In der 6 ist wiederum ein Ausschnitt der erfindungsgemäßen FPGA-Einrichtung 28 dargestellt. In der 6 sind fer ner das Konfigurationsschieberegister 29 für die konfigurierbare Logikzelle, welche das erste Ausgangs-Flip-Flop 1 aufweist, dargestellt, sowie das entsprechende Konfigurationsschieberegister 30 für die konfigurierbare Logikzelle, welcher das zweite Ausgangs-Flip-Flop 2 zugeordnet ist, dargestellt. Die Konfigurationsschieberegister 29, 30 weisen jeweils M Schieberegisterzellen 31 auf zum Abspeichern der Konfigurationsbits. Nachdem die Einlesephase, wie sie zur 5 erläutert wurde, abgeschlossen ist, d.h. mittels des Auswahlsignals CSEL die seriellen Konfigurationsdaten CDIN in die aus den Ausgangs-Flip-Flops 1, 2 gebildete Schieberegisterkette eingelesen wurden und in das Speicherzellenfeld 9 abgespeichert wurden, beginnt die Konfigurationsphase für die konfigurierbaren Logikzellen.
  • In der Konfigurationsphase werden die in dem Speicherzellenfeld 9 abgelegten Konfigurationsdaten in die Konfigurationsschieberegister 29, 30 eingeschrieben. Dazu ist den Konfigurationsschieberegistern 29, 30 ein Konfigurationstaktsignal LCLK zugeführt und die Ein-/Ausleseverstärker 13, welche an die jeweiligen Bitleitungen gekoppelt sind, verfügen über einen Einleseeingang 32 und einen Ausleseausgang 33. Dabei ist der Einleseeingang 32 mit dem jeweiligen Datenausgang des jeweiligen Ausgangs-Flip-Flops 1, 2 verbunden, und der jeweilige Ausleseausgang 33 ist direkt an einen Eingang 34 des Konfigurationsschieberegisters 29, 30 verbunden.
  • In der Konfigurationsphase werden nun, durch das Konfigurationstaktsignal LCLK getaktet, die in den Speicherzellen 10, welche an eine jeweiligen Bitleitung 11 gekoppelt sind, abgespeicherten Konfigurationsbits als serielle Zellenkonfigurationsdaten SCD0, SCD1 in die Konfigurationsschieberegister 29 geschrieben.
  • Damit sind dann die Logikoperationen der jeweiligen konfigurierbaren Logikzellen durch die Konfigurationsbits festgelegt. Das heißt, die entsprechende Nachschlagetabelle 25, 26 setzt eine gewünschte Boolesche Operation um, die die jeweiligen Eingangsdaten PD0, PD1 in Ausgangssignale LTO0, LTO1 der Nachschlagetabellen überführt. Im dann anschließenden Normalbetrieb des FPGA-Bausteins 28 sind wiederum diese Ausgangssignale LTO0, LTO1 zum Zwischenspeichern an die Dateneingänge der Ausgangs-Flip-Flops 1, 2 geführt.
  • Die 7 zeigt eine Weiterbildung der erfindungsgemäßen Schaltungsanordnung 35. Die erweiterte Schaltungsanordnung 35 ermöglicht ferner die Durchführung eines Verifikationsmodus, um das korrekte Einschreiben der Konfigurationsbits in die nichtvolatilen Speicherzellen zu überprüfen.
  • Die weitergebildete Schaltungsanordnung 35 weist im Wesentlichen dieselben Elemente auf, wie die in 4 dargestellte Schaltungsanordnung 16. Es ist ein Ausgangs-Flip-Flop 2 mit einem Dateneingang 5, einem Datenausgang 6 und einem Takteingang 7 dargestellt. Dem Takteingang 7 ist ein Multiplexer 21 vorgeschaltet, der in Abhängigkeit von einem Auswahlsignal CSEL2 ein Einlesetaktsignal CCLK oder Logikzellentaktsignal CLK1 durchschaltet.
  • Das Ausgangssignal FF01 des Ausgangs-Flip-Flops 2 wird an seinem Datenausgang 6 und über einen steuerbaren Schalter 8 an den Einleseeingang 32 des Ein-/Ausleseverstärkers 13 geführt. Der Schalter 8 ist über ein weiteres Auswahlsignal CSEL4 steuerbar. Der Ein-/Ausleseverstärker 13 ist, wie bereits in den 3 und 5 dargestellt, an eine jeweilige Bitleitung gekoppelt, die wiederum an nichtvolatile Speicherzellen verbunden ist.
  • Dem Dateneingang 5 dieses Ausgangs-Flip-Flops 2 ist ebenfalls ein Multiplexer 17 vorgeschaltet, der drei Eingänge 19, 20, 37 aufweist, an die das Ausgangssignal LTO1 der jeweiligen Nachschlagetabelle, ein Ausgangssignal FFO0 eines anderen Ausgangs-Flip-Flops (hier nicht dargestellt) oder ein Auslesesignal SCD1' zugeführt ist, wobei das Auslesesignal SCD1' an dem Ausleseausgang 33 des Ein-/Ausleseverstärkers 13 abgreifbar ist und über einen weiteren steuerbaren Schalter 38 dem jeweiligen Eingang 37 des Multiplexers 17 schaltbar zugeführt ist. Der weitere steuerbare Schalter 38 ist über ein weiteres Auswahlsignal CSEL3 gesteuert. Der Multiplexer 17 ist über ein erstes Auswahlsignal CSL1 gesteuert.
  • Mittels des steuerbaren Schalters 38 kann das Auslesesignal SCD1' entweder dem Multiplexer 17 oder dem Konfigurationsschieberegister 30 zugeführt werden. Das Konfigurationsschieberegister 30 weist Schieberegisterzellen 31 auf und ist mittels eines Konfigurationstaktsignals LCLK taktbar. In dem zur 6 beschriebenen Konfigurationsmodus sind die Auslesesignale SCD1' aus dem Speicherzellenfeld über den Schalter 38 in das Konfigurationsschieberegister 30 geführt.
  • In dem zuvor beschriebenen Einlesemodus, in dem die Konfigurationsbits in das Speicherzellenfeld (hier nicht dargestellt) eingelesen werden, ist das Signal FFFO0, welches ein Ausgangssignal eines weiteren Ausgangs-Flip-Flops ist, über den ersten Multiplexer 17 an den Dateneingang 5 geführt und wird seriell bzw. durch das Flip-Flop 2 geführt, so dass das Ausgangssignal FFO1 weiteren Flip-Flops der entsprechenden Spalte zugeführt wird. Nachdem das Schieberegister, wie zuvor ausgeführt wurde, gefüllt ist, wird der Schalter 8 umgelegt, so dass mittels des Ein-/Ausleseverstärkers 13 eine nichtvolatile Speicherzelle mit dem entsprechenden Bitwert, welcher in dem Ausgangs-Flip-Flop 2 abgespeichert ist, eingeschrieben werden kann.
  • Die Weiterbildung 35 ermöglicht nun eine Verifikation des in eine nichtvolatile Speicherzelle eingeschriebenen Konfigurationsbits. Nachdem ein in dem Ausgangs-Flip-Flop 2 abgelegtes Konfigurationsbit über den Ein-/Ausleseverstärker 13 in eine entsprechende nichtvolatile Speicherzelle geschrieben wurde, kann der entsprechende Ein-/Ausleseverstärker 13 über eine geeignete Vergleichsschaltung das an seinem Einleseeingang 32 anliegende Signal, also der logische Pegel des eingeschriebenen Konfigurationsbits, da dieses nach wie vor in dem Ausgangs-Flip-Flop abgespeichert vorliegt, mit dem an seinem Ausgang 36 anliegenden Signal vergleichen. Das an seinem Ausgang 36 anliegende Signal entspricht dann dem logischen Pegel eines Bits, welches in einer (durch den hier nicht dargestellten Wortleitungsdekoder) adressierten nichtvolatilen Speicherzelle anliegt. Wenn der Einschreibevorgang zuvor fehlerlos erfolgte, stimmen die beiden logischen Pegel an dem Einleseeingang 32 und dem Ausgang 36 überein. Falls dies nicht der Fall ist, ist beim Einschreiben in die nichtvolatile Speicherzelle ein Fehler aufgetreten, der von dem Ein-/Ausleseverstärker 13 signalisiert werden kann. Beispielsweise kann ein entsprechendes Fehlersignal ES ausgegeben werden.
  • Es ist mittels der erfindungsgemäßen Schaltungsanordnung 35 ferner möglich, eine weitere Verifikation des Betriebs der konfigurierbaren Logikzellen durchzuführen. Dazu werden, nachdem die Konfigurationsphase durchgeführt wurde, also die Konfigurationsschieberegister mit entsprechenden Konfigurationsbits gefüllt sind, die Ausgangs-Flip-Flops 2 wiederum als Schieberegisterkette geschaltet und mit erwarteten Referenz-Ausgangsdaten gefüllt, welche in eine Spalte von Speicherzellen des Speicherzellenfeldes 9 geschrieben werden. Diese Referenz-Ausgangsdaten werden beim Anlegen von Test-Eingangsdaten an die konfigurierbaren Logikzellen als Ausgangssignale der entsprechenden Nachschlagetabellen LTO1 erwartet.
  • In einer weiteren Phase dieses Verifikationsmodus für die Funktionstüchtigkeit der konfigurierbaren Logikzellen werden nun die Ausgangs-Flip-Flops 2 als konventionelle Ausgangs-Flip-Flops für die konfigurierbaren Logikzellen betrieben. Die Testdaten werden entsprechend den konfigurierbaren Logikzellen durchgeführt, die daraufhin ein Ausgangssignal LTO1 der jeweiligen Nachschlagetabelle in das jeweilige Flip-Flop liefern. Ein entsprechend vorbereiteter Ein-/Ausleseverstärker 13 vergleicht nun das Ergebnis der konfigurierten Logik- Operationen, welches in dem Auslese-Flip-Flop 2 vorliegt, mit dem entsprechend erwarteten Referenz-Datum, welches in einer nichtvolatilen Speicherzeile des Speicherzellenfeldes abgelegt ist. Stimmen die beiden Daten überein, funktioniert der entsprechende FPGA-Baustein bzw. die konfigurierten Logikzellen einwandfrei.
  • Die 8 stellt schematisch den Einsatz der weiter gebildeten erfindungsgemäßen Schaltungsanordnung 28 in einer FPGA-Einrichtung 39 dar. Dabei entspricht die Verschaltung im wesentlichen der in 3, 5 und 6 gezeigten. Ferner ist eine Steuereinrichtung 40 dargestellt, die die Auswahlsignale CSEL1–CSEL4 liefert und den Wortleitungsdekoder 15 mit Wortadresssignalen WA steuert sowie die Ein-/Ausleseverstärker 13, 14 koordiniert.
  • In der 9 ist eine bevorzugte Ausführungsform eines Schreib-/Leseverstärkers 13 dargestellt. Der Schreib-/Leseverstärker 13 hat einen Einleseeingang 32, einen Ausleseausgang 33 und einen Ausgang 36 zum Ankoppeln an eine entsprechende Bitleitung 11. Signale SCDOUT1, welche in eine an die Bitleitung 11 gekoppelte Speicherzelle schrieben werden sollen, werden durch einen Schreibkonverter 41 in eine geeignete Pegelform gebracht und auf die Bitleitung 11 gegeben. Ein ähnlicher Lesekonverter 42 wandelt die an einer Bitleitung anliegenden Signale SCD1 in entsprechende, für die Datenverarbeitung erforderliche logische Pegel um und gibt sie an den Ausleseausgang 33 weiter.
  • An den Einleseeingang 32 und den Ausleseausgang 33 ist eine Vergleichseinrichtung 43 gekoppelt, die ein Vergleichsergebnis ES in Abhängigkeit der an dem Ein- bzw. Ausgang anliegenden Signale erzeugt. Dadurch ist es beispielsweise möglich, den Inhalt eines an den Einleseeingang 32 gekoppelten Auslese-Flip-Flops mit dem Speicherzelleninhalt einer an die Bitleitung 11 gekoppelte Speicherzelle, welcher durch den Lesekonverter 42 verstärkt wird, mittels der Vergleichseinrich tung 43 zu vergleichen. Dies kann beispielsweise zur Verifikation des Einschreibens der Konfigurationsdaten in die Speicherzellen erfolgen, oder aber wie bereits zu 7 angemerkt, auch zur Überprüfung der Funktionsfähigkeit der konfigurierten Logikzellen.
  • Der hier dargestellte Ein-/Ausleseverstärker 13 verfügt ferner über ein logisches UND-Gatter 44, dem das Vergleichsergebnis ES zugeführt ist sowie ein Fehlersignal SV2 eines weiteren (hier nicht dargestellten) Ein-/Ausleseverstärkers. Das UND-Gatter 44 liefert daraus ein Fehlersignal SV1 des hier betrachteten Ein-/Ausleseverstärkers 13. Das Fehlersignal des weiteren Ein-/Ausleseverstärkers bzw. eines Ein-/Ausleseverstärkers, der einer direkt benachbarten Bitleitung 11 zugeordnet ist, ist an einen Fehlereingang 45 des Ein-/Ausleseverstärkers 13 geführt. Das Fehlersignal SV1 des Ein-/Ausleseverstärkers 13 ist an einem Fehlerausgang 46 abgreifbar.
  • Das hier in 9 gezeigte Ausführungsbeispiel des Ein-/Ausleseverstärkers 13 ermöglicht die Gestaltung und Bewertung entsprechender Fehlersignale SV2, SV1. Durch diese UND-Verknüpfung ist es beispielsweise möglich, ein globales Fehlersignal an den entsprechenden Ein-/Ausleseverstärkers der nullten Zeile (beispielsweise wie in 8 gezeigt) abzugreifen.
  • Die vorliegende Erfindung liefert somit eine Schaltungsanordnung, die es ermöglicht, in konfigurierbaren Logikzellen vorhandene Ausgangs-Flip Flops zu einer Schieberegisterkette zu verschalten. Dadurch können in einem Einlesebetriebsmodus Konfigurationsdaten über eine derart ausgebildete Schieberegisterkette in einen Konfigurationsspeicher aus einem Speicherzellenfeld von nichtvolatilen Speicherzellen geschrieben werden. Dies ist ohne sonst üblichen weiteren Verdrahtungsaufwand möglich.
  • Ferner erlaubt die erfindungsgemäße Schaltungsanordnung gemäß ihrer Ausführungsbeispiele in einer Konfigurationsphase das Einlesen der in den nichtvolatilen Speicherzellen abgespeicherten Konfigurationsdaten in entsprechende Konfigurationsschieberegister der konfigurierbaren Logikzellen. Darüber hinaus ermöglicht die erfindungsgemäße Schaltung bzw. erfindungsgemäße FPGA-Einrichtungen Verifikationsmodi, in denen das korrekte Einschreiben der Konfigurationsdaten in den Konfigurationsspeicher überprüft wird. Dies gelingt u.a. durch die erfindungsgemäße Ausführung der Ein-/Ausleseverstärker und die Verschaltung der vorgehaltenen Multiplexer.
  • In einem weiteren Verifikationsmodus ist es ferner möglich, die korrekte Funktionsweise der konfigurierbaren Logikzellen zu prüfen, indem Referenzdaten in das Speicherzellenfeld eingelesen werden. Das Einlesen kann wiederum erfindungsgemäß durch das Ausbilden eines Schieberegisters durch die Ausgangs-Flip-Flops erfolgen. Dann werden Testeingangsdaten an die konfigurierbaren Logikzellen geführt und die entsprechenden logischen Ausgangsdaten mit den Referenzdaten im Speicherzellenfeld durch die Ein-/Ausleseverstärker verglichen.
  • Die vorliegende Erfindung eignet sich besonders zur Anwendung in FPGA-Bausteinen, in denen die konfigurierbaren Logikzellen bereits in einer spaltenförmigen Anordnung ausgeführt sind. Dann ist es besonders einfach, die vorgehaltenen Auslese-Flip-Flops zu einem Schieberegister zu verschalten. Die vorliegende Erfindung ermöglicht es ferner, in dem Konfigurationsspeicher vorbehaltene Ein-/Ausleseverstärker für die beschriebenen Verifikationsmodi zu verwenden. Der Transport der Konfigurationsdaten durch das von den Ausgangs-Flip-Flops ausgebildete Schieberegister ermöglicht auch die nur partielle Beschreibung oder Veränderung von Konfigurationsdaten in den nichtvolatilen Speicherzellen. Bei der matrixförmigen Anordnung der nichtvolatilen Speicherzellen ist eine einfache Erweiterung mit Wortleitungen über die Anzahl der für eine jeweilige konfigurierbare Logikzelle benötigten Konfigurati onsbits hinaus möglich, um mehrere Konfigurationsdatensätze abzuspeichern. Es ist darüber hinaus einfach möglich, Teile der erfindungsgemäßen Schaltungsanordnungen während der unterschiedlichen Betriebsmodi abzuschalten bzw. die Versorgungsspannung herunterzuregeln. Dadurch wird der Stromverbrauch eines entsprechenden FPGAs reduziert.
  • LC
    Programmierbare Logikzelle
    CM
    Konfigurationsschieberegister
    CB
    Konfigurationsbits
    LUT
    Nachschlagetabelle
    PD
    Eingangsdaten
    MUX1, MUX2
    Multiplexer
    LTO
    Ausgangssignal
    FFO, FFO'
    Flip-Flop-Ausgangssignal
    DFF
    D-Flip-Flop
    D
    Dateneingang
    Q
    Datenausgang
    CK
    Takteingang
    LC1, LC2, LCN
    Programmierbare Logikzelle
    A1, A2, AN
    Ausgang
    CM1, CM2, CMN
    Konfigurationsschieberegister
    PD1, PD2, PDN
    Eingangsdaten
    SW1, SW2, SWN
    Schalter
    FFO1, FFON
    Flip-Flop-Ausgangssignal
    SCD1, SCD2, SCDN
    serielle Konfigurationsdaten
    CCLK
    Taktsignal
    ISR
    Schieberegister
    Z1, Z2, ZN
    Schieberegisterzelle
    CD
    Konfigurationsdaten
    MCA
    Speicherzellenfeld
    FPGA
    Einrichtung
    NVMC
    nichtvolatile Speicherzelle
    WL1, WL2, WLN
    Wortleitung
    BL1, BL2, BLN
    Bitleitung
    CLK1
    Taktsignal
    CSEL, CSEL1, CSEL2
    Auswahlsignal
    ES
    Fehlersignal
    SV1, SV2
    Fehlersignal
    WA
    Wortleitungsadresse
    1, 2, 3, 4
    Flip-Flop
    5
    Dateneingang
    6
    Datenausgang
    7
    Takteingang
    8
    Schalter
    9
    Konfigurationsspeicher
    10
    Speicherzelle
    11
    Bitleitung
    12
    Wortleitung
    13
    Bitleitungs-Ein-/Ausleseverstärker
    14
    Wortleitungs-Ein-/Ausleseverstärker
    15
    Wortleitungsdecoder
    16
    Schaltungsanordnung
    17
    Multiplexer
    18
    Ausgang
    19, 20
    Eingang
    21
    Multiplexer
    22, 23
    Eingang
    24
    Ausgang
    25, 26, 27
    Nachschlagetabelle
    28
    FPGA-Einrichtung
    29, 30
    Konfigurationsschieberegister
    31
    Schieberegisterzelle
    32
    Einleseeingang
    33
    Ausleseausgang
    34
    Eingang
    35
    Erfindungsgemäße Schaltungsanordnung
    36
    Ausgang
    37
    Eingang
    38
    Steuerbarer Schalter
    39
    FPGA-Einrichtung
    40
    Steuereinrichtung
    41
    Schreibkonverter
    42
    Lesekonverter
    43
    Vergleichseinrichtung
    44
    UND-Gatter
    45
    Eingang
    46
    Ausgang

Claims (20)

  1. Schaltungsanordnung (16, 35) zum Betrieb von in konfigurierbaren Logikzellen einer FPGA-Einrichtung (28, 39) vorgesehenen Ausgangs-Flip-Flops (1, 2, 3, 4) zum Transport von Konfigurationsdaten (CDIN) mit: – mehreren jeweiligen konfigurierbaren Logikzellen zugeordneten Ausgangs-Flip-Flops (1, 2, 3, 4), wobei jedes Ausgangs-Flip-Flop zumindest einen Dateneingang (5) und einen Datenausgang (6) aufweist; – wobei ein Dateneingang (5) eines ersten Ausgangs-Flip-Flops (2) mit einem Datenausgang (6) eines zweiten Ausgangs-Flip-Flops (1) zum Ausbilden eines Schieberegisters (1, 2, 3, 4) mittels einem in der FPGA-Einrichtung (28, 39) integrierten Schaltmittel (8) schaltbar verbunden ist; – wobei zumindest ein Ausgangs-Flip-Flop (1, 2, 3, 4) einen Takteingang (7) aufweist, an den ein Einlesetaktsignal (CCLK) oder ein Logikzellentaktsignal (CLK1, CLK2, CLK3) umschaltbar zugeführt ist; und – wobei dem Takteingang (7) eines jeweiligen Ausgangs-Flip-Flops (1, 2, 3, 4) ein mittels eines zweiten Auswahlsignals (CSEL2) steuerbarer zweiter Multiplexer (21) zum Schalten des Einlesetaktsignals (CCLK) oder des jeweiligen Logikzellentaktsignals (CLK1, CLK2, CLK3) vorgeschaltet ist.
  2. Schaltungsanordnung (16, 35) nach Anspruch 1, dadurch gekennzeichnet, dass dem Datenausgang eines jeweiligen Ausgangs-Flip-Flops (1, 2, 3, 4) ein Mittel zur Signalpegelwandlung (13) nachgeschaltet ist.
  3. Schaltungsanordnung (16, 35) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die FPGA-Einrichtung (28, 39) einen integrierten, nichtvolatilen Speicher (9) zum Speichern der Konfigurationsbits aufweist.
  4. Schaltungsanordnung (16, 35) nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass an den Dateneingang (5) eines jeweiligen Ausgangs-Flip-Flops (1, 2, 3, 4) ein Ausgangssignal (LTO0, LTO1, LTO2, LTO3) einer Nachschlagetabelle (25, 26, 27) der jeweiligen Logikzelle zuführbar ist.
  5. Schaltungsanordnung (16, 35) nach Anspruch 4, dadurch gekennzeichnet, dass dem Dateneingang (5) eines jeweiligen ersten Ausgangs-Flip-Flops (2) ein mittels eines ersten Auswahlsignals (CSEL1) steuerbarer erster Multiplexer (17) zum Schalten des Ausgangssignals (LTO0, LTO1, LTO2, LTO3) der jeweiligen Nachschlagetabelle (25, 26, 27) oder des Ausgangssignals (FF0O) des zweiten Ausgangs-Flip-Flops (1) vorgeschaltet ist.
  6. Schaltungsanordnung (16, 35) nach Anspruch 5, dadurch gekennzeichnet, dass das erste (CSEL1) und zweite Auswahlsignal (CSEL2) identisch sind.
  7. Schaltungsanordnung (16, 35) nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Ausgangs-Flip-Flops (1, 2, 3, 4) als taktflankengesteuerte D-Flip-Flops ausgebildet sind.
  8. Schaltungsanordnung (16, 35) nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Datenausgang (6) eines jeweiligen Ausgangs-Flip-Flops mit einem Ein-/Ausleseverstärker (13) für eine Bitleitung (11) eines Speicherzellenfeldes (9) verbunden ist.
  9. Schaltungsanordnung (16, 35) nach Anspruch 8, dadurch gekennzeichnet, dass der Ein-/Ausleseverstärker (13) einen Signalpegelwandler aufweist.
  10. Schaltungsanordnung (16, 35) nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die jeweilige Bitleitung (11) an eine vorbestimmte Anzahl M von Speicherzellen (10) zum Speichern von Konfigurationsbits gekoppelt ist, wobei die Speicherzellen (10) an Kreuzungspunkten von entsprechenden Wortleitungen (12) mit den Bitleitungen (11) angeordnet sind.
  11. Schaltungsanordnung (16, 35) nach Anspruch 10, dadurch gekennzeichnet, dass die Anzahl der Wortleitungen (12) der Anzahl M der Konfigurationsbits für eine konfigurierbare Logikzelle entspricht.
  12. Schaltungsanordnung (16, 35) nach wenigstens einem der vorherigen Ansprüche 8–11, dadurch gekennzeichnet, dass die Ein-/Ausleseverstärker (13) jeweils einen Einleseeingang (32) zum Einlesen von Daten (SCDOUT1) in die an die jeweilige Bitleitung (11) gekoppelten Speicherzellen (10) und einen Ausleseausgang (33) zum Ausgeben von Konfigurationsdaten (SCDIN) an die jeweilige konfigurierbare Logikzelle aufweisen.
  13. Schaltungsanordnung (16, 35) nach den Ansprüchen 5 und 12, dadurch gekennzeichnet, dass der jeweilige erste Multiplexer (17) einen dritten Eingang (37) aufweist, mit dem der jeweilige Ausleseausgang (33) des Ein-/Ausleseverstärkers (13) verbunden ist, zum Schalten von Konfigurationsbits der Konfigurationsdaten an den Dateneingang (5) des jeweiligen Ausgangs-Flip-Flops (1, 2, 3, 4).
  14. Schaltungsanordnung (16, 35) nach einem der Ansprüche 12 oder 13, dadurch gekennzeichnet, dass ein jeweiliger Ausleseausgang (33) des Ein-/Ausleseverstärkers (13) mit einem Konfigurationsschieberegister (29, 30) der jeweiligen konfigurierbaren Logikzelle schaltbar verbunden ist zum Übertragen der Konfigurationsbits.
  15. Schaltungsanordnung (16, 35) nach wenigstens einem der vorherigen Ansprüche 12–14, dadurch gekennzeichnet, dass ein jeweiliger Ein-/Ausleseverstärkers (13) eine Logikeinrichtung (43) zum Vergleichen eines an dem Einleseeingang (32) und dem Ausleseausgang (33) anliegendem Datums und zum Ausgeben eines Vergleichsergebnisses (ES) aufweist.
  16. FPGA-Einrichtung (28, 39) mit einer Mehrzahl von konfigurierbaren Logikzellen, mit einer Mehrzahl von Schaltungsanordnungen (16, 35) nach wenigstens einem der Ansprüche 8–15 und mit einem nichtvolatilen Speicherzellenfeld (9), wobei die konfigurierbaren Logikzellen spaltenweise angeordnet sind und mittels der Ausgangs-Flip-Flops (1, 2, 3, 4) der jeweiligen Spalten ein Schieberegister ausbildbar ist.
  17. FPGA-Einrichtung (28, 39) nach Anspruch 16, dadurch gekennzeichnet, dass die Vergleichsergebnisse (ES) der Ein-/Ausleseverstärker (13) einer Spalte miteinander logisch verknüpft (44) sind zum Erzeugen eines Spaltenfehlersignals (SV1).
  18. FPGA-Einrichtung (28, 39) nach Anspruch 16 oder 17, dadurch gekennzeichnet, dass eine Steuereinrichtung (40) vorgesehen ist zum Erzeugen der Auswahlsignale (CSEL1, ... CSEL4).
  19. FPGA-Einrichtung (28, 39) nach wenigstens einem der vorherigen Ansprüche 16–18, dadurch gekennzeichnet, dass eine Versorgungsspannung für die ersten oder zweiten Multiplexer (17, 21) getrennt abschaltbar ist.
  20. FPGA-Einrichtung (28, 39) nach wenigstens einem der vorherigen Ansprüche 16–19, dadurch gekennzeichnet, dass jede an eine jeweilige Bitleitung (11) gekoppelte Speicherzelle (10) an einen Schalttransistor der jeweiligen konfigurierbaren Logikzelle gekoppelt ist, wobei die Schalttransistoren eine Logikfunktion der konfigurierbaren Logikzelle festlegt.
DE102005023118A 2005-05-19 2005-05-19 Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen Expired - Fee Related DE102005023118B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005023118A DE102005023118B3 (de) 2005-05-19 2005-05-19 Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen
US11/437,421 US7492187B2 (en) 2005-05-19 2006-05-19 Circuit arrangement for supplying configuration data in FPGA devices
CNB2006101076732A CN100550642C (zh) 2005-05-19 2006-05-19 用于在fpga设备中提供配置数据的电路布置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005023118A DE102005023118B3 (de) 2005-05-19 2005-05-19 Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen

Publications (1)

Publication Number Publication Date
DE102005023118B3 true DE102005023118B3 (de) 2006-12-21

Family

ID=37489814

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005023118A Expired - Fee Related DE102005023118B3 (de) 2005-05-19 2005-05-19 Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen

Country Status (3)

Country Link
US (1) US7492187B2 (de)
CN (1) CN100550642C (de)
DE (1) DE102005023118B3 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
CN100426199C (zh) * 2006-12-20 2008-10-15 华为技术有限公司 一种配置寄存器及其寄存方法
CN101211330B (zh) * 2006-12-25 2010-10-13 顾士平 可编程指令集计算机集成电路
US8112468B1 (en) 2007-03-22 2012-02-07 Tabula, Inc. Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC
WO2009035586A1 (en) 2007-09-06 2009-03-19 Tabula, Inc. Configuration context switcher
CN101682329B (zh) * 2008-01-30 2012-06-27 雅格罗技(北京)科技有限公司 一种具有改进的逻辑单元的集成电路
EP2553815A1 (de) 2010-04-02 2013-02-06 Tabula, Inc. System und verfahren zur reduzierung der nutzung von neukonfigurationsenergie
JP5883699B2 (ja) * 2011-04-13 2016-03-15 株式会社半導体エネルギー研究所 プログラマブルlsi
US8941409B2 (en) 2011-07-01 2015-01-27 Tabula, Inc. Configurable storage elements
JP2013030906A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd プログラマブルロジックデバイス
WO2013062562A1 (en) 2011-10-27 2013-05-02 Hewlett-Packard Development Company, L.P. Shiftable memory supporting in-memory data structures
GB2510286B (en) * 2011-10-28 2015-08-19 Hewlett Packard Development Co Row shifting shiftable memory
CN103632726B (zh) * 2013-01-31 2017-02-08 中国科学院电子学研究所 一种基于可编程基本逻辑单元的数据移位寄存电路
CN104242913B (zh) * 2013-06-21 2018-01-05 京微雅格(北京)科技有限公司 一种面积优化的fpga互连结构
JP6541376B2 (ja) * 2014-03-13 2019-07-10 株式会社半導体エネルギー研究所 プログラマブルロジックデバイスの動作方法
US10523207B2 (en) * 2014-08-15 2019-12-31 Altera Corporation Programmable circuit having multiple sectors
EP3157172B1 (de) * 2015-10-15 2018-11-28 Menta System und verfahren zum testen und konfigurieren eines fpga
CN106155747B (zh) * 2016-07-13 2020-04-21 无锡中微亿芯有限公司 一种基于fpga可加速配置的方法和控制***
JP2018060277A (ja) * 2016-10-03 2018-04-12 ソニー株式会社 半導体回路、半導体回路の制御方法、および電子機器
EP3376669A1 (de) * 2017-03-17 2018-09-19 Menta Fpga und verfahren zur fpga-programmierung
US10963265B2 (en) * 2017-04-21 2021-03-30 Micron Technology, Inc. Apparatus and method to switch configurable logic units
CN108182303B (zh) * 2017-12-13 2020-08-28 京微齐力(北京)科技有限公司 基于混合功能存储单元的可编程器件结构
US10384496B1 (en) * 2018-02-14 2019-08-20 Infineon Technologies Ag Configuration data storage for a tire pressure sensor
JP7030313B2 (ja) * 2018-07-12 2022-03-07 株式会社レイマック 調光電源装置および光源装置
CN116820015B (zh) * 2023-08-29 2023-11-17 灵动集成电路南京有限公司 具有灵活可配置逻辑模块的微控制器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH046913A (ja) * 1990-04-24 1992-01-10 Kawasaki Steel Corp プログラマブル論理素子
EP0317287B1 (de) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmierbare logische Vorrichtung
EP1324495A1 (de) * 2001-12-28 2003-07-02 Fujitsu Limited Programmierbare Logikschaltung mit ferroelektrischem Konfigurationsspeicher

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5760719A (en) * 1995-12-29 1998-06-02 Cypress Semiconductor Corp. Programmable I/O cell with data conversion capability
US5883526A (en) * 1997-04-17 1999-03-16 Altera Corporation Hierarchical interconnect for programmable logic devices
US6157210A (en) * 1997-10-16 2000-12-05 Altera Corporation Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits
US6324102B1 (en) 2000-12-14 2001-11-27 Actel Corporation Radiation tolerant flash FPGA
US6356478B1 (en) 2000-12-21 2002-03-12 Actel Corporation Flash based control for field programmable gate array
US20040068330A1 (en) 2002-10-04 2004-04-08 Ncr Corporation Methods and apparatus for remote programming of field programmable gate arrays

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317287B1 (de) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmierbare logische Vorrichtung
JPH046913A (ja) * 1990-04-24 1992-01-10 Kawasaki Steel Corp プログラマブル論理素子
EP1324495A1 (de) * 2001-12-28 2003-07-02 Fujitsu Limited Programmierbare Logikschaltung mit ferroelektrischem Konfigurationsspeicher

Also Published As

Publication number Publication date
US7492187B2 (en) 2009-02-17
US20060273823A1 (en) 2006-12-07
CN100550642C (zh) 2009-10-14
CN1881804A (zh) 2006-12-20

Similar Documents

Publication Publication Date Title
DE102005023118B3 (de) Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen
DE602004010239T2 (de) Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung
DE19909092B4 (de) Halbleiterspeicher
DE69819278T2 (de) Integrierte Halbleiterschaltung mit logischem Gatter mit drei Betriebszuständen
DE102005028130B4 (de) Seitenpuffer sowie zugehöriges Betriebsverfahren
DE102005020797A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102005063049B4 (de) NAND-Flashspeicherbauelement und Programmierverfahren
DE102006004848A1 (de) Verfahren und Vorrichtung zum Variieren eines aktiven Arbeitszyklus einer Wortleitung
DE19639972B4 (de) Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung
DE4005462A1 (de) Zaehlverfahren und zaehlvorrichtung mit permanentspeicher
DE4011935C2 (de)
DE102005055834A1 (de) Speicherschaltung, Ansteuerschaltung für einen Speicher und Verfahren zum Einschreiben von Schreibdaten in einen Speicher
DE69029634T2 (de) Prüflatchschaltung
DE102005015806A1 (de) Verfahren zum Lesen einer Flash-Speichervorrichtung
DE112019007388T5 (de) Jtag-basierte architektur, die den multi-core-betrieb ermöglicht
DE69500009T2 (de) Nichtflüchtiger programmierbarer Flip-Flop mit Verminderung von parasitären Effekten beim Lesen für Speicherredundanzschaltung
DE4003690C2 (de) Schaltkreis zum Einstellen eines Spannungspegels entsprechend den Ausgangsdaten eines Halbleiterspeichers
DE19651340C2 (de) Halbleiterspeichervorrichtung
DE69500023T2 (de) Elektrisch veränderlicher Festspeicher mit Prüffunktionen
DE19908157A1 (de) Speichertestschaltung
DE60033467T2 (de) Halbleiterspeicheranordnung
DE19911101C2 (de) Nicht-flüchtige Halbleiterspeichervorrichtung
DE102006041963A1 (de) Halbleiter-Speicherelement
DE69517758T2 (de) Prüfung einer integrierten Schaltungsanordnung
DE19531021C2 (de) Datenleseschaltung

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee