DE60316068T2 - Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS) - Google Patents

Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS) Download PDF

Info

Publication number
DE60316068T2
DE60316068T2 DE60316068T DE60316068T DE60316068T2 DE 60316068 T2 DE60316068 T2 DE 60316068T2 DE 60316068 T DE60316068 T DE 60316068T DE 60316068 T DE60316068 T DE 60316068T DE 60316068 T2 DE60316068 T2 DE 60316068T2
Authority
DE
Germany
Prior art keywords
data
configuration
test
row
configuration memory
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 - Lifetime
Application number
DE60316068T
Other languages
English (en)
Other versions
DE60316068T8 (de
DE60316068D1 (de
Inventor
Shalini Pathak
Parvesh Swami
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.)
Sicronic Remote Kg Wilmington Del Us LLC
Original Assignee
STMicroelectronics Pvt Ltd
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 STMicroelectronics Pvt Ltd filed Critical STMicroelectronics Pvt Ltd
Application granted granted Critical
Publication of DE60316068D1 publication Critical patent/DE60316068D1/de
Publication of DE60316068T2 publication Critical patent/DE60316068T2/de
Publication of DE60316068T8 publication Critical patent/DE60316068T8/de
Active legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Testen von Konfigurationsspeicherzellen in programmierbaren Logikvorrichtungen (PLDs).
  • HINTERGRUND DER ERFINDUNG
  • Programmierbare Logikvorrichtungen (PLDs) sind Universal-Logikvorrichtungen, welche für verschiedene Funktionsweisen konfiguriert werden können. Derzeitige Entwicklungen in PLDs ermöglichen es, die Flexibilität und Komplexität von diesen Vorrichtungen zu verbessern. Viele PLDs sehen vollständige Systemtauglichkeiten vor, die auf dem Chip ausgeführte Speicher und eine große Vielfalt und Anzahl an Logikelementen beinhalten, die durch Konfigurieren von Konfigurationsspeicherzellen zum Vorsehen der erwünschten Funktionsweise elektrisch programmiert sind. Um ein vollständiges Realisieren einer Funktionalität sicherzustellen, ist es erwünscht, eine Einrichtung zum Testen der konfigurierten Konfigurationsspeicherzellen auf eine Richtigkeit einer Programmierung aufzuweisen.
  • Das US-Patent 6 237 124 beschreibt ein Verfahren zum Testen des konfigurierbaren Speichers unter Verwendung einer zyklischen Redundanzprüfung (CRC) gemäß dem Oberbegriff der unabhängigen Ansprüche. Bei diesem Verfahren wird der CRC-Mechanismus verwendet, um eine einmalige Störung (SEU) in dem Konfigurationsverfahren des statischen Direktzugriffsspeichers (SRAM) eines feldprogrammierbaren Gate-Array (FPGA) zu prüfen. In einer FPGA-Architektur auf SRAM-Basis gemäß dem in dieser Druckschrift beschriebenen Ausführungsbeispiel befindet sich ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM) auf einer Leiterplatte in der Nähe des FPGA. Dieser EPROM speichert die Konfigurationsdaten zum Speichern des Konfigurations-SRAM für den FPGA-Kern. Eine EPROM-Steuereinrichtung auf dem FPGA richtet einen Datenstrom von dem EPROM in das FPGA. Die EPROM-Steuereinrichtung serialisiert den Datenstrom von dem EPROM in einen Datenstrom, der ein Bit breit ist. Dieser Datenstrom wird zu einem internen Takt synchronisiert und liefert Daten zu verschiedenen Abschnitten der FPGA-Architektur, die eine Steuerlogik, Reihen- und Spaltenzähler, eine CRC-Schaltung und den Konfigurations-SRAM für den FPGA-Kern beinhalten. Die CRC-Schaltung testet den Datenstrom von dem EPROM, um zu überprüfen, das dieser richtig ist. Ebenso kann die CRC-Schaltung, wie es in der Beschreibung offenbart ist, die Daten in dem Konfigurations-SRAM nach einem Laden testen. Ein Multiplexer wählt aus, ob die von der CRC-Schaltung zu prüfenden Daten der Eingangsdatenstrom oder die Daten in dem Konfigurations-SRAM sind. Wenn unrichtige Konfigurationsdaten in dem Konfigurations-SRAM des FPGA-Kerns erfasst werden, kann die CRC-Schaltung der EPROM-Steuereinrichtung signalisieren, dass ein Fehler aufgetreten ist. Die EPROM-Steuereinrichtung kann diese Information verwenden, um ein Fehlersignal aus dem FPGA auszugeben und/oder ein erneutes Laden von dem EPROM einzuleiten.
  • Die zuvor beschriebene Konfigurationsschaltung ist zum Konfigurieren der herkömmlichen Speicheranordnung angemessen, aber beinhaltet keinen Mechanismus, durch welchen das vollständige Konfigurationsverfahren getestet werden könnte. Die CRC-(zyklische Redundanzprüfung)-Bits oder die Rahmenüberprüfungsfolgenbits, die nach jedem Rahmen von Daten geladen werden, ermöglichen es, auf irgendeinen Fehler zu überprüfen, der beim Laden der Datenrahmen in das interne Schieberegister auftreten kann, aber die Datenzeilen selbst könnten mit Bits fehlerhaft sein, die bei "1" hängen bleiben oder bei "0" hängen bleiben. In einem derartigen Fall kann es nicht sichergestellt werden, dass die Daten richtig an dem Ziel angekommen sind. Die Anforderung ist deshalb, jedes Bit von gespeicherten Daten zurückzuverfolgen.
  • Eine Speichervorrichtung mit Testmerkmalen ist in dem US-Patent 5 305 261 von Furutani et al. offenbart.
  • Ein FPGA mit einem eingebauten Selbsttest ist von Stroud C., Wijesuriya S., Hamilton C., Abramovici M., "Built-in self-test of FPGA interconnect", Proceedings of the International Test Conference 1998, Washington, DC, USA, 18. bis 23. Oktober 1998, Seiten 404 bis 411 beschrieben.
  • Ein Speicher, der eine Speicheranordnung beinhaltet, die ohne Unterbrechen des Betriebs der gesamten Anordnung erneut konfiguriert werden kann, ist in dem US-Patent 5 488 582 von Camarota offenbart.
  • KURZFASSUNG DER ERFINDUNG
  • Die Aufgabe der Erfindung besteht darin, ein bitweises Verfolgen der Daten zu schaffen, die in der konfigurierbaren Datenverriegelungsanordnung verriegelt sind.
  • Eine weitere Aufgabe der Erfindung besteht darin, ein Testen des Speichers auf eine transparente Weise zuzulassen.
  • Gemäß der Erfindung ist eine programmierbare Logikvorrichtung (PLD) oder ein programmierbares Gate-Array (PGA) zum Testen der Konfigurationsspeicheranordnung gemäß Anspruch 1 offenbart. Weiterhin ist ein Verfahren zum Freigeben des Testens der Konfigurationsspeicheranordnung einer programmierbaren Logikvorrichtung (PLD) oder eines programmierbaren Gate-Arrays (PGA) gemäß Anspruch 6 offenbart.
  • Um diese und andere Aufgaben zu lösen, schafft diese Erfindung eine programmierbare Logikvorrichtung (PLD), die die Fähigkeit beinhaltet, den Konfigurationsspeicher entweder unabhängig oder während einer Konfiguration zu testen, die eine Auswahleinrichtung zum Auswählen einer besonderen Spalte oder Reihe der Konfigurationsspeicheranordnung, einen Eingabedatenspeicher zum Speichern von Konfigurationsdaten, von denen es erforderlich ist, das sie in der ausgewählten Spalte oder Reihe gespeichert sind, oder von Testdaten zum Testen der ausgewählten Spalte oder Reihe, einen Ausgabedatenspeicher zum Speichern der Ausgabe aus der ausgewählten Spalte oder Reihe und eine Testlogik aufweist, die Steuersignale zum Überprüfen des richtigen Betriebs der Datenleitungen der Konfigurationsspeicheranordnung ohne Stören der Daten liefert, die in der Speicheranordnung gespeichert sind. Die Testlogik wählt die Eingaben und Ausgaben der Speicherzellen in der Speicheranordnung von den Spalten oder Reihen der Speicheranordnung während eines Testens ab. Der richtige Betrieb der Datenleitungen der Speicheranordnung wird durch Anwenden von verschiedenen Testmustern, die "Alle 0"-, "Alle 1"-, "Wandernde 0"- und "Wandernde 1"-Testmuster beinhalten, und zurückschreiben und überprüfen der Ausgabe aus der Speicheranordnung überprüft.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Die Aufgaben und Vorteile der Erfindung werden unter Bezugnahme auf die folgende Beschreibung und die beiliegende Zeichnung ersichtlicher, in welcher:
  • 1A eine vereinfachte Darstellung einer herkömmlichen konfigurierbaren Speicherverriegelungsanordnung zeigt.
  • 1B eine Struktur einer herkömmlichen Konfigurationsspeicherzelle zeigt.
  • 2A ein Blockschaltbild zeigt, dass das Konfigurationsverfahren gemäß einem der einfachsten Ausführungsbeispiele der vorliegenden Erfindung darstellt.
  • 2B einen Stromlaufplan zeigt, der ein Konfigurationsverfahren gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • 2C einen Stromlaufplan zeigt, der eine verbesserte Konfigurationsspeicherzelle für die konfigurierbare Datenverriegelungsanordnung gemäß der vorliegenden Erfindung darstellt.
  • 2D eine Darstellung einer Steuerschaltung zum Auswählen zwischen den Test- und Konfigurationsbetriebsraten in einem Ausführungsbeispiel der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Um die Zeichnung und die Beschreibung zu vereinfachen, wird die Erfindung unter Bezugnahme auf eine 8×8-Konfigurationsspeicherzellenanordnung zum Konfigurieren einer Anordnung von Logikmodulen und einer Verbindungsarchitektur beschrieben, jedoch werden Ausführungsbeispiele mit einer anderen komplexen Anordnungsstruktur für Fachleute ersichtlich. Die folgende Beschreibung der vorliegenden Erfindung ist lediglich veranschaulichend und nicht auf irgendeine Weise beschränkend.
  • Die konfigurierbaren Speicherzellen einer PLD sind typischerweise in einer Matrix angeordnet und werden unter Verwendung von seriellen Bitströmen von Konfigurationsdaten geladen. 1A stellt eine Konfiguration im Stand der Technik von Konfigurationsspeicheranordnungen dar. Eine Konfigurationsspeicheranordnung 100 weist Speicherzellen Mx,y auf, wobei x und y der Reihen- bzw. Spaltenstelle von jeder Konfigurationsspeicherzelle entsprechen.
  • Die Konfiguration von Daten in der Konfigurationsspeicheranordnung wird durch Schieben des Bitstroms von Konfigurationsdaten durch ein vertikales Schieberegister 101 erzielt, das durch einen Taktmechanismus 200 gesteuert wird, bis ein Rahmen von Daten (in diesem Beispiel 8 Bit breit) in das Bitregister 101 geschoben worden ist. Dieser Rahmen von Daten wird dann parallel durch horizontale Datenleitungen 1007 bis 1000 in einer Spalte von Konfigurationsspeicheranordnungen freigegeben, die durch ein Horizontalschieberegister 102 freigegeben werden. Die Spalte wird durch Schieben eines hohen/niedrigen Bits zu einer der ausgewählten vertikalen Leitungen 1008 bis 10015 über eine Flipflop-Anordnung des Horizontalschieberegisters 102 unter Verwendung einer Verschiebung pro Rahmen adressiert. Das Laden von Daten wird daher in einer Serial-In-Parallel-Out-(SIPO)-Betriebsart durchgeführt. Wenn das hohe/niedrige Bit nach äusserst rechts heraus geschoben wird, bewirkt es, dass das DONE-Signal (nicht gezeigt) der Konfigurationslogik hoch wird, was eine Anzeige ist, dass die Konfiguration beendet ist.
  • 1B zeigt den Stromlaufplan einer einzelnen Speicherzelle 103. Die Speicherzelle 103 besteht aus einem Signalspeicher 103-2, der durch zwei antiparallele Inverter 103-3 und 103-4 ausgebildet ist, der einen Bitwert speichert, der durch den Durchgangstransistor 103-1 gegangen ist. Während einer Konfiguration wird, wenn das hohe Bit zu 103-5 verschoben wird, der Durchgangstransistor 103-1 freigegeben und wird die Information, die an der Leitung 103-6 vorhanden ist, in den Datensignalspeicher konfiguriert. Bei der Konfiguration sind Blockleitungen 103-5 und 103-6 einer der Ausgänge von Schieberegistern 102 bzw. Registern 101 von 1A. Diese Anordnung sieht keinerlei Einrichtung zum Testen der konfigurierten Datensignalspeicher vor.
  • 2A zeigt eine vereinfachte Darstellung des Konfigurationsverfahrens gemäß der vorgeschlagenen Erfindung. Die Erfindung beinhaltet einen Mechanismus zum Freigeben des Tests von Konfigurationsdaten zu irgendeinem Zeitpunkt während oder nach einer Konfiguration ohne das Erfordernis einer zusätzlichen Schaltung. Der Speicher weist eine Konfigurationsspeicheranordnung 106, das Vertikaleinschieberegister 104, das Vertikalausschieberegister 107, das Horizontalschieberegister 105 und den Konfigurationslogikblock 201 auf. Die Vertikalregister 104 und 107 sind über horizontale Leitungen 1060 bis 1067 mit den Reihen der konfigurierbaren Zellen verbunden und die Ausgänge des Horizontalschieberegisters 105 sind durch vertikale Leitungen 1068 bis 10615 zu der Speicherzelle kaskadiert. Das Horizontalschieberegister 105 ist mit zwei gesonderten Bitrahmen versehen, welche als Pseudo-Bits verwendet werden.
  • Der Konfigurationslogikblock 201 beinhaltet allgemein Eingangsanschlüsse CONFIG, einen Datenbus DIN (0:7) und das Taktsignal CLK. Der Block 201 beinhaltet intern ebenso verschiedene Register usw.
  • Während einer Konfiguration wird der Datenrahmen über den Datenbus DIN in die Konfigurationslogik 201 geladen und in den verschiedenen Schieberegistern der Konfigurationslogik verriegelt. Eines der Schieberegister der Konfigurationslogik 201 sendet dann die Datenrahmen unter einem Steuern eines Takts VSR_CLK, welcher von der Konfigurationslogik 201 erzeugt wird, zu dem Vertikaleinschieberegister 104. Der Datenrahmen wird unter Verwendung dieses Taktmechanismus seriell in die Bitpositionen des Vertikaleinschieberegisters 104 geschoben. Ausgangsbits des Vertikaleinschieberegisters 104 sind mit Datenleitungen 1060 bis 1067 verbunden. Wenn der vollständige Datenrahmen in 104 geladen worden ist und die CRC-Schaltung keinen Fehler markiert wird ein Takt HSR_CLK von der Konfigurationslogik 201 zum Freigeben des Horizontalschieberegisters erzeugt, um eine besondere Spalte der Konfigurationsspeicheranordnung durch Schieben eines hohen Bits 1050 bis 1059 , eine Verschiebung pro Datenrahmen, in dieses zu adressieren. Abhängig davon, welche der Ausgangsbits des Horizontalschieberegisters 105 hoch sind, wird eine der Datenleitungen 1068 bis 10615 , die mit dieser Bitposition verbunden ist, freigegeben, um dadurch zuzulassen, das alle der Konfigurationsspeicherzellen, die in dieser Spalte vorhanden sind, die Datenrahmenbits verriegeln, die in dem Vertikaleinschieberegister 104 gespeichert sind.
  • Bits 1050 und 1051 des Horizontalschieberegisters 105 sind Pseudo-Bits und werden nicht verwendet, um irgendeine Spalte zu adressieren. Dies wird durchgeführt, da die ersten zwei Rahmen, die nach der Einleitung geladen werden, Testrahmen sind, um die Datenleitungen auf Störungen zu prüfen. Diese Rahmen werden nicht in den Konfigurationsspeicherzellen verriegelt und, um zu verhindern, dass dies auftritt, wird verhindert, dass Bits 1050 und 1051 irgendeine der Spalten erreichen, wenn das Horizontalschieberegister 105 bald nach dem Laden der Einleitung ein Arbeiten beginnt. Dies wird durch Freigeben des Speicherns von Daten in Konfigurationsspeicherzellen lediglich dann erzielt, wenn das Bit 1052 hoch wird. Um diese zusätzlichen Rahmen zu kompensieren, ist die letzte Rahmenadresse, die an dem Konfigurationsblock 201 vorgesehen wird (um das Ende des Konfigurationsverfahrens zu markieren) immer um zwei größer als die tatsächliche Adresse. HSR_CLK steuert ebenso das parallele Laden von Daten in das Vertikalausschieberegister 107. Immer dann, wenn HSR_CLK hoch wird, werden die Inhalte des Vertikaleinschieberegisters 104 parallel über Datenleitungen 1060 bis 1067 in das Vertikalausschieberegister 107 geladen. VSR_CLK ist ebenso direkt mit dem Vertikalausschieberegister 107 verbunden und gibt das serielle Ausschieben der vorherigen Daten aus einem Ausgangsanschluss frei, wenn der nächste Datenrahmen ein Laden in 104 beginnt.
  • Ein weiteres mögliches Ausführungsbeispiel der Erfindung ist in 2B gezeigt. Dieses Ausführungsbeispiel schafft eine Steuereinheit 108 und ein TEST-Signal. Die Zellen der Steuereinheit 108 sind mit Leitungen 1068 bis 10615 verbunden und weisen jeweils zwei Ausgänge Ei und Ti auf, die mit der Konfigurationsspeicheranordnung verbunden sind. Ii gibt eine besondere Spalte für jeden Dateneintrag frei, wohin gegen Ti ein Testen einer besonderen Spalte der Datenanordnung frei gibt.
  • 2C zeigt die interne Schaltung einer einzelnen Konfigurationsspeicherzellenstruktur M0,0 von 2B. Anstatt eines direkten Verbindens des Datensignalspeichers mit der horizontalen Leitung 1060 wird sie über einen Durchgangstransistor 109-5 und einen Inverter 109-2 mit drei Zuständen geleitet. Dies lässt 1060 während sowohl einer Konfiguration als auch eines Testens frei. Ein Signal E0 liegt an dem Gate-Anschluss des Durchgangstransistors 109-5 an, während T0 an der Freigabeleitung des Inverters 109-2 mit 3 Zuständen anlegt. Die Konfigurationsspeicherzelle 109-1 ist durch zwei antiparallele Inverter 109-3 und 109-4 ausgebildet.
  • 2D zeigt den Stromlaufplan für eine der Zellen 1080 der Steuerschaltung 108. Die Steuerschaltung weist UND-Gatter 110-1 und 110-2 auf. Erste Eingangsanschlüsse von 110-1 und 110-2 sind über eine Leitung 1068 mit einem Bit 1052 verbunden. Das TEST-Signal, das von der Konfigurationslogik 201 kommt, ist der zweite Eingangsanschluss des UND-Gatters 110-2 und das invertierte TEST-Signal wird der zweite Eingangsanschluss von 110-1.
  • Um die Konfiguration zu beginnen, wird das CONFIG-Signal für einen Taktzyklus hoch. Dies erzeugt ein internes RESET-Signal (nicht gezeigt), das die Register der Konfigurationslogik 201 zurücksetzt. Das Signal TEST ist zu der Zeit einer Konfiguration eine logische 0. Dies stört alle der Inverter mit drei Zuständen, da die Ti's zu 0 gebunden werden. Vor einem Laden der tatsächlichen Datenrahmen werden einige Testsbits über den Dateneingangsbus DIN geladen. Das erste Testbyte ist überall 0. Die Konfigurationslogik 201 erzeugt VSR_CLK und die Testbits starten ein serielles Schieben in das Vertikaleinschieberegister 104. Wenn das letzte Bit des Rahmens Din7 zu der Bitposition 1047 gesendet wird, wird VSR_CLK gesperrt und wird HSR_CLK erzeugt, was das parallele Laden von Datenbits 1047 bis 1040 über Datenleitungen 1067 bis 1060 zu Bitpositionen 1077 bis 107y bewirkt. Der gespeicherte Datenrahmen des Vertikalausschieberegisters 107 wird dann seriell aus dem Ausgangsanschluss ausgeschoben. Wenn die Datenbits, die von dem Vertikaleinschieberegister 107 empfangen werden, irgendein Bit als eine "1" enthalten, würde dies anzeigen, das die Datenleitung, die mit dieser besonderen Bitposition verbunden ist, "bei 1 hängen bleibt" (da der Datenrahmen, der vorgesehen worden ist, überall 0 war). Das nächste Testbyte von überall 1 ist auf eine ähnliche Weise beim Erfassen von Fehlern eines "Hängenbleibens bei 0" nützlich. Dies beendet die erste Phase eines Testens, in welcher es sichergestellt wird, dass die Datenleitungen richtig arbeiten. Die Konfiguration der Daten beginnt nun und wenn das hohe Bit in das Horizontalschieberegister 105 geschoben wird, lässt das Bit 1052 das sich ergebende hohe Signal an dem Gate des Durchgangstransistors 109-5 auf Leitung 15, zu, dass das Konfigurationsbit, das in 104 gespeichert ist, den Signalspeicher über Datenleitungen 1060 usw. erreicht. In dieser Betriebsart bleibt das Signal TEST niedrig, was dazu führt, dass der Ausgang Ti dauerhaft niedrig bleibt, was bewirkt, dass der Inverter 109-2 mit drei Zuständen in dem Zustand einer hohen Impedanz ist. Das Ausgangssignal auf der Leitung 15 hängt von dem Wert ab, der in der entsprechenden Bitposition des Horizontalschieberegisters 105 gespeichert ist. Wenn das Bit "hoch" ist, wird die entsprechende Signalleitung 106 "hoch", was an dem Ausgang 15 "hoch" ergibt. Das Gate des Durchgangstransistors 109-5 ist mit der Leitung 15 verbunden. Deshalb schaltet 109-5 ein, was zulässt, dass der Wert, der in dem entsprechenden Bit des Vertikaleinschieberegisters 104 gespeichert ist, über die Datenleitung 1060 usw. in 109-1 verriegelt wird. Während einer Konfiguration wird, wenn die Datenrahmen in einer nicht zugewiesenen Datensignalspeichergruppe verriegelt werden, ein Testen der konfigurierten Daten gleichzeitig wie folgt ausgeführt.
  • Nachdem der erste Rahmen in das Vertikaleinschieberegister 104 geladen worden ist, wird der Takt zu dem Horizontalschieberegisters 105, das heisst HSR_CLK, erzeugt. Das Dekodiersystem der Konfigurationslogik 201 bewirkt, dass ein Bit 1052 des Horizontalschieberegisters 105 "hoch" wird, was die erste Spalte der Speicheranleitung 106 über die Leitung 15 freigibt. Die Signalspeicher in dieser Spalte sowie das Vertikalausschieberegister 107 speichern die Bitwerte, die in Bits 1040 bis 1047 des Vertikaleinschieberegisters vorhanden sind. Das serielle Laden der zweiten Datenrahmen in das Vertikaleinschieberegister 104 und das serielle Ausschieben des ersten Rahmens aus dem Vertikalausschieberegister 107 treten gleichzeitig auf.
  • Dies lässt ein gleichzeitiges Überprüfen von jedem Datenrahmen zu. Dieses Verfahren schreitet fort, bis alle der Rahmen geladen worden sind. Dieser Ansatz bestätigt, dass die Konfigurationslogik 201 sowie das Vertikaleinschieberegister 104 funktionsbezogen richtig sind, da es immer eine Möglichkeit gibt, dass das CRC-Verfahren nicht irgendeinen Fehler in dem Konfigurationsverfahren zeigt, sondern der richtige Datenrahmen das Vertikaleinschieberegister 104 nicht erreichen kann oder das Letztere nicht im Stande sein kann, die Daten zu dem richtigen Ziel zu senden.
  • Nach einem Beenden der Konfiguration und des gleichzeitigen Testens können die Signalspeicher oder Spalten von Signalspeichern durch Anheben des TEST-Signals auf hoch weiterhin einzeln überprüft werden. Dies ist die tatsächliche Testbetriebsart, in welcher jeder verriegelte Wert zurückgelesen wird. Ein Setzen des Bits TEST auf hoch bewirkt, dass das Signal 16 hoch wird, was daher den Inverter 109-2 mit drei Zuständen freigibt, und das Bit, das in dem Signalspeicher 109-1 gespeichert ist, wird von dem Vertikalausschieberegister 107 zurückgelesen. Ebenso wird, da das Signal TEST hoch bleibt, das Signal 15 dauerhaft niedrig. Der Durchgangstransistor 109-5 bleibt daher ausgeschaltet und der Wert, der in dem Signalspeicher 109-1 gespeichert ist, kann nicht überschrieben werden. Der Signalwert von 16 wird hoch und der verriegelte Wert kann aus dem Ausgang von 109-2 ausgelesen werden. Der Konfigurationsblock 201 bleibt in dieser Betriebsart ebenso funktional, da Taktsignale VSR_CLK und HSR_CLK auf die gleiche Weise wie in der Konfigurationsbetriebsart erzeugt werden. Das Taktsignal VSR_CLK und HSR_CLK gibt das Vertikalausschieberegister 107 sowie die Inverter mit drei Zuständen frei, die für die Testzwecke synchron aktiviert werden. Der Konfigurationsblock wirkt auf die übliche Weise und Bitströme von 0 können nur über den Eingangsbus DIN gesendet werden. Tatsächlich beeinträchtigt, egal welche Daten über den Eingangsbus gesendet werden können, dies nicht die bereits gespeicherten Bitwerte, da die Eingangsseite von jeder Speicherzelle Nx,y ausgeschaltet bleibt, da Signale Ei's, die auf 0 gebunden bleiben, ebenso aufgrund des hohen Einschaltsignals, wobei das TEST-Signal die Ausgänge des Vertikaleinschieberegisters 104 an drei Zuständen belässt.
  • Das Horizontalschieberegister 105 gibt die Spalten der Speicheranordnung eine nach der anderen zum Lesen über Datenleitungen Ti's frei. Die ausgewählte Spalte sendet ihre verriegelten Werte über die Inverter mit drei Zuständen zu Datenleitungen 1060 bis 1067 , welche dann parallel zu 107 geladen werden. Das serielle Ausschieben des Bitstroms aus dem Vertikalausschieberegister 107 liefert die Werte, die in den einzelnen Signalspeichern der besonderen Spalte gespeichert sind.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung (nicht gezeigt), kann ein weiteres Schieberegister an dem anderen Ende der Speicheranordnung parallel zu dem Horizontalschieberegister 105 verwendet werden. Dies ist zum Testen der Datenleitungen, die von dem Horizontalschieberegister 105 vertikal nach oben verlaufen, auch vor dem Beginn des tatsächlichen Konfigurationsverfahrens nützlich. Dieses Register kann ebenso zu der Zeit einer Konfiguration verwendet werden, um die Werte auszuschieben, die in dem Horizontalschieberegister 105 gespeichert sind, was indirekt das Adressendekodiersystem der Konfigurationslogik testen wird. Die vorliegende Erfindung schafft daher ein wirksames Verfahren zum Testen durch Einbringen lediglich geringfügiger Änderungen in die verfügbaren Konfigurationsresourcen.
  • Es ist für Fachleute ersichtlich, dass das Vorgehende lediglich veranschaulichend als erschöpfend oder beschränkend gedacht ist, lediglich beispielhaft dargestellt worden ist und das verschiedene Ausgestaltungen innerhalb des Umfangs der vorhergehenden Erfindung durchgeführt werden können. Zum Beispiel könnte die Konfigurationsspeicheranordnung von irgendeiner erwünschten Abmessung sein. Weiterhin könnten das Vertikaleinschieberegister und das Vertikalausschieberegister mit Reihen anstatt Spalten der Speicheranordnung verbunden sein, während das Horizontalschieberegister mit Spalten anstatt Reihen verbunden ist.
  • Demgemäß ist diese Erfindung nicht auf die spezifischen Beispiele beschränkt, die zum Zwecke einer Offenbarung gewählt worden sind, sondern statt dessen als alle Änderungen und Ausgestaltungen bedeckend zu erachten, welche keine Abweichungen von dem zulässigen Umfang der Erfindung bilden, wie er durch die Ansprüche definiert ist.

Claims (8)

  1. Programmierbare Logikvorrichtung, PLD, oder programmierbares Gate-Array, PGA, zum Testen der Konfigurationspeicheranordnung (106) entweder unabhängig oder während einer Konfiguration, die aufweist: eine Auswahleinrichtung (105) zum Auswählen einer besonderen Spalte oder Reihe der Konfigurationspeicheranordnung, einen Eingabedatenspeicher (104) zum Speichern von Konfigruationsdaten, von denen es erforderlich ist, dass sie in der ausgewählten Spalte oder Reihe gespeichert werden, oder von Testdaten zum Testen der ausgewählten Spalte oder Reihe, einen Ausgabedatenspeicher (107) zum Speichern der Ausgabe aus der ausgewählten Spalte oder Reihe, eine Testlogik (108), dadurch gekennzeichnet, dass die Testlogik (108) Steuersignale zum Überprüfen des richtigen Betriebs von Durchgangs-Datenleitungen (1061 bis 1067 ) zwischen dem Eingabedatenspeicher (104) und dem Ausgabedatenspeicher (107) der Konfigurationsspeicheranordnung (106) ohne Stören oder Lesen der Daten liefert, die in Speicherzellen der Konfigurationsspeicheranordnung gespeichert sind.
  2. Programmierbare Logikvorrichtung, PLD, oder programmierbares Gate-Array, PGA, nach Anspruch 1, wobei die Auswahleinrichtung (105) ein Seriell/Parallel-Wandler ist, der Freigabesignale (1068 bis 10615) zum Auswählen der erwünschten Spalte oder Reihe der Konfigurationsspeicheranordnung liefert.
  3. Programmierbare Logikvorrichtung, PLD, oder programmierbares Gate-Array, PGA, nach Anspruch 1, wobei der Eingabedatenspeicher (104) ein Seriell/Parallel-Wandler ist, der entweder die Konfigurationsdaten, von denen es erforderlich ist, dass sie in der ausgewählten Spalte oder Reihe gespeichert werden, oder die Testdaten zum Überprüfen des Betriebs der Durchgangs-Datenleitungen (1061 bis 1067 ) der Konfigurationsspeicheranordnung speichert.
  4. Programmierbare Logikvorrichtung, PLD, oder programmierbares Gate-Array, PGA, nach Anspruch 1, wobei der Eingabedatenspeicher (104) ein Seriell/Parallel-Wandler ist, der zurückgelesene Daten speichert und liefert, die von den Spalten oder Reihen der Konfigurationsspeicheranordnung (106) empfangen werden.
  5. Programmierbare Logikvorrichtung, PLD, oder programmierbares Gate-Array, PGA, nach Anspruch 1, wobei die Testlogik (108) eine Logikschaltung ist, die die Eingaben und Ausgaben der Speicherzellen in der Konfigurationsspeicheranordnung während eines Testens aus den Spalten oder Reihen der Konfigurationsspeicheranordnung abwählt.
  6. Verfahren zum Freigeben des Testens der Konfigurationsspeicheranordung einer programmierbaren Logikvorrichtung, PLD, oder eines programmierbaren Gate-Arrays, PGA, entweder unabhängig oder während einer Konfiguration, das die Schritte aufweist: Auswählen einer besonderen Spalte oder Reihe der Konfigurationsspeicheranordnung (106), Speichern von eingegebenen Konfigurationsdaten, von denen es erforderlich ist, dass sie in der ausgewählten Spalte oder Reihe gespeichert werden, oder von eingegebenen Testdaten zum Testen der ausgewählten Spalte oder Reihe, Speichern der Ausgabe der ausgewählten Spalte oder Reihe und Liefern von zurückgelesenen Daten des Ausgabedaten, gekennzeichnet durch Liefern von Steuersignalen (T0 bis T7) zum Überprüfen des richtigen Betriebs von Durchgangs-Datenleitungen (1061 bis 1067 ) der Konfigurationsspeicheranordnung zwischen den eingegebenen Konfigurationsdaten und der gespeicherten Ausgabe ohne Stören oder Lesen der Daten, die in den Speicherzellen der Konfigurationsspeicheranordnung gespeichert sind.
  7. Verfahren zum Freigeben des Testens der Konfigurationsspeicheranordung einer Logikvorrichtung nach Anspruch 6, wobei das Überprüfen des richtigen Betriebs der Durchgangs-Datenleitungen durch Speichern von Testmustern in den eingegebenen Testdaten und Bestätigen des richtigen zurückgelesenen Testmusters in den Ausgabedaten erzielt wird.
  8. Verfahren zum Freigeben des Testens der Konfigurationsspeicheranordung einer Logikvorrichtung nach Anspruch 7, wobei die Testmuster "Alle 0"-, Alle "1"-, "Wandernde 0"- und "Wandernde 1"-Testmuster beinhalten.
DE60316068T 2002-05-13 2003-05-12 Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS) Active DE60316068T8 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
INDE05502002 2002-05-13
IN550DE2002 2002-05-13

Publications (3)

Publication Number Publication Date
DE60316068D1 DE60316068D1 (de) 2007-10-18
DE60316068T2 true DE60316068T2 (de) 2008-06-05
DE60316068T8 DE60316068T8 (de) 2009-02-26

Family

ID=29266776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60316068T Active DE60316068T8 (de) 2002-05-13 2003-05-12 Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS)

Country Status (3)

Country Link
US (1) US7167404B2 (de)
EP (1) EP1363132B1 (de)
DE (1) DE60316068T8 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051153B1 (en) * 2001-05-06 2006-05-23 Altera Corporation Memory array operating as a shift register
JP2005017963A (ja) * 2003-06-30 2005-01-20 Sanyo Electric Co Ltd 表示装置
US7157935B2 (en) * 2003-10-01 2007-01-02 Stmicroelectronics Pvt. Ltd. Method and device for configuration of PLDs
CN100406903C (zh) * 2005-03-28 2008-07-30 大唐移动通信设备有限公司 一种可编程逻辑器件配置的检测方法
US7250786B1 (en) 2005-07-19 2007-07-31 Xilinx, Inc. Method and apparatus for modular redundancy with alternative mode of operation
US7266020B1 (en) 2005-07-19 2007-09-04 Xilinx, Inc. Method and apparatus for address and data line usage in a multiple context programmable logic device
US7212448B1 (en) * 2005-07-19 2007-05-01 Xilinx, Inc. Method and apparatus for multiple context and high reliability operation of programmable logic devices
US7409610B1 (en) * 2005-07-20 2008-08-05 Xilinx, Inc. Total configuration memory cell validation built in self test (BIST) circuit
US7539914B1 (en) * 2006-01-17 2009-05-26 Xilinx, Inc. Method of refreshing configuration data in an integrated circuit
KR100746228B1 (ko) * 2006-01-25 2007-08-03 삼성전자주식회사 반도체 메모리 모듈 및 반도체 메모리 장치
US7596744B1 (en) * 2006-02-24 2009-09-29 Lattice Semiconductor Corporation Auto recovery from volatile soft error upsets (SEUs)
US7353474B1 (en) * 2006-04-18 2008-04-01 Xilinx, Inc. System and method for accessing signals of a user design in a programmable logic device
US8065574B1 (en) 2007-06-08 2011-11-22 Lattice Semiconductor Corporation Soft error detection logic testing systems and methods
US8073996B2 (en) * 2008-01-09 2011-12-06 Synopsys, Inc. Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof
KR101593603B1 (ko) * 2009-01-29 2016-02-15 삼성전자주식회사 반도체 장치의 온도 감지 회로
JP2013012966A (ja) * 2011-06-30 2013-01-17 Olympus Corp 撮像装置
US9715911B2 (en) * 2012-09-10 2017-07-25 Texas Instruments Incorporated Nonvolatile backup of a machine state when a power supply drops below a threshhold
US9436565B2 (en) * 2013-07-04 2016-09-06 Altera Corporation Non-intrusive monitoring and control of integrated circuits
US9330040B2 (en) 2013-09-12 2016-05-03 Qualcomm Incorporated Serial configuration of a reconfigurable instruction cell array
US10956265B2 (en) 2015-02-03 2021-03-23 Hamilton Sundstrand Corporation Method of performing single event upset testing
JP2016167669A (ja) * 2015-03-09 2016-09-15 富士通株式会社 プログラマブル論理回路装置及びそのエラー検出方法
US10417078B2 (en) * 2016-04-08 2019-09-17 Lattice Semiconductor Corporation Deterministic read back and error detection for programmable logic devices
US10523209B1 (en) 2017-11-14 2019-12-31 Flex Logix Technologies, Inc. Test circuitry and techniques for logic tiles of FPGA
US20210343574A1 (en) * 2020-04-29 2021-11-04 Semiconductor Components Industries, Llc Curved semiconductor die systems and related methods
US11948653B2 (en) * 2021-07-20 2024-04-02 Avago Technologies International Sales Pte. Limited Early error detection and automatic correction techniques for storage elements to improve reliability

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620465A (ja) * 1991-09-02 1994-01-28 Mitsubishi Electric Corp 半導体記憶装置
WO1994001867A1 (en) * 1992-07-02 1994-01-20 Camarota Rafael C Non-disruptive, randomly addressable memory system
CA2158947A1 (en) * 1993-03-24 1994-09-29 Paul V. Darbee Infrared remote control device for a personal digital assistant
US5430687A (en) * 1994-04-01 1995-07-04 Xilinx, Inc. Programmable logic device including a parallel input device for loading memory cells
US5646546A (en) * 1995-06-02 1997-07-08 International Business Machines Corporation Programmable logic cell having configurable gates and multiplexers
US5583450A (en) * 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
US5732407A (en) * 1995-12-11 1998-03-24 Hewlett-Packard Co. Configurable random access memory for programmable logic devices
US5751163A (en) * 1996-04-16 1998-05-12 Lattice Semiconductor Corporation Parallel programming of in-system (ISP) programmable devices using an automatic tester
US5841867A (en) * 1996-11-01 1998-11-24 Xilinx, Inc. On-chip programming verification system for PLDs
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6057704A (en) * 1997-12-12 2000-05-02 Xilinx, Inc. Partially reconfigurable FPGA and method of operating same
JPH11219600A (ja) * 1998-02-03 1999-08-10 Mitsubishi Electric Corp 半導体集積回路装置
US6237124B1 (en) * 1998-03-16 2001-05-22 Actel Corporation Methods for errors checking the configuration SRAM and user assignable SRAM data in a field programmable gate array
US5970005A (en) * 1998-04-27 1999-10-19 Ict, Inc. Testing structure and method for high density PLDs which have flexible logic built-in blocks
US6430719B1 (en) * 1998-06-12 2002-08-06 Stmicroelectronics, Inc. General port capable of implementing the JTAG protocol
US6195774B1 (en) * 1998-08-13 2001-02-27 Xilinx, Inc. Boundary-scan method using object-oriented programming language
US6262596B1 (en) * 1999-04-05 2001-07-17 Xilinx, Inc. Configuration bus interface circuit for FPGAS
US6191614B1 (en) * 1999-04-05 2001-02-20 Xilinx, Inc. FPGA configuration circuit including bus-based CRC register
US6278290B1 (en) * 1999-08-13 2001-08-21 Xilinx, Inc. Method and circuit for operating programmable logic devices during power-up and stand-by modes
JP2001067897A (ja) * 1999-08-31 2001-03-16 Mitsubishi Electric Corp 半導体記憶装置およびそれを用いた半導体テスト方法
US6539508B1 (en) * 2000-03-15 2003-03-25 Xilinx, Inc. Methods and circuits for testing programmable logic
JP4317013B2 (ja) * 2001-08-07 2009-08-19 ザイリンクス インコーポレイテッド プログラマブルロジックデバイスのための特定用途向け検査方法
US6664808B2 (en) * 2001-08-07 2003-12-16 Xilinx, Inc. Method of using partially defective programmable logic devices
US6664807B1 (en) * 2002-01-22 2003-12-16 Xilinx, Inc. Repeater for buffering a signal on a long data line of a programmable logic device
US6774667B1 (en) * 2002-05-09 2004-08-10 Actel Corporation Method and apparatus for a flexible chargepump scheme for field-programmable gate arrays
US6774672B1 (en) * 2002-12-30 2004-08-10 Actel Corporation Field-programmable gate array architecture
US6774669B1 (en) * 2002-12-30 2004-08-10 Actel Corporation Field programmable gate array freeway architecture
US6864712B2 (en) * 2003-04-28 2005-03-08 Stmicroelectronics Limited Hardening logic devices
US7567997B2 (en) * 2003-12-29 2009-07-28 Xilinx, Inc. Applications of cascading DSP slices
US6985096B1 (en) * 2004-08-17 2006-01-10 Xilinx, Inc. Bimodal serial to parallel converter with bitslip controller

Also Published As

Publication number Publication date
DE60316068T8 (de) 2009-02-26
US20040015758A1 (en) 2004-01-22
US7167404B2 (en) 2007-01-23
EP1363132A3 (de) 2004-02-04
DE60316068D1 (de) 2007-10-18
EP1363132B1 (de) 2007-09-05
EP1363132A2 (de) 2003-11-19

Similar Documents

Publication Publication Date Title
DE60316068T2 (de) Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS)
DE3130714C2 (de)
DE2555435C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE60030480T2 (de) Gerät und verfahren zum selektiven verdichten von testergebnissen
DE4402796C2 (de) Verbesserte Redundanzanalysiereinrichtung für eine automatische Speichertestvorrichtung
DE2728676C2 (de) Stufenempfindliches, als monolithisch hochintegrierte Schaltung ausgeführtes System aus logischen Schaltungen mit darin eingebetteter Matrixanordnung
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE3727723C2 (de) Verfahren zur Prüfung eines Trägers mit mehreren integrierten Digitalschaltungen, geeignete integrierte Schaltung zum Anbringen auf einem auf diese Weise zu prüfenden Träger und Träger mit mehreren derartigen integrierten Schaltungen
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE3607015A1 (de) Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern
DE2349377A1 (de) Schaltwerk zur durchfuehrung von datenverarbeitungsoperationen
DE19729163A1 (de) System und Verfahren zur Abtaststeuerung einer programmierbaren Sicherungsschaltung in einer integrierten Schaltung
DE2442191A1 (de) Verfahren und anordnung zur fehlerortsbestimmung in einem arbeitsspeicher
DE69724742T2 (de) Speicherfeldprüfschaltung mit Fehlermeldung
DE112008000397T5 (de) Eingebettete Architektur mit serieller Schnittstelle zum Testen von Flashspeichern
DE2335785A1 (de) Schaltungsanordnung zum pruefen einer matrixverdrahtung
DE19807237C2 (de) Halbleiterbauelement-Testgerät
DE10250875B4 (de) Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher
DE4416171C2 (de) EEPROM-Vorrichtung
DE10226585C1 (de) RAM-Speicherschaltung
DE2061674A1 (de) Prufschaitung zum Überprüfen von elektronischen Speichern
DE69724575T2 (de) Integrierte Schaltung
DE19651713C2 (de) Bauelement-Testgerät zum Testen elektronischer Bauelemente
EP0037965B1 (de) Einrichtung zum Prüfen einer digitalen Schaltung mittels in diese Schaltung eingebauter Prüfschaltungen
DE60223043T2 (de) Elektronischer schaltkreis und testverfahren

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: SICRONIC REMOTE KG,LLC, WILMINGTON, DEL., US

8364 No opposition during term of opposition