DE69130693T2 - Eingebaute Selbstprüfung für integrierte Schaltungen - Google Patents
Eingebaute Selbstprüfung für integrierte SchaltungenInfo
- Publication number
- DE69130693T2 DE69130693T2 DE69130693T DE69130693T DE69130693T2 DE 69130693 T2 DE69130693 T2 DE 69130693T2 DE 69130693 T DE69130693 T DE 69130693T DE 69130693 T DE69130693 T DE 69130693T DE 69130693 T2 DE69130693 T2 DE 69130693T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- test
- address
- read
- word
- 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
Links
- 238000012360 testing method Methods 0.000 title claims description 115
- 230000015654 memory Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 13
- 230000000295 complement effect Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 20
- 238000003491 array Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000013144 data compression Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- YBMHCFOOLVGGKS-UHFFFAOYSA-N NOPN Chemical group NOPN YBMHCFOOLVGGKS-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
- Semiconductor Memories (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
- Die vorliegende Erfindung betrifft das Prüfen integrierter Schaltungen und im einzelnen eingebaute Anordnungen für die Selbstprüfung, die sich direkt auf dem integrierten Schaltungschip befinden.
- Mit fortschreitender Entwicklung der integrierten Schaltungstechnik wurden auf einem einzigen Chip immer mehr Schaltungselemente und infolgedessen immer mehr Schaltungsfunktionen untergebracht. Hierdurch kam es zu Problemen beim Prüfen solcher Schaltungen. Während zum Beispiel selbst das Prüfen von Chips mit extrem großen Speicherfeldern relativ einfach sein kann, kann ein Chip, auf dem viele unterschiedliche Funktionsarten integriert sind, mit einem eingebetteten Speicherfeld und einer Logik, für den Entwerfer/Prüfer des Schaltkreises, der eine adäquate Prüfbarkeit des eingebetteten Speicherfeldes wünscht, Probleme aufwerfen. Bei diesen eingebetteten Speicherfeldern stehen dem Schaltkreis-Prüfer zum Beispiel wesentlich weniger E/A-Pins zur Verfügung, als bei einem Speicherfeld, das sich auf einem separaten Chip befindet. Die Probleme beim Prüfen eingebetteter Speicherfelder beziehen sich auch auf die eingebettete Logikfunktion.
- Eine allgemeine Lösung für die oben beschriebenen Probleme ist das Einbetten einer Prüfschaltung auf dem Chip selbst. Solche Systeme werden häufig als Built-In Self Test ("BIST") oder Array Self Test ("AST") bezeichnet. Im folgenden sollen diese Anordnungen generisch als BIST-Schaltungen bezeichnet werden. Beim Prüfen eingebetteter Speicherschaltungen, beispielsweise statischen und dynamischen RAM-Schaltungen, waren BIST-Schaltungen bisher beschränkt auf die Bereitstellung deterministischer Muster durch Speicherfelder, die große Teile der Chipfläche einnehmen, was unerwünscht ist.
- Hintergrundinformationen sind zu finden in "A Realistic Self- Test Machine for Static Random Access Memories", von R. Dekker, F. Beenker, L. Thijssen, 1988 IEEE International Test Conference, Seite 353-361; "A 55ns 16Mb Dram", von T. Takeshima, et al., 1989 IEEE International Solid States Circuits Conference, Digest Of Technical Papers, Seite 246 ff.; "RPST: A ROM based Pseudo-Exhaustive Self-Test Approach", von M. Ligthart, et al., 1987 IEEE International Test Conference, Seite 915 ff., "An Efficient Built-In Self- Testing For Random Access Memory", von P. Mazumder und J. Patel, 1987 IEEE International Test Conference, Seite 1072 ff.; und "A Novel Approach For Testing Memories Using A Built-In Self-Testing Technique", von K. Le und K. Saluja, 1986 IEEE International Test Conference, Seite 830 ff.
- Ein anderes Merkmal der bisherigen BIST-Schaltungen ist, daß diese Schaltungen nach Beendigung ihres Mustersatzes im typischen Fall in einen Wartezustand übergehen. Dies wurde eigentlich als wünschenswert betrachtet, da hierdurch bei Beendigung der Prüfung die Ergebnisdaten gültig gehalten werden.
- In der U.S. Patentschrift Nr. 4,740,970, herausgegeben am 26. April 1988, wird ein Registerentwurf mit Built-in Logic Block Observation ("BILBO") beschrieben, bei dem Registerelemente so adaptiert werden, daß sie in Reaktion auf die von Steuermitteln kommenden Steuersignale selektiv in unterschiedlichen Betriebsweisen arbeiten.
- Die am 29. November 1988 herausgegebene U.S. Patentschrift Nr. 4,788,684 beschreibt eine Speicherprüfvorrichtung, die Mittel umfaßt zur Erzeugung eines algorithmischen Musters, das als Eingang in den zu prüfenden Speicher dient. Ein Hilfsmuster-Generator dient zum Speichern der erwarteten Werte des geprüften Speichers, der Speicherausgang wird mit den gespeicherten Werten verglichen.
- Ein rekonfigurierbares Register-Bit-Slice zur Verwendung in BILBO-Schaltungen ist bekannt. Es wird eine Front-End-Logik beschrieben, die einen einzelnen Schaltungsschalter zwischen einem Dateneingang und einem Datenausgang der Front-End-Logik hin- und herschaltet. Dadurch wird der normalen Funktion eines Standard-Verschieberegisters, das so verändert wird, daß es rekonfigurierbar ist, ein einzelner Schaltungsverzögerungsschalter hinzugefügt.
- Die am 13. September 1983 herausgegebene U.S. Patentschrift Nr. 4,404,519 beschreibt eine Prüfschaltung für eingebettete Felder, die nicht direkt von den primären Eingangs- /Ausgangspins zugänglich sind. Diese Prüfschaltung, welche direkt auf dem Chip hergestellt wird, erlaubt es den externen Prüfern, eine Vielzahl verschiedener Feldprüfungen aufzurufen, ohne die Chiparchitektur neu zu entwerfen.
- Die am 19. Mai 1987 herausgegebene U.S. Patentschrift Nr. 4,667,330 beschreibt einen Halbleiter-Speicherchip mit Selbstdiagnosevorrichtung, der eine fehlerhafte Speicherzelle anzeigen kann. Die Selbstdiagnose-Schaltung befindet sich auf demselben Chip wie die Schaltung des Speicherfeldes und verfügt über Mittel zum Speichern von Informationen, die im Speicherfeld gespeichert werden sollen, und Mittel zum Vergleichen des Inhalts des genannten Speichermittels mit Ausgangsinformationen, die aus der Adresse ausgelesen werden, an der die Information gespeichert ist.
- Die am 6. Januar 1987 herausgegebene U.S. Patentschrift Nr. 4,635,261 beschreibt ein Chip-integriertes Prüfsystem für Felder, das sowohl einen synchronen Modus als auch einen Pipeline-Modus im Normalbetrieb zuläßt. Die Steuerlogik ist gekoppelt zwischen den Steuersignaleingängen und den Verschieberegistern und wählt die Betriebsweise des Systems aus. Eine Vergleichsschaltung, welche die Systemausgangssignale mit den erwarteten Signalen vergleicht, ist mit den Ausgangsverschieberegistern gekoppelt.
- Die am 2. November 1982 herausgegebene U.S. Patentschrift Nr. 4,357,703 beschreibt ein Prüfsystem für LSI-Schaltungen, das auf jedem geprüften LSI-Chip resident ist. Das Prüfsystem liefert Prüfoperanden für die geprüfte Logikfunktion und analysiert die Ergebnisoperanden. Eine Prüfsummenlogik in Verbindung mit einem Verschieberegister erzeugt eine laufende Prüfsumme aller Ausgangszustände des geprüften Moduls mit der Betriebstaktrate des LSI.
- In EP 0 263 312 A2 wird ein statischer Halbleiterspeicher beschrieben, in dem eine Selbstprüfungsschaltung bei Empfang eines Selbstprüfungssignals Daten in den Speicher schreibt, nachdem sie ihn mit einem Adressenzähler adressiert hat. Der Adressenzähler schleift durch alle Adressen, um eine 0 oder eine 1 in die Speicherzelle zu schreiben. Diese Information wird wieder ausgelesen, und die gespeicherte Information im Speicher wird mit den für das Schreiben verwendeten Daten verglichen. Wenn die Information im Speicher nicht mit der zuvor geschriebenen übereinstimmt, wird ein Fehlersignal erzeugt. Gemäß der Beschreibung dieses Dokuments reicht es für eine statische Speicherprüfung aus, die Fähigkeit zu prüfen, Nullen und Einsen zu lesen und zu schreiben.
- Dieses Statement steht im Gegensatz zu der Beschreibung des später veröffentlichten Artikels "A Realistic Self-Test Machine for Static Random Access Memories", wie oben erwähnt, in dem eindeutig darauf hingewiesen wird, daß, obwohl ein SRAM eine sehr einfache und regelmäßige Struktur hat, das Prüfen dieser Speicher eine sehr schwierige Aufgabe zu sein scheint. Nach der Analyse der Autoren muß eine Reihe verschiedener Datenhintergrund- und Datenerhaltprüfungen durchgeführt werden. Es wird daher eine automatische Prüfvorrichtung benötigt, mit der möglichst viele Funktion des SRAM geprüft werden können.
- Bei den komplizierter als SRAMs aufgebauten VLSI-Schaltungen muß die Prüfbarkeit sogar noch besser sein. Alle bekannten Prüfverfahren würden jedoch zu einer unglaublich umfangreichen Hardware-Erweiterung führen. Die Aufgabe der Erfindung besteht daher darin, ein Verfahren und eine Vorrichtung zur Verbesserung vorhandener Prüfvorrichtungen bereitzustellen, durch sorgfältige Auswahl der Prüfungen für eine komplette Prüfung, durch Minimierung des Hardware-Overhead.
- Das Problem wird gelöst durch die Erfindung, wie sie in den Nebenansprüchen gekennzeichnet ist. Verbesserungen der Erfindung sind in den Unteransprüchen dargestellt.
- Einige Merkmale der Erfindung und ihre Verbesserungen werden im folgenden beschrieben; die Erfindung soll hier zunächst anhand einiger Aspekte und anschließend anhand eines Ausführungsbeispiels ausführlich beschrieben werden:
- Entsprechend einem Aspekt der Erfindung wird eine Chip-integrierte Selbstprüfungsanordnung für eine VLSI-Schaltung bereitgestellt, umfassend einen Datenmuster-Generator, der sich auf demselben Chip wie die VLSI-Schaltung befindet, zum Erzeugen vorher festgelegter deterministischer Prüfdaten, die in die Dateneingänge der VLSI-Schaltung eingespeist werden. Zur Erzeugung von Steuersignalen für die VLSI-Schaltung und um diese in die Lage zu versetzen, mit den Prüfdaten zu arbeiten, ist ein Steuersignal-Generator vorgesehen. Ein Generator, bei dem es sich auch um den Datenmuster-Generator handeln kann, dient zur Erzeugung von Daten, die aus der Anwendung der Prüfdaten auf die VLSI-Schaltung erwartet werden. Die erwarteten Daten werden schließlich mit den tatsächlichen Daten verglichen und aus diesem Vergleich wird ein Pass/Fail- Signal erzeugt. Auf diese Weise können vorher festgesetzte deterministische Prüfmuster auf eine eingebettete Makroschaltung angewendet werden, zum Beispiel in einer VLSI-Schaltung. Diese deterministischen Prüfdaten werden von einem Generator erzeugt, der weit weniger Raum als ein Speicherfeld einnimmt, mit dem bisher Prüfmuster für eingebaute Selbstprüfungsanordnungen erstellt wurden.
- Entsprechend einem weiteren Aspekt der Erfindung wird eine Chip-integrierte Selbstprüfunganordnung für eine VLSI-Schal tung bereitgestellt, welche die oben beschriebenen Komponenten und Funktionsgrundzüge umfaßt und bei der außerdem die Stelle, an der in der VLSI-Schaltung ein Fehler aufgetreten ist, gespeichert wird, um dann später beispielsweise für die Fehleranalyse oder für die Aktivierung einer Kopie der Logik oder einer Speicherschaltanordnung verwendet zu werden.
- Entsprechend einem weiteren Aspekt der vorliegenden Erfindung wird eine Chip-integrierte Selbstprüfungsanordnung für eine VLSI-Schaltung bereitgestellt, die alle oben genannten Komponenten und Funktionsgrundzüge umfaßt, und durch die weiter der Datenmuster-Generator und der Steuermuster-Generator zyklisch aktiviert werden, so daß die Prüfdaten mehrmals auf die VLSI-Schaltung angewendet werden.
- Schließlich wird, entsprechend einem weiteren Aspekt der vorliegenden Erfindung, eine Chip-integrierte Selbstprüfungsanordnung für eine VLSI-Schaltung mit programmierbaren Mustersequenzen bereitgestellt, bei der die genannten Datenmuster mit Hilfe von Codes in einem auf sie angewandten Befehl ausgewählt werden können. Diese sehr wünschenswerte Programmierbarkeit löst das bisherige Problem, nämlich daß die Schaltungssensitivität bei bestimmten Selbstprüfungsmustern vorhergesagt werden mußte und bestimmte Prüfmuster bei der Herstellung von Speichern eingebaut werden mußten, typischerweise in großen Speicherfeldern. Eine Vorhersage der Schaltungssensitivität auf solche Muster war jedoch in den seltensten Fällen genau. Die mit der vorliegenden Erfindung bereitgestellte Programmierbarkeit vermindert daher die Wahrscheinlichkeit eines Neuentwurfs nach einer Selbstprüfung und den daraus resultierenden Kosten- und Zeitaufwand, der mit Muster-Falschvorhersagen einherging.
- Die vorliegende Erfindung stellt darüber hinaus die Fähigkeit für einen Schleifenbetrieb bereit, das heißt, ein Verfahren zum Aufrufen einer kontinuierlichen repetitiven (Schleifen-) Operation mit einem gewählten BIST-Muster. Wie bereits oben erwähnt, ist der typische Entwurf bei BIST-Schaltungen so gestaltet, daß diese Schaltungen, nachdem alle Prüfungen für einen gegebenen Chip durchgeführt wurden, in einen Wartezustand gehen. Das hat zum Vorteil, daß beim Vorhandensein von unterschiedlich großen Feldern auf einem Chip, von denen jedes seine eigene Selbstprüfungsstruktur aufweist, alle Felder parallel geprüft werden können, wodurch sich die Prüfzeit verkürzt. Dieses Wartemerkmal unterbricht jedoch die normalen Charakterisierungsprozeduren und beschränkt den Burn-in des Produktes vor Ort. Befindet sich BIST erst einmal in einem Wartezustand, kann es ohne Initialisierung über eine eingescannte logische Signatur nicht wieder reaktiviert werden. Außerdem werden während dieser Reinitialisierung alle Fail- Informationen über den geprüften Baustein im typischen Falle beschädigt. Die Einscan-Operationen und das normale BIST- Cycling müssen daher perfekt aufeinander abgestimmt werden, damit keine kritischen Fail-Informationen beim Burn-in vor Ort verlorengehen. Diese Prozedur ist sowohl kostspielig als auch zeitaufwendig. Durch die Möglichkeit des Schleifenbetriebs der vorliegenden Erfindung wird das ursprüngliche Scan-Muster wieder aufgerufen und ausgeführt. Beim Schleifenbetrieb werden Schaltungsfehler für das Burn-in vor Ort kontinuierlich aufgezeichnet. Dieser Schleifenbetrieb nach einem bestimmten Muster liefert außerdem wichtige Feedback-Informationen in Bezug auf die Charakterisierung.
- Die Erfindung soll nun durch Bezugnahme auf die beiliegenden Zeichnungen und die folgende Beschreibung des bevorzugten Ausführungsbeispiels ausführlicher beschrieben werden.
- Fig. 1 zeigt ein Blockdiagramm mit den Hauptfunktionselementen des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung.
- Fig. 2 zeigt eine Tabelle, die ausführlich die Folge der Lese- und Schreiboperationen zeigt, einschließlich des Datentyps, und ob die Adressierung in aufsteigender oder absteigender Reihenfolge vorgenommen wird; das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung arbeitet auf diese Weise.
- Fig. 3 ist ein Zeitsteuerdiagramm, das den relativen zeitlichen Ablauf ausgewählter Daten- und Steuersignale beim Betrieb des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung zeigt.
- Fig. 4 ist ein detaillierter Schaltungsplan des Muster- Steuerblocks aus Fig. 1.
- Fig. 5 ist eine Zustandstabelle, welche die logische Operation der in Fig. 4 gezeigten Schaltung zeigt.
- Fig. 6 ist ein ausführlicher Schaltungsplan des Modus- Steuerblocks aus Fig. 1.
- Fig. 7 ist ein Zustandsdiagramm, das die logische Operation der in Fig. 6 gezeigten Schaltung zeigt.
- Fig. 8 ist eine aktualisierte logische Schaltung, die in Verbindung mit dem Modus-Steuerblock 40 und dem Subzyklus-Steuerblock 50 der Fig. 1 arbeitet.
- Fig. 9 ist ein detaillierter Schaltungsplan des Subzyklus- Steuerblocks der Fig. 1.
- Fig. 10 ist eine Zustandstabelle, welche die logische Operation der Schaltung aus Fig. 9 zeigt.
- Fig. 11 ist ein ausführlicher Schaltungsplan einer ersten Hälfte des Phasen-Steuerblocks aus Fig. 1.
- Fig. 12 ist eine Zustandstabelle, welche die logische Operation der in Fig. 11 gezeigten Schaltung zeigt.
- Fig. 13 ist die andere Hälfte der Phasen-Steuerschaltung aus Fig. 1; die erste Hälfte wurde in Fig. 11 gezeigt.
- Fig. 14 ist ein ausführlicher Schaltungsplan des Adressenzählers der Fig. 1.
- Fig. 15 ist ein ausführlicher Schaltungsplan des Datenmuster-Generators aus Fig. 1.
- Fig. 16 ist ein ausführlicher Schaltungsplan des Fail- Adressen-Registerblocks der Fig. 1.
- Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung ist ein BIST-System für eingebettete SRAM-Makros mit 6 Mustern. Ein Blockdiagramm des bevorzugten Ausführungsbeispiels ist in Fig. 1 zu sehen. Es wird ein herkömmliches SRAM-Feld 10 gezeigt, mit dem die Selbstprüfungsschaltung der Fig. 1 über den Multiplexer 20, der zwischen den herkömmlichen Logikeingängen 12, 13 und 14 und den Prüfeingängen 15, 16 und 17 eine Multiplex-Verbindung herstellt, verbunden ist.
- Die Prüfsteuerung erfolgt über vier funktionelle Blöcke, die Mustersteuerung 30, die Modussteuerung 40, die Subzyklussteuerung 50 und die Phasensteuerung 60. Diese vier Blöcke steuern den Adressenzähler 70 und den Datenmuster-Generator 80, um die Prüfdaten und die Adreßdaten für die Selbstprüfung, die über den Multiplexer 20 an das Feld 10 weitergegeben werden, zu erzeugen. Die Prüfdaten werden in das Feld 10 geschrieben und dann in die Datenkomprimierungseinheit 90 ausgelesen, wo sie mit einem Duplikat der in das Feld 10 geschriebenen Prüfdaten verglichen werden, die von dem Mustergenerator 80 neu generiert wurden. Die Vergleichsergebnisse werden zu einem einzigen Pass/Fail-Signal zusammengefaßt, das dem Fail-Adressenregister 100 zugeführt wird; dieses erfaßt in dem Feld 10 die Adresse des gespeicherten Wortes, das die Prüfung nicht bestand hat. Zusammen bilden die Mustersteuerung 30, die Modussteuerung 40, die Subzyklussteuerung 50 und die Phasensteuerung 60 die Zustandsmaschine 120. Die Operation der Zustandsmaschine 120 erfolgt analog zu einem geschachtelten Fortran "Do-Loop", wobei die äußere Schleife der Mustersteuereinheit 30 und die innerste Schleife der Phasensteuereinheit 60 entspricht. Jeder Steuer block 30-60, oder "Do-Loop", ist verantwortlich für die Verwaltung bestimmter Informationen über das auszuführende Muster.
- Auf einer hohen Ebene zeigt die Mustersteuerung 30 auf das gerade ausgeführte spezifische Muster und setzt die gesamte BIST-Schaltung in einen Wartezustand, wenn alle Muster ausgeführt sind. Das bevorzugte Ausführungsbeispiel führt 6 Muster aus, wie unten beschrieben.
- Die Modussteuerung 40 setzt die Inkrement-/Dekrement-Flagge des Adressenzählers 70, wie im folgenden beschrieben wird, und setzt die Wahr/Komplementär-Flagge des Datenmuster-Generators 80, wie ebenfalls im folgenden beschrieben wird.
- Die Subzyklus-Steuerung 50 verwaltet die Lese-/Schreibsequenz für das aktuelle Muster pro Adresse. Alle sechs Muster können in vier Grundsequenzen unterteilt werden, und zwar Blanket- Schreiben, Blanket-Lesen, Lesen/Schreiben/Lesen pro Adresse und die programmierbare Sequenz. Diese Vorgänge werden im folgenden ausführlicher beschrieben.
- Die Phasensteuerung 60 erzeugt und steuert die Wellenformen des Eingangssignals zu dem SRAM-Feld 10 pro Zyklus. Sie ist außerdem verantwortlich für die Steuerung der Ergebnisberechnung und die Protokollierung der Schaltungen während der Feld-Lesezyklen.
- Der Adressenzähler 70 und der Datenmuster-Generator 80 präsentieren die Eingangsinformation dem Makro, unter strenger Kontrolle der Zustandsmaschine 120. Die Datenkomprimierungseinheit 90 empfängt die Ausgangsdaten von dem SRAN-Feld und vergleicht sie mit den erwarteten Daten, die von dem Datenmu ster-Generator 80 berechnet und bereitgestellt werden. Die Datenkomprimierung reduziert die volle Datenausgangsbreite des Makros mit Hilfe eines Exklusiv-Oder-Baumes auf ein Pass/Fail-Bit. Das Feld-Makro 10 nimmt die Eingangsdaten von der Logik (nicht gezeigt) über die Leitungen 12, 13 und 14 oder die BIST-Anordnung über die Leitungen 15, 16 und 17, durch den Multiplexer 20 an, unter Steuerung durch ein an den Multiplexer 20 angelegtes Signal "Prüfung/keine-Prüfung".
- Die sechs von dem bevorzugten Ausführungsbeispiel ausgeführten Muster sind: Unique address ripple word (UARW), unique address ripple bit (UARB), checkerboard (CHKBD), wordline strip (WLS), blanket (BL) und programmable (PG). Alle Muster, mit Ausnahme des programmierbaren Musters, sind "festverdrahtet", während das programmierbare Muster bei der Scan-In-Initialisierung der Logik als die zu lesenden/schreibenden Daten- und Adressensequenzen programmiert werden kann.
- Im Verlauf eines typischen Operationsablaufs gibt die Phasensteuereinheit 60 pro Adresse Lese/Schreibbefehle an das Feld 10 aus. Die Daten- und Adresseneingänge werden kontinuierlich in Reaktion auf die verschiedenen Signale der Zustandsmaschine 120 aktualisiert. Bei einer Leseoperation werden die erwarteten Daten von dem Datenmuster-Generator 80 berechnet und dann den Datenkomprimierungsschaltungen 90 zur Auswertung des Datenausgangs präsentiert und von diesen zwischengespeichert. Dieser Vorgang wird fortgesetzt, bis von einer Adressenvergleichsschaltung im Adressenzähler 70 an die Phasensteuerung 60 über die Leitung 102 eine Flagge "maximale Adresse" ausgegeben wird, wie im folgenden noch beschrieben wird. Die Phasensteuereinheit 60 antwortet mit der Ausgabe ihrer eigenen HOLDN-Flagge an die Subzyklusregelung 50 über die Leitung 104. Immer dann, wenn das HOLDN-Signal aktiv wird, wird das Feld 10 für einen Zyklus in einen Wartezustand versetzt, um der Zustandsmaschine 120 die Gelegenheit zu geben, eine neue Prüfsequenz zu berechnen. Wenn alle Lese/Schreibsequenzen für eine bestimmte Adressenfolge beendet sind, wird über die Leitung 106 an die Modussteuerung 40 eine MUP-Flagge gesendet und hiermit der Befehl erteilt, einen neuen Datentyp und eine neue Adressenfolge auszugeben. Nachdem alle Modi für ein aktuelles Muster erschöpft sind, wird über die Leitung 108 ein PUP-Signal an die Mustersteuerung 30 gesendet, um die Mustersteuerung 30 für ein neues Muster zu aktualisieren. Dieses "DO-LOOPING" wird solange fortgesetzt, bis alle sechs Muster ausgeführt sind.
- Fig. 2 zeigt eine Tabelle, in der der Prüfablauf für alle sechs Muster ausführlich dargestellt ist. Die linke Spalte kennzeichnet das Muster. Die mittlere Spalte kennzeichnet die Art und den Ablauf der ausgeführten Operation oder der ausgeführten Operationsabläufe. Die dritte Spalte kennzeichnet die Adressierungsreihenfolge während der Operation(en), die in der mittleren Spalte gekennzeichnet wurde(n).
- Die zeitlichen Steuerungen der Signale in den Schaltungen des bevorzugten Ausführungsbeispiels werden gesteuert von dualen, nicht überlappenden Takten, die als Takt C beziehungsweise Takt B bezeichnet werden, in einer L1/L2-SRL-Umgebung, in der das Feld 10 behandelt wird als eine L1-Entität entsprechend den herkömmlichen Techniken des Level-Sensitive Scan Design (LSSD). Siehe zum Beispiel "Logic Model Optimization For LSSD Structures" von S. Huang et al., "International Symposium On VLSI Technology, Systems and Applications - Proceedings Of Technical Papers" (1989), Seite 144-148; "Testing VLSI Chips With Weighted Random Patterns" von J. Waicukauski und F. Motika, IEEE International Symposium On VLSI Technology, Systems and Applications - Proceedings Of Technical Papers" (1989), Seite 149-154; "LSSD With Intel Gate Arrays" von R. Swain, Conference Record - Midcon 87 v. 11, (Electronic Conventions, Inc. 1987), Seite 203-206; und "Diagnosis of Bist Failures By PPSFP Simulation" von J. Waicukauski et al., IEEE International Test Conference 1987 - Proceedings: Integration of Test With Design And Manufacturing, Seite 480- 484, vier exemplarische Artikel aus den zahlreichen Publikationen, in denen LSSD-Techniken beschrieben werden.
- Wie bereits erwähnt arbeitet die BIST-Schaltung des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung in einer LSSD-Prüfumgebung. Die LSSD-Taktgruppe, nämlich der Takt A, der Takt B und der Takt C, werden daher im Logikentwurf eingesetzt. In der einfachsten Form dieser Umgebung wird das Taktpaar A/B eingesetzt, um die Initialisierungsdaten in die BIST-Schaltung einzuscannen. Das Taktpaar C/B dient zur Berechnung und Erfassung neuer Daten, und ein Taktpaar A/B dient zum Ausscannen des Ergebnisses. In dem bevorzugten Ausführungsbeispiel wird jedoch ein Entwurf mit synchroner Doppelverriegelung, oder ein Master-Slave-Entwurf, verwendet, in dem die Taktpaare C/B eingesetzt werden, wobei der Takt C als Master und der Takt B als Slave dient. Der Takt C steuert Daten, die zum Master L1 gehen, der Takt B überträgt Daten zum Slave L2.
- Das bevorzugte Ausführungsbeispiel arbeitet für die Bauelementprüfung in einer Grenz-Scan-Umgebung. Mit dem Grenz-Scan kann der Prüfer eine Teilgruppe aus der Gesamtanzahl der Eingänge und Ausgänge eines Bauelements kontaktieren. Er dient zum Prüfen der Logik vor und nach einer Makrogrenze. Siehe "Boundary Scan Design For Efficient Testing of LSSD Basics" von R. Bassett et al., IBM Journal of Research and Development, Januar 1990; hierin sind weitere Details zur Nutzung des Grenz-Scan bei einer solchen Prüfung enthalten.
- Die Auswahl der Muster, die dann verwendet werden, um beispielsweise ein Speicher-Feld einer Selbstprüfung zu unterziehen, ist ein schwieriges und komplexes Problem. In der Praxis können nicht alle Prüfungen, die normalerweise statischen/dynamischen Feldern zugeordnet sind, eingesetzt werden. In dem bevorzugten Ausführungsbeispiel wurde versucht, die effektivsten Prüfungen aus der gesamten Gruppe auszuwählen. Zur Implementierung des bevorzugten Ausführungsbeispiels konnte damit der Hardware-Overhead wesentlich reduziert werden. Diese Überlegung ist von großer Bedeutung, weil sowohl kleine als auch große Felder dieselbe BIST-Implementierung enthalten. Es ist natürlich wünschenswert, bei kleinen Feldern die Auswirkungen auf die Fläche so gering wie möglich zu halten.
- Die ausgewählten Muster umfassen zwei Prüfungen der eindeutigen Adresse: Ripple-Wort und Ripple-Bit. Mit diesen Prüfungen lassen sich Blockierungsfehler sowohl in der Zelle als auch im Decoder sowohl in der Wort- als auch in der Bit-Dimension erkennen. Bei der Ripple-Wott-Prüfung werden die Wortadressen als niedrigstwertig gesetzt, so daß der gesamte Wortraum vor dem Inkrementieren der Bitadresse umgeschaltet wird. Die Ripple-Bit-Prüfung setzt die Bitadressen als niedrigstwertig, das heißt, normale Konfiguration für das Feld, und schaltet den gesamten Bitadressenraum um, bevor die Wortadresse inkrementiert wird. Beide Prüfungen werden bei jeder Adresse in einem R/W/R-Modus ausgeführt.
- Der Mustersatz umfaßt auch eine Wortzeilen-Strip-Prüfung. Diese Prüfung plaziert auf jeder angrenzenden Wortlinie ent gegengesetzte Zellendaten. Sie deckt Nachbarschaftssensitivitäten sowie Bitzeilen-Wiederherstellungsfehler auf. Die Prüfung wird durchgeführt, indem Initialdaten in das gesamte Feld geschrieben werden und die Daten zum Vergleich aus dem gesamten Feld ausgelesen werden.
- Die vierte Prüfung ist das physikalische Vier-Nachbarn- Schachbrett. Mit dieser Prüfung können Ladungsteilungen zwischen einer Zielzelle und ihren vier physikalisch angrenzenden Nachbarn aufgedeckt werden. Diese Prüfung wird ebenfalls nach dem Prinzip Write-all, Read-all durchgeführt, wie die Wortzeilen-Strip-Prüfung.
- Zum Schluß wird schließlich eine Blanket-Prüfung als endgültige Prüfung ausgeführt, um das korrekte Funktionieren der Daten-Gates zu gewährleisten. Diese Blanket-Prüfung ist eine Wiederholung des Schachbrettmustersatzes, wobei gleichzeitig eine Kontrolle der Daten-Gates durchgeführt wird. Die Blanket-Prüfung wird nach dem Prinzip Write-all, Read-all ausgeführt. Sie dient in erster Linie der Prüfung spezieller Feld- Funktionen.
- Auf einer hohen Ebene wird das bevorzugte Ausführungsbeispiel im Betrieb aktiviert, indem auf der in Fig. 1 gezeigten Leitung "Prüfung/Keine Prüfung" eine logische "1" plaziert wird. Die Daten werden dann eingescannt, um die Controller der Zustandsmaschine 120, das Register für die maximale Adresse des Adressenzählers 70 (weiter unten beschrieben), das Datenerhaltregister (ebenfalls nachfolgend beschrieben) und die Ausgänge des Felds 10 sowie den Ergebnissignalspeicher in der Datenkomprimierungseinheit 90 zu initialisieren. Weil es sich bei dem bevorzugten Ausführungsbeispiel um einen vollsynchronen LSSD-"Doppel-Verriegelungs"-Entwurf handelt, wird die Ausführung mit dem Taktpaar C/B fortgesetzt. Der C-Takt-Master erfaßt den nächsten Zustand, basierend auf den kombinationslogischen Daten, die während des Slave-Zyklusses in Takt B erstellt wurden. Synchron mit dem C-Takt-Zyklus erfolgt der Zugriff auf das Feld 10.
- Fig. 3 zeigt ausführlich den zeitlichen Takt- und Datenablauf für das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung. Fig. 3 zeigt das Ende eines Lesezyklusses, der als Lesezyklus A bezeichnet wird, einen sich anschließenden vollen Lesezyklus B, einen Schreibzyklus C, gefolgt von dem Beginn eines abschließenden Lesezyklusses D. Am Anfang des Diagramms werden die zeitlichen Abläufe des herkömmlichen LSSD-B-Taktes (B-CLK) und des herkömmlichen Feld-Taktes dargestellt, sowie der Zustand der herkömmlichen Lese/Schreibleitung. Außerdem wird ein Z-Takt (Z-CLK) gezeigt, der im wesentlichen dem herkömmlichen LSSD-C-Takt entspricht. Unter den Takten der Fig. 3 sind die relativen zeitlichen Abläufe für die verschiedenen Steuerleitungen, Adressenleitungen und Datenleitungen dargestellt. Die Leitung mit der Bezeichnung "Makro-Adresse" beschreibt also die relativen zeitlichen Abläufe für gültige Adressensignale. Entsprechend wird durch "Late tead select" beschrieben, wann die Adressenleitungen für "Late read select" gültig sein müssen. Die Makrodaten in der Leitung beschreiben, wann die Datenleitungen für das Feld 10 gültig sein sollen. Die Leitung "Late write select" beschreibt, wann die Schreibadressenleitungen für "Late write"-Operationen gültig sein sollen. Die Schreib- Gate-Leitung zeigt, wann die Schreib-Gate-Masken-Leitungen gültig sein sollen. Die Leitung "Vergleichsdaten laden" zeigt den zeitlichen Ablauf für das Laden von Vergleichsdaten für die jeweiligen Zyklen. Entsprechend beschreiben die Ergebnisleitung und die Leitung "Ergebnis laden" die zeitli chen Abläufe für das Vorhandensein gültiger Ergebnisdaten und das Laden dieser Daten. Fig. 3 sollte immer in Verbindung mit der ausführlichen Beschreibung der verschiedenen Komponenten der Fig. 1 betrachtet werden, die nachfolgend beschrieben werden, um die relativen zeitlichen Abläufe der verschiedenen Operationen zu verstehen. Es wird davon ausgegangen, daß die genaue quantitative Plazierung der verschiedenen Adressen, Daten und anderer Signale, die in Fig. 3 für ein bestimmtes System in einem bestimmten Entwurfssystem beschrieben werden, abhängt von den jeweiligen Parametern des betreffenden Entwurfsystems und des beteiligten Prozesses. Die Auswahl dieser genauen quantitativen Zeitabläufe kann von einem gewöhnlichen Fachmann auf diesem Gebiet durchgeführt werden.
- Fig. 4 ist ein Schaltungsplan des Mustersteuerblocks 30 der Fig. 1. Das Kernstück der Schaltung sind fünf SLR-Signalspeicher 302, 304, 306, 308 und 310, die miteinander in Form einer LSSD-Abtastkette verbunden sind, und die auf der Leitung 312 Daten von vorgeschalteten LSSD-Signalspeichern empfangen und am Port 314 einen LSSD-Ausgang an die LSSD-Signalspeicher hinter der LSSD-Kette liefern. Die jeweiligen Zwischenverbindungen zwischen den obengenannten Signalspeichern sind in diesem Schaltungsplan der Übersichtlichkeit wegen nicht dargestellt, jedoch sind solche Zwischenverbindungen in der Technik bekannt. Der Systemtakt C wird an den Port 316 geliefert, wo er von den Nicht-Gliedern 318, 320 und 322 gepuffert und zum Systemtakt Z wird, der an den Ausgängen 324 zur Auffächerung auf die verschiedenen anderen Plätze des Ausführungsbeispiels, wo der Takt C benötigt wird, bereitgestellt wird. Das in Fig. 1 gezeigte Signal "Prüfung/keine Prüfung" wird an den Eingangsport 326 angelegt, wo es von den Signalspeichern 328 und 330 doppelt gepuffert wird und als Signal "Prüfung/keine Prüfung" für den Rest des Ausführungsbeispiels am Ausgangsport 332 bereitgehalten wird. Der Ausgang des Nicht-Gliedes 330 wird außerdem durch das UND- Gate 334 an den Ausgangsport 336 angelegt, der mit dem Datenmultiplexer 20 (Fig. 1) verbunden ist, um die Daten- und Steuersignale von dem bevorzugten Ausführungsbeispiel an das Feld 10 anlegen zu können, und nicht von der umgebenden Logik, wie weiter oben beschrieben wurde. Der Ausgang vom Nicht-Glied 330 wird durch ein weiteres Nicht-Glied 333 außerdem an den Set-Eingang des Signalspeichers 308 angelegt, wodurch der Nicht-Ausgang des Signalspeichers 308 das UND- Gate 340 freigibt und dadurch den Z-Takt an den Ausgangsport 324 effektiv freigibt, wie weiter oben beschrieben wurde.
- Der Rest der in Fig. 4 gezeigten Schaltungen stellt die Hauptfunktion des Mustersteuerblocks 30 bereit und umfaßt ein drei Bit breites Zählwerk. Das Zählwerk wird beim Scan-in über die Eingangsleitung 312 initialisiert, anschließend zählt das Zählwerk entsprechend einem an den Eingangsport 356 angelegten Signal aufwärts, synchronisiert durch den Z-Taktausgang von dem Nicht-Glied 320. Der Eingang am Eingangsport 356 ist die PUP-Leitung 108 von der Modussteuerung 40, die in Fig. 1 gezeigt wurde. Jeder einzelne Ausgangsport 342-354 entspricht einem anderen Muster, das auf das Feld 10 angewendet werden soll (1). Während das Zählwerk zählt, werden diese Leitungen einzeln und nacheinander aktiv, beginnend mit dem initialisierten Wert. Fig. 5 ist eine Tabelle, welche die Entsprechung zwischen der Zählnummer und dem aktiven Ausgangsport zeigt.
- Fig. 6 ist ein Schaltungsplan des Modussteuerungs-Logikblockes 40, der in Fig. 1 gezeigt wird. Wie man sehen kann, empfängt ein UND-Gate 402 den Z-Takt am Eingangsport 324, der dem Ausgangsport 324 in Fig. 4 und dem in Fig. 1 gezeigten MUP-Signal entpricht. Ein NOR-Gate 404 empfängt das CH-Signal am Eingangsport 350 und das BL-Signal am Eingangsport 352, die dem Ausgangsport 350 beziehungsweise 352 in Fig. 4 entsprechen. Das UND-Gate 406, das Exklusiv-Oder-Gate 408 und die SRL-Signalspeicher 410 und 412 umfassen ein Modulo-Vier- Zählwerk, das durch das MUP-Signal getaktet und von dem Z- Taktsignal synchronisiert wird, das durch Aktivierung entweder des Ports 350 oder des Ports 352 zu einem Modulo-Zwei- Zählwerk modifiziert werden kann. Der Ausgang am Port 414 stellt einen Modus für eine aufsteigende Adressenzählung dar, wenn er sich im Zustand 0 befindet, und für eine absteigende Adressenzählung, wenn er sich im Zustand 1 befindet. Der Port 416 ist das Komplement des Ports 414. Der Port 418 stellt wahre Daten dar, wenn er sich im Zustand 0 befindet, und komplementäre Daten, wenn er sich im Zustand 1 befindet. Dieses Muster ist in der Tabelle der Fig. 7 zusammengefaßt. In allen Mustern, mit Ausnahme von CH und BL, werden demnach alle vier in Fig. 7 gezeigten Zustände für jedes Muster zyklisch wiederholt. Für die Muster CH und BL wird jedoch der Port 414 im Low-Zustand gehalten, und es wird nur die aufsteigende Adressenzählung verwendet.
- Um eine möglichst hohe Chip-Layout-Effizienz zu erreichen, wurden die Schaltungen zur Erzeugung der Update-Signale MUP und PUP, die in Fig. 1 gezeigt werden, für den Subzyklus- Steuerblock 50 beziehungsweise den Modussteuerblock 40 in einer einzigen Schaltung zusammengefaßt. Die Schaltung ist in Fig. 8 dargestellt und wird als Aktualisierungslogik bezeichnet. Die Signale an den Ausgangsports 414, 416 und 418 der Fig. 6 werden an die Eingangsports 414, 416 beziehungsweise 418 der Schaltung in Fig. 8 angelegt. Die Funktion dieser Schaltung wird im folgenden beschrieben, im Anschluß an die Beschreibung der an die anderen Eingangsports angelegten Signale.
- Fig. 9 ist ein Schaltungsplan des in Fig. 1 gezeigten Subzyklus-Steuerblockes 50. Sein Kernstück sind drei SRL-Signalspeicher 502, 504 und 506, die als Modulo-3- oder Modulo-2- Zählwerk arbeiten, je nach Eingangszustand. Der Grund, warum das Modulo entweder 2 oder 3 ist, ist folgender: Im Modus "Programmierbares Muster", PG, ist die Reihenfolge der einzelnen Operationen: Write background data (WC), Read/Write Programmable True (RWPT), Read Write Programmable True/Complement (RWPT/C); anschließend geht das MUP-Signal in den Aktivzustand und signalisiert dem Modus-Steuerblock 40, daß er zur nächsten Operation seiner Sequenz gehen soll (1). Sowohl im UARW- als auch im UARB-Muster-Modus ist der Sequenz-Modus WC, RWRT, RWRC, anschließend wird MUP aktiv, wie oben. Bei diesen drei Muster-Modi ist ein Modulo-3-Zählwerk erforderlich, um die jeweiligen Signalleitungen in der soeben beschriebenen Sequenz zu aktivieren. In den Muster-Modi WLS, CK und BL ist die Sequenz jedoch WC, RWRT, anschließend wird MUP aktiviert. Hierzu ist natürlich ein Modulo-2-Zählwerk erforderlich. '
- Der Z-Takt aus Fig. 4 wird an den Eingangsport 324 angelegt, der mit einem Eingang eines UND-Gates 508 verbunden ist, während das in Fig. 1 gezeigte Signal HOLDN an den anderen Eingang des UND-Gates 508 angelegt wird. Der Ausgang des UND-Gates 508 taktet die Zählwerke 502, 504 und 506. Die an die Eingangsports 324, 344, 346, 348, 350 und 352 angelegten Signale sind jeweils die Ausgänge aus Fig. 4 mit den entsprechenden Bezugszahlen. Es sei hier daran erinnert, daß je des dieser Signale ein anderes der sechs möglichen Muster darstellt.
- Der Ausgang der Zählwerke 502, 504 und 506 wird so decodiert, daß er ausschließlich die Ausgänge 510, 512, 514, 516 oder 518 aktiviert. Wenn der Ausgangsport 510 aktiv ist, werden Hintergrunddaten geschrieben, das heißt, es wird ein Blanket- Write ausgeführt. Wenn der Ausgangsport 512 aktiv ist, wird eine Lesen/Schreiben/Lesen-Sequenz mit wahren Daten ausgeführt. Wenn der Ausgangsport 514 aktiv ist, wird eine Lesen/Schreiben/Lesen-Sequenz mit komplementären Daten ausgeführt. Wenn der Ausgangsport 516 aktiv ist, wird ein programmierbares Muster Lesen/Schreiben ausgeführt, mit wahren Daten. Wenn schließlich der Ausgangsport 518 aktiv ist, wird ein programmierbares Muster Lesen/Schreiben(RWPT) ausgeführt, mit wahren Daten im Normal-Modus, jedoch wählbar, um die Programmierbarkeit auch auf die Komplementär-Daten auszuweiten. Die Operation der Schaltung der Fig. 9 wird in der in Fig. 10 gezeigten Logiktabelle zusammengefaßt.
- Erneut bezugnehmend auf Fig. 9; die Ausgangsports 520 und 522 sind Signalleitungen, die bei Aktivierung eine Schreib/Lese-Operationssequenz beziehungsweise eine Lese/Schreib/Lese-Sequenz signalisieren, ohne Bezugnahme auf den Datentyp.
- Bezugnehmend auf Fig. 8; die übrigen Eingangsports können mit ihren jeweiligen Ausgangsports in Verbindung gebracht werden, welche dieselbe Bezugszahl in Fig. 9 aufweisen. Immer noch unter Bezugnahme auf Fig. 8 sei schließlich auf den Nur-Schiebe-SRL-Signalspeicher 420 hingewiesen. Es wird anerkannt, daß das System normal arbeitet, wenn es bei Initialisierung mit einer "1" geladen wird. Wenn jedoch bei Initiali sierung im Signalspeicher 420 eine "0" geladen wird, wird das PUP-Steuersignal wirksam gesperrt; das heißt, ganz gleich, welches Initialmuster bei der Scan-In-Initialisierung ausgewählt wurde, dieses Muster wiederholt sich kontinuierlich in Form einer Schleife, bis entweder der Systemtakt gesperrt oder die Signalleitung "Prüfung/keine Prüfung" deaktiviert wird (1). Diese Fähigkeit ist besonders nützlich bei Burn-In- Operationen, wenn die wiederholte Ausführung eines ausgewählten Musters über längere Zeiträume gewünscht wird, um das Feld 10 stark zu belasten und Fehlinformationen zu speichern.
- Die Fig. 11 und 13 umfassen zusammen den Phasensteuerblock 60 der Fig. 1; Fig. 12 dient hierbei als Zustandstabelle, die zum Verständnis der Fig. 11 benötigt wird. Der Phasensteuerblock 60 ist der endgültige und komplizierteste funktionelle Block der Zustandsmaschine 120. Dieser funktionelle Block erzeugt die Steuersignale für das Feld 10. Außerdem steuert er direkt die Adressenfortschaltung, beeinflußt die Erzeugung des Datenmusters für die Feld- und Erwartungsdaten und steuert die Ergebnisprotokollierung in dem Fail- Adressenregister 100 (Fig. 1). Die Eingänge von der Mustersteuereinheit 30 und der Subzyklus-Steuereinheit 50 bestimmen die Zustandsübergänge. In dem Phasen-Controller sind vier Zustände möglich, nämlich die Lesephase A, die Schreibphase A, die Lesephase B und die Wartephase, wie in Fig. 12 dargestellt ist. Diese Zustände werden erzeugt von einem Modulo-1 bis -4-Zählwerk, in Abhängigkeit von den logischen Eingangssignalen, welche zwei im folgenden beschriebene SLR-Signalspeicher umfassen. Wenn eine R/W/R-Sequenz gewünscht wird, durchläuft der Phasen-Controller für jede Adresse in dem Feld die Sequenz RA/WA/RB. Bei einem Muster, welches das gesamte Feld beschreibt, und es dann liest, führt die Phasensteuereinheit 60 den WA-Zustand für alle Adressen für den Schreibvorgang aus und führt anschließend den RB-Zustand für alle Adressen für den Lese- und Vergleichsvorgang aus. Bei der Initialisierung wird die Phasensteuereinheit 60 in den WA-Zustand gesetzt, um zunächst Daten in das gesamte Feld zu schreiben. Es wird immer ein Wartezustand im WA- oder RB-Zustand aktiviert, wenn alle Adressen aufwärts- oder abwärtsgezählt sind. Der Wartezyklus ist die erste Sequenz in allen Mustern. Dieser Zyklus wird benötigt, damit die Muster-, Subzyklus- und Modus-Controller 30, 50 beziehungsweise 40 den nächsten Vorgangsablauf bestimmen können. Er stößt außerdem ein Neuladen des Adressenregisters aus dem Maximaladressenregister an, wie nachfolgend in Verbindung mit dem Adressenregister 70 beschrieben wird, um eine neue Sequenz zu starten.
- Bezugnehmend auf Fig. 11; das Signal am Ausgangsport 518 der Fig. 9, das RWPC/T entspricht, wird an den Eingangsport 518 angelegt. Das Signal am Ausgangsport 516 der Fig. 9, das RWPT entspricht, wird an den Eingangsport 516 angelegt. Der Z-Takt aus Fig. 3 wird an den Eingangsport 324 angelegt, während das Signal NOPN aus Fig. 3 an den Eingangsport 354 angelegt wird. HOLDN wird angelegt wie dargestellt. Die Signale an den Ausgangsports 510, 512 und 514 aus Fig. 9, die dem Signal "Hintergrunddaten schreiben", dem RWRT-Signal bzw. den RWRC-Signalen entsprechen, werden an die Eingangsports 510, 512 beziehungsweise 514 der Fig. 11 angelegt. Die Signale WR und RWR von den Ausgangsports 520 beziehungsweise 522 der Fig. 9 werden an die Eingangsports 520 beziehungsweise 522 in Fig. 11 angelegt.
- Erneut bezugnehmend auf Fig. 12; die obengenannten vier Zustände werden von einem Zählwerk erzeugt, das die SRL-Signalspeicher 602 und 604 umfaßt.
- Vier andere SRL-Signalspeicher 606, 608, 610 und 612, die Nur-Scan-SRLs sind, werden mit einem Code geladen, der bei "1" Lesen bedeutet und bei "0" Schreiben. Im Programmuster- Modus durchläuft der Musterzyklus vier Lese- oder Schreiboperationen, die den Inhalten der Signalspeicher 606-612 entsprechen. Die Inhalte dieser SRL-Signalspeicher werden an die in Fig. 11 gezeigte Logik angelegt und außerdem, mit Hilfe der Ausgangsports 614, 616, 618 und 620, an die in Fig. 3 gezeigte Logik. Die SRL-Signalspeicher 622 und 624 und die damit zusammenhängende Logik stellen zwei komplementäre Gruppen von Ausgangssignalen 626 und 628 sowie 630 und 632 dar, die an die Schaltungen in Fig. 13 angelegt werden. Die Ausgangsports 634, 636, 638, 640, 642 und 644 komplettieren schließlich die Gruppe der Signale, die an die Schaltungen in Fig. 13 übertragen werden.
- Bezugnehmend auf Fig. 13; die an die Eingangsports der Fig. 13 angelegten Signale werden von denjenigen Ausgangsports der Fig. 11 abgenommen, welche die entsprechende Bezugszahl haben. Außerdem wird das BL-Signal vom Ausgangsport 352 der Fig. 4, das Signal am Ausgangsport 418 der Fig. 6 und das Signal am Ausgangsport 510 der Fig. 11 an die Eingangsports mit der entsprechenden Bezugszahl in Fig. 13 angelegt. Schließlich wird ein Adressenvergleichssignal (AC) von dem weiter unten beschriebenen Adressenzähler 70 an den Eingangsport 702 angelegt.
- Die Kombinationslogik der Fig. 13 decodiert die verschiedenen oben beschriebenen Eingangssignale und liefert daraus die im folgenden beschriebenen Ausgangssignale.
- Das Signal am Ausgangsport 646 ist das Schreibsteuersignal für das Selbstprüfungsbit (STBWC). Diese Leitung schließt an das Feld 10 (Fig. 1) an, und zwar an jeden der Bit- Schreibsteuer-Eingänge des Felds, um alle 18 Bits gleichzeitig zu aktivieren, entsprechend den herkömmlichen Zugriffsgrundsätzen für Speicherfelder. Das Signal am Ausgangsport 648 wird an die Adressenvergleichsschaltungen, die im folgenden ausführlicher beschrieben werden, angelegt, um den Vergleich des Ausgangs des Adressenzählers 70 (Fig. 1) mit dem Inhalt des Maximaladressenregisters (nicht dargestellt), in dem der Wert der Maximaladresse des Felds vorgehalten wird, zu synchronisieren. Das Signal am Ausgangsport 650 wird an den Datenmuster-Generator 80 angelegt und steuert den Datentyp in einer im folgenden ausführlich beschriebenen Weise. Das Signal am Ausgangsport 652, mit der Bezeichnung ACOUNT, wird angelegt an das Adressenzählwerk 70 (Fig. 1), um die Zählung freizugeben. Das Signal an den Ausgangsports 654, mit der Bezeichnung "Selbstprüfungs-Feld nicht auswählen" (STASN), wird invertiert und an den Auswähleingang des Felds 10 angelegt (Fig. 1), entsprechend den herkömmlichen Zugriffsgrundsätzen für Speicherfelder. Das Signal am Ausgangsport 656, das als Wartesignal bezeichnet wird, wird aktiviert, wenn es von der maximalen zu der minimalen Adresse im Adressenzähler 70 geht (Fig. 1), und umgekehrt. Dieses Signal, das sich in der in Fig. 13 gezeigten Logik befindet, deaktiviert das Adressenzählersignal am Ausgangsport 652 und wird auch an den Adressenzähler 70 (Fig. 1) angelegt, um die darin enthaltenen Rücksetzschaltungen zu aktivieren. Das Signal am Ausgangsport 658 wird an das Feld 10 angelegt (Fig. 1) und gibt an, ob die aktuelle Operation eine Lese- oder eine Schreiboperation ist. Das Signal am Ausgangsport 660, das als "Erwartete Daten laden" (LD) bezeichnet wird, wird an die Schaltungen (nicht gezeigt) angelegt, um das Laden der erwarteten Daten in die Register im Datenkomprimierungsblock 90 (Fig. 1) für den Pass/Fail-Vergleich freizugeben. Dieses Signal wird außerdem an das Fail-Adressenregister angelegt, was im folgenden beschrieben wird, um das Akkumulator-Register in einer im folgenden beschriebenen Weise zu laden. Das Signal am Ausgangsport 662, bezeichnet als "Leseergebnis laden" (LR) wird angelegt an die SRL-Signalspeicher des Fail-Pufferregisters, um die Speicherung von Fehlinformationen in einer im folgenden noch ausführlich beschriebenen Weise zu aktivieren. Schließlich wird das in Fig. 1 identifizierte HOLDN-Signal an dem nachfolgend gezeigten Ausgangsport bereitgestellt, nämlich dem Ausgangsport 662.
- Fig. 14 ist eine ausführlichere Beschreibung des in Fig. 1 gezeigten Adressenzählers 70. Das Kernstück des Zählers 70 sind zwei programmierbare zurücksetzbare Aufwärts/Abwärts- Ripple-Zähler 702 und 704. Der Zähler 702 führt die Zählung für die Wortadresse aus, während der Zähler 704 die Zählung für die Bitadresse ausführt. Der Ausgang des Wortadressen- Ripple-Zählers 702 wird über die Leitung 706 an einen herkömmlichen Komparator 708 weitergeleitet und wird dort mit dem Inhalt des Registers 710 verglichen, welches die maximale Wortadresse für das Feld 10 speichert (Fig. 1). Entsprechend wird der Ausgang des Bitadressen-Ripple-Zählers 704 über die Leitung 712 an einen weiteren herkömmlichen Komparator 714 gesendet, und dort mit dem Inhalt eines weiteren Registers 716 verglichen, das die Adresse des maximalen Bits, das heißt die Breite eines Wortes im Feld 10 (Fig. 1), speichert.
- Man beachte, daß der Wortadressen-Ripple-Zähler eine Reihe von SRL-Schieberegistern 720 umfaßt, wie bekannt ist, und der Bitadressen-Ripple-Zähler dementsprechend die Zählerbits 722 umfaßt. Für jeden Fall werden aus Darstellungsgründen nur zwei solcher Bits gezeigt. Die einzelnen Ausgänge dieser Schieberegister werden gezeigt, die zu den jeweiligen Datenbussen 706 beziehungsweise 712 werden. Außerdem enthalten die Eingänge hierzu, 724 beziehungsweise 726, die Information über die Rücksetzdaten für den Wert, auf den der betreffende Zähler 702 beziehungsweise 704 zurückgesetzt wird, wenn es zu einem Zurücksetzen kommt. Diese Datenwerte werden an 728 und 730 der UND-Gates 732 beziehungsweise 734 geliefert. Diese UND-Gates haben als einen Eingang hierzu die Ausgänge des maximalen Wortadressenregisters 710 beziehungsweise des maximalen Bitadressenregisters 716, während der andere Eingang dorthin die in Fig. 6 gezeigte AD-Leitung 414 ist. Die AD- Leitung 414 synchronisiert das Laden der Rücksetzdaten ins Zählwerk 702 und 704. Sie wird außerdem an die Eingänge INC/DEC (Inkrementieren/Dekrementieren) der Zählwerke 702 und 704 angelegt.
- Wenn der Wortadressen-Komparator 708 einen Vergleich erkennt, gibt er ein Ausgangssignal mit der Bezeichnung Adressenvergleichswort (ACW) aus, das am Ausgangsport 736 bereitgestellt wurde. Dieses Signal wird außerdem als Eingangssignal an ein ODER-Gate 738 und ein UND-Gate 740 weitergeleitet. Wenn der Bitadressen-Komparator 714 einen Vergleich erkennt, gibt er ein Signal mit der Bezeichnung "Adressenvergleich", Bit (ACB), aus, das am Ausgangsport 742 verfügbar gemacht wird und als Eingang zum ODER-Gate 744 und zum UND-Gate 740 dient. Der andere Eingang zu den ODER-Gates 738 und 744 ist das Wartesignal vom Ausgangsport 765 der Fig. 13. Das Signal am Ausgangsport 746, das Adressenvergleichssignal (AC), stellt das Auftreten eines Vergleichs sowohl im Wortadressen-Komparator 708 als auch im Bitadressen-Komparator 714 dar. Die Ausgangsports 748 und 750 sind Signale mit der Bezeichnung WORDGATE beziehungsweise BITGATE, die an die Rücksetzeingänge des Wortadressen-Ripple-Zählers 702 beziehungsweise des Bitadressen-Ripple-Zählers 704 über den Eingangsport 748 und 750 angelegt werden, wie in Fig. 14 gezeigt wird. Das Wartesignal vom Ausgangsport 656 der Fig. 11 synchronisiert das Anlegen der Rücksetzsignale an die Zähler 702 und 704.
- Das Takten des Wortadressen-Ripple-Zählers 702 wird gesteuert vom Ausgang des UND-Gate 752. Die Eingänge zum UND-Gate 752 sind der Z-Takt vom Ausgangsport 324, das Signal ACOUNT vom Ausgangsport 652 der Fig. 13 und der Ausgang eines ODER-Gates 754 mit vier Eingängen. Die Eingänge zum ODER-Gate 754 sind das Signal UARW vom Ausgangsport 344 der Fig. 4, das Signal WLS vom Ausgangsport 348 der Fig. 4, das Signal ACB vom Ausgangsport 742 der Fig. 14 und der Ausgang eines Nicht-Gliedes 756, das seinen Eingang von einem UND-Gate 758 empfängt, das als Eingang das PG-Signal vom Ausgangsport 342 der Fig. 4 und den Ausgang eines Nur-Scan-SRL 760 hat. Die Funktion von SRL 760 besteht darin, zu kontrollieren, ob das Zählwerk 70 im Ripple-Wort- oder im Ripple-Bit-Modus arbeiten soll, wenn es sich im Programmuster-Modus befindet, der durch Aktivierung des Eingangsports 342 angezeigt wird. Eine "0" bedeutet in diesem Modus Ripple-Wort, eine "1" bedeutet Ripple-Bit. Man beachte, daß der Ausgang des UND-Gates 758 auch an ein weiteres ODER-Gate 762 mit vier Eingängen angeschlossen ist, das mit dem UND-Gate 764 zusammenarbeitet, um den Bitadressen-Ripple-Zähler 704 zu takten, analog zum ODER- Gate 754 und dem UND-Gate 752, welche den Wortadressen- Ripple-Zähler 702 takten. Das UND-Gate 764 hat als Eingänge die ACOUNT- und Z-Taktsignale an den Eingangsports 324 und 652, sowie den Ausgang des ODER-Gates 762. Das ODER-Gate 762 hat, neben dem Ausgang des UND-Gates 758, als Eingänge das UARB-Signal vom Ausgangsport 346 der Fig. 4, das CH-Signal vom Ausgangsport 350 der Fig. 4, das BL-Signal vom Ausgangs port 352 der Fig. 4 und das ACW-Signal vom Ausgangsport 736 der Fig. 14. Zusammen bewirken all diese Steuersignale die Steuerung des Zählvorgangs im Zählwerk 70, um für das ausgeführte Bitmuster die Adressierung in entsprechender Weise zyklisch zu durchlaufen. Man beachte, daß die Ausgangsports 766 und 768 die Adreßdaten für Wort beziehungsweise Bit an das Feld 10 liefern (Fig. 1).
- Fig. 15 ist ein Schaltplan des in Fig. 1 gezeigten Datenmuster-Generators 80. In Fig. 1 kann man sehen, daß der Datenmuster-Generator 80 Eingangssignale aus verschiedenen Quellen empfängt. Die verschiedenen Eingänge in den in Fig. 15 gezeigten Datenmuster-Generator 80 können anhand der dem Eingangsport in Fig. 15 zugeordneten Bezugszahlen und den entsprechenden Bezugszahlen des Ausgangsports in dem entsprechenden oben beschriebenen Schaltplan bis zu ihren Ursprüngen in den anderen weiter oben beschriebenen Schaltplänen zurückverfolgt werden. So können beispielsweise die Signale an den Eingangsports 630, 626, 632 und 628, die oben links in Fig. 15 dargestellt sind, bis zu den entsprechenden Ausgangsports mit denselben Bezugszahlen in Fig. 11 zurückverfolgt werden.
- Die Ausgangsports 802 und 804 in Fig. 15 liefern die entsprechenden Daten für das Feld 10 (Fig. 1) und die Datenkomprimierungseinheit 90 (Fig. 1) je nachdem, was in der von der BIST-Maschine gesteuerten Ereignisfolge verlangt wird. Man beachte, daß der Ausgangsport 802 auf wechselnde Bitpositionen in der ein Wort breiten Eingangsdatenleitung 15 (Fig. 1) auffächert, während der Ausgangsport 804 in entsprechender Weise auf die anderen wechselnden Bitleitungen in der Datenleitung 15 auffächert. Mit dieser Anordnung können in eine Wortstelle im Feld 10 Daten eingelesen werden, die in benachbarten Bitpositionen abwechselnde Werte aufweisen. Die besondere Verbindung, welche diese Anordnung zeigt, ist in den hier gezeigten Figuren nicht dargestellt, das Prinzip wird jedoch von einem Fachmann verstanden werden. Die in Fig. 15 gezeigten unterschiedlichen logischen Schaltungen steuern die Ablauffolge der Daten an den Ausgangsports 802 und 804, um die richtigen Daten zur richtigen Zeit verfügbar zu machen, entsprechend dem vom Muster-Steuerblock 30 freigegebenen Muster (Fig. 1).
- Am Anfang der Fig. 15 sind vier Nur-Scan-SRLs 806, 808, 810 und 812 zu sehen. Diese SRLs werden in Verbindung mit dem PG- Muster-Modus verwendet und bei der Initialisierung geladen. Diese vier SRLs entsprechen den in Fig. 11 gezeigten SRLs 606, 608, 610 und 612. Die späteren SRLs in Fig. 11 werden im PG-Muster-Modus genutzt, um zu identifizieren, ob während jeder der vier für den PG-Modus charakteristischen Operationen eine Lese- oder eine Schreiboperation stattfindet, wie oben beschrieben. Die SRLs 806, 808, 810 und 812 enthalten den wahren Datenwert, welcher der Operation zugeordnet und in seinem entsprechenden Register in Fig. 11 angegeben wird.
- Die Nur-Scan-SRL 814 kontrolliert, ob wahre oder komplementäre Daten im RWPC/T-Modus erzeugt werden, wobei "0" die echten Daten und "1" die komplementären Daten darstellt.
- Die Ausgangsports 802 und 804 stellen zusammen in ihren Auffächerungen entweder Schreibdaten oder erwartete Daten dar, je nachdem, ob in der BIST-Maschine ein Lese- oder ein Schreibvorgang stattfindet.
- Fig. 16 schließlich ist ein Schaltplan des in Fig. 1 gezeigten Fail-Adressen-Registerblocks 100. Der Registerblock 100 umfaßt eine Reihe von Registern. Das erste Register 1002 besteht aus einer Reihe von SLR-Signalspeichern 1004, 1006, 1008 und so weiter, wie dargestellt. Weitere Register stehen zur Verfügung, und zwar das Register 1010, 1012 und so weiter. Die Register 1010 und 1012 haben dieselbe Anzahl von Registern wie das Register 1002, aus denselben Gründen. Sie werden wie dargestellt referenziert. Eine Vielzahl von Exklusiv-ODER-Gates 1026, 1028, 1030 und so weiter und 1032, 1034, 1036 und so weiter, sind vorhanden, wie dargestellt. Ihre Funktion wird im folgenden beschrieben.
- Der Eingang in das Akkumulatorregister 1002 ist die Wortadressen-Signalleitung 766 aus Fig. 14. Das Register 1002 enthält immer die aktuelle Adresseninformation. Das Laden der nachfolgenden Register 1010, 1012 und so weiter, wird von Schaltungen gesteuert, die im folgenden beschrieben werden.
- Nach der Initialisierung wird SRL 1031 mit einer "0" geladen. Der Komplementär-Ausgang ist daher eine "1". Dieser Komplementär-Ausgang wird auf der Leitung 1040 einem Eingang eines UND-Gates 1042 bereitgestellt. Der andere Eingang des UND- Gates 1042 ist der Ausgang eines weiteren UND-Gates 1044, das als Eingänge das LR-Signal vom Ausgang 662 der Fig. 13 und das Z-CLK-Signal vom Ausgang 324 der Fig. 4 hat. Der Ausgangsport 1046 wird an die Takteingänge aller SRLs des Registers 1010 angelegt.
- Im Betrieb wird während eines Lesezyklusses eine Adresse an die Eingänge des Registers 1002 angelegt. Im nächsten Zyklus werden die Adreßdaten im Register 1002 an die Eingänge aller nachfolgenden Register angelegt, einschließlich Regi ster 1010, die Daten werden im Signalspeicher zwischengespeichert; wenn es zu einem Fehlergebnis kommt, geht der Pass/Fail-Eingangsport in den High-Zustand über und bewirkt, daß SRL 1038 eine "1" zwischenspeichert, was zu einer Sperrung des UND-Gates 1042 führt. Der wahre Ausgang von SRL 1038 wird durch das ODER-Gate 1048 an den Dateneingang von SRL 1038 angelegt, was zu einer permanenten Verriegelung dieses Zustandes führt. Das Register 1010 wird also für die Signalspeicherung aller weiteren Daten gesperrt, und hält die Adresse an der Stelle fest, an der der Fehler auftrat. Identische Schaltungsstrukturen wie die mit den UND-Gates 1042 und 1044, dem ODER-Gate 1048 und dem SRL 1038 werden für nachfolgende Register bereitgestellt, beispielsweise das Register 1012 und so weiter, wie dargestellt. Der Eingang zur nächsten dieser identischen Schaltungen ist der Ausgang eines UND-Gates 1050, das als Eingänge das Pass/Fail-Signal, den Ausgang von SRL 1038 und die Ausgänge einer Reihe von ODER- Gates 1052, 1054 und so weiter hat. Diese ODER-Gates 1052, 1054 und so weiter arbeiten in Verbindung mit den Exklusiv- ODER-Gates 1026, 1028, 1030 und so weiter, die weiter oben erwähnt wurden, um zu verhindern, daß eine bereits im Register 1010 festgehaltene Adresse ein zweites Mal erfaßt wird. Eine an den Ausgängen des Registers 1002 erscheinende Adresse wird also mit den Ausgängen des Registers 1010 exklusiv geODERt. Wenn sich in diesen beiden Registern identische Adressen befinden, dann ist der Ausgang der ODER-Gates 1052, 1054 und so weiter eine "0". Hierdurch wird das UND-Gate 1050 gesperrt und die Erfassung dieser Adresse in nachfolgenden Registern wirksam blockiert. Wenn sich umgekehrt eine nicht identische Adresse im Register 1010 befindet, wird das UND- Gate 1050 freigegeben, wodurch nachfolgende Register weitere Fehladressen erfassen können.
- Auf diese Weise können die Adressen vieler Fehladressen in dem Feld 10 (Fig. 1) erfaßt und für die weitere Analyse oder den weiteren Betrieb genutzt werden.
- Zwar wurde die Erfindung unter Bezugnahme auf bevorzugte Ausführungsbeispiele gezeigt und beschrieben, jedoch wird dem Fachmann klar sein, daß verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Erfindungsumfang abzuweichen. Zum Beispiel ist die Anwendung der Erfindung nicht beschränkt auf Speicher-Felder, sondern kann auch nutzbringend in der Funktionslogik eingesetzt werden.
Claims (8)
1. Verfahren für eine Chip-integrierte Selbstprüfung einer
VLSI-Speicherschaltung (10), gekennzeichnet durch die
verschiedenen miteinander kombinierten Prüfschritte:
a. Ripple-Wort, bei dem die Wortadressen
niedrigstwertig gesetzt werden und der gesamte Wortraum vor der
Implementierung der Bitadresse umgeschaltet wird;
b. Ripple-Bit, bei dem die Bitadressen niedrigstwertig
gesetzt werden und der gesamte Bitadressenraum vor
der Inkrementierung der Wortadresse umgeschaltet
wird;
c. Wortleitungs-Strip-Prüfung, bei der
entgegengesetzte Zellendaten auf jeder benachbarten
Zellenleitung gesetzt werden;
d. physikalisches Vier-Nachbar-Schachbrett zur
Aufdeckung von Ladungsteilungen zwischen einer
Zielzelle und ihren physisch benachbarten Zellen;
e. eine Blanket-Prüfung als Wiederholung des
Schachbrettmusters, zur Sicherstellung einer korrekten
Funktion eines Daten-Gates;
f. eine programmierbare Musterprüfung, die im Hinblick
auf die Lese/Schreibdaten und die Adreßfolgen bei
der Scan-Initialisierung der Logik programmiert
werden kann;
durch Ausgabe von Lese/Schreibbefehlen an die
VLSI-Speicherschaltung (10) durch Steuerung der
Eingangswellenformen zur VLSI-Speicherschaltung (10) auf Pro-Zyklus-
Basis, unter Nutzung einer Phasensteuerung (60) zur
Bestimmung der Zustandsübergänge in Abhängigkeit von der
durchgeführten Prüfung, wobei die genannten Muster a)
bis e) festverdrahtet sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Bit-Ripple- und Bitwortprüfungen in einem
Lese/Schreib/Lese-Modus durchgeführt werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß
die Wortleitungs-Strip-Prüfung, das physikalische
Nachbar-Schachbrett und die Blanket-Prüfung in Form von
Write all/Read all durchgeführt werden.
4. Eine Chip-integrierte Selbstprüfungsanordnung für eine
VLSI-Speicherschaltung (10) zur Durchführung des
Verfahrens nach einem jeden der Ansprüche 1 bis 3, folgendes
umfassend:
einen Datenmuster-Generator (80) zur Erzeugung vorher
festgelegter deterministischer Prüfdaten zur Anwendung
auf die Dateneingänge der genannten
VLSI-Speicherschaltung (10);
Mittel (80, 120) zum Erzeugen von Steuersignalen zum
Betrieb der genannten VLSI-Schaltung (10), um ihren
Betrieb mit den genannten Musterdaten zu ermöglichen;
Mittel (80) zum Erzeugen von erwarteten Ergebnisdaten
aus der Anwendung der genannten Prüfdaten auf die VLSI-
Schaltung (10);
Mittel (90) zum Vergleichen der genannten erwarteten
Ergebnisdaten mit tatsächlichen Ergebnisdaten und zum
Erzeugen eines Pass/Fail-Signals in Antwort darauf; und
einen Adressenzähler (70) zum Erzeugen von
Adresseneingängen der genannten Speicherschaltung (10) in
Koordination mit der Erzeugung der genannten Datenmuster;
dadurch gekennzeichnet, daß die vorher bestimmten
deterministischen Prüfdaten alle folgenden Prüfungen
ausführen können:
a. Ripple-Wort, wobei die Wortadressen niedrigstwertig
gesetzt werden und der gesamte Wortaum vor der
Implementierung der Bitadresse umgeschaltet wird;
b. Ripple-Bit, wobei die Bitadressen niedrigstwertig
gesetzt werden und der gesamte Bitadressenraum vor
Inkrementierung der Wortadresse umgeschaltet wird;
c. Wortleitungs-Strip-Prüfung, bei der
entgegengesetzte Zellendaten auf jeder benachbarten
Zellenleitung gesetzt werden;
d. physikalisches Vier-Nachbarn-Schachbrett zur
Aufdeckung von Ladungsteilungen zwischen einer
Zielzelle und ihren physikalisch angrenzenden
Nachbarzellen;
e. eine Blanket-Prüfung als Wiederholung des
Schachbrettmusters, um das richtige Funktionieren eines
Daten-Gates zu gewährleisten;
f. eine programmierbare Musterprüfung, die während der
Scan-Initialisierung der Logik im Hinblick auf
Lese/Schreibdaten und die Adressenfolge
programmierbar ist,
und dadurch, daß eine Phasensteuerung (60)
bereitgestellt wird, die an die VLSI-Speicherschaltung (10)
Lese/Schreibbefehle ausgibt, durch Steuerung der
Eingangswellenformen zur VLSI-Speicherschaltung (10) auf
einer Pro-Zyklus-Basis, die so gesteuert wird, daß sie
die Zustandsübergänge in Abhängigkeit von der
durchgeführten Prüfung bestimmt, wobei die genannten Muster a)
bis e) festverdrahtet sind.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß
die Bit-Ripple- und Bitwortprüfungen in einem Modus
Lesen/Schreiben/Lesen ausgeführt werden.
6. Anordnung nach Anspruch 4 oder 5, dadurch
gekennzeichnet, daß
die Wortleitungs-Strip-Prüfung, das physikalische
Nachbarn-Schachbrett und die Blanket-Prüfung in Form von
Write all/Read all durchgeführt werden.
7. Anordnung nach einem jeden der Ansprüche 4 bis 6,
dadurch gekennzeichnet, daß
der Mustergenerator (80) auf Anfrage durch ein
Eingangssignal Komplementär-Daten ausgibt.
8. Anordnung nach einem jeden der Ansprüche 4 bis 7,
gekennzeichnet durch
Mittel (100) zum Speichern der Stelle, an der der Fehler
auftrat, in der genannten VLSI-Schaltung.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/576,646 US5173906A (en) | 1990-08-31 | 1990-08-31 | Built-in self test for integrated circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69130693D1 DE69130693D1 (de) | 1999-02-11 |
DE69130693T2 true DE69130693T2 (de) | 1999-07-22 |
Family
ID=24305342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69130693T Expired - Lifetime DE69130693T2 (de) | 1990-08-31 | 1991-05-07 | Eingebaute Selbstprüfung für integrierte Schaltungen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5173906A (de) |
EP (1) | EP0472818B1 (de) |
JP (1) | JPH06342040A (de) |
DE (1) | DE69130693T2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10158406A1 (de) * | 2001-11-29 | 2003-06-12 | Knorr Bremse Systeme | Verfahren und Prüfeinrichtung zum Entdecken von Adressierungsfehlern in Steuergeräten |
US9159456B2 (en) | 2013-11-05 | 2015-10-13 | Kabushiki Kaisha Toshiba | Semiconductor device |
Families Citing this family (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377148A (en) * | 1990-11-29 | 1994-12-27 | Case Western Reserve University | Apparatus and method to test random access memories for a plurality of possible types of faults |
US5528600A (en) | 1991-01-28 | 1996-06-18 | Actel Corporation | Testability circuits for logic arrays |
WO1993003434A1 (de) * | 1991-08-08 | 1993-02-18 | Siemens Aktiengesellschaft | Verfahren zur prüfung von integrierten schaltkreisen mit mindestens einer logikschaltung und prüfbarer integrierter schaltkreis |
US6026505A (en) * | 1991-10-16 | 2000-02-15 | International Business Machines Corporation | Method and apparatus for real time two dimensional redundancy allocation |
EP0549949B1 (de) * | 1991-12-16 | 1998-03-11 | Nippon Telegraph And Telephone Corporation | Schaltung mit eingebautem Selbsttest |
US5353254A (en) * | 1992-05-21 | 1994-10-04 | Texas Instruments Incorporated | Semiconductor memory device having burn-in test circuit |
JP3307473B2 (ja) * | 1992-09-09 | 2002-07-24 | ソニー エレクトロニクス インコーポレイテッド | 半導体メモリの試験回路 |
US5383195A (en) * | 1992-10-19 | 1995-01-17 | Motorola, Inc. | BIST circuit with halt signal |
US5442640A (en) * | 1993-01-19 | 1995-08-15 | International Business Machines Corporation | Test and diagnosis of associated output logic for products having embedded arrays |
US5471431A (en) * | 1993-04-22 | 1995-11-28 | Sgs-Thomson Microelectronics, Inc. | Structure to recover a portion of a partially functional embedded memory |
EP0632380A1 (de) * | 1993-06-30 | 1995-01-04 | International Business Machines Corporation | Schaltungsanordnung, die das Schmelzen der Sicherungen eines Speicherchips in zwei Durchgängen ermöglicht mit Selbsttest und Redundanz |
EP0632468A1 (de) * | 1993-06-30 | 1995-01-04 | International Business Machines Corporation | Schnelle Datenkompressionschaltung für Halbleiterspeicherchip mit eingebautem Selbsttest |
US5485467A (en) * | 1993-09-24 | 1996-01-16 | Vlsi Technology, Inc. | Versatile reconfigurable matrix based built-in self-test processor for minimizing fault grading |
US5619512A (en) * | 1993-11-08 | 1997-04-08 | Nippondenso Co., Ltd. | Integrated circuit having self-testing function |
US5544175A (en) * | 1994-03-15 | 1996-08-06 | Hewlett-Packard Company | Method and apparatus for the capturing and characterization of high-speed digital information |
US5557619A (en) * | 1994-04-04 | 1996-09-17 | International Business Machines Corporation | Integrated circuits with a processor-based array built-in self test circuit |
US5471482A (en) * | 1994-04-05 | 1995-11-28 | Unisys Corporation | VLSI embedded RAM test |
US5475815A (en) * | 1994-04-11 | 1995-12-12 | Unisys Corporation | Built-in-self-test scheme for testing multiple memory elements |
US5815512A (en) * | 1994-05-26 | 1998-09-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory testing device |
US5537052A (en) * | 1994-06-17 | 1996-07-16 | Emc Corporation | System and method for executing on board diagnostics and maintaining an event history on a circuit board |
US5638382A (en) * | 1994-06-29 | 1997-06-10 | Intel Corporation | Built-in self test function for a processor including intermediate test results |
US5704035A (en) * | 1994-07-28 | 1997-12-30 | Intel Corporation | Computer method/apparatus for performing a basic input/output system (BIOS) power on test (POST) that uses three data patterns and variable granularity |
US5506959A (en) * | 1994-08-04 | 1996-04-09 | Telecommunication Research Laboratories | Method and apparatus for testing electronic memories for the presence of multiple cell coupling faults |
US5517515A (en) * | 1994-08-17 | 1996-05-14 | International Business Machines Corporation | Multichip module with integrated test circuitry disposed within interposer substrate |
US6070252A (en) * | 1994-09-30 | 2000-05-30 | Intel Corporation | Method and apparatus for interactive built-in-self-testing with user-programmable test patterns |
US6353903B1 (en) | 1994-10-28 | 2002-03-05 | International Business Machines Corporation | Method and apparatus for testing differential signals |
US5666371A (en) * | 1995-02-24 | 1997-09-09 | Unisys Corporation | Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements |
US5784382A (en) * | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for dynamically testing a memory within a computer system |
US5511164A (en) | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5535164A (en) * | 1995-03-03 | 1996-07-09 | International Business Machines Corporation | BIST tester for multiple memories |
US5761489A (en) * | 1995-04-17 | 1998-06-02 | Motorola Inc. | Method and apparatus for scan testing with extended test vector storage in a multi-purpose memory system |
US5798653A (en) * | 1995-04-20 | 1998-08-25 | Sun Microsystems, Inc. | Burn-in system for reliable integrated circuit manufacturing |
US5553082A (en) * | 1995-05-01 | 1996-09-03 | International Business Machines Corporation | Built-in self-test for logic circuitry at memory array output |
EP0744755A1 (de) * | 1995-05-25 | 1996-11-27 | International Business Machines Corporation | Prüfungsverfahren und Vorrichtung für Speicherschaltungen auf Halbleitersubstrat |
US5659551A (en) * | 1995-05-31 | 1997-08-19 | International Business Machines Corporation | Programmable computer system element with built-in self test method and apparatus for repair during power-on |
US5633877A (en) * | 1995-05-31 | 1997-05-27 | International Business Machines Corporation | Programmable built-in self test method and controller for arrays |
US5661732A (en) * | 1995-05-31 | 1997-08-26 | International Business Machines Corporation | Programmable ABIST microprocessor for testing arrays with two logical views |
US5790564A (en) * | 1995-06-07 | 1998-08-04 | International Business Machines Corporation | Memory array built-in self-test circuit having a programmable pattern generator for allowing unique read/write operations to adjacent memory cells, and method therefor |
US5918003A (en) * | 1995-06-07 | 1999-06-29 | International Business Machines Corporation | Enhanced built-in self-test circuit and method |
KR100234504B1 (ko) * | 1995-09-18 | 1999-12-15 | 포만 제프리 엘 | 선택된 고장에 대한 고장정보를 포착하는 집적회로의 테스트 방법 및 내장된 자기 테스트 장치 |
US5640402A (en) * | 1995-12-08 | 1997-06-17 | International Business Machines Corporation | Fast flush load of LSSD SRL chains |
US5721863A (en) * | 1996-01-29 | 1998-02-24 | International Business Machines Corporation | Method and structure for accessing semi-associative cache memory using multiple memories to store different components of the address |
US5790562A (en) * | 1996-05-06 | 1998-08-04 | General Motors Corporation | Circuit with built-in test and method thereof |
US5825785A (en) * | 1996-05-24 | 1998-10-20 | Internaitonal Business Machines Corporation | Serial input shift register built-in self test circuit for embedded circuits |
JP3545535B2 (ja) * | 1996-05-29 | 2004-07-21 | 株式会社アドバンテスト | 半導体メモリ試験方法および装置 |
US5737342A (en) * | 1996-05-31 | 1998-04-07 | Quantum Corporation | Method for in-chip testing of digital circuits of a synchronously sampled data detection channel |
US5737340A (en) * | 1996-07-01 | 1998-04-07 | Mentor Graphics Corporation | Multi-phase test point insertion for built-in self test of integrated circuits |
US5796745A (en) * | 1996-07-19 | 1998-08-18 | International Business Machines Corporation | Memory array built-in self test circuit for testing multi-port memory arrays |
US5841712A (en) * | 1996-09-30 | 1998-11-24 | Advanced Micro Devices, Inc. | Dual comparator circuit and method for selecting between normal and redundant decode logic in a semiconductor memory device |
US5745500A (en) * | 1996-10-22 | 1998-04-28 | The United States Of America As Represented By The Secretary Of The Army | Built-in self testing for the identification of faulty integrated circuit chips in a multichip module |
JP3871384B2 (ja) * | 1996-11-01 | 2007-01-24 | 株式会社アドバンテスト | 半導体メモリ試験装置用不良解析メモリ |
GB9623215D0 (en) * | 1996-11-07 | 1997-01-08 | Process Insight Limited | Solid state memory test system with defect compression |
US6360340B1 (en) | 1996-11-19 | 2002-03-19 | Teradyne, Inc. | Memory tester with data compression |
US5742614A (en) * | 1996-11-25 | 1998-04-21 | Texas Instruments Incorporated | Apparatus and method for a variable step address generator |
US5963566A (en) * | 1996-12-18 | 1999-10-05 | Lsi Logic Corporation | Application specific integrated circuit chip and method of testing same |
US5862151A (en) * | 1997-01-23 | 1999-01-19 | Unisys Corporation | Array self-test fault tolerant programmable threshold algorithm |
JP3384272B2 (ja) * | 1997-02-27 | 2003-03-10 | 安藤電気株式会社 | フェイルメモリ |
WO1998043101A1 (fr) * | 1997-03-21 | 1998-10-01 | Matsushita Electric Industrial Co., Ltd. | Bloc fonctionnel pour circuit integre, circuit integre a semiconducteur, procede d'inspection de circuits integres a semiconducteur, et procede de conception associe |
US5982189A (en) * | 1997-05-14 | 1999-11-09 | International Business Machines Corporation | Built-in dynamic stress for integrated circuits |
US5883844A (en) * | 1997-05-23 | 1999-03-16 | Stmicroelectronics, Inc. | Method of stress testing integrated circuit having memory and integrated circuit having stress tester for memory thereof |
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
CA2212089C (en) | 1997-07-31 | 2006-10-24 | Mosaid Technologies Incorporated | Bist memory test system |
US5982681A (en) * | 1997-10-10 | 1999-11-09 | Lsi Logic Corporation | Reconfigurable built-in self test circuit |
JPH11154103A (ja) * | 1997-11-20 | 1999-06-08 | Mitsubishi Electric Corp | 半導体集積回路装置 |
US6405335B1 (en) | 1998-02-25 | 2002-06-11 | Texas Instruments Incorporated | Position independent testing of circuits |
US6134684A (en) * | 1998-02-25 | 2000-10-17 | International Business Machines Corporation | Method and system for error detection in test units utilizing pseudo-random data |
JP3553786B2 (ja) | 1998-03-13 | 2004-08-11 | 松下電器産業株式会社 | 半導体集積回路装置およびその製造方法 |
US6151692A (en) * | 1998-04-08 | 2000-11-21 | Agilent Technologies, Inc. | Integrated circuit having memory built-in self test (BIST) for different memory sizes and method of operation |
DE19832307C2 (de) | 1998-07-17 | 2000-09-21 | Siemens Ag | Integrierte Schaltung mit einer Selbsttesteinrichtung |
DE19833208C1 (de) * | 1998-07-23 | 1999-10-28 | Siemens Ag | Integrierte Schaltung mit einer Selbsttesteinrichtung zur Durchführung eines Selbsttests der integrierten Schaltung |
DE19835258B4 (de) | 1998-08-04 | 2006-07-27 | Infineon Technologies Ag | Integrierte dynamische Speicherschaltung mit einer Selbsttesteinrichtung |
US6233184B1 (en) | 1998-11-13 | 2001-05-15 | International Business Machines Corporation | Structures for wafer level test and burn-in |
KR100308621B1 (ko) | 1998-11-19 | 2001-12-17 | 윤종용 | 반도체 메모리 장치를 위한 프로그램 가능한 내장 자기 테스트 시스템 |
DE19911939C2 (de) | 1999-03-17 | 2001-03-22 | Siemens Ag | Verfahren für den eingebauten Selbsttest einer elektronischen Schaltung |
DE19917586C2 (de) * | 1999-04-19 | 2002-01-17 | Infineon Technologies Ag | Anordnung zur Durchführung von Burn-In-Behandlungen von Halbleitervorrichtungen auf Waferebene |
US6229465B1 (en) | 1999-04-30 | 2001-05-08 | International Business Machines Corporation | Built in self test method and structure for analog to digital converter |
JP2000352575A (ja) * | 1999-06-10 | 2000-12-19 | Mitsubishi Electric Corp | 組み込み型自己テスト回路およびテスト方法 |
US6735729B1 (en) * | 1999-08-18 | 2004-05-11 | Micron Technology, Inc | Compression circuit for testing a memory device |
US6484289B1 (en) * | 1999-09-23 | 2002-11-19 | Texas Instruments Incorporated | Parallel data test for a semiconductor memory |
US6694466B1 (en) * | 1999-10-27 | 2004-02-17 | Agere Systems Inc. | Method and system for improving the test quality for scan-based BIST using a general test application scheme |
US6553526B1 (en) | 1999-11-08 | 2003-04-22 | International Business Machines Corporation | Programmable array built-in self test method and system for arrays with imbedded logic |
US6553527B1 (en) | 1999-11-08 | 2003-04-22 | International Business Machines Corporation | Programmable array built-in self test method and controller with programmable expect generator |
US6327687B1 (en) | 1999-11-23 | 2001-12-04 | Janusz Rajski | Test pattern compression for an integrated circuit test environment |
US8533547B2 (en) | 1999-11-23 | 2013-09-10 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US6557129B1 (en) | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
US7493540B1 (en) | 1999-11-23 | 2009-02-17 | Jansuz Rajski | Continuous application and decompression of test patterns to a circuit-under-test |
US9134370B2 (en) | 1999-11-23 | 2015-09-15 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US6874109B1 (en) * | 1999-11-23 | 2005-03-29 | Janusz Rajski | Phase shifter with reduced linear dependency |
US6684358B1 (en) | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US9664739B2 (en) | 1999-11-23 | 2017-05-30 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
WO2001039254A2 (en) | 1999-11-23 | 2001-05-31 | Mentor Graphics Corporation | Continuous application and decompression of test patterns to a circuit-under-test |
US6353842B1 (en) | 1999-11-23 | 2002-03-05 | Janusz Rajski | Method for synthesizing linear finite state machines |
US6574763B1 (en) | 1999-12-28 | 2003-06-03 | International Business Machines Corporation | Method and apparatus for semiconductor integrated circuit testing and burn-in |
US6728915B2 (en) | 2000-01-10 | 2004-04-27 | Texas Instruments Incorporated | IC with shared scan cells selectively connected in scan path |
US6255836B1 (en) * | 2000-01-12 | 2001-07-03 | Lsi Logic Corporation | Built-in self-test unit having a reconfigurable data retention test |
US6769080B2 (en) | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
US6510398B1 (en) * | 2000-06-22 | 2003-01-21 | Intel Corporation | Constrained signature-based test |
US6643807B1 (en) * | 2000-08-01 | 2003-11-04 | International Business Machines Corporation | Array-built-in-self-test (ABIST) for efficient, fast, bitmapping of large embedded arrays in manufacturing test |
US6295239B1 (en) * | 2000-08-28 | 2001-09-25 | Infineon Technologies A.G. | Control apparatus for testing a random access memory |
US6708305B1 (en) | 2000-10-18 | 2004-03-16 | International Business Machines Corporation | Deterministic random LBIST |
US6728911B1 (en) | 2000-11-16 | 2004-04-27 | Utstarcom, Inc. | System and method for testing memory systems |
JP2002174662A (ja) | 2000-12-06 | 2002-06-21 | Hitachi Ltd | 半導体集積回路装置とそのテスト方法 |
US6704894B1 (en) | 2000-12-21 | 2004-03-09 | Lockheed Martin Corporation | Fault insertion using on-card reprogrammable devices |
US20040078177A1 (en) * | 2001-02-23 | 2004-04-22 | Magnus Liljeblad | Test circuit for verifying a manufacturing process |
CN100442395C (zh) * | 2001-04-25 | 2008-12-10 | Nxp股份有限公司 | 具有自测试器件的集成电路及相关测试方法 |
CA2345605A1 (en) * | 2001-04-30 | 2002-10-30 | Robert A. Abbott | Method of testing embedded memory array and embedded memory controller for use therewith |
US20020174394A1 (en) * | 2001-05-16 | 2002-11-21 | Ledford James S. | External control of algorithm execution in a built-in self-test circuit and method therefor |
US6388930B1 (en) | 2001-09-05 | 2002-05-14 | International Business Machines Corporation | Method and apparatus for ram built-in self test (BIST) address generation using bit-wise masking of counters |
US6452848B1 (en) | 2001-09-12 | 2002-09-17 | International Business Machines Corporation | Programmable built-in self test (BIST) data generator for semiconductor memory devices |
US7096397B2 (en) * | 2001-09-17 | 2006-08-22 | Intel Corporation | Dft technique for avoiding contention/conflict in logic built-in self-test |
ATE384331T1 (de) * | 2001-11-12 | 2008-02-15 | Siemens Ag | Speichertest |
US7269766B2 (en) * | 2001-12-26 | 2007-09-11 | Arm Limited | Method and apparatus for memory self testing |
EP1343174B1 (de) * | 2002-03-04 | 2011-05-04 | Synopsys, Inc. | Programmierbarer Speichertest |
EP1343173A1 (de) * | 2002-03-04 | 2003-09-10 | iRoC Technologies | Programmierbarer Speichertest |
US6963868B2 (en) * | 2002-06-03 | 2005-11-08 | International Business Machines Corporation | Multi-bit Patricia trees |
US7096393B2 (en) * | 2002-12-20 | 2006-08-22 | Sun Microsystems, Inc. | Built-in self-test (BIST) of memory interconnect |
US7020820B2 (en) * | 2002-12-20 | 2006-03-28 | Sun Microsystems, Inc. | Instruction-based built-in self-test (BIST) of external memory |
US7313739B2 (en) * | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
US7062694B2 (en) * | 2003-02-07 | 2006-06-13 | Sun Microsystems, Inc. | Concurrently programmable dynamic memory built-in self-test (BIST) |
WO2004072660A2 (en) | 2003-02-13 | 2004-08-26 | Mentor Graphics Corporation | Compressing test responses using a compactor |
US7509550B2 (en) * | 2003-02-13 | 2009-03-24 | Janusz Rajski | Fault diagnosis of compressed test responses |
US7437640B2 (en) * | 2003-02-13 | 2008-10-14 | Janusz Rajski | Fault diagnosis of compressed test responses having one or more unknown states |
US7302624B2 (en) * | 2003-02-13 | 2007-11-27 | Janusz Rajski | Adaptive fault diagnosis of compressed test responses |
JP2004280926A (ja) * | 2003-03-14 | 2004-10-07 | Renesas Technology Corp | 半導体記憶装置 |
US6959256B2 (en) * | 2003-05-16 | 2005-10-25 | Analog Devices, Inc. | Universally accessible fully programmable memory built-in self-test (MBIST) system and method |
US7127640B2 (en) * | 2003-06-30 | 2006-10-24 | Sun Microsystems, Inc. | On-chip testing of embedded memories using Address Space Identifier bus in SPARC architectures |
US20050066226A1 (en) * | 2003-09-23 | 2005-03-24 | Adams R. Dean | Redundant memory self-test |
US7278077B1 (en) * | 2003-10-20 | 2007-10-02 | Sun Microsystems, Inc. | IBIST test for synchronous lines at multiple frequencies |
KR100558492B1 (ko) * | 2003-11-14 | 2006-03-07 | 삼성전자주식회사 | 반도체 메모리 장치 및 이 장치의 테스트 패턴 데이터발생방법 |
US7251757B2 (en) * | 2003-12-02 | 2007-07-31 | International Business Machines Corporation | Memory testing |
US7248066B2 (en) * | 2003-12-29 | 2007-07-24 | Stmicroelectronics Pvt. Ltd. | On-chip analysis and computation of transition behavior of embedded nets in integrated circuits |
US7533309B2 (en) | 2004-02-26 | 2009-05-12 | Nilanjan Mukherjee | Testing memories using algorithm selection |
US7203873B1 (en) | 2004-06-04 | 2007-04-10 | Magma Design Automation, Inc. | Asynchronous control of memory self test |
US7360134B1 (en) * | 2004-09-21 | 2008-04-15 | Sun Microsystems, Inc. | Centralized BIST engine for testing on-chip memory structures |
US8621304B2 (en) * | 2004-10-07 | 2013-12-31 | Hewlett-Packard Development Company, L.P. | Built-in self-test system and method for an integrated circuit |
US7376915B1 (en) * | 2004-10-07 | 2008-05-20 | Cirrus Logic, Inc. | Methods for forming area-efficient scan chains in integrated circuits, and integrated circuits embodying the same |
US7428680B2 (en) | 2004-11-18 | 2008-09-23 | Nilanjan Mukherjee | Programmable memory built-in-self-test (MBIST) method and apparatus |
US7216278B2 (en) * | 2004-11-30 | 2007-05-08 | Lsi Logic Corporation | Method and BIST architecture for fast memory testing in platform-based integrated circuit |
US7318182B2 (en) * | 2004-12-02 | 2008-01-08 | International Business Machines Corporation | Memory array manufacturing defect detection system and method |
DE602005009133D1 (de) | 2005-03-11 | 2008-10-02 | Verigy Pte Ltd Singapore | Fehlererkennung in komprimierten Daten |
KR100711739B1 (ko) * | 2005-07-21 | 2007-04-25 | 삼성전자주식회사 | 테스트 시스템 및 그것의 테스트 방법 |
JP4867239B2 (ja) | 2005-09-05 | 2012-02-01 | カシオ計算機株式会社 | 情報処理装置、自己診断方法及びプログラム |
JP2007183130A (ja) * | 2006-01-05 | 2007-07-19 | Nec Electronics Corp | バーンインテスト回路、方法、装置、及びパターン生成プログラム |
CN101405609B (zh) | 2006-02-17 | 2012-11-14 | 明导公司 | 多级测试响应压缩器 |
EP2069386A4 (de) | 2006-07-21 | 2009-10-28 | Life Technologies Corp | Proteinmolekülgewichtsstandards mit hoher trennschärfe |
US8001434B1 (en) | 2008-04-14 | 2011-08-16 | Netlist, Inc. | Memory board with self-testing capability |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8086925B2 (en) | 2008-05-20 | 2011-12-27 | International Business Machines Corporation | Method and system for LBIST testing of an electronic circuit |
US7895490B2 (en) | 2008-05-20 | 2011-02-22 | International Business Machines Corporation | Method and system for testing an electronic circuit to identify multiple defects |
TWI399565B (zh) * | 2008-12-31 | 2013-06-21 | Univ Nat Taiwan | 感壓式定位追蹤系統 |
US8405419B1 (en) | 2011-09-15 | 2013-03-26 | International Business Machines Corporation | Digital test system and method for value based data |
US9310426B2 (en) | 2012-09-25 | 2016-04-12 | Globalfoundries Inc. | On-going reliability monitoring of integrated circuit chips in the field |
US9460814B2 (en) * | 2014-05-02 | 2016-10-04 | Globalfoundries Inc. | Memory tester design for soft error rate (SER) failure analysis |
TWI620190B (zh) * | 2016-12-27 | 2018-04-01 | 財團法人工業技術研究院 | 記憶體控制電路與記憶體測試方法 |
JP6841698B2 (ja) | 2017-03-21 | 2021-03-10 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US10102892B1 (en) * | 2017-06-01 | 2018-10-16 | Intel Corporation | RAM-based shift register with embedded addressing |
TWI707351B (zh) * | 2019-07-25 | 2020-10-11 | 瑞昱半導體股份有限公司 | 記憶元件測試電路及記憶元件測試方法 |
CN112309482B (zh) * | 2019-07-31 | 2024-10-29 | 瑞昱半导体股份有限公司 | 存储元件测试电路及存储元件测试方法 |
KR20210024880A (ko) * | 2019-08-26 | 2021-03-08 | 에스케이하이닉스 주식회사 | 테스트 회로, 이를 포함하는 반도체 장치 및 테스트 시스템 |
US11069422B1 (en) | 2020-07-07 | 2021-07-20 | International Business Machines Corporation | Testing multi-port array in integrated circuits |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57207347A (en) * | 1981-06-16 | 1982-12-20 | Mitsubishi Electric Corp | Semiconductor device |
US4635261A (en) * | 1985-06-26 | 1987-01-06 | Motorola, Inc. | On chip test system for configurable gate arrays |
US4931722A (en) * | 1985-11-07 | 1990-06-05 | Control Data Corporation | Flexible imbedded test system for VLSI circuits |
GB8613154D0 (en) * | 1986-05-30 | 1986-07-02 | Int Computers Ltd | Testing memory |
JPS6366799A (ja) * | 1986-09-08 | 1988-03-25 | Toshiba Corp | 半導体記憶装置 |
KR910001534B1 (ko) * | 1986-09-08 | 1991-03-15 | 가부시키가이샤 도시바 | 반도체기억장치 |
DE3728521A1 (de) * | 1987-08-26 | 1989-03-09 | Siemens Ag | Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins |
JP2673298B2 (ja) * | 1987-12-17 | 1997-11-05 | 三菱電機株式会社 | セルフテスト機能付半導体集積回路 |
DE3886038T2 (de) * | 1988-07-13 | 1994-05-19 | Philips Nv | Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält. |
US5006787A (en) * | 1989-06-12 | 1991-04-09 | Unisys Corporation | Self-testing circuitry for VLSI units |
JPH0389182A (ja) * | 1989-08-31 | 1991-04-15 | Sharp Corp | 集積回路装置 |
-
1990
- 1990-08-31 US US07/576,646 patent/US5173906A/en not_active Expired - Lifetime
-
1991
- 1991-05-07 EP EP91107420A patent/EP0472818B1/de not_active Expired - Lifetime
- 1991-05-07 DE DE69130693T patent/DE69130693T2/de not_active Expired - Lifetime
- 1991-07-05 JP JP3190809A patent/JPH06342040A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10158406A1 (de) * | 2001-11-29 | 2003-06-12 | Knorr Bremse Systeme | Verfahren und Prüfeinrichtung zum Entdecken von Adressierungsfehlern in Steuergeräten |
US9159456B2 (en) | 2013-11-05 | 2015-10-13 | Kabushiki Kaisha Toshiba | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
JPH06342040A (ja) | 1994-12-13 |
EP0472818A2 (de) | 1992-03-04 |
DE69130693D1 (de) | 1999-02-11 |
US5173906A (en) | 1992-12-22 |
EP0472818A3 (en) | 1992-04-22 |
EP0472818B1 (de) | 1998-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130693T2 (de) | Eingebaute Selbstprüfung für integrierte Schaltungen | |
DE60220511T2 (de) | Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher | |
DE102006009224B4 (de) | Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest | |
DE60211659T2 (de) | Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd) | |
DE69729771T2 (de) | Integrierte Schaltung mit einer eingebauten Selbsttestanordnung | |
DE2728318C2 (de) | Verfahren zur Prüfung der Signalverzögerung einer einseitig verzögerungsabhängigen, stufenempfindlichen Einheit | |
DE69223461T2 (de) | Konfigurable Selbstprüfung für integrierte RAMs | |
DE3788487T2 (de) | Integrierte Schaltung mit Speicherselbstprüfung. | |
DE68921269T2 (de) | Integrierte Prüfschaltung. | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE102004023407B4 (de) | Testvorrichtung und Verfahren zum Testen eines eingebetteten Speicherkerns sowie zugehöriger Halbleiterchip | |
DE60030480T2 (de) | Gerät und verfahren zum selektiven verdichten von testergebnissen | |
DE69209404T2 (de) | Selbsttest integrierter Schaltungen mit hybriden Mustern | |
DE69329720T2 (de) | Transparentes testen von integrierten schaltkreisen | |
DE68923086T2 (de) | Verfahren zum Testen von hierarchisch organisierten integrierten Schaltungen und integrierte Schaltungen, geeignet für einen solchen Test. | |
DE69018563T2 (de) | Speicherselbsttest. | |
DE10150321A1 (de) | Verfahren und Vorrichtung zum Testen von integrierten Schaltungen | |
DE102004009693A1 (de) | Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests | |
DE102016116717A1 (de) | Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt | |
DE69724742T2 (de) | Speicherfeldprüfschaltung mit Fehlermeldung | |
DE60109321T2 (de) | Prüfung von asynchroner rücksetzschaltung | |
DE69433542T2 (de) | Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung | |
DE4125091A1 (de) | Testschaltung fuer eine halbleiterspeichereinrichtung | |
DE69902221T2 (de) | Speicherschaltungen mit eingebautem Selbsttest | |
DE10292320T5 (de) | Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) |