DE102006009224B4 - Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest - Google Patents

Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest Download PDF

Info

Publication number
DE102006009224B4
DE102006009224B4 DE102006009224.4A DE102006009224A DE102006009224B4 DE 102006009224 B4 DE102006009224 B4 DE 102006009224B4 DE 102006009224 A DE102006009224 A DE 102006009224A DE 102006009224 B4 DE102006009224 B4 DE 102006009224B4
Authority
DE
Germany
Prior art keywords
algorithm
test
error
mbist
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102006009224.4A
Other languages
English (en)
Other versions
DE102006009224A1 (de
Inventor
Siegfried Kay Hesse
Markus Seuring
Thomas Herrmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chronocloud Medtech (shanghai) Co Ltd Cn
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE102006009224.4A priority Critical patent/DE102006009224B4/de
Priority to US11/484,157 priority patent/US7653845B2/en
Publication of DE102006009224A1 publication Critical patent/DE102006009224A1/de
Application granted granted Critical
Publication of DE102006009224B4 publication Critical patent/DE102006009224B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines

Abstract

Integrierter Schaltungschip umfassend: einen chipinternen Speicher (110, 340); und eine Testschaltung (100, 120 bis 150; 200 bis 265; 300 bis 330, 350), die ausgebildet ist, eine Funktionsprüfung des chipinternen Speichers auszuführen; wobei die Testschaltung eine Steuerung (100, 350) aufweist, die ausgebildet ist, eine Auswahl aus mehreren Testalgorithmen zum Durchführen der Funktionsprüfung auszuführen; wobei die mehreren Testalgorithmen einen Fehlererkennungstestalgorithmus zum Ausführen einer Funktionsprüfung des chipinternen Speichers enthalten, um zu erkennen, ob es einen Speicherfehler gibt, ohne dass der Speicherfehler lokalisiert wird, wobei die mehreren Testalgorithmen ferner einen Fehlerlokalisierungstestalgorithmus enthalten, um die Funktionsprüfung des chipinternen Speichers auszuführen, um einen Speicherfehler zu erkennen und zu lokalisieren, und wobei die Steuerung ferner ausgebildet ist, eine Algorithmussequenzierung auszuführen, indem mindestens ein Fehlererkennungstestalgorithmus und mindestens ein Fehlerlokalisierungstestalgorithmus in softwarekonfigurierbarer Reihenfolge ausgeführt werden.

Description

  • Die Erfindung betrifft im Allgemeinen chipinterne Speicher und betrifft insbesondere das Ausführen eines eingebauten Speicherselbsttests.
  • BIST-(eingebauter Selbsttest-)Verfahren werden manchmal bei der Entwicklung integrierter Schaltungen eingesetzt, um die Abhängigkeit von externen automatisierten Testanlagen zu verringern. BIST ist eine Technik mit Entwurfsmerkmalen für das Testen, da Schaltungen zum Testen von Schaltungsentwürfen hinzugefügt werden. Insbesondere werden zusätzliche Hardware- und Software-Elemente integrierten Schaltungschips hinzugefügt, um damit eine Selbstprüfung zu ermöglichen, d. h. um ihre eigene Funktionsfähigkeit unter Anwendung ihrer eigenen Schaltungen zu testen. Das Testen kann funktionell oder parametrisch erfolgen.
  • Unter den BIST-Verfahren sind LBIST (Logik BIST) und MBIST (Speicher BIST) unterschiedliche Ansätze. LBIST ist für das Prüfen von Logikschaltungen entworfen und verwendet typischerweise einen Generator für ein Pseudozufallsmuster. Im Gegensatz dazu wird MBIST speziell für das Prüfen von Speichern eingesetzt. Somit sind LBIST und MBIST für das Prüfen unterschiedlicher Arten an Schaltungen mittels unterschiedlicher Prüfverfahren vorgesehen.
  • Während konventionelle MBIST-Verfahren es ermöglichen, den Grad an externer elektrischer Prüfung unter Anwendung automatisierter Testanlagen zu reduzieren, wird die Notwendigkeit zum Ausführen eines externen Prüfverfahrens für gewöhnlich nicht ausgeschlossen und ist weiterhin aufwendig. Somit sind konventionelle MBIST-Verfahren nicht ausreichend in ihrer Effizienz.
  • Aus der WO 97/04459 A1 ist ein eingebauter Selbsttest für mehrere RAMs bekannt.
  • Die WO 2005/013285 A1 beschreibt einen modularen Testcontroller mit einer BIST-Schaltung zum Testen eingebetteter DRAM-Schaltungen.
  • Der Erfindung liegt die Aufgabe zugrunde, einen integrierten Schaltungschip, ein Verfahren zum Ausführen eines eingebauten Speichertests und ein computerlesbares Medium mit einer Datenstruktur bereitzustellen, die effizienter und flexibler als konventionelle Techniken sind und die die Zuverlässigkeit und Wirksamkeit verbessern.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst.
  • Bevorzugte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • In einer Ausführungsform wird ein integrierter Schaltungschip bereitgestellt, der einen chipinternen Speicher und eine Testschaltung aufweist. Die Testschaltung ist ausgebildet, eine Funktionsprüfung des chipinternen Speichers auszuführen. Die Testschaltung umfasst eine Steuerung, die ausgebildet ist, eine Auswahl aus mehreren Testalgorithmen durchzuführen, um die Funktionsprüfung auszuführen. Die mehreren Testalgorithmen enthalten einen Fehlererkennungstestalgorithmus, um eine Funktionsprüfung des chipinternen Speichers auszuführen, um damit zu erkennen, ob es einen Speicherfehler gibt oder nicht, ohne den Speicherfehler zu lokalisieren. Die mehreren Testalgorithmen umfassen ferner einen Fehlerlokalisierungstestalgorithmus, um eine Funktionsprüfung des chipinternen Speichers auszuführen, um damit einen Speicherfehler zu erkennen und zu lokalisieren.
  • In einer weiteren Ausführungsform wird ein Verfahren bereitgestellt, um eine eingebaute Speicherselbstprüfung auszuführen. Das Verfahren umfasst das Empfangen einer Algorithmuscodierung, die einen von mehreren eingebauten Selbsttestalgorithmen kennzeichnet, wobei die mehreren eingebauten Selbsttestalgorithmen mindestens einen „Weiter/Abbruch”-Produktionstestalgorithmus und mindestens einen Fehleranalysealgorithmus beinhalten. Das Verfahren umfasst ferner das Bestimmen des durch die empfangene Algorithmuscodierung gekennzeichneten Algorithmus. Wenn bestimmt wird, dass die empfangene Algorithmuscodierung einen Weiter/Abbruch-Produktionstestalgorithmus kennzeichnet, wird der gekennzeichnete Weiter/Abbruch-Produktionstestalgorithmus ausgeführt. Wenn bestimmt wird, dass die empfangene Algorithmuscodierung einen Fehleranalysealgorithmus kennzeichnet, wird der gekennzeichnete Fehleranalysealgorithmus ausgeführt.
  • Gemäß einer noch weiteren Ausführungsform wird ein computerlesbares Medium bereitgestellt, das eine Datenstruktur aufweist, auf der von einem auf einem Computersystem ausführbaren Programm operiert wird. Das Programm operiert auf der Datenstruktur, um einen Teil eines Prozesses auszuführen, um eine integrierte Schaltung mit Schaltung, die durch die Datenstruktur beschrieben ist, zu entwerfen. Die in der Datenstruktur beschriebene Schaltung umfasst eine MBIST-Steuerschaltung, die ausgebildet ist, in einem Speicherbauelemententwurf eingerichtet zu werden, um den zu entwerfenden Speicherbauelement eine MBIST-Funktion hinzuzufügen. Die Datenstruktur umfasst Schaltungsdefinitionen, die, wenn sie in dem Entwurf eingerichtet werden, das Speicherbauelement mit einer oder mehreren Korrekt/Fehlerhaft-Entscheidungstestfunktionen versieht. Die Datenstruktur umfasst ferner Schaltungsdefinitionen, die, wenn sie in dem Entwurf eingerichtet sind, das Speicherelement mit einer oder mehreren Fehlerdiagnosefunktionen versehen. Ferner sind Auswahlschaltungsdefinitionen vorgesehen, die, wenn sie in dem Entwurf eingerichtet werden, das Speicherbauelement in die Lage versetzen, eine Auswahl einer oder mehrerer Funktionen aus den Korrekt/Fehlerhaft-Entscheidungstestfunktionen und den Fehlerdiagnosefunktionen auszuführen.
  • Die begleitenden Zeichnungen sind hierin mit eingeschlossen und bilden einen Teil der Beschreibung, um die Prinzipien der Erfindung zu erläutern. Die Zeichnungen sind nicht dazu gedacht, die Erfindung auf die dargestellten und beschriebenen Beispiele einzuschränken, wie die Erfindung zu praktizieren und anzuwenden ist. Weitere Merkmale und Vorteile gehen aus der folgenden und detaillierteren Beschreibung der Erfindung hervor, wie sie auch in den begleitenden Zeichnungen dargestellt ist, wobei:
  • 1 eine Blockansicht ist, die eine MBIST-Technik gemäß einer Ausführungsform zeigt;
  • 2 eine Blockansicht ist, die einen MBIST-Kern darstellt, der eine Komponente des in 1 gezeigten Systems gemäß einer Ausführungsform ist;
  • 3 ein Diagramm ist, das die Handhabung eines Taktsignalbereichs und das Multiplexen von Taktsignalen gemäß einer Ausführungsform darstellt;
  • 4 ein Flussdiagramm ist, das den Vorgang der Algorithmusaneinanderreihung gemäß einer Ausführungsform zeigt;
  • 5 ein Zeitablaufdiagramm ist, das die Anlaufzeit gemäß einer Ausführungszeit zeigt;
  • 6 ein Zeitablaufdiagramm ist, das eine Pipeline-Funktionsweise mit einem erkannten Fehler gemäß einer Ausführungsform zeigt;
  • 7 ein Zeitablaufdiagramm ist, das eine Funktionsweise ohne Pipeline ohne einem erkannten Fehler gemäß einer Ausführungsform darstellt;
  • 8 ein Zeitablaufdiagramm ist, das das Ausführen eines Reparaturschrittes nach einer Fehlererkennung gemäß einer Ausführungsform darstellt; und
  • 9 ein Zeitablaufdiagramm ist, das eine Einzelschrittausführung zeigt.
  • Die anschaulichen Ausführungsformen der vorliegenden Erfindung werden mit Bezug zu den Zeichnungen beschrieben, wobei gleiche Elemente und Strukturen mit gleichen Bezugszeichen belegt sind.
  • Wie nachfolgend detaillierter beschrieben ist, ermöglichen die Ausführungsformen eine flexiblere Auswahl von MBIST-Algorithmen während der Testzeit und/oder ermöglichen das Bereitstellen von speziellen Modi für einen schnellen Produktionstest (korrekt/fehlerhaft-Enscheidung, gut/nicht gut-Entscheidung oder weiter/Abbruch-Entscheidung) und für schnelle Fehlerdiagnosen (exakte Darstellung des Fehlers).
  • Ausführungsformen können diverse Lösungsansätze für Funktionsprüfungen anwenden. Zu beachten ist, dass die Funktionsprüfung das funktionelle Testen oder das parametrische Testen enthaften kann. Funktionsprüfung ist eine Form des Testens, in der versucht wird, zu bestimmen, ob jede Funktion des Systems in der spezifizierten Weise funktioniert. Parametrische Prüfungen sind Prüfungen, die den Wert eines Parameters am Ausgang oder an einem speziellen Punkt einer Anordnung messen.
  • In einer Ausführungsform wird eine MBIST-Steuerung bereitgestellt, die Prinzipien für die Gestaltung der Testverfahren beinhaltet und die eine Produktprüfung für eingebettete RAM-(Speicher mit wahlfreiem Zugriff)Arrays ermöglicht. In einer Ausführungsform weisen die eingebetteten RAM-Arrays bis zu vier Gigaworte (232) mit jeweils maximal 1024 Bits auf und besitzen optionale Schreibmasken mit einer maximalen Auflösung von 1 Bit. Die MBIST-Steuerung der Ausführungsformen kann MBIST-Algorithmen unterstützen, die eine gute Fehlerabdeckung für alle essenziellen Fehler bietet, die eingebettete Arrays aufweisen können. Es ist jedoch zu beachten, dass die Ausführungsformen nicht auf die Verwendung in eingebetteten RAM-Arrays beschränkt sind.
  • Die MBIST-Steuerung der folgenden Ausführungsform kann als eine Schablone gestaltet sein, die in einfacher Weise an RAM's mit Einzelport- bzw. Anschluss- bzw. Zweifachport mit beliebiger Größe und Datenbreite unter Anwendung minimaler Hardwareressourcen angepasst werden kann. Des weiteren kann die MBIST-Steuerung an Dual-Ports-RAM's angepasst werden, d. h. an RAM's mit zwei unabhängigen Lese/Schreib-Port- bzw. Anschlüssen mit optionalen Schreibmasken. Die Schablone kann als Medium vorgesehen sein, das computerlesbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, die entsprechenden Schaltungsdefinitionen in einen Speicherbauteilentwurf einzubinden, um damit die Schablone zu implementieren.
  • Wie nachfolgend detaillierter beschrieben ist, kann die MBIST-Steuerung der Ausführungsformen diverse Ebenen des Testens unterstützen: schnelle Produktprüfung, nachvollziehbare Produktprüfung, Fehleranalyse und Fehlerbehebung.
  • Eine schnelle Produktprüfung ist dazu beabsichtigt, die häufigsten Fehlerarten zu erkennen. Dies ermöglicht eine rasche gut/nicht gut-Auswahl von Chips und ist nicht dazu gedacht, einen Fehler zu lokalisieren, und die Ausführungsform ist unter Umständen nicht mal dazu in der Lage, dies zu ermöglichen.
  • Nachvollziehbare Produktprüfung stellt ebenso darauf ab, alle wichtigen Fehlerarten zu erkennen. Obwohl diese Prüfung langsamer sein kann als die rasche Produktprüfung, kann sie für eine rigorosere Aussonderung von Chips angewendet werden.
  • Fehleranalyse ist ein Algorithmus (oder ein Ausführungsmodus eines Algorithmus), der nicht nur zum Erkennen, sondern auch zum Lokalisieren der meisten üblichen Fehlerarten angewendet wird. Dieser Algorithmus ist daher ein Diagnosetest, der eine längere Zeit beansprucht, aber wesentlich mehr Informationen liefert.
  • Schließlich ist die Fehlerentfernung ein Modus, in der die Testsoftware die vollständige Steuerung für die Funktion ausübt und die Algorithmen durchlaufen kann, oder selbst Daten/Adressenmuster verwendet kann, die von eingebauten Algorithmen nicht unterstützt werden.
  • Somit ermöglichen die Ausführungsformen das Ausführen einer Auswahl aus mehreren Testalgorithmen, die einen oder mehrere Fehlererkennungstestalgorithmen (rasche Produktprüfung und nachvollziehe Produktprüfung) und einen oder mehrerer Fehlerlokalisierungstestalgorithmen (Fehleranalyse, Fehlerbeseitigung) enthalten. Die Auswahl kann während der Testzeit durchgeführt werden, und es können Algorithmen lediglich für die Fehlererkennung sowie Algorithmen für zusätzliches Lokalisieren eines Fehlers ausgewählt werden.
  • Somit weist die MBIST-Steuerung eingebaute Algorithmen auf, um an Fehlern hängen bleibende Algorithmen in dem Adressendecodierer und dem Array zu lokalisieren, um offenen Fehler in dem Adressendecodierer des RAM's zu lokalisieren und/oder um zusätzlich Übergangsfehler im Array, Kopplungsfehler in dem Array und zusammenhängende Kopplungsfehler in dem Array zu erkennen.
  • Zu beachten ist, dass der eigentliche Speichertest separat oder gleichzeitig mit einer ablaufenden Abtastprüfung durchgeführt kann. Eine Technik zum Ausführen eines gleichzeitigen Abtasttests und eines Speichertests ist in der US 2005/0204232 A1 beschrieben.
  • In einer Ausführungsform kann die Testanlage oder die Entwicklungssoftware auf die MBIST-Steuerung in unterschiedlicher Weise zugreifen: Im normalen Abtastmodus sind die MBIST-Steuerregister Teil der Abtastkette und können während der Schiebezyklen mit den gewünschten Werten geladen werden. In einem weiteren Modus kann die MBIST-Steuerung ferner eine Datenregisterschnittstelle aufweisen, die es ermöglicht, dass die Steuerregister virtuelle Datenregister der TAP (oder Test-)Steuerung des SoC (System auf einem Chip) werden. Wenn es mehrere MBIST-Steuerungen in dem System gibt, können diese ihre individuellen Datenregisterschnittstellendatenregister zugeordnet haben oder einige oder alle MBIST-Steuerungen können aneinandergereiht werden, um ein einziges großes Datenregister zu bilden. In einem noch weiteren Funktionsmodus kann der SoC-Entwurfsingenieur eine einfache parallele Schnittstelle zu der MBIST-Steuerung verwenden, um einen Zugriff darauf durch normale für Software sichtbare Register zu ermöglichen.
  • 1 zeigt einen MBIST-Systemüberblick gemäß einer Ausführungsform, um zu demonstrieren, wie der MBIST-Kern in die Teststrategie eingebunden ist, wodurch ein Abtasttest und MBIST separat oder gleichzeitig möglich sind. Die eigentliche MBIST-Steuerung ist als Block 100 gezeigt und umfasst den MBIST-Kern 150. Der Speicher ist als Block 110 dargestellt, und der Speicher kann ein Einzelport-RAM, ein Zwei-Port-RAM, ein Dual-Port-RAM oder eine andere Art eines chipinternen Speichers sein, insbesondere eine beliebige Art eines eingebetteten Speichers (d. h. ein chipinterner Speicher, der lediglich von innerhalb des integrierten Schaltungschips angesprochen werden kann). Wie erkennbar ist, ist der Ausgang Q eines Multiplexers 140 mit dem MBIST-Kern 150 verbunden, und der Ausgang (Daten, Adresse, Ctrl) des MBIST-Kerns 150 ist einem Multiplexer 120 zugeleitet. Die Multiplexer 120 und 140 werden von der MBIST-Steuerung 100 unter Anwendung des Steuerauswahlsignals und des Q-Auswahlssignals gesteuert.
  • Ferner ist ein XOR-Bypass 120 vorgesehen, der in Zusammenhang mit dem MBIST verwendet werden kann, der jedoch auch für RAM's ohne MBIST verwendet werden kann. Der Bypass 130 kann die Abtastabdeckung vergrößern. In einer Ausführungsform ist kein Bypass 130 vorgesehen, somit muss der Multiplexer 140 auch nicht durch das Q-Auswahlsignal gesteuert werden.
  • 2 ist eine Blockansicht, in der detaillierter die Komponenten des MBIST-Kerns 150, der in 1 gezeigt ist, dargestellt sind. Wie man erkennen kann, gibt es eine Datenregisterschnittstelle auf der linken Seite des Blocks und eine parallele Registerschnittstelle an der Unterseite. Dies sind die Schnittstellen, die zuvor erwähnt wurden, als die Modi des Zugreifens auf die MBIST-Steuerung erläutert wurden.
  • Wie man ferner in 2 erkennen kann, gibt es eine Reihe von Operationsregistern, etwa ein aktuelles Algorithmusregister 210, ein Algorithmusauswahl/Port-Register 215, ein Meta-Schritt-Register 220, ein Schrittregister 225, ein Adressenregister 230, ein sekundäres Adressenregister 235, ein Datenregister 240, ein Datenmusterindexregister 245, ein Vergleichsmusterindexregister 250, ein Schreibmaskenregister 255, ein Schreibmaskenmusterindexregister 260 und ein Ausführungsmodusregister 265. Zu beachten ist, dass nicht alle diese Register erforderlich sind und es kann jede mögliche Kombination und Unterkombination aus Register in diversen Ausführungsformen vorgesehen sein.
  • Im Folgenden werden die Steuerung und die Statusmerkmale der MBIST-Ausführung detaillierter mit Bezug zu den 1 und 2 beschrieben.
  • Zuvor ist beschrieben, dass die Testanordnung auf die MBIST-Steuerung in einem normalen Abtastmodus zugreifen kann. In diesem Modus werden das Testaktivierungs- und Testschiebeaktivierungssignal, die in 1 gezeigt sind, verwendet. D. h., im normalen Abtastmodus wird die MBIST-Steuerung 100 selbst geprüft. Das Testschiebeaktivierungssignal führt zu einem Umschalten zwischen dem Schiebe- und dem Dateneinfangmodus.
  • Für Dateneinfang der Datenregisterschnittstelle werden die Operationsregister der MBIST-Steuerung 210 bis 265 in das Schieberegister 205 kopiert. Die Steuerung wird nicht angehalten, wenn ein Algorithmus gerade abgearbeitet wird.
  • Für die Aktualisierung der Datenregisterschnittstelle werden die Operationsregister 210 bis 265 der Steuerung mit den Werten aus dem Schieberegister 205 geladen. Wenn ein Algorithmus gerade gleichzeitig abgearbeitet wird, wird die Steuerung während des Aktualisierens angehalten und dann mit dem neu eingeladenen Steuerungszustand weiter betrieben.
  • Die MBR-(MBIST-Register)Zugriffs- und MBR-Lese/Schreib-Signale werden verwendet, um die Zugriffsmodi für paralleles Lesen und Schreiben der Register zu steuern. In dem Zugriffsmodus für paralleles Registerauslesen werden die Register der Steuerung über die parallele Schnittstelle ausgelesen. Das Lesen führt zu keinen Störungen, d. h. die Steuerung kann gleichzeitig einen MBIST-Algorithmus ausführen. Der Zugriffsmodus für paralleles Schreiben in die Register wird eingesetzt, um in die Register der Steuerung über die parallele Schnittstelle zu schreiben. In diesem Modus wird ein gerade ablaufender MBIST-Algorithmus unterbrochen.
  • Das Kernstartsignal, das dem MBIST-Kern 150 zugeleitet wird, kann verwendet werden, um Voreinstellungswerte in die Status- und Steuerregister einzuladen.
  • Ferner kann eine abfallende Flanke des MBIST-Aktivierungssignals bewirken, dass die MBIST-Fertig- und Fehler-Signale, die Statussignale sind, auf Null zurückgesetzt werden.
  • Wenn das MBIST-Aktivierungssignal gesetzt ist und der MBIST-Kern 150 ein Startsignal empfängt, dann geht die Steuerung weiter, um einen MBIST-Algorithmus zu beginnen, fortzusetzen oder diesen zu durchlaufen, abhängig von dem Wert des Ausführungsmodusregisters 265 und dem Zustand des MBIST-Fehlersignals. Genauer gesagt, gemäß einer Ausführungsform wird, wenn der Ausführungsmodus 0,1 oder 2 ist und das MBIST-Fehlersignal Null ist, der Algorithmus gestartet. Wenn der Ausführungsmodus 0 oder 1 ist und das MBIST-Fehlersignal 1 ist, wird der Algorithmus ohne einen Reparaturschritt fortgesetzt. Wenn der Ausführungsmodus 2 und das MBIST-Fehlersignal 1 ist, wird der Algorithmus nach einem Reparaturschritt fortgesetzt. Wenn der Ausführungsmodus 3 ist, dann wird der nächste Schritt des Algorithmus ausgeführt, wenn das MBIST-Fehlersignal 0 ist oder ansonsten wird der Reparaturschritt ausgeführt.
  • Wenn das Testaktivierungssignal und das MBIST-Aktivierungssignal gesetzt sind, werden der Abtasttest und der MBIST gleichzeitig ausgeführt. Sobald das Kernstartsignal gesetzt ist, nimmt die MBIST-Steuerung nicht am normalen Eingeben und Dateneinfang bei der Abtastung teil.
  • Während und nach dem Ausführen kann die Testanlage über den globalen MBIST-Zustand unter Anwendung zweier Statussignale, d. h. das MBIST-Fertig- und MBIST-Fehler-Signal, informiert werden. In neutralen Zustand sind beide Signale nicht gesetzt. Der neutrale Zustand wird eingenommen, wenn MBIST deaktiviert ist oder die Steuerung gerade einen Algorithmus ausführt und diesen noch nicht beendet oder einen Fehler erkannt hat.
  • Wenn das MBIST-Fertig-Signal nicht gesetzt ist, aber das MBIST-Fehler-Signal gesetzt ist, hat die Steuerung einen Fehler angetroffen, bevor der Algorithmus beendet wurde. Der Algorithmus wird daher angehalten und der Steuerungsstatus wird als Status beibehalten, der auszulesen ist. Wenn das MBIST-Fertig-Signal gesetzt ist und das MBIST-Fehlersignal nicht gesetzt ist, ist der MBIST abgeschlossen. Die Steuerung hat den Test erfolgreich beendet. Wenn schließlich beide Signale gesetzt sind (was lediglich in speziellen Ausführungsmodi auftreten kann), trat der Fehler während des abschließenden Auslesevorgangs des Algorithmus auf.
  • In den Ausführungsformen können die Register der Steuerung 210 bis 265 auf unterschiedliche Weisen angesprochen werden: über die parallele Registerschnittstelle, über die Datenregisterschnittstelle und über die Abtastverschiebung.
  • Wenn auf die Register der Steuerung über die parallele Registerschnittstelle zugegriffen wird, können die Registereinstellungen in bequemer Weise geändert werden. Dieser Zugriffsmodus kann bei automatisierten Testanlagen sowie in einem System angewendet werden. Die parallele Registerschnittstelle kann verwendet werden, um beispielsweise den Registersatz der Steuerung in einen Modulregisterraum einzufügen.
  • Wenn der Zugriff über die Datenregisterschnittstelle erfolgt, können alle MBIST-Register als (Teil) eines TAP-Steuerungsdatenregisters angesprochen werden. Wenn das Einfangsignal an der Datenregisterschnittstelle gesetzt ist, wird der Zustand der Operationsregister in die Schieberegister 205 kopiert. Eingefangene Daten werden herausgeschoben (und neue Daten werden hineingeschoben), wenn das Schiebesignal an der Datenregisterschnittstelle aktiv ist. Wenn das aktualisierte Signal gesetzt ist, werden die Operationsregister der Steuerung mit den Werten aus dem Schieberegister 205 geladen.
  • Wenn der Zugriff über eine Abtastverschiebung erfolgt, sind alle MBIST-Register Teil normaler Abtastketten und können daher durch Einschieben dieser Abtastketten mit neuen Werten beschrieben werden. In einer Ausführungsform wird dies während eines automatisierten Prüfanlagentests durchgeführt. Die tatsächliche Position eines speziellen Registers innerhalb der Abtastkette kann während der Synthese bestimmt werden und muss für einen Zugriff auf die Register bekannt sein. Ferner können MBIST-Steuerungsregister in willkürlicher Weise mit internen Flip-Flops der umgebenden Schaltung verbunden werden.
  • Um die eingebauten Algorithmen zu starten, werden die Register von der Testanlage in einer vordefinierten Weise vorgeladen. Die beteiligten Register können das Algorithmusauswahlregister 215, das Meta-Schritt-Register 220, das Schrittregister 225, das Adressenregister 230, das sekundäre Adressenregister 235, das Datenregister 240, das Datenmusterindexregister 245 und das Ausführungsmodusregister 265 sein. Zu beachten ist, dass in anderen Ausführungsformen nicht alle diese Register und/oder weitere Register für diese Zwecke verwendet werden können. in einer Ausführungsform können die eingebauten Algorithmen einen oder mehrere der folgenden Algorithmen aufweisen: MarchB, MATS+, Walking 0/1, SOAF und SOWM.
  • In den Ausführungsformen können mehrere Testszenarien vorhanden sein: Abtasttest, paralleles Ausführen der Abtastung und des MBIST, MBIST-Betrieb und Ausführung von nicht eingebauten Algorithmen.
  • In dem Abtasttestszenario wird die MBIST-Steuerung 100 selbst unter Anwendung der üblichen Schiebe- und Einfangzyklen geprüft. Die Testanlage kann diesen Modus einstellen, indem das Testaktivierungssignal gesetzt wird, und kann das Testschiebeaktivierungssignal verwenden, um zwischen dem Schiebe- und dem Einfangzyklus hin- und herzuschalten. Es kann angenommen werden, dass die Signale MBIST-Aktivierung, MBIST-Start, Testaktivierung und Testschiebeaktivierung direkt (nicht über eine Abtastkette) von der Testanlage, beispielsweise durch eine TAP-Steuerung gesteuert werden. Alle anderen Eingangssignale können von der normalen Funktionslogik stammen und können über die Abtastketten gesteuert werden.
  • Dieses Szenario kann eine optimale Abtastabdeckung sicherstellen, da die funktionalen RAM-Eingängen (Daten, Addr, Ctrl) unter Anwendung des XOR-Bypasses 130 beobachtet werden können, der in 1 gezeigt ist. Die funktionalen Stufen, die von dem RAM-Ausgang angesteuert werden, können unter Anwendung dieses Bypasses gesteuert werden. Ferner kann der Dateneingangsport des MBIST-Kerns 150 auf diese Weise gesteuert werden. Ferner sind weitere MBIST-Kerneingänge steuerbar. Alle internen MBIST-Register (einschließlich des Datenregisterschnittstellenschieberegisters 205) sind unter Anwendung einer Abtastkette steuerbar und beobachtbar. Da die MBIST-Kernausgänge (Daten, Adressen, Ctrl) auf diese Weise steuerbar sind, können auch funktionelle Schaltungen, die auf Q folgen, ebenso gesteuert werden. Wenn schließlich das MBIST-Aktivierungssignal im Wesentlichen von der Testanlage gesetzt wird, sind die MBIST-Ausgänge (Daten, Adressen, Ctrl) über den XOR-Bypass 130 beobachtbar. Zu beachten ist, dass das Kernverriegelungsregister nicht Teil einer Abtastkette sein muss. Ferner ist zu beachten, dass das die seriellen Eingangsdaten speichernde Register nicht während der Einfangzyklen auf 1 gesetzt werden muss, wenn auch das MBIST-Aktivierungssignal auf 1 gesetzt wird. Ansonsten entkoppelt sich die MBIST-Steuerung 100 selbst von der normalen Abtastung und geht in einem parallelen Tast/MBIST-Modus über.
  • In den parallelen Modus des Ausführens der Abtastung und des MBIST wird übergewechselt, wenn eine Testanlage sowohl die seriellen Eingangs- als auch die MBIST-Aktivierungssignale auf 1 gesetzt hat, während das Testaktivierungssignal gesetzt ist. Zu beachten ist, dass die Testanlage vorrangig das MBIST-Aktivierungssignal setzen kann, so dass es nicht nachteiligerweise während eines Abtastschiebevorgangs zurückgesetzt werden kann. Unter dieser Voraussetzung entkoppelt sich der MBIST-Kern 150 selbst von der normalen Abtastkette, verlässt den Abtastmodus und beginnt mit dem MBIST-Algorithmus. Dieser Modus kann lediglich verlassen werden, wenn die Steuerung den Algorithmus abgeschlossen hat (durch Fertigstellen oder durch einen Fehler). Das MBIST-Aktivierungssignal wird zurückgesetzt. Die Testanlage kann die normale Abtastverschiebung verwenden, um den MBIST-Kern vor dem Starten des Algorithmus zu initialisieren.
  • Aus Sicht des MBIST-Kerns ist dieses Szenario gleich einer normalen MBIST-Operation, wie sie nachfolgend beschrieben ist. Von außen betrachtet ist der Modus wie ein normaler Abtastbetrieb mit Ausnahme der Beschränkungen hinsichtlich der Steuerbarkeit und Beobachtbarkeit, wie sie zuvor erläutert sind.
  • Für das MBIST-Betriebsszenario gilt, dass im Prinzip jeder Algorithmus von der FSM (finite Zustandsmaschine) 200 der Steuerung ausgeführt werden kann, indem die in dem entsprechenden Algorithmus enthaltenen Schritte ausgeführt werden. Die finite Zustandsmaschine 200 hält bei Erkennung eines Fehlers an. Zu diesem Zeitpunkt kann die Software diesen Status auslesen und damit Information über die Fehlerposition ermitteln. Wenn jedoch eine Lese-Pipeline-Bearbeitung angewendet wird, wird der ausgelesene Zustand bereits der in dem nächsten Schritt des Algorithmus sein. Die Pipeline-Bearbeitung bei der Auslesung bezeichnet eine Technik, in der das Ausführen eines zweiten RAM-Zugriffs begonnen wird, bevor ein vorhergehender Lesebefehl bereits abgeschlossen ist. D. h., der Speicher lädt einen angeforderten Speicherinhalt in einen kleinen schneiten Zwischenspeicher bzw. Cache-Speicher und beginnt unmittelbar mit dem Abholen des nächsten Speicherinhalts. In den Ausführungsformen kann die Pipeline-Bearbeitung des Auslesens mit den Einstellungen des Ausführungsmodusregisters 265 gesteuert werden.
  • Des weiteren können die Register der finiten Zustandsmaschine mit Werten mittels Software vorgeladen werden und nachfolgend kann die finite Zustandsmaschine 200 mitten in einem Algorithmus gestartet werden.
  • Ein Modus des MBIST-Betriebs ist der schnelle Produkttest, der bereits oben erwähnt ist. In diesem Test wird die Betonung auf eine rasche gut/nicht gut-Entscheidung für das zu testende Bauelement belegt. Es kann ein Algorithmus ausgewählt werden, der eine gute Abdeckung innerhalb einer vernünftigen Laufzeit (beispielsweise MarchB) ergibt. Das Ausführungsmodusregister 265 wird auf „normal” gesetzt. Die Testanlage startet den MBIST-Test separat oder parallel zu dem Abtasttest. Nach dem Start läuft der Algorithmus ab und stoppt lediglich am Ende oder nach dem ersten Fehler. Zur Erhöhung der Geschwindigkeit kann eine Pipeline-Bearbeitung für das Auslesen angewendet werden. Obwohl die Testanlage den Status nach dem Ende auslesen könnte, liegt das Hauptinteresse in der Lokalisierung des Fehlers. In einer Ausführungsform kann der Modus modifiziert werden, um die Statusauslese zu deaktivieren. Die Testanlage kann Schiebeoperationen für die Datenregisterschnittstelle anwenden, um einen neuen Steuerregisterwert auszulesen oder zu setzen, obwohl dies nicht der eigentliche Zweck des Tests ist. Die Testanlage kann auch die MBIST-Steuerung nach einem Fehler erneut starten, wobei jedoch kein Reparaturschritt vorliegen kann, so dass es eine hohe Wahrscheinlichkeit gibt, dass die MBIST-Funktion bald erneut einen Fehler zeigt. Wiederum können diese Merkmale in einer Ausführungsform deaktiviert werden.
  • Ein weiterer MBIST-Funktionstest kann der Lebensdauertest für eine nachvollziehbare Produktprüfung sein. In diesem Szenario wird das Merkmal des parallelen Abtastens/MBIST verwendet, um die Schaltung bis an das Maximum zu beanspruchen. Das Ausführungsmodusregister 265 kann auf „kontinuierlich” gesetzt werden, so dass der Algorithmus ständig abläuft und lediglich stoppt, wenn ein Fehler erkannt wird. Eine Pipeline-Bearbeitung für das Auslesen kann für einen maximalen Durchsatz des RAMs's verwendet werden. Wie bei dem Produkttest wird die Betonung auf eine Fehlererkennung gelegt, obwohl die Testanlage den Zustand nach einem Fehler auslesen kann. Ähnlich zu dem raschen Produkttest kann in alternativen Ausführungsformen diese Funktion nicht vorgesehen sein.
  • Ein weiterer MBIST-Funktionstestmodus ist die Fehlerdiagnose. In diesem Modus wird die Betonung auf das Erkennen aller Fehler gelegt, und abhängig von dem Algorithmus, auf die Lokalisierung der Fehler. Die Laufzeit ist weniger wichtig. Ferner können einige halbautomatisierte/manuelle Reaktionen auf den MBIST-Status durch die Testanlage erforderlich sein. Das Ausführungsmodusregister 265 kann auf „Diagnose” (alternativ „Einzelschritt”) gesetzt werden. Dies veranlasst die MBIST-Steuerung 100, die Pipeline-Bearbeitung für das Auslesen nicht anzuwenden, wodurch Reparaturschritte bei der Fehlererkennung möglich sind. Nach dem Start führt die MBIST-Steuerung den Algorithmus bis zum ersten Erkennen eines Fehlers aus und hält dann an. Die Testanlage kann dann den MBIST-Status (über die Datenregisterschnittstelle oder die parallele Registerschnittstelle) auslesen. Mit der nächsten ansteigenden Flanke des MBIST-Startsignals führt die Steuerung zunächst einen Reparaturschritt ein, d. h. schreibt den erwarteten Wert an die fehlerhafte Position) und setzt dann den normalen Algorithmus fort. Die Steuerung stoppt dann beim nächsten Fehler. Die Testanlage kann somit durch alle Fehlerpositionen zyklisch durchlaufen und diese aufzeichnen. Der Algorithmus wird beendet, wenn die Steuerung das MBIST-Fertigsignal setzt. Die nächste ansteigende Flanke des MBIST-Startsignals startet dann erneut den Algorithmus.
  • Zu beachten ist, dass die Testanlage die Problematik eines deterministischen Zeitverhaltens im Verhältnis zur Reaktion auf zufällige Fehler lösen kann, indem eine Testschleife durchlaufen wird, die die MBIST-Operation startet oder erneut startet, die maximale Zeitdauer abwartet, um den ausgewählten Algorithmus abzuschließen, diesen Status ausliest und dann auf der Grundlage des Wertes des MBIST-Fehlersignals entscheidet, ob diese Schleife erneut zu durchlaufen ist. Diese Entscheidung kann eine gewisse halbautomatische Reaktion erfordern.
  • In einem noch weiteren MBIST-Funktionsmodus kann ein Einzelschritttest ausgeführt werden, beispielsweise das Fehlerbeheben. Dieser Modus wird für eine Fehlerdiagnose verwendet, wie sie in dem Modus zuvor beschrieben ist. Der Einzelschritttestmodus ist sogar manuell möglich, d. h. durch interaktives Setzen der Register. Zusätzlich kann dieser verwendet werden, um MBIST-Algorithmen auszuführen, die nicht in die Steuerung eingebaut sind. Dieser Modus beansprucht wesentlich mehr Zeit für die Testanlage und ist nicht für eine Produktprüfung vorgesehen.
  • Wenn ein Fehler auftritt und die Steuerung stoppt, verursacht eine neue ansteigende Flanke des MBIST-Startsignals einen Reparaturschritt anstelle des Ausführens des nächstens Schritts des Algorithmus.
  • In den 5 und 9 sind Beispiele des MBIST-Zeitablaufs in entsprechenden Zeitablaufdiagrammen dargestellt. Zu beachten ist, dass die Datenbusse der Einfachheit halber als einzelne Leitungen während der inaktiven Zeit dargestellt sind. In einem realen Entwurf behält der Bus den vorhergehenden Wert. Ferner ist zu beachten, dass alle Leseaktivierungssignale und Schreibaktivierungssignale bei niedrigem Pegel aktiv sind.
  • 5 zeigt den Hochlauf- bzw. Initialisierungszeitablauf. Das Diagramm zeigt, dass der erste (Schreib-)Zugriff einen Taktzyklus nach der ansteigenden Flanke des MBIST-Startsignals auftritt Dies ergibt sich auf Grund des Flankenerkennungsmechanismus für diesen Eingang.
  • 6 zeigt den Pipeline-Modus für den Betrieb (der verwendet wird, wenn der Ausführungsmodus 0 oder 1 ist) mit einer Teilansicht von MarchB. Man kann erkennen, wie der Algorithmus zwei Zyklen weitergeht (siehe beispielsweise Step), bevor die Steuerung bei Fehlererkennung anhält (das MBIST-Fehlersignal wird gesetzt). Die Testanlage kann jedoch in der Lage sein, das Fehlerdatenmuster zu bestimmen.
  • 7 zeigt den Betriebsmodus ohne Pipeline-Beareitung (der verwendet wird, wenn der Ausführungsmodus 2 oder 3 ist), wiederum mit einer Teilansicht von MarchB. Man kann erkennen, wie der Leseschritt nunmehr zwei Taktzyklen beansprucht. Des weiteren kann man auch erkennen, dass der Algorithmus nicht weitergeht, wenn ein Fehler erkannt wird. Somit bleiben alle Statusregister in der gleichen Position, wie dies bei der Fehlererkennung der Fall ist.
  • 8 zeigt den Zeitablauf und die Auswirkung des Reparaturschritts, der in den Modi ohne Pipeline-Bearbeitung ausführt wird, wenn die Steuerung nach einem erkannten Fehler erneut startet. Zu beachten ist, dass die Steuerungsregister (beispielsweise das Schrittregister 225) auf dem gleichen Wert gehalten werden, bei dem der Fehler erkannt wurde. Anders als zuvor (fehlerhaftes Auslesen) wird eine Schreiboperation einen Zyklus nach dem Neustart ausgeführt. Das ausgegebene MBIST-Fehlersignal wird nach diesem Reparaturschritt zurückgesetzt. Um jedoch eine endlose Verriegelung (Endlosschleife) zu vermeiden, wird dieser Reparaturschritt nicht in einem nachfolgenden Leseschritt überprüft. Stattdessen geht der Algorithmus zum nächsten Schritt weiter (siehe beispielsweise Step).
  • 9 zeigt den Einzelschrittmodus für den Betrieb (wobei der Ausführungsmodus 3 ist). Einen Zyklus nach der ansteigenden Flanke des MBIST-Startsignal wird der Algorithmusschritt gemäß der aktuellen Einstellung der Steuerregister ausgeführt und die Register gehen zum nächsten Schritt weiter (siehe Step).
  • Es sei wieder auf die Blockdiagramme verwiesen; 3 ist ein Diagramm, das die Taktbereichs- bzw. Domänen-Handhabung und das Taktsignalmultiplexen zeigt Die Figur gibt einen Überblick über Taktbereiche und die Taktsignalmultiplexung für ein System mit integriertem MBIST. Die Figur beschreibt einen funktionalen Block 300, der RAM(s) 340 mit zugeordnetem bzw. zugeordneten MBIST(s) 350 instanziiert. Außerhalb dieses Blockes liegen entweder auf der obersten Chipebene oder innerhalb eines weiteren zugeordneten Blockes entsprechende Taktmultiplexer 310, 320, 330, die zwischen Arbeitsmodus und Testmodus auswählen. Nicht alle diese Multiplexer sind unter Umständen erforderlich, beispielsweise, wenn das Arbeitsmodustaktsignal und das Testtaktsignal einem gleichen primären Eingang eines Chips eingespeist werden, oder der GL-(GeodeLink)-Takt steuert auch eine weitere Funktionsdomäne. Dennoch gilt aus der Sicht des Blockes, dass dieser im Testmodus an allen seinen Taktsignaleingänge das gleiche Testtaktsignal führt.
  • Für die Integration der MBIST-Steuerung 100, 350 in einn Block 300 gibt es einige Konsequenzen. Zunächst besteht unter Umständen kein Bedarf für eine Taktbereichssynchronisierung zwischen dem Funktionstaktsignalbereich der MBIST und der Datenregisterschnittstelle innerhalb des MBIST-Kerns 150, da die Datenregisterschnittstelle nur im Testmodus sein kann und dann alle Taktsignale ohnehin gleich sind. Ferner kann die MBIST-Steuerung 100 auf der Grundlage eines funktionalen Taktsignals ablaufen, das auch einen RAM-Port ansteuert. Wenn der RAM zwei Ports aufweist und der andere auf der Grundlage einer anderen Taktsignaldomäne arbeitet, dann ist ein Taktsignalmultiplexer vor dem RAM erforderlich (in 3: der clk_B Multiplexer, während in anderen MBIST-Instanzierungen die Steuerung synchron mit der RAM-A-Seite laufen kann). Die Steuerungsmultiplexer für den RAM 340 können zwischen Arbeitsmodus und MBIST-Modus hin- und herschalten. Wenn schließlich die GL-Taktsignaldomäne von der Domäne getrennt ist, die den MBIST 350 ansteuert, kann der Blockentwurfsingenieur ein korrekte Synchronisierung für die parallele Registerschnittstelle sicherstellen.
  • Wie zuvor beschrieben ist, können die eingebauten Algorithmen MarchB, MATS+, Walking1/0, SOAF und SOWM beinhalten. Insbesondere kann es einen speziellen Belastungsalgorithmus geben, der lediglich auf Zwei-Port- und Dual-Port-RAM's angewendet wird. Dieser Algorithmus liefert eine generelle Art, Zwei-Port- und Dual-Port-RAM's mit beliebiger Bit-Breite/Wortorganisiation zu prüfen, und dieser kann verwendet werden, um Probleme in dem Leseverstärker und der Schreiblogik zu erkennen, die nur auftreten, wenn gleichzeitig auf beide Seiten des RAM's zugegriffen wird. Dieser Algorithmus kann als Ergänzung zu anderen Algorithmen verwendet werden, die die Integrität der RAM-Matrix (beispielsweise MarchB) mit speziellen Prüfungen überprüfen, um die korrekte Dual-Port-Funktion zu gewährleisten und beispielsweise einen Kurzschlussfehler zwischen zwei Ports zu erkennen, die von Einzel-Port-Algorithmen nicht erkannt werden können. Insbesondere kann der Algorithmus alle mögliche Kombinationen von „Umschalten auf 0”, „Umschalten auf 1”, „Lesen 0/Prüfen für 0” und „Lesen 1”/”Prüfen auf 1” zwischen dem regulären und dem gegenüberliegenden Port (unter Anwendung von Adressen mit einem Hamming-Abstand von 1 zwischen den beiden Ports) durchlaufen. Durch Festlegen dieser Kombinationen kann der Algorithmus Fehlerbedingungen prüfen, die durch Probleme in der Stromversorgung für den RAM hervorgerufen werden können. Ferner kann für RAM's mit zwei Leseports der Algorithmus das gleichzeitige Auslesen aus der gleichen Adresse für beide Seiten prüfen.
  • Das Folgende ist ein beispielhafter Algorithmus für diesen Modus, wobei M0–M4 Meta-Schritte und S0–S6 Schritte des entsprechenden Meta-Schritts kennzeichnen. Wie man erkennen kann, kann der Algorithmus so auf RAM's mit zugeschnitten werden, wobei einer der beiden Ports lediglich eine begrenzte Kapazität aufweist (Typ „R_W”, ”RW_R” und ”RW_W”). Zu beachten ist, dass der Algorithmus keine Annahmen über die innere Organisation des RAM's macht und daher in breiter Weise anwendbar ist.
  • Figure DE102006009224B4_0002
  • Figure DE102006009224B4_0003
  • Figure DE102006009224B4_0004
  • Figure DE102006009224B4_0005
  • Figure DE102006009224B4_0006
  • Zu beachten ist, dass die Operationen „test(~port) on M[i xor (1 << j)]” Lesedaten vergleichen (und damit möglicherweise zu einem Fehler führen) nur, wenn (i xor (1 << j)) w (d. h. wenn der Adressenbereich nicht überschritten wird). Die Operationen „write(~port) M[i xor (1 << j)]” wird blockiert, wenn die Adresse außerhalb des Bereichs liegt.
  • Neben den zuvor erläuterten eingebauten Algorithmen kann auch ein allgemeiner Algorithmus sein, der als Mittel verwendet wird, um nicht eingebaute Algorithmen unter Steuerung der Testanlage auszuführen. Er besteht lediglich aus Meta-Schritten mit Schritten, die generische MBIST-Operationen definieren, etwa das Auslesen von Musterindexwerten, Vergleichen von Werten, Heraufsetzen und Herabsetzen von Adressen, usw. D. h. die Software speichert Daten in geeigneten Register, etwa dem Datenregister 240, und verursacht dann das Ausführen der binärischen Schritte und Metaschritte, die die Daten verwenden. Dies kann ein wiederholender Prozess sein. Die Testfunktion hängt von den eigentlichen gespeicherten Daten ab.
  • Gemäß 4 können die Ausführungsformen auch eine Aneinanderreihung bzw. Sequenzierung der Algorithmen bieten. Um nachvollziebarere (und effizientere) Prüfungen zu ermöglichen, kann die MBIST-Steuerung 100 das Ausführen einer Reihe von Algorithmen in einer Sequenz bzw. Reihenfolge ermöglichen. Dies kann durch gewisse Felder in den MBIST-Zustandregistern gesteuert werden. Die Software kann die entsprechende Algorithmuscodierung in die Felder für den ersten, zweiten, etc. Algorithmus einspeisen. Das Register für den aktuellen Algorithmus 210 kann dann verwendet werden, um den aktuell ausgeführten Algorithmus auszuwählen.
  • Wenn der aktuelle Algorithmus ohne Fehler beendet ist, kann die Steuerung in einen Übergangsmetaschritt eintreten, der verwendet werden kann, um die Steuerungsregister für den nächsten Algorithmus zu initialisieren, den Index des aktuellen Algorithmus heraufzusetzen und im nächsten Taktzyklus mit diesem Algorithmus zu beginnen.
  • In einer Ausführungsform ermöglichen alle Algorithmen mit Ausnahme des generischen Algorithmus und eines speziellen NOP-(keine Funktion-Algorithmus)Codes eine Aneinanderreihung, d. h. ein nächster Algorithmus kann sich anschließen. Für den generischen Algorithmus und dem NOP endet die Ausführung, nachdem dieser aktuelle Algorithmus beendet ist. Dies kann auch implizieren, dass der erste angetroffene Algorithmus, der keine Aneinanderreihung zulässt, die Reihenfolge beendet. Wenn beispielsweise der erste Algorithmus MarchB ist, der zweite der generische Algorithmus ist und der dritte auf MATS+ festgelegt wird, dann werden lediglich MarchB und der generische Algorithmus ausgeführt. Die Algorithmuscodierung NOP kann insbesondere eingeführt werden, um eine Sequenz zu stoppen.
  • Wenn die Software fälschlich das aktuelle Algorithmusregister 210 auf einen Wert größer als den maximal unterstützten Sequenzindex setzt, kann dies die gleiche Wirkung haben, wie wenn der entsprechende Algorithmus auf NOP festgelegt wird. Somit beginnt der Algorithmussequenzierungsprozess aus 4 mit dem Einspeisen von Algorithmuscodierungen in die entsprechenden Register, um die Sequenz bzw. Reihenfolge im Schritt 400 zu definieren. Der erste Algorithmus wird dann im Schritt 410 ausgewählt. Der Schritt 420 überprüft, ob die Algorithmuscodierung NOP ist. Wenn nicht, überprüft der Schritt 430, ob der Algorithmus eine Aneinanderreihung ermöglicht. Wenn der Algorithmus nicht der generische Algorithmus ist (oder ein anderer Algorithmus ohne Aneinanderreihungseigenschaft), wird dieser im Schritt 440 ausgeführt, woraufhin die Steuerungsregister erneut im Schritt 450 initialisiert werden und der Algorithmusindex in 460 erhöht wird. Sobald der nächste Taktzyklus erreicht ist (Schritt 470), kehrt der Prozess zurück, um den nächsten Algorithmus auszuwählen.
  • Es sollte beachtet werden, das die Sequenz und die Reihenfolge der Schritte in dem Flussdiagramm aus 4 lediglich ein Beispiel darstellen, und dass eine beliebige andere Reihenfolge der Schritte möglich ist. Beispielsweise kann der Schritt 460 vor dem Schritt 450 und der Schritt 430 kann vor dem Schritt 420 ausgeführt werden. Es ist auch möglich, diese und andere Schritte gleichzeitig auszuführen.
  • Schließlich ist anzumerken, dass die MBIST-Steuerung 100 der Ausführungsformen so parametrisiert werden kann, um mit üblichen Zwei-Port-RAM's verbunden zu werden, d. h. RAM's mit zwei unabhängigen Lese/Schreib-Anschlüssen mit optionalen Schreibmasken. In diesem Falle erlauben die Port-Auswahlfelder in den Zustandsregistern zu bestimmen, auf welchem Port der entsprechende Algorithmus operiert. Es besteht im Allgemeinen kein Bedarf, Algorithmen auszuführen, die die integrität der Matrix von beiden Seiten überprüfen. Somit kann der Anwender vorgeben, von welcher Seite ein Algorithmus betrieben wird. Es kann jedoch MBIST-Algorithmen geben, die immer auf beiden Ports arbeiten (d. h. die die Einstellung des Portauswahlfeldes ignorieren), um eine korrekte Funktion des Adressendecodierers und der Schreibmaskenlogik sicherzustellen.
  • Wie zuvor beschrieben ist, werden Ausführungsformen bereitgestellt, in denen mehrere Testalgorithmen eingesetzt werden mit: einem Fehlererkennungstestalgorithmus zum Ausführen einer Funktionsprüfung, um zu erkennen, ob es einen Speicherfehler gibt oder nicht, ohne dass der Speicherfehler lokalisiert wird, und einem Fehlerlokalisierungstestalgorithmus, um eine Funktionsprüfung auszuführen, um einen Speicherfehler zu erkennen und zu lokalisieren. Zu beachten ist, dass in einer Ausführungsform der Fehlererkennungstestalgorithmus so ausgebildet ist, dass dieser in der Lage ist, auch einen Speicherfehler zu lokalisieren. In diesem Falle kann das Ausführungsmodusregister 265 verwendet werden, um anzugeben, dass dieser Algorithmus nur für die Fehlererkennung eingesetzt wird, wobei sein Fehlerlokalisierungseigenschaften nicht verwendet werden. Insbesondere kann das Ausführungsmodusregister 265 angeben, dass die Lesepipeline-Bearbeitung in diesem Falle aktiv ist, während diese deaktiviert ist, wenn der Algorithmus auch für die Fehlerlokalisierung zu verwenden ist.
  • Wie aus den zuvor beschriebenen Ausführungsformen hervorgeht, wird eine Technik bereitgestellt, die eine maximale Flexibilität bei der Speicherprüfung erreicht, indem eingebaute Selbsttests möglich sind, die selektiv beschränkt werden können, um nicht mehr als einen Weiter/Abbruch-Test durchzuführen, oder die ausgewählt werden können, um deutlich anspruchsvollere Prüfungen einschließlich Diagnostik, Fehlerentfernung und Einzelschrittbearbeitung auszuführen. Dies reduziert den Aufwand, der ansonsten notwendig ist, wenn eine externe Testanlage verwendet wird. Ferner können in Ausführungsformen, die die Algorithmussequenzierungstechnik, die zuvor beschrieben ist, anwenden, die Vorteile aller anwendbarer Testalgorithmen vereinigen, indem eine schnelle Produktprüfung möglich ist und indem die zeitaufwendigeren Diagnoseprüfungen lediglich bei Bedarf durchgeführt werden. Durch Vorsehen von Ausführungsformen, die die generischen Testmechanismen, wie sie zuvor beschrieben sind, anwenden, wird eine Technik bereitgestellt, die nicht auf algorithmische Regeln und Zwangsbedingungen festgelegt ist, die zum Zeitpunkt der Schaltungsentwicklung definiert wurden. Vielmehr können neue Testmechanismen und verbesserte Algorithmen zu einer späteren Phase lediglich durch Aktualisierung der ansteuernden Testsoftware eingerichtet werden. Ferner wurden Ausführungsformen erstellt, die eine generische Art und Weise anwenden, um Belastungstest an Dual-Port-RAM's mit beliebiger Bitbreite/Wortorganisation ausführen. Auf Grund der generischen oder gattungsbildenden Natur kann dieser Testalgorithmus die Effizienz und Testzuverlässig noch weiter verbessern und kann gleichzeitig eine maximale Anwendbarkeit auf beliebige RAM-Schaltungen bieten, indem im Wesentlichen keine Annahmen über die innere Organisation der zu prüfenden RAM's vorausgesetzt wird. Schließlich ist zu beachten, dass alle zuvor beschriebenen Ausführungsformen in Form einer Schablone bereitgestellt werden können, so dass der Schaltungsentwickler und der Systementwickler ein mächtiges Werkzeug zur Einrichtung anspruchsvoller Mechanismen erhalten, ohne dass übermäßig große Entwurfsprobleme auftreten.

Claims (18)

  1. Integrierter Schaltungschip umfassend: einen chipinternen Speicher (110, 340); und eine Testschaltung (100, 120 bis 150; 200 bis 265; 300 bis 330, 350), die ausgebildet ist, eine Funktionsprüfung des chipinternen Speichers auszuführen; wobei die Testschaltung eine Steuerung (100, 350) aufweist, die ausgebildet ist, eine Auswahl aus mehreren Testalgorithmen zum Durchführen der Funktionsprüfung auszuführen; wobei die mehreren Testalgorithmen einen Fehlererkennungstestalgorithmus zum Ausführen einer Funktionsprüfung des chipinternen Speichers enthalten, um zu erkennen, ob es einen Speicherfehler gibt, ohne dass der Speicherfehler lokalisiert wird, wobei die mehreren Testalgorithmen ferner einen Fehlerlokalisierungstestalgorithmus enthalten, um die Funktionsprüfung des chipinternen Speichers auszuführen, um einen Speicherfehler zu erkennen und zu lokalisieren, und wobei die Steuerung ferner ausgebildet ist, eine Algorithmussequenzierung auszuführen, indem mindestens ein Fehlererkennungstestalgorithmus und mindestens ein Fehlerlokalisierungstestalgorithmus in softwarekonfigurierbarer Reihenfolge ausgeführt werden.
  2. Integrierter Schaltungschip nach Anspruch 1, wobei der chipinterne Speicher ein eingebetteter Speicher ist, auf den nur aus dem Inneren des integrierten Schaltungschips zugegriffen werden kann.
  3. Integrierter Schaltungschip nach Anspruch 1, wobei die mehreren Testalgorithmen einen generischen Algorithmus mit Algorithmusfunktion aufweisen, die während der Laufzeit durch Software definiert wird.
  4. Integrierter Schaltungschip nach Anspruch 1, wobei die mehreren Testalgorithmen mindestens einen Dual-Port-RAM-Testalgorithmus aufweisen, der ausgebildet ist, alle Kombinationen von ”Schalten auf 0”, ”Schalten auf 1”, ”Lesen 0” und ”Lesen 1” in gleichzeitigen Zugriffen auf beide Ports zu setzen.
  5. Integrierter Schaltungschip nach Anspruch 1, wobei mindestens einer der mehreren Testalgorithmen ausgebildet ist, einen Auslesevorgang mit Pipeline-Bearbeitung auszuführen.
  6. Integrierter Schaltungschip nach Anspruch 1, wobei der Fehlerlokalisierungstestalgorithmus ausgebildet ist, einen Reparaturschritt bei Fehlererkennung auszuführen, und anschließend den Algorithmus fortzusetzen, wobei der Reparaturschritt einen erwarteten Wert in die fehlerhafte Position schreibt.
  7. Integrierter Schaltungschip nach Anspruch 1, wobei die Steuerung Register zum Speichern von Steuerungsdaten, die von der Steuerung zum Steuern der Funktionsprüfung verwendet werden, umfasst, wobei die Register durch Software über mindestens eine Schnittstelle auslesbar und beschreibbar sind.
  8. Integrierter Schaltungschip nach Anspruch 1, der ferner einen Bypass (120) aufweist, der zum Weiterleiten von Eingangssignalen des chipinternen Speichers zu der Steuerung angeschlossen ist.
  9. Integrierter Schaltungsschip nach Anspruch 1, der ausgebildet ist, mindestens zwei Taktsignalbereiche zu handhaben, und der ferner mindestens einen Taktsignalmultiplexer aufweist, um zwischen einem Arbeitsmodus und einem Testmodus auszuwählen.
  10. Verfahren zum Ausführen eines eingebauten Speichertests, umfassend: Empfangen (400, 460) einer ersten und einer zweiten Algorithmuscodierung, wobei die erste Algorithmuscodierung einen ersten von mehreren eingebauten Selbsttestalgorithmen und die zweite Algorithmuscodierung einen zweiten der mehreren eingebauten Selbsttestalgorithmen kennzeichnet, wobei die mehreren eingebauten Selbsttestalgorithmen mindestens einen Weiter/Abbruch-Produkttestalgorithmus und mindestens einen Fehleranalysealgorithmus enthalten; Speichern (400) der empfangenen ersten Algorithmuscodierung und der empfangenen zweiten Algorithmuscodierung in einem Register, wodurch eine Reihenfolge der gekennzeichneten Algorithmen definiert wird; und Ausführen einer Algorithmensequenz, die den gekennzeichneten ersten Algorithmus und den gekennzeichneten zweiten Algorithmus enthält, in der definierten Reihenfolge, wobei das Ausführen der Algorithmensequenz umfasst: Bestimmen (410) des durch die jeweilige empfangene Algorithmuscodierung gekennzeichneten Algorithmus'; wenn bestimmt wird, dass die jeweilige empfangene Algorithmuscodierung einen Weiter/Abbruch-Produkttestalgorithmus kennzeichnet, Ausführen des gekennzeichneten Weiter/Abbruch-Produkttestalgorithmus; und wenn bestimmt wird, dass die jeweilige empfangene Algorithmuscodierung einen Fehleranalysealgorithmus kennzeichnet, Ausführen des gekennzeichneten Fehleranalysealgorithmus.
  11. Verfahren nach Anspruch 10, wobei Ausführen der Algorithmensequenz umfasst: für jeden auszuführenden Algorithmus, Bestimmen (420, 430), ob der Algorithmus in der Algorithmensequenz ausgeführt werden darf, und wenn nicht, Unterdrücken des Ausführens des Algorithmus.
  12. Verfahren nach Anspruch 10, wobei die mehreren eingebauten Selbsttestalgorithmen ferner einen generischen Algorithmus mit einer Algorithmusfunktion enthalten, die während der Laufzeit durch Software definiert ist.
  13. Verfahren nach Anspruch 10, wobei die mehreren eingebauten Selbsttestalgorithmen ferner mindestens einen Dual-Port-RAM-(Speicher mit wahlfreiem Zugriff)Testalgorithmus enthalten, der ausgebildet ist, alle möglichen Kombinationen aus „Schalten auf 0”, „Schalten auf 1”, „Lesen 0” und „Lesen 1” zwischen beiden Ports zu durchlaufen.
  14. Verfahren nach Anspruch 13, wobei der mindestens eine Dual-Port-RAM-Testalgorithmus einen Algorithmus für RAM-Bauelemente mit zwei Leseports enthält, wobei der Algorithmus ausgebildet ist, gleichzeitig aus gleichen Adressen von beiden Seiten auszulesen.
  15. Verfahren nach Anspruch 10, wobei mindestens einer der mehreren eingebauten Selbsttestalgorithmen ausgebildet ist, eine Leseoperation mit Pipeline-Verarbeitung auszuführen.
  16. Verfahren nach Anspruch 10, wobei mindestens einer des mindestens einen Fehlererkennungsalgorithmus ausgebildet ist, bei Fehlererkennung einen Reparaturschritt auszuführen, und dann den Algorithmus fortzusetzen, wobei der Reparaturschritt einen erwarteten Wert in die fehlerhafte Position schreibt.
  17. Computerlesbares Medium mit einer Datenstruktur, die von einem Programm, das auf einem Computersystem ausführbar ist, verwendet wird, wobei das Programm die Datenstruktur verwendet, um einen Teil eines Prozesses zum Entwerfen einer integrierten Schaltung auszuführen, die eine durch die Datenstruktur beschriebene Schaltung enthält, wobei die in der Datenstruktur beschriebene Schaltung eine MBIST-(eingebaute Speicherselbsttest-)Steuerschaltung enthält, die ausgebildet ist, in einem Speicherbauelementdesign implementiert zu werden, um dem zu entwerfenden Speicherbauelement eine MBIST-Funktion hinzuzufügen, wobei die Datenstruktur umfasst: Schaltungsdefinitionen, die, wenn sie in dem Design implementiert werden, dem Speicherbauelement eine oder mehrere Korrekt/fehlerhaft-Entscheidungstestfunktionen verleihen; Schaltungsdefinitionen, die, wenn sie in dem Design implementiert werden, dem Speicherbauelement eine oder mehrere Fehlerdiagnosefunktionen verleihen; und Auswahlschaltungsdefinitionen, die, wenn sie in dem Design implementiert werden, das Speicherbauelement in die Lage zu versetzen, eine Auswahl von einer oder mehreren Funktionen aus den Korrekt/fehlerhaft-Entscheidungstestfunktionen und den Fehlerdiagnosefunktionen in einer softwarekonfigurierbaren Algorithmensequenz auszuführen.
  18. Computerlesbares Medium nach Anspruch 17, das ferner computerlesbare Befehle enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, das Programm auszuführen.
DE102006009224.4A 2006-02-28 2006-02-28 Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest Expired - Fee Related DE102006009224B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006009224.4A DE102006009224B4 (de) 2006-02-28 2006-02-28 Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
US11/484,157 US7653845B2 (en) 2006-02-28 2006-07-11 Test algorithm selection in memory built-in self test controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006009224.4A DE102006009224B4 (de) 2006-02-28 2006-02-28 Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest

Publications (2)

Publication Number Publication Date
DE102006009224A1 DE102006009224A1 (de) 2007-08-30
DE102006009224B4 true DE102006009224B4 (de) 2017-04-06

Family

ID=38319923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006009224.4A Expired - Fee Related DE102006009224B4 (de) 2006-02-28 2006-02-28 Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest

Country Status (2)

Country Link
US (1) US7653845B2 (de)
DE (1) DE102006009224B4 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234540B2 (en) 2008-07-01 2012-07-31 International Business Machines Corporation Error correcting code protected quasi-static bit communication on a high-speed bus
US8082475B2 (en) 2008-07-01 2011-12-20 International Business Machines Corporation Enhanced microprocessor interconnect with bit shadowing
US8245105B2 (en) 2008-07-01 2012-08-14 International Business Machines Corporation Cascade interconnect memory system with enhanced reliability
US8082474B2 (en) 2008-07-01 2011-12-20 International Business Machines Corporation Bit shadowing in a memory system
US7895374B2 (en) 2008-07-01 2011-02-22 International Business Machines Corporation Dynamic segment sparing and repair in a memory system
US8139430B2 (en) 2008-07-01 2012-03-20 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US8201069B2 (en) 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US8094766B2 (en) * 2008-07-02 2012-01-10 Teradyne, Inc. Tracker circuit and method for automated test equipment systems
WO2010032440A1 (ja) * 2008-09-17 2010-03-25 株式会社アドバンテスト 試験装置およびドメイン間同期方法
JP2010152939A (ja) * 2008-12-23 2010-07-08 Renesas Electronics Corp 半導体装置とテスト方法
US7979759B2 (en) * 2009-01-08 2011-07-12 International Business Machines Corporation Test and bring-up of an enhanced cascade interconnect memory system
US20100180154A1 (en) * 2009-01-13 2010-07-15 International Business Machines Corporation Built In Self-Test of Memory Stressor
US8136001B2 (en) * 2009-06-05 2012-03-13 Freescale Semiconductor, Inc. Technique for initializing data and instructions for core functional pattern generation in multi-core processor
US8392777B2 (en) * 2009-08-27 2013-03-05 Advanced Micro Devices, Inc. Centralized MBIST failure information
US8423846B2 (en) 2010-09-16 2013-04-16 Advanced Micro Devices, Inc. Integrated circuit with memory built-in self test (MBIST) circuitry having enhanced features and methods
US8468408B2 (en) * 2010-09-16 2013-06-18 Advanced Micro Devices, Inc. Memory built-in self test (MBIST) circuitry configured to facilitate production of pre-stressed integrated circuits and methods
US8392772B2 (en) * 2010-09-16 2013-03-05 Texas Instruments Incorporated On-chip memory testing
US9015460B2 (en) * 2012-07-30 2015-04-21 Oracle International Corporation Hybrid hardwired/programmable reset sequence controller
US9024650B2 (en) 2012-11-13 2015-05-05 Advanced Micro Devices, Inc. Scalable built-in self test (BIST) architecture
US9417816B2 (en) * 2014-01-02 2016-08-16 Advanced Micro Devices, Inc. Partitionable memory interfaces
CN106291313B (zh) * 2015-06-10 2021-06-11 恩智浦美国有限公司 用于测试集成电路的方法和设备
US9859019B1 (en) * 2017-01-24 2018-01-02 International Business Machines Corporation Programmable counter to control memory built in self-test
US10311963B2 (en) * 2017-04-19 2019-06-04 Arm Limited Data processing
US10685730B1 (en) 2018-03-20 2020-06-16 Seagate Technology Llc Circuit including efficient clocking for testing memory interface
CN113167831A (zh) 2018-10-10 2021-07-23 辉达公司 在已部署的汽车平台上执行自测的测试系统
US11422185B2 (en) 2020-06-30 2022-08-23 Nxp Usa, Inc. System and method for testing critical components on system-on-chip
US11175340B1 (en) * 2021-02-15 2021-11-16 Nxp B.V. System and method for managing testing and availability of critical components on system-on-chip
TWI759208B (zh) * 2021-05-18 2022-03-21 大陸商北京集創北方科技股份有限公司 晶片軟失效之防止能力提升電路和方法、控制晶片及資訊處理裝置
CN115083500B (zh) * 2022-08-19 2022-11-01 南京邮电大学 基于自适应March算法的可重构MBIST方法
CN115656792B (zh) * 2022-12-29 2023-03-17 摩尔线程智能科技(北京)有限责任公司 芯片可测性设计的测试方法及测试平台
CN117422029B (zh) * 2023-12-18 2024-02-13 成都电科星拓科技有限公司 eFuse控制模块的验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997004459A1 (en) * 1995-07-14 1997-02-06 National Semiconductor Corporation Built in self test (bist) for multiple rams
WO2005013285A1 (en) * 2002-11-26 2005-02-10 Infineon Technologies Ag Modular test controller with bist circuit for testing embedded dram circuits
US20050204232A1 (en) * 2004-02-27 2005-09-15 Markus Seuring Technique for combining scan test and memory built-in self test

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051996A (en) * 1989-03-27 1991-09-24 The United States Of America As Represented By The United States Department Of Energy Built-in-test by signature inspection (bitsi)
US6085334A (en) 1998-04-17 2000-07-04 Motorola, Inc. Method and apparatus for testing an integrated memory device
US6286116B1 (en) 1999-03-26 2001-09-04 Compaq Computer Corporation Built-in test method for content addressable memories
US6550032B1 (en) * 1999-07-28 2003-04-15 Lsi Logic Corporation Detecting interport faults in multiport static memories
US6510530B1 (en) * 1999-09-23 2003-01-21 Nortel Networks Limited At-speed built-in self testing of multi-port compact sRAMs
CA2321346A1 (en) * 2000-09-28 2002-03-28 Stephen K. Sunter Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
DE60208117T2 (de) * 2001-06-20 2006-08-17 Broadcom Corp., Irvine Selbsttest-Schaltung für Cache-Speicher
US6614263B2 (en) * 2002-02-05 2003-09-02 Logicvision, Inc. Method and circuitry for controlling clocks of embedded blocks during logic bist test mode
US7159145B2 (en) 2003-05-12 2007-01-02 Infineon Technologies Ag Built-in self test system and method
US20050223288A1 (en) * 2004-02-12 2005-10-06 Lockheed Martin Corporation Diagnostic fault detection and isolation
US7533309B2 (en) * 2004-02-26 2009-05-12 Nilanjan Mukherjee Testing memories using algorithm selection
EP1624465A1 (de) * 2004-08-06 2006-02-08 STMicroelectronics S.r.l. Eingebaute, programmierbare Selbsttest- und Selbstreparatur-Vorrichtung für eingebettete Speicher

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997004459A1 (en) * 1995-07-14 1997-02-06 National Semiconductor Corporation Built in self test (bist) for multiple rams
WO2005013285A1 (en) * 2002-11-26 2005-02-10 Infineon Technologies Ag Modular test controller with bist circuit for testing embedded dram circuits
US20050204232A1 (en) * 2004-02-27 2005-09-15 Markus Seuring Technique for combining scan test and memory built-in self test

Also Published As

Publication number Publication date
US20070204190A1 (en) 2007-08-30
DE102006009224A1 (de) 2007-08-30
US7653845B2 (en) 2010-01-26

Similar Documents

Publication Publication Date Title
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE60023882T2 (de) System auf einem Chip mit reprogrammierbarem Testgerät, Fehlerbeseitiger und Busüberwachung
DE60212962T2 (de) Hierarchischer intergrierter selbsttest
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE102004023407B4 (de) Testvorrichtung und Verfahren zum Testen eines eingebetteten Speicherkerns sowie zugehöriger Halbleiterchip
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE602006000922T2 (de) Vorrichtung und Verfahren zur Prüfung einer RAM
DE10244757B3 (de) Programmierung eines Speicherbausteins über ein Boundary Scan-Register
DE602005003302T2 (de) Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE60102164T2 (de) Systeminitialisierung eines mikrocode-basierten eingebauten speicher-selbsttests
DE69827159T2 (de) Boundary-scan-system mit adressabhängingen befehlen
DE4313594A1 (de) Mikroprozessor
DE602004009329T2 (de) Verfahren und system zum selektiven maskieren von testantworten
DE102016116717A1 (de) Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt
DE102016204623A1 (de) Arbitrierung zur speicherdiagnose
DE112018004577T5 (de) Multiprozessorkern-vorrichtung mit mbist
DE112019004344T5 (de) Testsystem zur Ausführung eines integrierten Selbsttests im Einsatz für Fahrzeuganwendungen
DE102005026403B4 (de) Verfahren zum Liefern von Abtastmustern zu einer elektronischen Vorrichtung
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: CHRONOCLOUD MEDTECH (SHANGHAI) CO., LTD., CN

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES, INC., SUNNYVALE, CALIF., US

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee