DE10153665A1 - Speichertester mit verbesserter Nachdecodierung - Google Patents

Speichertester mit verbesserter Nachdecodierung

Info

Publication number
DE10153665A1
DE10153665A1 DE10153665A DE10153665A DE10153665A1 DE 10153665 A1 DE10153665 A1 DE 10153665A1 DE 10153665 A DE10153665 A DE 10153665A DE 10153665 A DE10153665 A DE 10153665A DE 10153665 A1 DE10153665 A1 DE 10153665A1
Authority
DE
Germany
Prior art keywords
test
memory
dut
mask
data
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.)
Withdrawn
Application number
DE10153665A
Other languages
English (en)
Inventor
Stephen D Jordan
John M Freeseman
Samuel U Wong
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.)
Verigy Singapore Pte Ltd
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE10153665A1 publication Critical patent/DE10153665A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Der Datenweg in einem Nachdecodierungsmechanismus wird geändert, um eine Nachdecodierung zu ermöglichen, Daten zu verarbeiten, bevor oder wenn diese Daten in eine Zielort-Speicherstruktur in einem inneren Testspeicher plaziert werden. Andere Daten werden weiterhin zunächst in eine Speicherstruktur in einem inneren Testspeicher plaziert, bevor sie an den Nachdecodierungsmechanismus angelegt werden. Eine umfassende Maskierungsfähigkeit, gekoppelt mit Kopien von Fehlertabellen, ermöglicht eine Inkrementalnachdecodierungsanalyse für einen neuen Test und vermeidet ein Zählen von Fehlern an Stellen, von denen man bereits weiß, daß sie während vorheriger Tests versagt haben. Sowohl Fehler in Worten als auch Bitfehler können akkumuliert werden. Der Nachdecodierungsmechanismus ist oft in der Lage, aus einem einzigen Durchlauf durch die Daten mehrere Typen von Ergebnissen zu erzeugen, unabhängig davon, ob diese während des Betriebs oder von einer Struktur in dem inneren Testspeicher angelegt werden. Der Nachdecodierungsmechanismus weist Zähler auf, die von vorgeladenen Werten, die Schwellen zum Treffen von Entscheidungen bezüglich einer Fehleraktivität darstellen, abwärtszählen. Ein Nullzählwert erzeugt ein Endzählwertflag. Die Werte der diversen Endzählwertflags sind zu jeder Zeit als Daten, die in einem inneren Testspeicher zu registrieren sind, verfügbar. Zähler werden oft am Ende einer Testphase und als Vorbereitung auf eine nachfolgende Phase mit einem anfänglichen Zählwert ...

Description

Der Gegenstand der vorliegenden Patentanmeldung ist ver­ wandt mit demjenigen, der in der US-Patentanmeldung mit dem Titel MEMORY TESTER HAS MEMORY SETS CONFIGURABLE FOR USE AS ERROR CATCH RAM, TAG RAMs, BUFFER MEMORIES AND STIMULUS LOG RAM (Speichertester weist Speichersätze auf, die für eine Verwendung als Fehlererfassungs-RAM, TAG-RAMs, Puffer­ speicher und Stimulus-Log-RAM konfigurierbar sind), Serien­ nummer unbekannt, die am 28. September 2000 eingereicht wurde, offenbart ist. Diese Offenbarung beschreibt einen Aspekt von Operationen, die als Adreßklassifikation und Da­ tenklassifikation bekannt sind und hierin von Interesse sind. Aus diesem Grunde ist die US-Patentanmeldung Serien­ nummer unbekannt hiermit ausdrücklich durch Bezugnahme in dieses Dokument aufgenommen.
In die vorstehend aufgenommene Anmeldung selbst ist eine Anmeldung Seriennummer 09/665,892 mit dem Titel ERROR CATCH RAM FOR MEMORY TESTER HAS MEMORY SETS CONFIGURABLE FOR SIZE AND SPEED (Fehlererfassungs-RAM für Speichertester weist Speichersätze auf, die für Größe und Geschwindigkeit konfi­ gurierbar sind), die am 20. September 2000 eingereicht wur­ de, aufgenommen. Diese letztgenannte Anmeldung enthält eine ausführliche Beschreibung des bei dem unten beschriebenen Ausführungsbeispiel verwendeten Speichersystems, das zwar im Prinzip nicht wesentlich, aber dennoch das derzeitige System der Wahl ist. Seine Attribute könnten bei einer Be­ schreibung wie der folgenden nur schwer weggelassen wer­ den. Demzufolge wird auch die Anmeldung Seriennummer 09/665,892 hiermit ausdrücklich durch Bezugnahme in dieses Dokument aufgenommen.
Im täglichen Leben sind elektronische Geräte und deren Lei­ stungsfähigkeiten mittlerweile weit verbreitet. Außer dem Personalcomputer zu Hause tragen viele Menschen mehr als ein Produktivitätsgerät für die verschiedensten Zwecke mit sich. Die meisten persönlichen elektronischen Produktivi­ tätsgeräte umfassen eine Form von nicht-flüchtigem Spei­ cher. Mobiltelephone verwenden nicht-flüchtige Speicher, um benutzerprogrammierte Telephonnummern und Konfigurationen zu speichern und zu erhalten, wenn die Leistung abgeschal­ tet ist. PCMCIA-Karten verwenden nicht-flüchtigen Speicher, um Informationen zu speichern und zu erhalten, selbst wenn die Karte von ihrem Schlitz in dem Computer entfernt ist. Viele andere weit verbreitete elektronische Geräte profi­ tieren ebenfalls von der Langzeitspeicherfähigkeit von nicht-flüchtigem Speicher in nicht-betriebenen Anordnungen.
Die Hersteller von nicht-flüchtigen Speichern, die an die Hersteller von elektronischer Ausrüstung verkaufen, erfor­ dern Tester, um den richtigen Betrieb der Speicher, die sie herstellen, auszuführen und zu verifizieren. Aufgrund der Menge an nicht-flüchtigen Speichern, die hergestellt werden und bei fortlaufend niedrigen Preisen verkauft werden, ist es sehr wichtig, die Zeit zu minimieren, die benötigt wird, um ein einzelnes Teil zu testen. Aufgrund der Kosteneinspa­ rungen im Zusammenhang mit der Praxis des Einbauens der Speicherelemente in teurere Anordnungen mit minimalem oder ohne Testen fordern die Käufer von nicht-flüchtigen Spei­ chern von den Speicherherstellern, daß dieselben hohe Ver­ sanderträge erzielen. Dementsprechend muß der Speichertest­ prozeß ausreichend effizient sein, um einen großen Prozent­ satz von fehlerhaften Teilen und vorzugsweise alle fehler­ haften Teile in einem einzigen Testprozeß zu identifizie­ ren.
Während nicht-flüchtige Speicher größer, dichter und kom­ plexer werden, müssen die Tester in der Lage sein, die er­ höhte Größe und Komplexität zu bearbeiten, ohne die Zeit wesentlich zu erhöhen, die benötigt wird, um dieselben zu testen. Speichertester laufen häufig kontinuierlich, und die Testzeit wird als ein Hauptfaktor in bezug auf die Ko­ sten des fertigen Teils angesehen. Während sich Speicher entwickeln und verbessern, muß der Tester in der Lage sein, sich leicht an die Änderungen anzupassen, die an dem Ele­ ment durchgeführt wurden. Ein weiteres spezifisches Thema beim Testen nicht-flüchtiger Speicher ist, daß wiederholte Schreibvorgänge auf Zellen der Speicher die Gesamtlebens­ dauerleistungsfähigkeit des Teils verschlechtern kännen. Die Hersteller von nicht-flüchtigen Speichern haben auf viele der Testaufgaben durch Einbauen spezieller Testmodi in die Speicherelemente reagiert. Diese Testmodi werden von dem Käufer des Speichers überhaupt nicht verwendet, aber der Hersteller kann auf dieselben zugreifen, um alle oder wesentliche Abschnitte der Speicher in so kurzer Zeit wie möglich und so effizient wie möglich zu testen. Einige nicht-flüchtige Speicher können auch während dem Testprozeß repariert werden. Der Tester sollte daher in der Lage sein, folgendes zu identifizieren: eine benötigte Reparatur, eine Position der Reparatur, den Typ der benötigten Reparatur, und muß dann in der Lage sein, die geeignete Reparatur durchzuführen. Ein solcher Reparaturprozeß erfordert, daß ein Tester in der Lage ist, einen spezifischen fehlerhaften Abschnitt des Speichers zu erfassen und abzutrennen. Um die gesamten Vorteile der speziellen Testmodi als auch der Re­ paraturfunktionen zu erhalten, ist es für einen Tester von Vorteil, in der Lage zu sein, ein Testprogramm auszuführen, das eine bedingte Verzweigung auf der Basis einer erwarte­ ten Ansprache von dem Element unterstützt.
Von einer konzeptionellen Perspektive aus ist der Prozeß des Testens von Speichern ein algorithmischer Prozeß. Als Beispiel umfassen typische Tests das sequentielle Inkremen­ tieren oder Dekrementieren von Speicheradressen, während Nullen und Einsen in die Speicherzellen geschrieben werden. Es ist gebräuchlich, eine Ansammlung von Einsen und Nullen, die während einem Speicherzyklus geschrieben oder gelesen werden, als einen "Vektor" zu bezeichnen, während sich der Begriff "Struktur" auf eine Sequenz von Vektoren bezieht. Es ist bei Tests gebräuchlich, Schreibstrukturen, wie z. B. Schachbretter, laufende Einsen und Schmetterlingsstrukturen in den Speicherplatz aufzunehmen. Ein Testentwickler kann mit der Hilfe von algorithmischen Elementen ein solches Programm zum Erzeugen dieser Strukturen leichter und effi­ zienter erzeugen. Eine Teststruktur, die algorithmisch ko­ härent ist, ist außerdem bei der Fehlersuche einfacher, und logische Verfahren sind zum Isolieren von Abschnitten der Struktur, die nicht wie erwartet funktionieren, leichter zu verwenden. Eine Teststruktur, die unter Verwendung von An­ weisungen und Befehlen, die in Programmierschleifen wieder­ holt werden, algorithmisch erzeugt wurde, verbraucht in dem Testerspeicher weniger Platz. Dementsprechend ist es wün­ schenswert, in einem Speichertester eine algorithmische Teststrukturerzeugungsfähigkeit zu haben.
Die genaue Signalflankenplazierung und -erfassung ist eben­ falls eine Erwägung bei der Effektivität eines nicht­ flüchtigen Testers. Um Teile zu erfassen, die im allgemei­ nen einem Medianwert entsprechen, während sie nicht inner­ halb der spezifizierten Spanne entsprechen, muß ein nicht­ flüchtiger Speichertester in der Lage sein, jede Signal­ flanke bezüglich der Zeit zu einer anderen Signalflanke präzise zu plazieren. Es ist außerdem wichtig, daß derselbe in der Lage ist, genau zu messen, zu welchem Zeitpunkt eine Signalflanke empfangen wird. Dementsprechend sollte ein nicht-flüchtiger Speichertester ausreichend Flexibilität aufweisen und Steuerung der Zeitgebung und Plazierung von Stimuli und Antworten bzw. Ansprechen von dem zu testenden Gerät (Speicher).
Die Speichertester sollen Sendevektoren erzeugen, die an das DUT (device under test = zu testendes Gerät) angelegt werden (Stimulus), und Vektoren empfangen, die als Reaktion erwartet werden (Antwort). Die algorithmische Logik, die diese Vektoren erzeugt, kann dies im allgemeinen durchfüh­ ren, ohne sich damit zu befassen, wie ein spezielles Bit in einem Vektor von oder zu einer speziellen Signalanschluß­ stelle in dem DUT gelangt, da der Speichertester Abbil­ dungsanordnungen zum Routen von Signalen zu und von den Pins, die mit dem DUT in Kontakt treten, enthält. Die Samm­ lung der algorithmischen Erzeugung von Mustern, eines Ein­ stellens von Schwellen, einer Signalkonditionierung und von Vergleichsmechanismen, und der Sonden, die dieses mit dem DUT verbinden, wird als ein Testort bezeichnet. Im einfa­ chen Fall liegt ein DUT pro Testort vor.
Speichertester weisen einen inneren Testspeicher auf, der verwendet wird, um den Testvorgang zu erleichtern. Dieser innere Testspeicher kann für mehrere Zwecke verwendet wer­ den, u. a. zum Speichern von Sendevektoren vor der Zeit, im Gegensatz dazu, sie in Echtzeit zu erzeugen, zum Speichern erwarteter Empfangsvektoren, und zum Speichern einer Viel­ zahl von Fehlerhinweisen und anderer Informationen in bezug auf ein DUT-Verhalten, die während des Testens erhalten werden. (Es gibt auch Systemverwaltungszwecke, die dem Be­ trieb des Speichertesters innewohnen, die RAM verwenden und die in den Anwendungsbereich des Begriffes "innerer Spei­ cher" zu fallen scheinen. Diese sind eigens für den inter­ nen Betrieb des Testers reserviert, sind in der Regel auf der algorithmischen Ebene nicht sichtbar und sind mit Spei­ chern für ausführbare Anweisungen und mit inneren Steue­ rungsregistern vergleichbar. Dieser Speicher wird als "in­ nerer Steuerungsspeicher" beschrieben und ist von dem, was hierin unter dem Begriff "innerer Testspeicher" verstanden wird, ausgeschlossen. Wir verwenden den Begriff "innerer Testspeicher", um einen Speicher zu beschreiben, der ver­ wendet wird, um Bitmuster zu speichern, die direkt mit dem Stimulus des und der Antwort von dem DUT in Beziehung ste­ hen.) Es ist leicht zu erkennen, daß dieser innere Test­ speicher mindestens so schnell arbeiten muß, wie die Tests durchgeführt werden; ein sehr übliches Paradigma besteht darin, daß der innere Testspeicher (oder ein Teil dessel­ ben) durch dieselbe Adresse (oder eine Ableitung dersel­ ben), die auf das DUT angewandt wird, adressiert wird. Das, was daraufhin bei dieser adressierten Stelle in dem inneren Testspeicher gespeichert wird, zeigt ein DUT-Verhalten wäh­ rend eines Testbetriebs, der an dem DUT an dieser Adresse durchgeführt wird, an. Algorithmische Überlegungen in dem Testprogramm können bedeuten, daß die Sequenz von Adressen, die aufeinanderfolgenden Sendevektoren zugeordnet sind, willkürlich sein kann. Somit muß der innere Speicher die zweifachen Attribute einer hohen Geschwindigkeit und einer Zufallsadressierbarkeit aufweisen. Man denkt sofort an SRAM, der schnell, leicht zu steuern und bezüglich eines völlig zufälligen Adressierens tolerant ist. In der Tat verwendeten und verwenden herkömmliche Speichertester SRAM als ihren inneren Testspeicher.
Ungünstigerweise ist SRAM ziemlich teuer, und dies schränkt den Grad an innerem Testspeicher ein, mit dem Speicherte­ ster bisher arbeiten müßten. Das Ergebnis sind Einschrän­ kungen der Speichertesterfunktionalität, die durch einen Mangel an Speicher verursacht werden. DRAM ist bedeutend kostengünstiger, kann jedoch nicht ein zufälliges Adressie­ ren tolerieren und trotzdem bei hoher Geschwindigkeit ar­ beiten.
DRAM kann SRAM als innerer Testspeicher in einem Speicher­ tester ersetzen. Wie unten kurz beschrieben ist, kann das Problem des Erhöhens der Geschwindigkeit eines DRAM- Betriebs zur Verwendung als innerer Testspeicher gelöst werden, indem man den Grad an verwendetem DRAM erhöht, an­ statt dessen Geschwindigkeit zu erhöhen. Anzahlen identi­ scher DRAM-Banken werden als Gruppen behandelt. Eine Kombi­ nation aus Verschachtelungssignalen für unterschiedliche Speicherbanken in einer Gruppe derselben, und ein Multiple­ xieren zwischen diesen Gruppen von Banken verlangsamt den Speicherverkehr für eine jegliche Bank bis zu einer Rate, die die Bank bewerkstelligen kann.
Auf der höchsten Ebene der Organisation eines inneren Test­ speichers gibt es vier Speichersätze, von denen jeder sei­ nen eigenen und unabhängigen Adreßraum aufweist und ange­ forderte Speichertransaktionen durchführt. Zwei sind vom SDRAM-Typ, wie oben beschrieben, und zwei sind vom SRAM- Typ. Jeder Speichersatz weist seine eigene Steuerung auf, zu der Speichertransaktionen geleitet werden. Was extern sichtbare betriebsbezogene Fähigkeiten als Speicher angeht, sind alle vier Speichersätze im wesentlichen identisch. Sie unterscheiden sich lediglich in der Größe ihres Speicher­ raums und darin, wie sie intern implementiert sind: Die SRAM-Speichersätze verwenden kein Multiplexieren und Ver­ schachteln, da sie von Anfang an schnell genug sind. Trotz ihrer Unabhängigkeit können Speichersätze von demselben Typ (SRAM oder DRAM) "gestapelt" sein, das heißt als ein größe­ rer Adreßraum behandelt werden.
Somit ist der innere Testspeicher des Testers in vier Spei­ chersätze unterteilt, von denen zwei "interne" SRAMs sind und von denen zwei "externe" DRAMs sind. Sicherlich ist dieser gesamte Speicher physisch in dem Speichertester an­ geordnet; die Begriffe "intern" und "extern" haben mehr mit einer Integrationsebene zu tun. Die SRAMs sind integrale Bestandteile einer VLSI-Schaltung (VLSI = Integration in sehr großem Umfang), die der zentralen funktionalen Schal­ tungsanordnung des Testers zugeordnet ist, während die DRAMs einzeln verpackte Teile sind, die benachbart zu dem VLSI-Material angebracht sind. Das Maß an SRAM ist relativ gering (sagen wir ungefähr ein Megabit pro Speichersatz), während das Maß an DRAM beträchtlich und auswählbar ist (sagen wir im Bereich von 128 bis 1024 Megabits pro Spei­ chersatz). Die SRAM-Speichersätze liegen immer vor und kön­ nen für jeglichen geeigneten Zweck verwendet werden, bei­ spielsweise zum Speichern des erwarteten Inhalts eines DUT, das ein ROM (Festwertspeicher) ist. Obwohl sie tatsächlich optional sind, werden die DRAM-Speichersätze in der Regel zum Erzeugen einer Spur für eine nachfolgende Analyse, die zu einer Reparatur führt, verwendet; es gibt aber auch an­ dere Verwendungen. Im Prinzip muß der Tester keine Unter­ scheidungen zwischen den SRAM- und DRAM-Speichersätzen in bezug auf unterschiedliche Zwecke, für die sie verwendet werden können, durchsetzen. Es gibt einige praktische Un­ terscheidungen, die sich hauptsächlich in puncto Größe er­ geben; die SRAM-Speichersätze sind klein, während die DRAM- Speichersätze potentiell riesig sind. Die Person(en), die das Testprogrammieren erzeugt bzw. erzeugen, trifft bzw. treffen im allgemeinen die Entscheidungen in bezug darauf, wie die diversen Speichersätze zu verwenden sind. Es gibt jedoch einige wenige Unterscheidungen, bei denen ein be­ stimmtes Betriebsmerkmal des Speichertesters die Verwendung eines spezifischen Speichersatzes erfordert. Diese Fälle ergeben sich üblicherweise aus wirtschaftlichen oder lei­ stungsbezogenen Überlegungen, die einen zweckgebundenen Hardwarepfad zu einem Speichersatz erfordern. Während diese Mechanismen auf eine allgemeine Formel gebracht werden könnten, ist es zweckmäßig, einfach einen in Frage kommen­ den zu wählen und es dabei zu belassen.
Das Aufkommen beträchtlicher Ausmaße an innerem Testspei­ cher (in Form der DRAM-Speichersätze) wirft die Frage auf, wie dieses zusätzliche Maß an Speicher verwendet werden kann, um den Betrieb wünschenswerter Merkmale in dem Spei­ chertester zu ermöglichen. Bei betrachteten Tester ist das Untersystem des inneren Testspeichers insofern extrem fle­ xibel, als es zwar eine systemspezifische Wortbreite von zweiunddreißig Bits aufweist, die effektive Wortbreite je­ doch eine beliebige Potenz von zwei sein kann (bis zu 25 = 32), mit einem entsprechenden Anstieg an Adreßraum für schmälere Wörter. Es liegt eine umfassende Adreßabbildungs­ fähigkeit vor, sowohl für ein Adressieren von DUTs als auch für ein Adressieren eines inneren Testspeichers, beträcht­ liche Datenklassifikations- und Adreßklassifikationsmecha­ nismen, die mehrere Tag-RAMs und andere Fehleranalysetools ermöglichen, die alle praktischer ausgeführt werden, indem man über viel inneren Testspeicher verfügt. Überdies exi­ stieren diese Verbesserungen, die durch mehr Speicher mög­ lich gemacht werden, nicht in einem Vakuum; sie sind sehr wertvoll beim Testen bestimmter Typen von Speicherteilen.
Herkömmlicherweise weist ein Speichertester eine Fähigkeit auf, die als "Nachdecodierung" bezeichnet wird. Der Grund­ gedanke besteht darin, daß der innere Testspeicher, der in mehrere Abschnitte unterteilt worden sein kann (auf diverse Weise als Tabellen, Listen, Spuren oder "Bilder" von rele­ vanten Ereignissen organisiert) zur Inspektion bereitste­ hende Daten enthalten wird, nachdem an einem DUT Tests durchgeführt wurden. Meistens werden diese Inspektionen darauf ausgerichtet sein, Versagenshinweise zu entdecken, und bei dem zur Debatte stehenden System ist eine Anzeige eines Versagens durch eine Null codiert. Dies ist eine ge­ wisse Vereinfachung, doch was oft benötigt wird, und was von dem Nachdecodierungsmechanismus häufig erwartet wird, ist, die Anzahl von Nullen in einer gewissen Struktur bei dem inneren Testspeicher zu summieren. Bei bekannten Spei­ chertestern war es bisher erforderlich, daß die Testdaten in einer gewissen Speicherstruktur in dem inneren Testspei­ cher gespeichert werden, beispielsweise in einem Fehlerer­ fassungs-RAM, bevor sie auf den Nachdecodierungsmechanismus angewandt werden.
Bekannte Speichertester mit einer Nachdecodierungsfähigkeit sind auf eine Weise begrenzt, die derzeit so empfunden wird, daß sie eine erhöhte Testzeit verursacht. Hersteller von großvolumigen Speicherteilen sind der Ansicht, daß "Zeit an dem Tester Geld ist" und befürworten Strategien, die eine Testzeit verringern. Das Aufkommen erhöhter Maße an innerem Testspeicher, in Verbindung mit Adreß- und Da­ tenklassifikationstechniken, die die Herstellung einer Vielzahl von "Tag-RAMs" ermöglichen (Tabellen, deren Ein­ träge stark differenzierte Bedeutungen aufweisen und somit im Vergleich mit beispielsweise einem einfachen Bild von Adressen als Funktion eines Fehlers, das in der Größe im wesentlichen äquivalent zu dem DUT selbst ist, klein sind), führte dazu, daß herkömmliche Nachdecodierungstechniken zu einem begrenzenden Faktor bei der Aufgabe des Verringerns von Testzeit wurden. Diese Situation wird einfach noch schlimmer, da Speicher (DUTs) größer und intern komplexer werden. Die erhöhte Komplexität bedeutet, daß bei einem in­ neren Testspeicher mehr Speicherstrukturen (Tag-RAMs usw.) auf den Nachdecodierungsabschnitt anzulegen sind, und die erhöhte Größe der DUTs bedeutet, daß diese Speicherstruktu­ ren auch größer sind; dies alles führt zu einem Anstieg der Testzeit.
Was kann getan werden, um einen Nachdecodierungsvorgang schneller und effizienter zu gestalten? Und gibt es neue Arten von Messungen, die eine verbesserte Nachdecodierung durchführen kann, die zu der Nützlichkeit des Speicherte­ sters beitragen?
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfah­ ren zum Analysieren von Testergebnissen für einen Speicher, der an einem Speichertester getestet wird, zu schaffen, das verbesserte Charakteristika aufweist.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 ge­ löst.
Es kann eine Reihe von Dingen unternommen werden, um den Nachdecodierungsvorgang zu verbessern. Bei dem unten be­ schriebenen bevorzugten Ausführungsbeispiel wird der Daten­ pfad in den Nachdecodierungsabschnitt geändert, um es einer Nachdecodierung zu ermöglichen, geeignete Daten sozusagen "während des Betriebs", bevor oder während diese Daten in eine Bestimmungsort-Speicherstruktur in dem inneren Test­ speicher plaziert werden, zu verarbeiten. Andere Daten wer­ den auch weiterhin zuerst in eine Speicherstruktur in dem inneren Testspeicher plaziert werden, bevor sie an den Nachdecodierungsmechanismus angelegt werden. Eine umfang­ reiche Maskierungsfähigkeit ermöglicht in Verbindung mit Kopien von Fehlertabellen eine inkrementale Nachdecodie­ rungsanalyse für einen neuen Test und vermeidet ein Zählen von Fehlern an Stellen, von denen man bereits weiß, daß sie während eines vorhergehenden Tests bzw. während vorherge­ hender Tests versagt haben. Fehler können mit unterschied­ lichen Umfängen oder einer unterschiedlichen Auflösung ak­ kumuliert werden; sowohl Fehler in Worten als auch Bitfeh­ ler können akkumuliert werden. Die Innenarchitektur eines verbesserten Nachdecodierungsmechanismus ist oft in der La­ ge, aus einem einzigen Durchlauf durch die Daten, ob sie während des Betriebs oder von einer Struktur in dem inneren Testspeicher angelegt werden, mehrere Typen von Ergebnissen zu erzeugen. Der Nachdecodierungsmechanismus weist viele Zähler in demselben auf, und sie zählen von vorgeladenen Werten, die Schwellen zum Treffen von Entscheidungen über Fehleraktivität darstellen, abwärts. Wenn ein Zähler bis auf Null abwärtszählt, erzeugt er ein Endzählwertflag. Die Werte der diversen Endzählwertflags sind zu jeder Zeit als Daten erhältlich, die in einer Struktur in einem inneren Testspeicher zu speichern sind (deren Werte sind protokol­ liert). Es ist schließlich häufig der Fall, daß jeder Zäh­ ler bei dem Abschluß einer Testphase und als Vorbereitung auf eine nachfolgende Phase mit seinem anfänglichen Zähl­ wert neu beladen wird. Man kann manche Gemeinkosten sparen und die Nützlichkeit erhöhen, indem man es so einrichtet, daß die Zähler jeweilige Anfangswertregister aufweisen, von denen sie auf einen Erhalt eines einzelnen Befehls hin neu geladen werden können, statt diese diversen Anfangswerte über einen Bus wieder neu senden zu müssen. Überdies ist es wünschenswert, es so einzurichten, daß das Vorliegen des Endzählwertflags für einen Zähler das Neuladen des Zählers von seinem Anfangswertregister unterbinden kann.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein vereinfachtes Blockdiagramm eines weitgehend rekonfigurierbaren nicht-flüchtigen Speicherte­ sters, der gemäß der Erfindung aufgebaut ist;
Fig. 2 ein ausgedehntes vereinfachtes Blockdiagramm des DUT-Testers 6 der Fig. 1;
Fig. 3 ein vereinfachtes Funktionsblockdiagramm des Me­ chanismus des inneren Testspeichers, der in dem Blockdiagramm der Fig. 2 erscheint;
Fig. 4A/B ein vereinfachtes Blockdiagramm des Nachdecodie­ rungsmechanismus 60 der Fig. 2;
Fig. 5 ein Blockdiagramm einer Maskenschaltung, die bei dem Blockdiagramm der Fig. 4 verwendet wird;
Fig. 6 ein Blockdiagramm einer Maske und einer Bitweise- Zähler-Schaltung, die bei dem Blockdiagramm der Fig. 4 verwendet wird; und
Fig. 7 ein vereinfachtes Blockdiagramm einer bestimmten Zähler- und Endzählwertflag-Schaltungsanordnung, die in Fig. 4B verwendet wird.
Mit Bezugnahme auf Fig. 1 ist ein vereinfachtes Blockdia­ gramm 1 eines nicht-flüchtigen Speichertestsystems gezeigt, das gemäß den Prinzipien der Erfindung aufgebaut ist. Ins­ besondere kann das gezeigte System gleichzeitig bis zu 36 einzelne DUTs (Devices Under Test = zu testende Geräte) mit jeweils bis zu 64 Testpunkten zu einem Zeitpunkt testen, mit Vorkehrungen für eine Rekonfiguration, um es Elementen einer Sammlung von Testressourcen zu ermöglichen, zusammen­ gebunden zu werden, um DUTs mit mehr als 64 Testpunkten zu testen. Diese Testpunkte können Positionen auf einem Ab­ schnitt eines integrierten Schaltungswafers sein, der noch nicht vereinzelt und verpackt wurde, oder sie können die Stifte des verpackten Teils sein. Der Begriff "Testpunkt" bezieht sich auf eine elektrische Position, an der ein Si­ gnal angelegt werden kann (z. B. Leistungsversorgung, Uh­ ren, Dateneingänge), oder an der ein Signal gemessen werden kann (z. B. ein Datenausgang). In dieser Beschreibung wer­ den die Gebräuche der Industrie befolgt, die Testpunkte als "Kanäle" zu bezeichnen. Die "Sammlung von Testressourcen, die zusammengebunden werden sollen" auf die oben Bezug ge­ nommen wurde, können als bis zu 36 Testorte angesehen wer­ den, wobei jeder Testort eine Testortsteuerung (4), einen (64 Kanal-) DUT-Tester (6) und eine (64 Kanal-) Sammlung von Pinelektronik (9), die die tatsächliche elektrische Verbindung zu einem DUT (14) herstellt, umfaßt. In dem Fall, in dem das Testen des DUT 64 oder weniger Kanäle er­ fordert, reicht ein einzelner Testort aus, um Tests an die­ sem DUT durchzuführen, und hier wird beispielsweise ange­ nommen, daß der Testort Nr. 1 (wie er in Fig. 1 erscheint) eine "Einzelortteststation" bildet oder als eine solche wirkt. Wenn dagegen eine Form der vorher erwähnten Rekonfi­ guration wirksam ist, werden zwei (oder mehr) Testorte "verbunden", um als ein größerer äquivalenter Testort mit 128 Kanälen zu wirken. Dementsprechend und unter erneuter Bezugnahme auf ein in Fig. 1 gezeigtes Beispiel wird ange­ nommen, daß die Testorte Nr. 35 und Nr. 36 eine "Zwei-Ort- Teststation" bilden.
Um kurz den entgegengesetzten Fall zu bedenken, sollte nicht angenommen werden, daß ein gesamter Testort benötigt wird, um ein einziges DUT zu testen, oder daß ein einziger Testort nur ein einziges DUT testen kann. Angenommen, ein Wafer würde zwei, drei oder vier (möglicherweise aber nicht notwendigerweise benachbarte) Chips aufweisen, wobei die Summe der Testkanalanforderungen desselben 64 Kanäle oder weniger wäre. Solche DUTs (15a-d) können durch einen einzi­ gen Testort (z. B. Testort Nr. 2, wie in Fig. 2 gezeigt) gleichzeitig getestet werden. Dies wird durch die Univer­ salprogrammierbarkeit jedes Testorts ermöglicht, wie sie durch bestimmte Hardwaremerkmale, die bald an geeigneter Stelle beschrieben werden, verbessert wird. Im Prinzip kann ein Testprogramm, das durch den Testort ausgeführt wird, derart geschrieben werden, daß ein Teil der Ressourcen des Testorts verwendet wird, um eines der DUTs zu testen, wäh­ rend ein Teil verwendet wird, um das andere DUT zu testen. Wenn man schließlich annimmt, daß, falls ein drittes DUT vorliegt, dieses die logische Einheit der ersten beiden wä­ re, wäre man in der Lage, dieses dritte DUT mit einem ein­ zigen Testort zu testen, daher sollte man in der Lage sein, gleichermaßen die "Komponenten-DUTs" desselben zu testen. Ein großer Unterschied ist natürlich, individuell zu ver­ folgen, welches der beiden "Komponenten-DUTs" besteht oder versagt, im Gegensatz zu einer einfachen, einheitlichen Antwort für das "dritte" DUT. Das heißt, es gibt ein Pro­ blem bezüglich der Frage, welcher Abschnitt des "dritten" DUT versagt hat. Es gibt auch andere Anliegen, einschließ­ lich eines Entfernens oder Begrenzens der Treibersignale auf ein schlechtes DUT, eines Verzweigens innerhalb des Testprogramms auf der Basis dessen, welches DUT ein Versa­ gen anzeigt, während gleichzeitig verhindert wird, daß das Testprogramm hoffnungslos mehrfach-verkettet wird. Bestimm­ te einfache Aspekte dieser "Mehrfach-DUT-Teststation"- Fähigkeit bei einem einzigen Testort sind ziemlich einfach, während andere komplex sind. Ein Mehrfach-DUT-Testen sollte nicht mit der Idee des Verbindens von zwei oder mehreren Testorten verwechselt werden.
Abgesehen von diesem Gedanken der Testort-Rekonfiguration gäbe es keinen Unterschied zwischen einem Testort und einer Teststation, und einer dieser Begriffe könnte weggelassen werden. So wie es ist, wird jedoch offensichtlich, daß die Anzahl von Teststationen nicht gleich der Anzahl von Test­ orten sein muß. In der Vergangenheit konnten die Anzahlen unterschiedlich sein, weil die Testorte manchmal unterteilt wurden, um mehr Teststationen für einfaches Mehrfach-DUT- Testen zu erzeugen (DUTs, die nicht komplex genug sind, um einen gesamten Testort zu verbrauchen). Nun kann der Unter­ schied jedoch auch daran liegen, daß die Testorte zusammen verbunden wurden, um Mehrfachort-Teststationen zu bilden (DUTs, die zu komplex für einen einzigen Testort sind).
Nachfolgend wird dann eine Testsystemsteuerung 2 durch ei­ nen Systembus 3 mit bis zu 36 Testortsteuerungen verbunden, deren Namen mit dem Zusatz Nr. 1 bis 36 (4a bis 4z) enden. (Es stimmt, daß die Indexe a bis z nur von 1 bis 26 gehen, und nicht bis 36. Aber diese kleine Abweichung ist im Ver­ gleich zu numerischen Indexen hinter numerischen Bezugszei­ chen vorzuziehen, die wahrscheinlich sehr verwirrend wä­ ren.) Die Testsystemsteuerung 2 ist ein Computer (z. B. ein PC, auf dem NT läuft), der ein geeignetes Testsystemsteuer­ programm ausführt, das sich auf die Aufgabe des Testens nichtflüchtiger Speicher bezieht. Das Testsystemsteuerpro­ gramm stellt die höchste Abstraktionsebene in einer hierar­ chischen Arbeitsteilung (und Komplexität) zum Ausführen des gewünschten Testens dar. Die Testsystemsteuerung bestimmt, welche Programme durch die unterschiedlichen Testorte aus­ geführt werden, und überwacht auch ein Robotersystem (nicht gezeigt), das die Testsonden und DUTs wie benötigt bewegt. Die Testsystemsteuerung 2 kann auf bestimmte Weisen wirken, die den Gedanken unterstützen, daß einige Testorte program­ miert sind, um als Einzelort-Teststationen zu arbeiten, manche als Mehrfach-DUT-Teststationen, während andere ver­ bunden sind, um Mehrfachort-Teststationen zu bilden. Selbstverständlich werden unter solchen Umständen unter­ schiedliche Teile getestet, und es ist sehr wünschenswert, daß für die unterschiedlichen Teile unterschiedliche Tests verwendet werden. Gleichartig dazu gibt es weder die Anfor­ derung, daß alle Einzelort-Teststationen die gleiche Art von Teilen testen, noch gibt es eine solche Anforderung für Mehrfachort-Teststationen. Dementsprechend ist die Testsy­ stemsteuerung 2 programmiert, um die Befehle auszugeben, um das benötigte Testort-Verbinden auszuführen und dann die geeignete Testprogramme für die verschiedenen verwendeten Teststationen aufzurufen. Die Testsystemsteuerung 2 emp­ fängt außerdem Informationen über Ergebnisse, die von den Tests erhalten werden, so daß dieselbe die geeigneten Ak­ tionen zum Entsorgen des schlechten Teils durchführen kann und daß dieselbe Protokolle für die verschiedenen Analysen erhalten kann, die verwendet werden können, um beispiels­ weise Produktionsprozesse in einer Fabrikumgebung zu steu­ ern.
Das Testsystem selbst ist ein relativ großes und komplexes System, und es ist gebräuchlich, daß dasselbe ein Roboter­ teilsystem verwendet, um Wafer auf eine Stufe zu laden, die dann nacheinanderfolgend eine oder mehrere zukünftige Chips unter Sonden positioniert, die mit der Pinelektronik 9 ver­ bunden sind, woraufhin diese zukünftigen Chips (der Wafer wurde noch nicht vereinzelt) getestet werden. Das Testsy­ stem kann ebenfalls verwendet werden, um verpackte Teile zu testen, die auf einem geeigneten Träger geladen wurden. Je­ der Teststation, die in Betrieb ist, wird zumindest eine Testortsteuerung zugeordnet sein (wie es nachfolgend er­ klärt wird), unabhängig davon, wie viele Testorte verwendet werden, um diese Teststation zu bilden, oder wie viele Teststationen sich an einem Testort befinden. Eine Testort­ steuerung ist ein eingebettetes System, das ein i960- Prozessor von Intel mit 36 bis 64 MB von kombiniertem Pro­ gramm- und Datenspeicher sein kann, der auf einem eigenen Betriebssystem namens VOS (VersaTest-Betriebssystem) läuft, das auch bei früheren Produkten zum Testen nicht-flüchtiger Speicher (z. B. Agilent V1300 oder V3300) verwendet wurde. Für den Moment wird nur die Situation für Einzelort- Teststationen betrachtet. Für den Zweck eines bestimmten Beispiels wird angenommen, daß der Testort Nr. 1 als Test­ station Nr. 1 wirkt, und daß derselbe das WHIZCO-Teil Nr. 0013 testen soll. Die Testbestimmungen umfassen etwa 100 unterschiedliche Typen von Tests (Variieren und Überwachen der Spannungspegel, Pulsbreiten, Flankenpositionen, Verzö­ gerungen, als auch eine große Menge an einfachem Speichern und anschließendem Wiedergewinnen von ausgewählten Informa­ tionsstrukturen), und jeder Typ von Test umfaßt viele Mil­ lionen einzelner Speicherzyklen für das DUT. Auf der höch­ sten Ebene weisen die Betreiber des Testsystems die Testsy­ stemsteuerung 2 an, die Teststation Nr. 1 zu verwenden, um damit zu beginnen, die WHIZCO 0013 zu testen. Zu gegebener Zeit teilt die Testsystemsteuerung 2 der Testortsteuerung Nr. 1 (4a) (die ein eingebettetes [Computer]-System ist) mit, das zugeordnete Testprogramm, etwa TEST_WHIZ_13, ab­ laufen zu lassen. Falls das Programm innerhalb der Umgebung der Testortsteuerung Nr. 1 bereits verfügbar ist, wird es einfach ausgeführt. Falls nicht, wird es durch die Testsy­ stemsteuerung 2 geliefert.
Im Prinzip könnte nun das Programm TEST_WHIZ_13 vollständig unabhängig sein. Aber wenn es dies wäre, wäre es mit ziem­ licher Sicherheit sehr groß und es kann für den Prozessor des eingebetteten Systems innerhalb der Testortsteuerung 4a schwierig sein, schnell genug zu laufen, um die Tests mit der gewünschten Geschwindigkeit zu erzeugen, oder selbst mit einer Rate, die von einem DUT-Speicherzyklus zu dem nächsten einheitlich ist. Dementsprechend werden Unterrou­ tinetyp-Aktivitäten auf niedriger Ebene erzeugt, die Se­ quenzen von Adressen und zugeordneten Daten, die geschrie­ ben werden sollen oder von einer Leseoperation erwartet werden, nach Bedarf von einem programmierbaren algorithmi­ schen Mechanismus erzeugt, der in dem DUT-Tester 6 positio­ niert ist, der aber synchron mit dem Programm wirkt, das durch das eingebettete System in der Testortsteuerung 4 ausgeführt wird. Dies kann als Exportieren bestimmter Un­ terroutineartiger Aktivitäten auf niedriger Ebene und der Aufgabe des Auslösens von DUT-Speicherzyklen zu einem Me­ chanismus (dem DUT-Tester), der näher bei der Hardwareumge­ bung des DUT 14 liegt, angesehen werden. Allgemein gesagt, jedesmal, wenn die Testsystemsteuerung 2 eine Testortsteue­ rung mit einem Testprogramm ausstattet, versorgt dieselbe dann außerdem den zugeordneten DUT-Tester mit geeigneten Implementierungsroutinen auf niedriger Ebene (vielleicht spezifisch für den getesteten Speicher), die benötigt wer­ den, um die Gesamtaktivität auszuführen, die von dem Pro­ grammieren für die Testortsteuerung beschrieben oder benö­ tigt wird. Die Implementierungsroutinen auf niedriger Ebene werden als "Strukturen" bezeichnet, und dieselben sind im allgemeinen mit einem Namen versehen (genauso wie Funktio­ nen und Variablen in Programmsprachen hoher Ebene Namen aufweisen).
Jede Testortsteuerung Nr. n(4) ist durch einen Orttestbus Nr. n(5) mit ihrem zugeordneten DUT-Tester Nr. n(6) gekop­ pelt. Die Testortsteuerung verwendet den Orttestbus 5, so­ wohl um den Betrieb des DUT-Testers zu steuern, als auch um Informationen von demselben über Testergebnisse zu empfan­ gen. Der DUT-Tester 6 ist in der Lage, die verschiedenen DUT-Speicherzyklen, die in den Testvorschriften enthalten sind, mit hoher Geschwindigkeit zu erzeugen, und derselbe entscheidet, ob die Ergebnisse eines Lesespeicherzyklus so sind wie erwartet. Im wesentlichen spricht derselbe auf Be­ fehle oder Operationscodes ("mit Namen versehene Struktu­ ren") an, die von der Testortsteuerung gesendet werden, durch Auslösen entsprechender nützlicher Sequenzen von Le­ se- und Schreib-DUT-Speicherzyklen (d. h. derselbe führt die entsprechenden Strukturen aus). Konzeptionell ist das Ausgangssignal des DUT-Testers 6 eine Stimulusinformation, die an das DUT angelegt werden soll, und dasselbe akzep­ tiert auch Ansprechinformationen von demselben. Diese Sti­ mulus/Ansprechinformation 7a verläuft zwischen dem DUT- Tester 6a und einer Pinelektronik Nr. 1 Anordnung 9a. Die Pinelektronikanordnung 9a unterstützt bis zu 64 Sonden, die an das DUT 14 angelegt werden können.
Die oben erwähnte Stimulusinformation ist lediglich eine Sequenz von parallelen Bitstrukturen (d. h. eine Sequenz von "Sendevektoren" und erwarteten "Empfangsvektoren"), die gemäß den Spannungspegeln einer Familie von Logikelementen, die in dem DUT-Tester verwendet werden, ausgedrückt wird. Es gibt ein konfigurierbares Abbilden zwischen Bitpositio­ nen in einem Stimulus/Antwort und den Sonden, die zu dem Chip gehen, wobei dieses Abbilden durch den DUT-Tester 6 verstanden wird. Die einzelnen Bits sind bezüglich ihrer Zeitgebung und Flankenplazierung korrekt, aber zusätzlich zu dem Abbilden können sie ebenfalls Spannungspegelumschal­ ten benötigen, bevor sie an das DUT angeleqt werden können. Gleichartig dazu kann eine Antwort, die nachfolgend zu ei­ nem Stimulus in dem DUT auftritt, Puffern und "umgekehrtes" Pegelumschalten benötigen, bevor dieselbe als geeignet an­ gesehen werden kann, um zurück zu dem DUT-Tester geführt zu werden. Diese Pegelumschaltaufgabe sind das Gebiet der Pin­ elektronik 9a. Die Pinelektronikkonfiguration, die zum Te­ sten eines WHIZCO 0013 benötigt wird, wird wahrscheinlich beim Testen eines Teils von der ACME Co. nicht funktionie­ ren, und vielleicht nicht einmal bei einem anderen WHIZCO- Teil. Daher ist offensichtlich, daß die Pinelektronikanord­ nung ebenfalls konfigurierbar sein muß, eine solche Konfi­ gurierbarkeit ist die Funktion der PE- Konfigurationsleitungen 8a.
Die obigen Ausführungen beenden einen kurzen architektoni­ schen Überblick darüber, wie ein einzelner Testort zum Te­ sten eines DUT strukturiert ist. Es folgen nun Themen, die sich ergeben, wenn es viele Testorte gibt, die betrieben werden müssen. Als Einleitung wird ein bevorzugtes Ausfüh­ rungsbeispiel zum Aufbauen eines Testsystems mit mehreren Testorten beschrieben. In vielerlei Hinsicht sind einige der Informationen, die beschrieben werden, ein Frage von Vorlieben auf der Basis von Marktstudien über Kundenvorlie­ ben und Kosten-Nutzen-Analysen. Wie dem auch sei, um eines dieser Dinge zu erstellen, muß man eine bestimmte Wahl treffen, und sobald dies getan ist, ergeben sich bestimmte Konsequenzen, die durch das gesamte System sichtbar sind. Es wird davon ausgegangen, daß es nützlich ist, zumindest auf allgemeine Weise die größeren Umrisse der Hardwareei­ genschaften des Testsystems zu beschreiben. Selbst wenn ei­ nige dieser Eigenschaften zufällig sind, wird die Kenntnis derselben trotzdem eine Anerkennung der verschiedenen Bei­ spiele unterstützen, die verwendet werden, um die Erfindung darzustellen.
Man betrachte zu Beginn vier eher große Kartenkäfige. Außer Leistungszufuhren und Wasserkühlung (Ventilatoren können in einer sauberen Raumumgebung eine Verschmutzungsquelle dar­ stellen, und gekühltes Wasser ist billiger als eine Luft­ klimatisierung, um die mehreren zehn KW an abgeführter Wär­ me für ein voll belastetes System zu beseitigen) umfaßt je­ der Kartenkäfig eine Hauptplatine, eine Vorderfläche und eine Rückfläche. In jeden Kartenkäfig können bis zu 9 An­ ordnungen plaziert werden. Jede Anordnung umfaßt eine Test­ ortsteuerung, eine DUT-Tester und eine Pinelektronik. Nach­ folgend wird in groben Zügen dargestellt, wie Testortsteue­ rungen verbunden werden, was einige Busse umfassen wird, die verwendet werden, um Verkettungen (Daisy-Chains) zu er­ zeugen.
Ein kurzer Exkurs bezüglich des Begriffs "Verkettung" ist an dieser Stelle vielleicht angebracht. Man betrachte die Systemelemente A, B, C und D. Angenommen, dieselben sollen in dieser Reihenfolge verkettet werden. Man könnte sagen, daß es einen Informations- oder Steuerweg gibt, der A ver­ läßt und in D geht, daß B selektiv Verkehr weiterleiten kann, der dann B verläßt und in C geht, und daß C selektiv Verkehr weiterleiten kann, der dann in D geht. Diese glei­ che Art von Anordnungen können auch für Verkehr in der an­ deren Richtung existieren. Verkettungen werden oft verwen­ det, um Prioritätsschemata zu erzeugen, dieselben werden hier verwendet, um Master/Slave-Beziehungen zwischen ver­ schiedenen Testortsteuerungen zu erzeugen. Diese verkette­ ten Kommunikationsanordnungen werden mit dem Zusatzwort "DSY" statt "BUS" bezeichnet. Somit kann statt auf einen Befehl/Datenbus auf einen Befehl/Daten-DSY Bezug genommen werden. Nun kann der Gedanke, daß Informationen "in B ein­ dringen und selektiv weitergeleitet werden", darauf hindeu­ ten, daß der Verkehr auf einen getrennten Satz von Leitern reproduziert wird, bevor er weitergeleitet wird. Es könnte so sein, aber aus Leistungsgründen ist es eher ein regulä­ rer Bus mit adressierbaren Einheiten. Durch eine program­ mierbare Adreßabbildungsanordnung und die Fähigkeit, stro­ mabwärtige Testortsteuerungen "stillzulegen" kann erreicht werden, daß der einzelne Bus so logisch als eine Mehrzahl von Verkettungen erscheint (d. h. so funktioniert). Schließlich ist offensichtlich, daß die Verkettungen Hoch­ leistungswege für Befehl und Steuerinformationen sind, und daß, wenn sie dies nicht wären, man nicht erwarten könnte, daß eine Master/Slave-Kombination (Mehrfachort-Teststation) so schnell arbeitet wie ein einzelner Testort. Zugunsten der Verkettungsleistungsfähigkeit muß gesagt werden, daß die verschiedenen DSY ihre jeweiligen Kartenkäfige nicht verlassen. Der Effekt dieser Entscheidung ist, daß einige Beschränkungen auferlegt werden, welche Testorte (und somit auch wie viele) verbunden werden können. Im Prinzip gibt es keinen grundlegenden Bedarf für diese Beschränkung, noch gibt es einen allgemeinen Mangel an technischer Praktikabi­ lität (es könnte durchgeführt werden), es wird lediglich davon ausgegangen, daß das Erweitern der DSYs wesentliche Kosten für einen relativ geringen zusätzlichen Vorteil be­ wirken würde, da bereits 9 Testorte in einem Kartenkäfig bestehen.
Um die Erörterung von Fig. 1 wieder aufzunehmen, werden die verschiedenen Testortsteuerungen 4a-4z betrachtet, die die 4 Kartenkäfige besetzen können, jede mit 9 Testortsteuerun­ gen. Dieselben werden mit 4a-4f, 4g-4m, 4n-4t und 4u-4z be­ zeichnet. (Es macht nichts, daß dies nominal nur 26 Zusätze sind, wie vorher erklärt - der Leser ist eingeladen, sich vorzustellen, daß es irgendwo dort draußen weitere 10 Zu­ satzsymbole gibt.) Eine CMD/DAT DSY 17a (Befehls- und Da­ ten-Daisy-Chain = Befehls- und Datenverkettung) verbindet die Testortsteuerungen 4a-4f, die sich in einem Kartenkäfig befinden, während eine andere CMD/DAT DSY 17b die Testort­ steuerungen 4g-4 m in einem anderen Kartenkäfig verbindet. Die gleiche Anordnung besteht für die verbleibenden Karten­ käfige und die Testortsteuerungen 4n-4t bzw. 4u-4z. Es wur­ de vorher angemerkt, daß die DSY die Kartenkäfige nicht verlassen, da das "Schwanzende" eines Busses, das tatsäch­ lich die DSY bildet, einen Kartenkäfig nicht verläßt und der Kopf des nächsten Segments in einem anderen Kartenkäfig wird. Statt dessen geht der Systembus 3 von der Testsy­ stemsteuerung 2 zu allen Testortsteuerungen, und jeder ist in der Lage, an dem Kopf eines DSY-Segments, das den Kar­ tenkäfig nicht verläßt, ein Master zu werden.
Die CMD/DAT DSY 17a-d, die erörtert wurden, existieren zwi­ schen den verschiedenen Testortsteuerungen 4a-4z. Es gibt eine ähnliche Anordnung für die SYNC/ERR DSY 18a-18d und die DUT-Tester 6a-6z. Die Synchronisations- und Fehlerin­ formationen, die durch die SYNC/ERR DSY 18 übertragen wer­ den, ermöglichen es den DUT-Testern, in Übereinstimmung zu funktionieren. Diese beiden Verkettungen (17 und 18) tragen leicht unterschiedliche Typen von Informationen, aber jede existiert als Teil des gleichen allgemeinen Mechanismus zum Verbinden eines oder mehrerer Testorte in eine Teststation.
Nun folgt eine Erörterung von Fig. 2, die eine vereinfachte Blockdiagrammerweiterung des DUT-Testers 6 von Fig. 1 ist, von dem bis zu 36 vorliegen können. Es ist hier ausrei­ chend, nur ein Beispiel derselben zu beschreiben. Ein Blick auf Fig. 2 zeigt, daß dieselbe ziemlich vollgestopft ist, insbesondere für ein "vereinfachtes" Blockdiagramm. Eini­ ges, was sich in dem DUT-Tester 6 befindet und in dem Blockdiagramm dargestellt ist, ist funktionell ziemlich kompliziert und nicht in dieser Form direkt erhältlich. Es ist hier angebracht, zwei Punkte darzulegen. Zunächst ist es der Hauptzweck der Aufnahme von Fig. 2, die Basiseigen­ schaften einer wichtigen Betriebsumgebung innerhalb des ge­ samten nicht-flüchtigen Speichertestsystems 1 zu beschrei­ ben. Die Erfindung(en) die vollständig in Verbindung mit Fig. 3 und nachfolgenden Figuren beschrieben ist, sind ent­ weder Erweiterungen der Mechanismen, die in der folgenden Beschreibung von Fig. 2 dargelegt sind, oder sie sind neue Mechanismen, deren Motivationsvoraussetzung in Fig. 2 zu finden ist. Jedenfalls ist, während dies geschrieben wird, nicht genau bekannt, was davon dem Leser vorliegt. Das der­ zeitige Ziel ist es, einen vereinfachten und doch informa­ tiven Ausgangspunkt für zahlreiche unterschiedliche detail­ lierte Beschreibungen von unterschiedlichen bevorzugten Ausführungsbeispielen zu liefern, so daß jede derselben so genau wie angemessen sein kann (im Gegensatz zu einer "Rie­ sen"-Spezifikation, die alles über jede unterschiedliche Erfindung offenbart). Der zweite Punkt ist, daß das ausge­ dehnte oder erweiterte Material, obwohl es im allgemeinen in Gesamtübereinstimmung mit Fig. 2 ist, Informationen ent­ halten kann, die nicht genau mit der vereinfachten Version übereinstimmen. Dies bedeutet nicht, daß ein Fehler vor­ liegt oder daß die Dinge entscheidend widersprüchlich sind, sondern dies tritt auf, weil es manchmal schwierig oder un­ möglich ist, etwas so zu vereinfachen, daß es das exakte Abbild in Miniatur ist. Die Situation ist eher so wie bei Landkarten. Eine Standardgrößenstraßenkarte von Colorado zeigt, daß man, wenn man auf der I-70 nach Osten fährt, auf der I-25 bei Denver nach Norden fahren kann. Dies sieht aus wie eine Linkskurve. Und obwohl es tatsächlich eine Links­ kurve war, ist es jetzt keine, und eine detaillierte Karte dieser Kreuzung wird eine Sequenz von Teilkurven und dazwi­ schenliegenden Straßenabschnitten zeigen. Aber niemand wür­ de sagen, daß die Standardgrößenstraßenkarte falsch ist, sie ist für ihre Abstraktionsebene korrekt. Gleichartig da­ zu und trotz der ziemlich überfüllten Erscheinung ist Fig. 2 tatsächlich eine Vereinfachung, die mit einer mittleren Abstraktionsebene funktioniert, aber einige anscheinende Linkskurven sind in Wirklichkeit einfach keine Linkskurven.
Wie es in Fig. 1 gezeigt ist, ist das Haupteingangssignal an dem DUT-Tester 6 ein Beispiel des Testortbusses 5, des­ sen Ursprung in der Testortsteuerung 4 liegt, die dem Bei­ spiel des betreffenden DUT-Testers 6 zugeordnet ist. Der Testortbus 5 ist mit einer Mehrfachbus-Steuerung 88 gekop­ pelt, die einen Verkehr auf dem Testortbus in einen Verkehr auf einem Ringbus 85 oder einem VT-Bus 89 umwandelt. Der. Ringbusverkehr kann auch in einen VT-Busverkehr umgewandelt werden, und umgekehrt. Fast alles in Fig. 2 ist Teil einer integrierten Schaltung eines großen Maßstabes; die (unten beschriebene) Zeitgebungs-/Formatierungs- & Vergleichs­ schaltung 52 ist in der Tat acht solche ICs, obwohl wir sie der Kürze halber als eine Entität zeigen. Bis auf die di­ versen Ext. DRAMs (von denen manche ebenfalls Teil des in­ neren Testspeichers 87 sind - siehe Fig. 3) ist der Groß­ teil des Restes des Materials in Fig. 2 Teil einer weiteren großen IC, die als APG (automatischer Mustergenerator) be­ zeichnet wird. Der Ringbus 85 ist ein Mehrzweck- Zwischenmechanismus-Kommunikationspfad zum Konfigurieren der Hauptelemente in dem APG-Abschnitt des DUT-Testers 6, und zum Einstellen von Betriebsmodi usw. Zwischen diversen Elementen des APG liegen ferner diverse zweckgebundene, sehr breite Hochgeschwindigkeitspfade vor. Der VT-Bus 89 ist ein IC-Zu-IC-Bus zur Verwendung in dem DUT-Tester selbst.
Der Ringbus 85 ist der Mechanismus, durch den die Testort­ steuerung mit dem APG-Abschnitt des DUT-Testers 6 kommuni­ ziert. Der Ringbus 85 ist mit einem Mikrocontroller- Sequenzer 19 gekoppelt, der mit einem Spezialmikroprozessor verglichen werden kann. Unter Verwendung einer Adresse, die durch eine Nächste-Adresse-Berechnungseinrichtung 102 er­ zeugt wird, ruft dieselbe Anweisungen von einem Programm ab, das in einem Programmspeicher gespeichert ist, der ent­ weder in dem Mikrocontroller-Sequenzer 6 (PGM SRAM 20) ent­ halten sein kann oder außerhalb desselben sein kann (EXT. DRAM 21). Obwohl es so scheint, daß diese beiden Spei­ cher von einer im wesentlichen logischen gemeinsamen Adres­ se 63 adressiert werden, die als ein Programmzähler (oder eine Anweisungsabrufadresse) dient und beides kann eine Programmierquelle sein, die ausgeführt werden muß, ist fol­ gendes zu beachten: (1) nur einer der Speicher führt Anwei­ sungsabrufspeicherzyklen während jeder Zeitperiode durch, und (2) in der Tat werden sie durch elektrisch unterschied­ liche Signale adressiert. Der SRAM ist schnell und ermög­ licht einen wirklichen Direktzugriff, aber verbraucht in­ nerhalb des Mikrocontroller-Sequenzers 19 (der ein Teil der großen APG-IC ist) wertvollen Platz, daher ist seine Größe beschränkt. Der externe DRAM kann in einstellbaren Ausmaßen von beachtlicher Menge geliefert werden, ist jedoch nur schnell, wenn in aufeinanderfolgenden Blöcken auf denselben zugegriffen wird, die lineare Ausführung und keine Verzwei­ gung umfassen. Das Programmieren in dem SRAM 20 ist mei­ stens am intensivsten algorithmisch, während der EXT. DRAM 21 am besten für Material geeignet ist, das nicht leicht durch algorithmische Prozesse erzeugt werden kann, wie z. B. Initialisierungsroutinen und zufällige oder unregelmäßi­ ge Daten.
Die Nächste-Adresse-Berechnungseinrichtung 102 kann ein Ab­ zweigen in dem Testprogramm, das gerade ausgeführt wird, implementieren, als Antwort auf entweder unbedingte Sprung­ anweisungen oder bedingte Sprung- oder bedingte Unterrouti­ ne-Anweisungen, die durch diverse Programmsteuerflags (25), andere Flags (55), und bestimmte andere Signale bedingt sind, die der Deutlichkeit halber separat gezeigt sind (DFE 0 : 3 103 und DPE 0 : 3 104) und die für einen Mehrfach-DUT- Betrieb bereitgestellt werden.
Das Anweisungswort, das durch den Mikrocontroller-Sequenzer 19 ausgeführt wird, ist relativ breit: 208 Bits. Es besteht aus 13 16-Bit-Feldern. Diese Felder stellen oft abgerufene Anweisungsinformationen für Mechanismen dar, die außerhalb des ordnungsgemäßen Mikrocontroller-Sequenzers liegen. Sol­ che Felder sind für ihre zugeordneten Mechanismen reser­ viert. Ein Satz von ALU-Befehlen 22 ist an eine Sammlung von 8 16-Bit-ALUs 24 angelegt, während andere an verschie­ dene andere Mechanismen verteilt werden, die durch den DUT- Tester verteilt sind. Diese letztere Situation ist durch die Linien und die Bezeichnung "Verschiedene Steuerungswer­ te & Anweisungen" 42 dargestellt.
Die 8 16-Bit-ALUs (24) weisen jeweils ein herkömmliches Re­ pertoire an arithmetischen Anweisungen auf, die um zugeord­ nete 16-Bit-Ergebnisregister aufgebaut sind (jede ALU um­ faßt außerdem mehrere andere Register). Drei dieser Ergeb­ nisregister und deren zugeordnete ALUs sind zum Erzeugen von X, Y und Z Adreßkomponenten 27, die verschieden zu ei­ ner vollständigen Adresse kombiniert werden, die an das DUT geliefert wird. Zwei weitere der 8 ALU/Register (DH und DL) sind vorgesehen, um zu der algorithmischen Erzeugung von 32 Bit-Datenstrukturen 28 beizutragen, die zwischen einem höchstwertigen Abschnitt (DH) und einem niedrigstwertigen Abschnitt (DL) aufgeteilt sind. Die letzten drei ALU/Register (A, B, C) werden als Zähler verwendet und tra­ gen zu der Herstellung von verschiedenen Programmsteue­ rungsflags 25 bei, die zur Programmsteuerung und Verzwei­ gung bei der Vervollständigung einer programmatisch spezi­ fizierten Anzahl von Iterationen oder anderen numerischen Bedingungen beitragen. Diese Programmsteuerungsflags 25 werden zu dem Microcontroller-Sequenzer 19 zurückgesendet, wo sie den Wert der Anweisungsabrufadresse (die durch die Nächste-Adresse-Berechnungseinrichtung 102 erzeugt wurde) auf Arten und Weisen beeinflussen, die denjenigen vertraut sind, die etwas von mikroprogrammierten Ausführungsmecha­ nismen verstehen. Es gibt außerdem verschiedene andere Flags 55, die ebenfalls verwendet werden können, um eine Programmverzweigung zu beeinflussen. Diese haben ihren Ur­ sprung zusammen mit verschiedenen anderen Mechanismen in dem DUT-Tester 6, die durch die unterschiedlichen Felder des abgerufenen Anweisungsworts gesteuert werden. Ein spe­ zifisches zusätzliches Flag ist ausdrücklich als ein ge­ trenntes Element gezeigt: PD_ERR 90. Es wird dem PGM SRAM 20 zugeführt, entsteht bei dem Nachdecodierungsmechanismus 60 und zeigt an, daß der Nachdecodierungsmechanismus 60 ei­ nen Fehler entdeckt hat. Ein weiteres derartiges zusätzli­ ches Flag ist VEC_FIFO_FULL 26. Bei einer anderen, weniger detaillierten Zeichnung kann dasselbe mit den anderen Flags 55 zusammengefaßt werden. Hier wurde es getrennt, um dazu beizutragen, einen Aspekt des Betriebs des Microcontroller- Sequenzers 19 zu erklären.
Das VEC_FIFO_FULL hält (temporär) die weitere Programmaus­ führung durch den Mikrocontroller-Sequenzer 19 an. Es lie­ gen viele Pipelinestufen zwischen den Anweisungen, die durch den Mikrocontroller-Sequenzer 19 abgerufen werden, und dem Mechanismus, der schließlich Testvektoren ausgibt, die an das DUT angelegt werden sollen. Außerdem sind ein Teil des Gepäcks, das einen Vektor begleitet, während der­ selbe sich in die Richtung bewegt, um das DUT angelegt zu werden, Informationen, die die Rate des eventuellen Anle­ gens des Vektors betreffen, oder die Dauer jedes Vektors. Somit muß die Rate des Anlegens des Vektors an das DUT nicht konstant sein und insbesondere kann eine Gruppe von Vektoren länger zum Anlegen benötigen als zum Erzeugen. Der Microcontroller-Sequenzer führt das Programmieren einfach mit seiner maximalen Rate aus. Aber selbstverständlich muß die Rate des "Vektorverbrauchs" im Durchschnitt gleich sein wie die Rate der "Vektorherstellung", sonst müßte die Pipe­ line unbegrenzt elastisch sein. Es gibt einen Vektor FIFO 45 an dem Ausgang des Adreßabbilders 29, der nachfolgend erörtert wird, und derselbe dient als eine elastische Kapa­ zität in der Pipeline. Das Signal VEC_FIFO_FULL wird ver­ wendet, um zu verhindern, daß die begrenzte Anzahl von Stu­ fen in der Pipeline überschritten wird, durch Bewirken ei­ nes temporären Stillstands bei der Herstellung von neuen Vektoren an dem Kopfende der Pipeline.
Nachfolgend werden die (3 × 16 = 48 Bits von) X, Y und Z Adreßkomponenten 27 an einen Adreßabbilder 29 angelegt, dessen Ausgangssignal eine im voraus ausgewählte beinahe beliebige Neuanordnung der Adreßwerte in dem sortierten 48- Bit-Adreßplatz ist. Als Ausgangspunkt zum Anerkennen des­ selben nehme man an, daß der Adreßabbilder 29 ein Speicher ist, der einen 48-Bit-Adreßplatz vollständig besetzt, und daß derselbe an jeder Adresse einen 48-Bit-Wert hält. (Vo­ rübergehend ist nicht zu beachten, daß ein solcher Speicher zumindest heutzutage - die Größe eines großen Kühl­ schranks hätte.) Wenn man von einem solchen Speicher aus­ geht, könnte eine Nachschlagtabelle implementiert werden, die jede angelegte Adresse in einen anderen, beliebig aus­ gewählten 48-Bit-Wert abbilden könnte, der dann als eine Austauschadresse verwendet werden könne. Der Grund dafür, daß ein solches Adreßabbilden wünschenswert ist, ist, daß die X-, Y- und Z-Adreßkomponenten im allgemeinen eine nütz­ liche Bedeutung im Zusammenhang der internen Architektur eines speziellen DUT aufweisen, die höchstwahrscheinlich nicht mit einem großen linearen Decodierer implementiert ist. Die Gedanken von Zeilen, Spalten und Schichten, Blöc­ ken oder Seiten können für den Testingenieur sehr nützlich sein, und Fehler, die in Positionen auftreten, die physika­ lisch nahe beieinander liegen, können eine entsprechende Nähe ihrer X-, Y- und Z-Adressen aufweisen. Solche Struktu­ ren in den Testergebnissen können wertvoll sein beim Erken­ nen dessen, was falsch ist, und bei dem Versuch, dies zu reparieren, egal ob es auf der Entwicklungsebene oder einer Herstellungsebene zum Neuprogrammieren eines Teils ist, um den Betrieb eines defekten Abschnitts mit dem eines zusätz­ lichen Abschnitts zu überbrücken. Aus diesem Denken ergeben sich zwei Punkte. Der erste ist das Einschränken der 48 Bits zu der tatsächlichen Anzahl von Bits (etwa 32 oder vielleicht 16), die an das DUT angelegt werden sollen. Nachfolgend wird kurz erwähnt, wie das Einschränken durch­ geführt wird, und es wird im großen und ganzen durch Weg­ nehmen von soundsovielen Bits von X, soundsovielen von Y und den Rest von Z durchgeführt. Aber nicht ausschließlich, und dies ist der zweite Punkt, weil bestimmte Adressen in­ nerhalb einer Schaltungsanordnung liegen können, die ein Links-für-Rechts (oder Links-für-Rechts und Oben-für-Unten) Spiegelbild eines weiteren Abschnitts der Schaltungsanord­ nung ist. Dies hat den Effekt der Neuanordnung dessen, was die Bits bedeuten, abhängig davon, welche aufeinanderfol­ genden Adreßwerte innerhalb dieser Schaltungsanordnung in physikalischer Reihenfolge sind. Diese Chiplayouteigen­ schaft kann oft auftreten, und es kann gut der Fall sein, daß die Tatsache, wie eine Gruppe von Bits, beispielsweise y, interpretiert wird, von dem begleitenden Wert von ande­ ren, beispielsweise Z-Bits, abhängen kann. Der Adreßabbil­ der 29 ist vorgesehen, um es den rohen X-, Y- und Z- Adressen zu ermöglichen, "neu gepackt" zu werden, um dies zum Vorteil derer zu reflektieren, die Speicher mit solchen internen architektonischen Anordnungen testen würden. So wie es tatsächlich durchgeführt wird, ist der Adreßabbilder 29 aus einer relativ großen Anzahl von miteinander verbun­ denen Multiplexern aufgebaut. Derselbe kann das vollständig beliebige Nachschlagetabelle-Verhalten eines voll besetzten Speicherdecodierschemas implementieren, wie es oben zu Er­ klärungszwecken temporär angenommen wurde. Derselbe kann jedoch Teilfelder der X-, Y- und Z-Adreßkomponenten wie be­ nötigt neu anordnen, insbesondere, da es jetzt einen weite­ ren Mechanismus gibt, der das Einschränken von 48 Bits zu der tatsächlich benötigten Anzahl durchführt. Der Adreßab­ bilder 29 enthält außerdem drei 16-Bit(Adreß-) Nachschlage­ tabellen, die es demselben ermöglichen, beliebiges be­ schränktes Abbilden innerhalb lokaler Bereiche durchzufüh­ ren.
Das abgebildete Adreßausgangssignal 30 des Adreßabbilders 29 wird als eine Adresse an diverse Pufferspeicher und/oder Tag-RAMs 31A-B und Fehlererfassungs-RAM1/2 (32A/B) ange­ legt, welche, obwohl sie getrennte Funktionen aufweisen, trotzdem als auswählbare Teile in den vier Speichersätzen, die kollektiv den inneren Testspeicher 37 bilden, implemen­ tiert sein können. Das abgebildete Adreßausgangssignal 30 wird ebenfalls als ein Eingangssignal an eine Adreßbitaus­ wahlschaltung 37 angelegt, deren Multiplexierungsfunktion nachfolgend beschrieben wird. Der innere Testspeicher kann konfiguriert sein, um viele Instanzen diverser RAM­ basierter Speicherstrukturen, die für verschiedene Funktio­ nen verwendet werden, zu enthalten. Dies wird bewerkstel­ ligt, indem erklärt wird, daß bestimmte Abschnitte der ver­ schiedenen Speichersätze für die zugeordneten Zwecke ver­ wendet werden sollen. In Fig. 2 ist eine solche Anordnung gezeigt; die Anordnungen können mit dem Fortschreiten des Testens geändert werden, und diese ganze Angelegenheit der Verwendung von Speichersätzen sollte als sehr dynamisch an­ gesehen werden. Keiner der Bestandteile des inneren Test­ speichers (z. B. die Fehlerfassungs-RANs 32A-B) sind dauer­ hafte, feste Hardwareeinrichtungen. Dauerhaft sind die vier Speichersätze. Welcher Teil welches Speichersatzes zu einem bestimmten Zeitpunkt ein Fehlererfassungs-RAM ist (wenn überhaupt einer definiert ist), hängt davon ab, welche Kon­ figuration eingerichtet wurde.
Nachfolgend werden die Pufferspeicher 31A und 31B betrach­ tet. Ihre Funktionen bestehen darin, Datenstrukturen 33 und Adressen 34 beizubehalten, die an das DUT angelegt werden können. Diese sind tatsächliche getrennte Ausgangssignale von ihren zugeordneten Pufferspeichern, obwohl diese Puf­ ferspeicher nicht "Dual-Port-Speicher" sind, sondern vor­ zugsweise aus Teilen zweier unterschiedlicher Speichersätze bestehen. Um dem zu entsprechen, ist es bevorzugt, daß ge­ speicherte Daten 33 in einem Speichersatz gespeichert wer­ den, während gespeicherte Adressen 34 in einem anderen ge­ speichert werden. Außerdem wurde kein expliziter Mechanis­ mus zum Schreiben auf einen Pufferspeicher gezeigt. Eine Art und Weise, wie dies bewerkstelligt werden kann, besteht aus einer adressierten Busoperation, die durch eine Test­ ortsteuerung 4 auf Befehl des Programms, die dieselbe aus­ führt, ausgelöst wird. Es gibt einen darunterliegenden "Versorgungsdienstleistungs"-Bus, der als Ringbus 85 be­ zeichnet wird, der zu fast allem in Fig. 2 führt (bei dem die meisten Visitationen nicht gezeigt sind - da dies im­ mense Unordnung in die Zeichnung bringen würde). Eine ande­ re und schneller Art und Weise, Informationen in die Spei­ chersätze zu schreiben, ist im Zusammenhang mit Fig. 3 be­ schrieben.
Die Fehlererfassungs-RAMs 32A-B werden durch die gleiche Adresse adressiert, die an die Pufferspeicher angelegt wird, und speichern Informationen über Fehler oder rufen diese ab, wobei diese Operationen in Verbindung mit einer Nachdecodierschaltung durchgeführt werden, die nachfolgend erörtert wird. Wie bei den Wegen 33 und 34 von den Puffer­ speichern 31A-B sind die Wege 62A-D (von dem Fehlererfas­ sungs-RAM1 32A) vorzugsweise multiplexierte Ausgänge von einem Teil eines Speichersatzes (der konfiguriert ist, um als ein Fehlererfassungs-RAM zu arbeiten), gemäß Konfigura­ tionsinformationen, die durch den Ringbus (nicht gezeigt) verteilt werden.
Es ist anzumerken, daß der Daten-MUX 35 als Eingangssignale die gespeicherten Datenausgangssignale 33 von dem Puffer­ speicher 31A umfaßt, und auch Daten 28 von den Registers DH und DL in der Sammlung 24 von ALUs. Der Daten-MUX 35 führt gemäß den Werten 36, die in dem PGM-SRAM 20 gespeichert sind, eine anfängliche Auswahlwähl durch, welches dieser Eingangssignale (28, 32) als sein Ausgangssignal 38 darge­ stellt wird, das, wenn es nicht modifiziert wird, wie als nächstes beschrieben wird, dann als eine der beiden Vektor­ komponenten an eine Sendevektorabbil­ der/Seriellumsetzer/Empfangsvektorvergleichsdatenschaltung 40 angelegt wird (die andere Komponente ist das Ausgangssi­ gnal 39 der Adreßbitauswahlschaltung 37.)
Die Schaltung 40 kann drei vektorbezogene Funktionen durch­ führen: Zusammensetzen von Vektorkomponenten (38, 39) in eine sortierte logische Darstellung eines gesamten Vektors, der an das DUT angelegt (übertragen) werden soll, Anlegen einer beliebigen dynamischen Korrespondenz (Abbilden) zwi­ schen den sortierten Bits der logischen Darstellung des Sendevektors und der tatsächlichen physikalischen Kanalan­ zahl der Pinelektronik (d. h. welche Sondenspitze) das DUT für dieses Signal (d. h. das Bit in dem Vektor) kontaktie­ ren wird, und Kooperieren mit dem Compilierer bei der Un­ terteilung eines gesamten logischen Vektors in Stücke, die getrennt und in Reihenfolge (Seriellumsetzung) für DUTs an­ gelegt werden sollen, die so etwas zulassen. Welche dieser Funktionen durchgeführt wird, wird durch Steuersignale von einem SRAM 41 bestimmt, der außerdem gemäß einem Feld in der 208-Bit-Anweisung, die durch den Mikrocontroller- Sequenzen 19 abgerufen wird, adressiert wird.
Ebenfalls in der Schaltung 40 enthalten ist ein Abschnitt einer DUT-Deaktivierungslogik 90. Ihr Zweck besteht darin, auf diverse Bedingungen zu reagieren, von denen manche sta­ tisch, manche von Testergebnissen abhängig sind, die jedoch alle programmatisch definiert sind, die anzeigen, welches DUT bzw. welche DUTs, von insgesamt vier Stück derselben, zu deaktivieren sind. Diese Angaben werden durch vier Si­ gnale DD 0 : 3 44b getragen (DUT-Deaktivierung für DUT Null für DUT Eins, usw.). Dies geschieht als Unterstützung eines Mehrfach-DUT-Testens an einem Testort und wird in der zuge­ ordneten, hierin aufgenommenen Anmeldung näher erläutert. Das Ausgangssignal der Schaltung 40 ist ein bis zu 64-Bit- Vektor 44a, der zusammen mit den DUT-Deaktivierungssignalen 44b an einen Vektor FIFO 45 angelegt wird, der, wenn er voll ist, das Signal VEC_FIFO_FULL 26 erzeugt, dessen Be­ deutung und Verwendung oben erörtert wurde. Der Vektor an der Spitze des Vektors FIFO 45 wird beim Empfang eines Si­ gnals VEC_FIFO_UNLOAD 47, das an einem Periodengenerator 49 (der nachfolgend erörtert wird) entsteht, von demselben entfernt. Solche entfernten Vektoren (46) werden an eine Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 ange­ legt, die über das zugeordnete Beispiel der Pinelektronik 9 mit dem DUT verbunden ist. Das heißt, jedes Beispiel (der diversen Testorte) der Pinelektronik 9 empfängt gesendete und empfangene Vektoren 7 und Pinelektronikkonfigurations­ informationen 8 von ihrer zugeordneten Zeitge­ bungs/Formatierungs- und Vergleichsschaltung 52.
Die Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 ist mit dem VT-Bus 89 gekoppelt, um Konfigurations- und Steuerinformationen zu empfangen. Man erinnere sich, daß die Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 tatsächlich acht ICs ist, die wir für unsere Zwecke als ei­ ne einzige Entität behandeln.
Die Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 umfaßt einen internen SRAM 54, der durch die gleiche Anwei­ sungsadresse ("A" in dem kleinen Kreis) adressiert wird wie der Programm-RAM 20 des Mikrocontroller-Sequenzers 19. (Statt dem internen SRAM 54 kann ein externer DRAM 53 ver­ wendet werden, wird jedoch lokal durch einen inkrementier­ ten Zähler, der nicht gezeigt ist, adressiert.) Der interne SRAM 54 (oder externe DRAM 53) unterstützt die Herstellung von Treiber- und Vergleichszyklen, die zugeordnete Formate aufweisen. Die Treiberzyklen legen unter Verwendung eines vorgewählten Formats, das durch den RAM 54 oder 53 gelie­ fert wird, einen Sendevektor an das DUT an. Die Vergleichs­ zyklen empfangen einen Vektor, der von dem DUT dargestellt wird und untersuchen denselben, ebenfalls gemäß einem vor­ gewählten, von einem RAM gelieferten Format, um zu bestim­ men, ob er mit vorher gesendeten Vergleichdaten überein­ stimmt. Sowohl die Treiber- als auch die Vergleichszyklen sind bezüglich ihrer Dauer einstellbar, und bezüglich des­ sen, ob eine Belastung angelegt ist oder nicht, wann diese angelegt ist und wann Daten zwischengespeichert oder abge­ tastet werden, ob ein Signal eine Rückkehr-Zu-Null dar­ stellt oder nicht, ob ein getriebenes Signal mit seinem Komplement zu umgeben ist, usw., entsprechend einstellbar. (Diese Optionen sind die diversen oben genannten Formate.)
Der durch die Zeitgebungs/Formatierungs- und Vergleichs­ schaltung 52 erzeugte Vergleich umfaßt Informationen dar­ über, auf der Basis eines jeweiligen Kanals, ob ein Kanal versagte, weil ein logischer Wert falsch war (ein funktio­ naler Fehler) und/oder weil seine elektrischen Eigenschaf­ ten außerhalb annehmbarer Grenzen liegen (ein parametri­ scher Fehler). Wie in einer integrierten Anmeldung erläu­ tert wird, ist zudem bekannt, wenn ein Mehrfach-DUT-Testen durchgeführt wird, welche Kanäle welchen DUTs zugeordnet sind. Dies ermöglicht die Erzeugung der vier Signale DFE 0 : 3 (DUT Nr. Funktionsfehler) 103 und der vier Signale DPE 0 : 3 (DUT Nr. Parameterfehler) 104.
Der durch die Zeitgebungs/Formatierungs- und Vergleichs­ schaltung 52 durchgeführte Vergleich erzeugt ferner einen 64-Bit-Wert 56, der an einen Empfangsvektorumkehrabbil­ der/Serien-Parallelumsetzer 57, dessen Funktion als die lo­ gische Umkehrung der Schaltung 40 betrachtet werden kann. (Der Betrieb der Schaltung 57 wird durch einen SRAM 58 ge­ steuert, der der Steuerung der Schaltung 40 durch den SRAM 41 entspricht.) Danach wird das Ausgangssignal 59 der Schaltung 57 an die Nachdecodierschaltung 60 und auch an den Fehlererfassungs-RAM1 32A angelegt. Derzeit reicht es aus, zu sagen, daß die Nachdecodierschaltung 60 über pro­ grammatische Kriterien sowohl ankommende Fehlerinformatio­ nen 59 und Fehlerinformationen, die zuvor in dem Fehlerer­ fassungs-RAM1 32A gespeichert wurden, untersuchen kann, um komprimierte und leichter interpretierbare Fehlerinforma­ tionen zu erzeugen, die dann über den Weg 61 zurück in den anderen Fehlererfassungs-RAM2 32B gespeichert werden kön­ nen. Ein Beispiel wäre es, eine Zahl zu erzeugen, wie oft ein Fehler in einem speziellen Bereich von Adressen auf­ trat, wobei diese Informationen nützlich wären für die Ent­ scheidung, wann durch Aktivieren von Ersatzschaltungen eine Reparatur auf dem Chip versucht werden soll.
Nachfolgend wird der Periodengenerator 49 und sein zugeord­ neter Zeitgebungs-SRAM 51 beschrieben. Diese sprechen auf ein 8-Bit-Signal T_SEL 43 an, das für jede 208-Bit- Anweisung, die durch den Mikrocontroller-Sequenzer 19 abge­ rufen wird, eine Dauer für den zugeordneten Betrieb der Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 be­ stimmt. T_SEL 43 ist ein Element der verschiedenen Steue­ rungswerte und Anweisungen 42, die durch die unterschiedli­ chen Felder in der abgerufenen Anweisung dargestellt sind. Als ein 8-Bit-Wert kann dieselbe 265 unterschiedliche Dinge darstellen oder codieren. In diesem Fall sind diese "Dinge" 28-Bit-Werte, die in dem Zeitgebungs-SRAM 51 gespeichert sind und durch T_SEL adressiert werden. Jeder adressierte 28-Bit-Wert (23) spezifiziert eine gewünschte Dauer mit ei­ ner 19,5 Pikosekunden-Auflösung. Die Sequenz von darauf zu­ gegriffenen 28-Bit-Dauerwerten (23) ist in einer Periode FIFO 50 gespeichert, so daß die einzelnen Elemente dieser Sequenz bei der Wiedergewinnung des beabsichtigten entspre­ chenden Vektors, der in dem Vektor FIFO 45 gespeichert ist, wiedergewonnen und synchron angelegt werden.
Ein grobes Zeitgebungswertfeld in dem ältesten Eintrag in dem FIFO 50 überträgt Dauerinformationen mit einer Auflö­ sung von 5 Nanosekunden und erzeugt davon ein Signal VEC_FIFO_UNLOAD 47, das den nächsten Sendevektor von dem Vektor FIFO 45 zu der Zeitgebungs/Formatierungs- und Ver­ gleichsschaltung 52 überträgt. Ein Begleitsignal Zeitge­ bungsrest 48 wird ebenfalls an die Schaltung 52 angelegt. Dort wird die endgültige Auflösung auf 19,5 Pikosekunden durchgeführt.
Wir nehmen nun Bezug auf Fig. 3, die ein vereinfachtes Blockdiagramm 64 des inneren Testspeichers 87 in dem Block­ diagramm der Fig. 2 ist. Es empfängt eine 48-Bit­ abgebildete Adresse 30 von dem Adreßabbilder 29, die an di­ verse Adreßklassifizierer 77, 78 und 79 angelegt wird. Die Adreßklassifizierer sind Speichersätzen 73-76 zugeordnet, die jeweils vollständige Speichermechanismen sind, die di­ verse Funktionen individuell durchführen können, beispiels­ weise die, ein ECR 32 zu sein. Zwei dieser Speichersätze (73, 74) sind vom Typ eines externen DRAM, während zwei von Typ eines internen SRAM sind. Die zwei Speichersätze vom Typ eines externen DRAM weisen tatsächlich immer dieselbe Adreßklassifiziererfunktion auf und benutzen somit einen gemeinsamen Adreßklassifizierer 77. Die Speichersätze vom Typ eines internen SRAM 75 und 76 weisen ihre eigenen zuge­ ordneten Adreßklassifizierer 78 bzw. 79 auf. Diese Adreßklassifizierer können entweder eine Adresse unverän­ dert hindurchleiten oder sie auf Arten und Weisen modifi­ zieren, die in einer der integrierten Anmeldungen einiger­ maßen ausführlich beschrieben sind.
Jeder Speichersatz umfaßt eine Speichersatzsteuerung; die. Speichersätze vom Typ eines externen DRAMs 73 und 74 weisen DRAM-Speichersatzsteuerungen 65 bzw. 66 auf, während die Speichersätze vom Typ eines internen SRAMs 75 und 76 je­ weils SRAM-Speichersatzsteuerungen 67 bzw. 68 aufweisen. Während des Testens eines DUT kommt die Adresse für Spei­ chertransaktionen, die auf einen beliebigen dieser Spei­ chersätze gerichtet ist, an der zugeordneten Speichersatz­ steuerung von dem jeweils zugeordneten Adreßklassifizierer an. Alle vier Speichersätze können über den Weg 59 direkt Daten empfangen, der im wesentlichen der bekannte Weg in einen inneren Testspeicher (der die Nachdecodierung 60 um­ geht) ist. Während des Testens eines DUT werden zunächst Fehlerdaten 61, die von der Nachdecodierungsschaltung 60 ankommen und in den Fehlererfassungs-RAM2 32B geschrieben werden sollen, an Datenklassifizierer 82-83 angelegt, die jeweils den Speichersätzen zwei und drei zugeordnet sind. Die Datenklassifizierer 80-83 können die an sie angelegten Daten ändern oder auch nicht, je nachdem, wie sie konfigu­ riert sind und welche Funktion sie erfüllen sollen. Die Adreß- und Datenklassifizierer stellen Hochgeschwindig­ keitswege für Adressen bzw. Daten dar, bei denen beabsich­ tigt ist, daß sie bei den erforderlichen höchsten Geschwin­ digkeiten arbeiten. In Kürze werden wir sehen, daß der (noch nicht gezeigte) Ringbus eine weitere Art und Weise liefert, Adressen und Daten zu den Speichersätzen zu beför­ dern.
An diesem Punkt verfügen wir über vier Speichersatzsteue­ rungen (65-68), die jeweils ankommende (klassifizierte) Adressen und (klassifizierte) Daten aufweisen. Jede dieser Speichersatzsteuerungen ist mit einem zugeordneten Speicher gekoppelt: DRAM-Speichersatzsteuerungen 73 bzw. 74 sind mit externen DRAMs 69 bzw. 70 gekoppelt, während SRAM- Speichersatzsteuerungen 75 und 76 mit internen SRAMs 71 bzw. 72 gekoppelt sind. Diese Anordnungen stellen die vier Speichersätze 73-76 dar, von denen zwei (75, 76) ein be­ scheidenes Maß an Hochgeschwindigkeits-SRAM aufweisen, und zwei (73, 74) ein großes Maß an langsamerem DRAM aufweisen. Uns interessiert derzeit, wie die DRAM-Speichersätze so schnell wie die SRAM-Speichersätze ausgeführt werden kön­ nen, und wie bestimmte Alternativen in bezug auf die Konfi­ guration des DRAM je nach der Vorliebe des Benutzers und der Testprogrammstrategie integriert werden können. Es wird sich also herausstellen, daß die DRAM-Speichersatz­ steuerungen 65 und 66 konfigurierbar sind, unterschiedliche Arten von Speichertransaktionen durchführen und insgesamt nicht dieselben sind wie die einfacheren SRAM- Speichersatzsteuerungen 67 und 68. Der Kürze halber zeigt Fig. 3 nicht die Struktur, die diese Flexibilität liefert; sagen wir vorläufig einfach, daß jede Speichersatzsteuerung mit dem (noch nicht gezeigten) Ringbus verbunden ist, von dem sie in dem bestimmten Betriebsmodus und der Konfigura­ tion, die gewünscht sind, angewiesen wird. Manche dieser Modi beinhalten die Art und Weise, auf die Daten gespei­ chert werden, und manche haben damit zu tun, wie sie wieder herausgeschafft werden. Abschließend ist also anzumerken, daß jeder Speichersatz eine zugeordnete Datenausgabe (62A-D) aufweist, die zur weiteren Verarbeitung an den Nachdeco­ dierungsmechanismus 60 gesendet wird. Es ist auch anzumer­ ken, daß die Datenausgaben von den Speichersätzen Null und Zwei an einen MUX 84 angelegt werden, dessen Ausgabe zu ge­ speicherten Daten 33 wird, die an den Daten-MUX 35 gesandt werden. Desgleichen werden die Datenausgaben von den Spei­ chersätzen Eins und Drei an einen MUX 127 angelegt, dessen Ausgabe gespeicherte Adressen wird, die an den Adreßbitaus­ wahl-MUX 37 gesendet werden. Der Grund dafür, warum man über MUXs 84 und 86 verfügt, und die Einzelheiten darüber, wie sie gesteuert werden, sind hier nicht von besonderem Interesse; sie werden in den integrierten Anmeldungen erör­ tert.
Man betrachte nun Fig. 4A/B, die ein vereinfachtes Block­ diagramm 91 der Nachdecodierungsschaltung 60 der Fig. 2 sind. Beginnend mit Fig. 4A und im Einklang mit dem, was in Fig. 2 gezeigt ist, liegen zwei Datenwege vor, die als Ein­ gänge in den Nachdecodierungsmechanismus 60 dienen. Diese sind die einzelne Quelle 59, von dem Empfangsvektorumkehr­ abbilder/Entserialisierer (57), und die vier Quellen 62A-D von dem inneren Testspeicher 87 für einen Speichersatz, der konfiguriert ist, um als ein ECR, den wir als Fehlererfas­ sungs-RAM1 32A gezeigt haben, oder ECR1 zu arbeiten. Von den vier Quellen 62A-D befindet sich immer nur ein (akti­ ver) ECR in einem einzelnen Speichersatz. Alle fünf Quellen werden an einen MUX 94, der eine von denselben als die Ein­ gabe auswählt, die an diverse Eingabemasken (96, 97, 105, 107) anzulegen ist, auswählt, und an einen MUX 108 ange­ legt, der zwischen der Ausgabe des MUX 94 und den Ausgaben dieser diversen Eingabemasken auswählt.
Wir verwenden den Begriff "Maske" in seinem herkömmlichen Sinne, um eine Struktur und einen zugeordneten Mechanismus zu bezeichnen, um ausgewählte Bits in einem Datenfeld der­ selben von einer gewissen Betrachtung zu entfernen oder darin einzuschließen. Die Maskenstruktur weist dieselbe An­ zahl von Bits auf wie das relevante Datenfeld und wird als in einer Eins-Zu-Eins-Korrespondenz mit demselben befind­ lich angesehen. In unserem Fall verwenden wir eine Maske, die Einsen an Stellen aufweist, die zu ignorieren sind oder aus der Betrachtung "herausmaskiert" sind. Das Datenfeld folgt unserer üblichen Konvention, Versagensfälle mit Nul­ len darzustellen. Die interessierende "Betrachtung" ist im allgemeinen das Vorliegen überhaupt einer Null oder der An­ zahl von Nullen in dem Datenfeld, die verbleiben, nachdem die Maske angelegt worden ist. Die Schaltungsanordnung, die das tatsächliche Maskieren durchführt, wird später be­ schrieben. Vorläufig behandeln wir einfach die Maskierungs­ operation auf dem Blockdiagrammniveau, während wir die all­ gemeine Wesensart der Fig. 4A-B betrachten. Die Blockdia­ grammeigenschaft einer Eingabemaske besteht darin, daß sie eine herausmaskierte Bitposition auf eine 1 einstellt, so daß sie nicht zum Darstellen von Versagensfällen beiträgt.
Im folgenden betrachte man das Staumaskenregister 93 und beachte, daß es zum Zwecke des Empfangens eines 32-Bit- Maskenwerts mit dem Ringbus 85 gekoppelt ist. Dieser Mas­ kenwert wird an die Eingabemaske 96 angelegt, während sein bitweises Komplement durch Einwirkung von Invertern 98 an die Eingabemaske 97 angelegt wird. Diese Masken sind für die Dauer einer gegebenen Struktur konstant. Das heißt, daß man nicht erwartet, daß sie sich routinemäßig von einem Da­ tenwert zum nächsten ändern. Die Eingabemasken selbst emp­ fangen als Eingangsdaten die durch den MUX 94 ausgewählte Quelle, gemäß dem Signal ERR_DATA_SEL, das wiederum bei ei­ nem PD-Steuerregister 92, das ebenfalls mit dem Ringbus 85 verbunden ist, enststeht. Die Ausgangssignale der Eingabe­ masken 96 und 97 werden daraufhin als zusätzliche Eingangs­ signale an den MUX 108 angelegt.
Der MUX 108 empfängt zwei weitere maskierte Eingangssigna­ le. Dies sind die Ausgangssignale der Eingabemasken 105 und 107, deren Eingangssignale auch das Ausgangssignal des MUX 94 sind, und deren Masken durch Wirkung von Invertern 106 auch komplementär sind. In diesem Fall erwartet man jedoch, daß die Quelle des Maskenwerts ein Pufferspeicher ist, wie er durch den MUX 95 und das MUX-Steuersignal BM_SEL ausge­ wählt ist. Es ist zu beachten, daß der MUX 95 zu diesem Zweck die vier Quellen 62A-D als Eingänge aufweist. Diese Anordnung ermöglicht es, daß sich die durch die Eingabemas­ ken 105 und 107 verwendeten Masken zyklusweise ändern, wäh­ rend eine Struktur läuft.
Man wird nun erkennen, daß das, was als Eingangssignale dem MUX 108 präsentiert wird, vier auf verschiedene Arten mas­ kierte Versionen der adressierten Daten und eine unmaskier­ te Version dieser Daten sind. Welche dieser fünf Versionen durch den MUX 108 ausgewählt und als maskierte Daten 114 weitergesandt wird, wird durch das MUX-Steuersignal PD_MASK_MODE bestimmt.
Die drei bisher erwähnten MUX-Steuersignale (ERR_DAT_SEL, BM_SEL, PD_MASK_MODE) sowie eines, das später vorgestellt wird (PD_ERR_SEL), werden alle als Ausgangssignale aus dem PD-Steuerregister 92 erzeugt, je nachdem, wie dessen Inhalt durch einen Verkehr, der über den Ringbus 85 an ihn gelei­ tet wird, eingestellt wird.
Betrachten wir nun Fig. 4B. Diese ziemlich umfangreiche Zeichnung ist nicht so schlimm, wie sie aussieht. Man be­ trachte den oberen linken Quadranten der Figur. Dort sind 32 Instanzen von Analysemasken- und Analysezählermechanis­ men dargestellt. Sehen wir uns nun an, worum es hier genau geht.
Zunächst weisen die Analysemasken (ANYL.MASK_0. . .ANYL.MASK_31, 110a-z) auf dem Blockdiagramm­ niveau die Eigenschaft auf, daß sie ein Einzelbit- Ausgangssignal erzeugen, das mit einer Null angibt, daß ein oder mehrere der unmaskierten Datenbits eine Null war, und eine Eins, wenn unter den unmaskierten Bits keine Versagensanzeigen (Nullen) vorlagen. Die durch jede Masken­ schaltung 110a-z verwendete Maske wird durch ein zugeordne­ tes MASK_0. . .MASK_31 REGISTER (109a-z) zugeführt, das mit dem Ringbus gekoppelt ist, um seinen Wert zu empfangen. Nun sind zwei Dinge zu beachten. Als erstes wird das Ausgangs­ signal der Analysemaskenschaltungen 110a-z zu entsprechen­ den Analysezählern (ANYL.CNTR_0. . .ANYL.CNTR-31, 112a-z) ge­ sandt. Diese Zähler zählen die zu denselben gesandten Nul­ len und können verwendet werden, um aufzusummieren, wie oft (z. B. während einer Struktur) durch die zugeordnete Maske ein Fehler offenbart wird. Als zweites werden alle 32 der maskierten Ausgangssignale zu einem Satz 113 derselben ge­ sammelt, so daß sie entweder (über Weg 61) in einem ECR ge­ speichert oder durch eine PD-Fehlermaske 120 weiter analy­ siert werden können.
Des weiteren weisen die Analysezähler 112a-z die folgenden Blockdiagrammeigenschaften auf. Sie zählen von einem vorge­ ladenen Wert, der ihnen von dem gegeben wird, was in ent­ sprechenden Laderegistern (CNTR_0 LOAD REG. . .CNTR._31 LOAD REG., 111a-z) gespeichert ist, die wiederum alle durch einen Verkehr, der über den Ringbus individuell an sie ge­ leitet wird, separat eingestellt sind, abwärts. Dies ermög­ licht es den Zählern, mit einem Schwellwert voreingestellt zu werden, von dem sie abwärtszählen. Wenn sie Null errei­ chen, übt ein entsprechendes Endzählwertflag (TCF_0. . .TCF_31, 115a-z) eine Null aus, und ein weiteres Abwärtszählen wird unterbunden (die Zähler bleiben bei Null stecken). Sie bleiben Null, bis sie durch Wirkung eines Si­ gnals LOAD_COUNTERS, das eine neue Ladung, jedesmal dann, wenn es ausgeübt wird, erzwingt, neu geladen werden. Es liegt auch ein QUALIFIED_LOAD-Signal vor, das jeden der Zähler 112a-z von ihren jeweiligen Registern 111a-z neu lädt, vorausgesetzt, daß ein Zähler nicht bereits Null ist, wobei in diesem Fall seine individuelle Neuladung unterbun­ den wird.
Man beachte, daß die diversen Endzählwertflags 115a-z als 116 gesammelt werden und zusammen mit der Sammlung 113 von den Analysemasken 110a-z als das alternative Eingangssignal an den MUX 118 angelegt werden. Die Sammlungen 116 und 113 werden auch an einen MUX 117 angelegt, von wo die ausge­ wählte derselben über den Weg 61 in einem Pufferspeicher gespeichert werden kann. Die Auswahl sowohl für den MUX 117 als auch für den MUX 118 erfolgt durch das Steuersignal PD_ERR_SEL, das bei dem PD-Steuerregister 92 entsteht.
Es wird nun der Rest der Fig. 4B betrachtet, wobei es sich versteht, daß der Analysemasken- und Analysezählermechanis­ mus, der gerade beschrieben wurde, ermöglicht, daß eine breite Palette von Fehlerbedingungen erfaßt und gezählt wird, wobei über Zählwerte, die vorgewählte Schwellen über­ steigen, Anzeigen erzeugt werden. Der bei den Ausgängen 113 und 116 vorliegende Zustand kann über den MUX 117 und den Weg 61 in einem Speicher gespeichert werden. Derselbe Zu­ stand unterliegt auch einer weiteren Analyse über den MUX 118 und die PD-Fehlermaske 120, welche eine Eingangsstil- Maske ist, deren Maske in dem Fehlermaskenregister 119, wie es durch den Ringbus eingestellt ist, enthalten ist. Die 32-Bit-Ausgabe 121 der PD-Fehlermaske 120 wird an das NAND- Gatter 122 angelegt, wo an ihr zusammen mit zwei anderen Null-Ist-Fehler-Signalen, den Ausgangssignalen der Gatter 129 und 136, im wesentlichen eine ODER-Operation durchge­ führt wird. Diese letzteren Signale werden demnächst erör­ tert. Das somit hergestellte ODER wird als ein durch eine Eins-Einrichtung ausgeübtes Signal PD_ERR 90 wiedergegeben, das an den Mikrocontroller-Sequenzer 119 angelegt wird.
Die maskierten Daten 114 werden ferner an zwei weitere, un­ ten in der Fig. 4B gezeigte Masken-/Zählerstrukturen ange­ legt. Man betrachte die ACCUM. ANYL. MASK 123 (deren Maske durch ACCUM. MASK REG. 124, wie durch den Ringbus einge­ stellt, beschränkt ist). Sie arbeitet auf dieselbe Weise wie jegliche der Masken 110a-z. Ihr Ausgangssignal wird an einen ACCUM. CNTR. 126 angelegt, der ebenfalls abwärts­ zählt, wenn ihm durch seine Maske 123 eine Null zugeführt wird, und wird durch ACCUM. LOAD REG. 125 auf einen Schwellwert eingestellt, wenn das Signal LOAD_ACCUM_CNTR ausgeübt wird. Der Schwellwert in dem Register 125 wird dem Ringbus zugeführt. Die Ausgabe des Zählers 126 kann bis auf Null abwärtszählen, woraufhin sie das Endzählwertflag TCF_ACCUM 127 veranlaßt, eine Null auszuüben, und der Zäh­ ler selbst bei Null steckenbleibt, bis er neu eingestellt wird. Bis zu diesem Punkt ist die Struktur der Posten 123-127 im wesentlichen identisch mit dem, was wir bereits im Zusammenhang mit den Analysemasken und Analysezählern be­ schrieben haben. Der Unterschied besteht darin, wie die Er­ gebnisse ausgegeben werden können, und darin, was die Maske der Absicht nach sein soll. Die Posten 123-127 sollen die Anzahl von ganzen Wörtern, die Fehler aufweisen, sammeln und dies mit der gewünschten Schwelle vergleichen. Ferner wird das Signal TCF_ACCUM von 127 an eine Ein-Bit-Maske an­ gelegt, die aus einem Ein-Bit-Latch A_Latch 128 und ODER- Gatter 129 besteht. Die Ausgabe des ODER-Gatters 129 zeigt mit einer Null-Einrichtung-erfaßten Versagenslogik an, ob die Schwelle erreicht wurde, und ist eine weitere Eingabe. bei der Erzeugung von PD_ERR 90.
In Fig. 4B liegt ein weiterer Masken- und Akkumulierungsme­ chanismus vor. Bitweise-Analyse-Maske 130, Bitweise-Maske- Register 131 und Bitweises-Laden-Register 132 sind diesel­ ben wie ihre zuvor erläuterten offensichtlichen Gegenstücke (beispielsweise 123-125). Bis zu diesem Zeitpunkt besteht der einzige Unterschied darin, daß das Ladesignal für das Register 132 sein eigenes individuelles Signal LO­ AD_BITWISE_ACCUM ist. Ein Unterschied ergibt" sich nun in den Blockdiagrammeigenschaften, insofern, als der Latch- Bitweises-Akkum. 133 nicht ein reiner Zähler ist wie die anderen. Er zählt die Anzahl von Nullen, die ihn erreichen, in jedem Maskenergebnis nach der Maskierungsoperation, und er akkumuliert diese als eine dekrementierende Quantität im Vergleich zu einer anfänglichen Schwelle in dem Register 132. Wenn die Schwelle auf Null reduziert wird, wird das Flag TCF_BITW des Latch 134 niedrig ausgeübt. Die Ähnlich­ keit wird mit einer Ein-Bit-Maske, die aus B_LATCH 135 und ODER-Gatter 136 besteht, dessen Ausgabe der letztliche Bei­ tragsleister zur Erzeugung von PD_ERR 90 durch das NAND- Gatter 122 ist, wiederaufgenommen.
Wir schließen unseren Überblick über den Nachdecodierungs­ mechanismus 60 mit einer kurzen Erörterung der Funktion des 4-Bit-Nur-Schreib-Registers 137, das in der oberen rechten Ecke der Fig. 4B zu finden ist. Es wird durch den Ringbus eingestellt, und wenn eines seiner Ausgangsbits als WAHR (eine Eins) durchgetaktet wird, übt es sich natürlich als das zugeordnete, mit Namen genannte Steuersignal aus. Wir sind diesen bereits begegnet, und es liegen die diversen LADEN-Signale vor, die durch die Zähler, die wir oben be­ schrieben haben, verwendet werden. Die Grundidee besteht hier darin, festzulegen, daß diese LADEN-Signale ihre Mis­ sion erfüllen und dann verschwinden, denn es wäre äußerst dysfunktionell, wenn sie weiterbestünden. Zu diesem Zweck erfaßt das ODER-Gatter 130, daß eines oder mehrere dieser LADEN-Signale wahr ist, und führt dieses einem UND-Gatter 139 zu, das, wenn der nächste Taktzyklus auftritt, den In­ halt des Registers 137 auf alle Nullen neu einstellt. Es handelt sich um einen Mechanismus vom Ein-Schuß-Typ.
Schließlich, und obwohl wir es noch nicht gezeigt haben (es ist in Fig. 7 zu finden), können die Werte der diversen Zähler auf den Ringbus ausgelesen werden.
Wir nehmen nun Bezug auf Fig. 5, in der ein Blockdiagramm 165 gezeigt ist, das die Art und Weise beschreibt, auf die die diversen Masken arbeiten. Eine Eingabemaske besteht aus einem 32-Bit-Eingabedatenwert 166 und einem 32-Bit- Maskenwert 167. Der Maskenwert 167 könnte von einem Regi­ ster kommen (statisch sein), oder er könnte eher vorüberge­ hend sein, wie z. B. Maskendaten, die von einem Speicher ge­ lesen werden. Auf alle Fälle erfolgt zwischen den beiden Posten 166 und 167 ein bitweises Durchführen einer ODER- Operation durch die Gatter 168a-z. Die sich ergebende 32- Bit-Quantität 169 ist die Ausgabe für eine Eingabemaske. Für eine Analysemaske wird die Quantität 169 an ein UND- Gatter 170 angelegt, das eine Null als seine Ausgabe er­ zeugt, wenn ein Bit in der Quantität 169 eine Null ist.
Die Wesensart des Bitweise-Akkumulation-Mechanismus 133 kann unter Bezugnahme auf Fig. 6 erkannt werden, die ein Blockdiagramm 140 dieser Schaltungsanordnung ist. Sie ent­ hält ein Maskenregister 141, dessen 32-Bit-Wert 142 mit ei­ nem 32-Bit-Eingabedatenwert 143 bitweise einer NOR- Operation unterzogen wird. Bei der Maskenanordnung der Fig. 5 besteht der Unterschied bisher darin, daß die Gatter 144a-z NOR-Gatter statt ODER-Gatter sind. Die Wirkung die­ ser Änderung liegt darin, für Versagensfälle, die das Mas­ kieren überleben, Einsen statt Nullen zu erzeugen. Dies hat den Zweck, daß die Auftritte der Versagensanzeigen leichter zu einer Gesamtsumme zusammengezählt werden können. Sie werden addiert, indem NOR-Gatter zu Paaren gruppiert wer­ den, und indem die Ausgaben dieser Paare von NOR-Gattern an die Addierer 145a-o angelegt werden. Die Addierer 145a-o werden selbst gepaart, und ihre Ausgaben werden an wieder andere Addierer 146a-h angelegt. Auf diese Weise wird die Gesamtzahl von Nullen in dem Eingabewert 143 stückweise ak­ kumuliert, bis sie an der Ausgabe des Addierers 147 zur Verfügung steht. Nun wird sie verwendet, um einen Wert zu dekrementieren, der als Schwellwert in dem Bitweises-Laden- Register 132 begann, welches durch eine anfängliche Aus­ übung des MUX-Steuersignals LOAD_BITWISE_ACCUM an den MUX 150 zu dem Bitweise-Akkum-Register 151 wurde. Nun ist es eingerichtet, daß der Wert in dem Register 151 durch die Ausgabe des Addierers 147 vermindert ist. Dies wird durch eine Subtraktionsschaltung 148 bewerkstelligt, deren Ausga­ be daraufhin durch den MUX 150 geroutet wird, um der näch­ ste in dem Register 151 gespeicherte Wert zu werden. Der Effekt liegt darin, das Register 151 durch Summen, die durch den Addierer 147 erzeugt werden, abwärtszuzählen. Wenn das Register 151 Null durchläuft, übt der Endzählwert­ flagmechanismus 134 eine Null aus.
Fig. 7 zeigt ein Blockdiagramm 154, das die Wesensart der oben beschriebenen Analyse- und Akkumulationszähler 156 veranschaulicht. Die Analysezähler und ihre Laderegister (157) bestehen aus 24 Bits, während diejenigen Posten für eine Akkumulationsverwendung aus 32 Bits bestehen. Auf alle Fälle wird eine Null, die von der Maske zu zählen ist, an das NOR-Gatter 158 angelegt, dessen andere Eingabe ein Si­ gnal YES_ZERO 164 ist. YES_ZERO wird durch ein NOR-Gatter 159 erzeugt, das durch die (wahren) Ausgaben des Zähler 156 getrieben wird und dessen Aufgabe es ist, jedesmal dann, wenn der Inhalt des Zählers 156 Null ist, YES_ZERO = ONE zu erzeugen. YES_ZERO tut zwei Dinge. Erstens unterbindet es ein weiteres Zählen, indem es die Ausgabe des NOR-Gatters 158 auf Null zwingt, unabhängig von der Eingabe von der M 06961 00070 552 001000280000000200012000285910685000040 0002010153665 00004 06842aske. Der Zähler 156 zählt übrigens Einsen, so daß er nicht mehr zählt. Zweitens stellt YES_ZERO den TCF-Latch 160 ein, dessen NOT-Q-Ausgabe daraufhin zu Null geht.
Für einen Analysezähler wirkt das TCF-Signal, das zu Null geht, durch das UND-Gatter 161, um die Wirkung des Signals QUALIFIED_LOAD zu unterbinden. Dies hindert ein Auftreten der Neuladung des Registers 156, wie zuvor erwähnt. Wenn QUALIFIED_LOAD nicht unterbunden wird, wird es zu dem ODER- Gatter 162 durchgeleitet, wo entweder QUALIFIED_LOAD oder LOAD_COUNTERS ein LOAD (Laden) des Zählers 156 mit dem Wert im Register 157 bewirken und auch den TCF-LATCH 160 neu einstellen. Dies wird durch die Schaltungsanordnung inner­ halb der gestrichelten Linie 171 angezeigt.
Für den Akkumulationszähler wird das innerhalb der gestri­ chelten Linie 171 befindliche Material durch die mit der gestrichelten Linie 172 gezeigte einfache Anordnung er­ setzt. In diesem Fall wird das Signal LOAD_ACCUM_CNTR di­ rekt angelegt, um den Zähler 156 zu LADEN und den TCF-LATCH 160 NEU EINZUSTELLEN.
Es sei darauf hingewiesen, daß die Ausgabe des Zählers 156 an eine Busschnittstelle 155 angelegt wird, von der ihr Wert über den Ringbus gesendet werden kann.
In der zusammenfassenden Darstellung wurden mehrere wün­ schenswerte Merkmale für einen Nachdecodierungsmechanismus dargelegt. Es folgt nun eine kurze Erläuterung dessen, wie der Gegenstand der Fig. 4A/B, 5, 6 und 7 eingesetzt werden kann, um diese wünschenswerten Ziele zu erreichen. Das Merkmal der "Während-Betrieb-Analyse" des verbesserten Nachdecodierungsmechanismus wird bewerkstelligt, indem der Weg 59 mit dem MUX 94 verbunden ist. Damit kann die Analyse fortfahren, ohne daß zuvor Testergebnisse in dem inneren Testspeicher gespeichert werden müssen.
Die Fähigkeit, eine Analyse während des Betriebs durchzu­ führen, gekoppelt mit der Fähigkeit, den Inhalt eines Puf­ ferspeichers als eine Maske, die von einer angelegten Adresse zu einer Adresse wechseln kann, zu verwenden, er­ möglichen zusammen ein Merkmal, das es ermöglicht, ledig­ lich neue Fehler zu erkennen. In der zusammenfassenden Dar­ stellung wurde dies als "inkrementale Nachdecodierungsana­ lyse" bezeichnet. Der Grundgedanke besteht darin, während eines früheren Tests Fehlerdaten in einem ECR auflaufen zu lassen, diese Fehlerdaten in einen Pufferspeicher zu kopie­ ren und daraufhin diesen Pufferspeicher als eine Maske zu verwenden, um alte Fehler während eines neuen Tests zu ver­ decken, was es ermöglicht, lediglich neue Fehler zu erken­ nen und weiterzuverarbeiten. Dieses Merkmal wird durch das Koppeln der Wege 62A-D mit dem MUX 95 unterstützt. Es wird ferner durch die mit der Eingabemaske 105 gekoppelten In­ verter 106 unterstützt, da diese Inverter es ermöglichen, daß das Format Null-Zeigt-Versagen-An in die logischen Ein­ sen invertiert wird, die Bitpositionen anzeigen, die durch die Maske verdeckt werden sollen. Während eines anfängli­ chen ersten Tests ist es jedoch wünschenswert, eine Maske von lauter Nullen in dem Staumaskenregister 93 in Verbin­ dung mit der Eingabemaske 96 und mit dem MUX 94 zu verwen­ den, um ein unmaskiertes Erfassen für den ersten Durchlauf des Tests zu ermöglichen. Danach kann der inkrementale Be­ triebsmodus, der statt des MUX 94 den MUX 95 verwendet, be­ ginnen.
Der oben beschriebene Inkrementalanalysemechanismus beruht darauf, in der Lage zu sein, von einem ECR zu einem Puffer­ speicher zu kopieren. Das Speichersystem, das der innere Testspeicher ist, liefert nicht von selbst eine Einrich­ tung, um eine derartige Kopieroperation durchzuführen. Sie kann jedoch mit Hilfe des oben beschriebenen verbesserten Nachdecodierungsmechanismus bewerkstelligt werden. Insbe­ sondere liegt ein Weg für eine Übertragung nicht geänderter Daten vor, der mit einem der Wege 62A-D beginnt und mit dem Weg 61 endet. Dieser nicht geänderte Weg beginnt mit dem MUX 94, geht daraufhin zu MUX 108, fährt fort über eine ordnungsgemäße Konfiguration der Analysemasken 110a-z und endet entlang dem Weg 113 zu dem MUX 117. Die ordnungsgemä­ ße Konfiguration der Analysemasken 110a-z besteht darin, daß jede eine Maske von lauter Einsen aufweist, mit Ausnah­ me der Bitposition, die der Maskennummer entspricht, die eine Null ist. (Diese scheinbar eigenartige Bedingung folgt aus der Tatsache, daß jede Analysemaske lediglich ein ein­ ziges Bit ausgibt, und richtet es so ein, daß die Mehrzahl dieser Masken die Daten weiterleiten, ohne sie zu ändern.)
Der verbesserte Nachdecodierungsmechanismus 60 kann in man­ chen Fällen gleichzeitige Analysen durchführen. Beispiels­ Weise kann die Sammlung von Analysemasken 110a-z ihre Auf­ gabe(n) zur gleichen Zeit ausführen, wie der Akkumulations­ analysemechanismus (123-129) und der Bitweise-Analyse- Mechanismus (139-136) unabhängig ihre Aufgaben erfüllen.
Dies wird dadurch möglich, daß jeder dieser Mechanismen un­ abhängig und gleichzeitig den Daten 114 ausgesetzt ist. Es versteht sich, daß der Akkumulationsanalysemechanismus (123-129) auf das undifferenzierte Vorhandensein oder Nichtvorhandensein von Fehlern in einem Datenwort, das auf dem Weg 114 auftritt, einwirkt. Das heißt, daß das Vorhan­ densein eines oder mehrerer Fehler in einem Datenwort ge­ nauso behandelt wird wie ein einziger Fehler. Im Gegensatz dazu spricht der Bitweise-Analyse-Mechanismus (130-136) auf die tatsächliche Anzahl von Fehlern in einem Datenwort, das auf dem Weg 114 auftritt, an.
Schließlich ist zu beachten, daß die gesammelten Werte der Endzählwertflags (116) an den MUX 117 angelegt werden, von wo sie über den Weg 61 zu einem Pufferspeicher registriert werden können. Es folgt ein Beispiel, warum dieses Merkmal nützlich sein kann. Man nehme an, daß ein ECR konfiguriert wurde, um als ein Z TAG RAM (d. h. Block-TAG-RAM) zu arbei­ ten. Es ist wünschenswert, für Fehler, die jedem Block zu­ geordnet sind, über individuelle Schwellen zu verfügen. Da­ zu würde man für jede Blockadresse die Endzählwertflags zu dem ECR registrieren und daraufhin die Analysezähler zwi­ schen einzelnen Blocks neu einstellen. Die registrierten Informationen zeigen Blocks an, die ihre Schwellen über­ steigen.

Claims (2)

1. Verfahren zum Analysieren von Testergebnissen für ei­ nen zu testenden Speicher (14) an einem Speichertester (1), wobei das Verfahren folgende Schritte aufweist:
  • a) Durchführen eines Testbetriebs an einem zu te­ stenden Speicher, um ein Datenergebnis (56) zu erzeugen;
  • b) ohne vorheriges Speichern dieses Testergebnisses an einer Arbeitsposition, Anlegen einer Maske (96, 97, 105, 110, 120, 167, 170) an das Datener­ gebnis, und daraufhin;
  • c) Aktivieren eines Zählers (112) gemäß Fehleranzei­ gen, die nach dem Anlegen der Maske in dem Daten­ ergebnis verbleiben.
2. Verfahren gemäß Anspruch 1, das ferner die Schritte des Vergleichens (148/156) des Inhalts des Zählers mit einem Schwellwert (151/157) und des Erzeugens eines Fehlersignals, wenn die Schwelle erreicht ist, auf­ weist.
DE10153665A 2000-10-31 2001-10-31 Speichertester mit verbesserter Nachdecodierung Withdrawn DE10153665A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/702,631 US6687861B1 (en) 2000-10-31 2000-10-31 Memory tester with enhanced post decode

Publications (1)

Publication Number Publication Date
DE10153665A1 true DE10153665A1 (de) 2002-05-16

Family

ID=24822008

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10153665A Withdrawn DE10153665A1 (de) 2000-10-31 2001-10-31 Speichertester mit verbesserter Nachdecodierung

Country Status (5)

Country Link
US (1) US6687861B1 (de)
JP (1) JP4317338B2 (de)
KR (1) KR20020033559A (de)
DE (1) DE10153665A1 (de)
IT (1) ITRM20010644A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097822A1 (fr) * 2001-05-25 2002-12-05 Advantest Corporation Dispositif d'essai de semiconducteurs
US7464310B2 (en) * 2002-09-30 2008-12-09 Broadcom Corporation Programmable state machine of an integrated circuit
JP2006266835A (ja) * 2005-03-23 2006-10-05 Advantest Corp 試験装置、試験方法、及び試験制御プログラム
JP2006275986A (ja) * 2005-03-30 2006-10-12 Advantest Corp 診断プログラム、切替プログラム、試験装置、および診断方法
JP2007047098A (ja) * 2005-08-12 2007-02-22 Advantest Corp 試験装置
DE102005048872A1 (de) * 2005-10-12 2007-04-26 Mühlbauer Ag Testkopfeinrichtung
JP4889357B2 (ja) * 2006-04-14 2012-03-07 株式会社アドバンテスト 試験装置、プログラムおよび試験方法
KR100984523B1 (ko) * 2008-04-28 2010-10-01 박재석 화상 골프 연습장치
US9281080B2 (en) * 2014-03-11 2016-03-08 Advantest Corporation Staged buffer caching in a system for testing a device under test
US9836277B2 (en) * 2014-10-01 2017-12-05 Samsung Electronics Co., Ltd. In-memory popcount support for real time analytics
US9740558B2 (en) * 2015-05-31 2017-08-22 Intel Corporation On-die ECC with error counter and internal address generation
KR102039112B1 (ko) * 2017-06-20 2019-10-31 포스필 주식회사 피시험 디바이스를 테스트하기 위한 프로세서 기반의 계측 방법 및 이를 이용한 계측 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610925A (en) * 1995-03-27 1997-03-11 Advantest Corporation Failure analyzer for semiconductor tester

Also Published As

Publication number Publication date
KR20020033559A (ko) 2002-05-07
JP2002203399A (ja) 2002-07-19
US6687861B1 (en) 2004-02-03
ITRM20010644A0 (it) 2001-10-31
JP4317338B2 (ja) 2009-08-19
ITRM20010644A1 (it) 2003-05-01

Similar Documents

Publication Publication Date Title
DE69019555T2 (de) Technik für die serielle Prüfung eingebauter Speicher.
DE10147910A1 (de) Speichertester weist Speichersätze auf, die für die Verwendung als Fehlererfassungs-RAM, Etiketten-RAM, Pufferspeicher und Stimulus-LOG-RAM konfigurierbar sind
DE60219990T2 (de) Speichertest-Schaltung
DE10217303A1 (de) Algorithmisch programmierbarer Speichertester mit Unterbrechungspunktauslöser, Fehlerblockierung und Oszilloskop-Modus, der Zielsequenzen speichert
DE69714472T2 (de) Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung
DE68921269T2 (de) Integrierte Prüfschaltung.
DE69130693T2 (de) Eingebaute Selbstprüfung für integrierte Schaltungen
DE69904320T2 (de) On-chip schaltung und verfahren zur speicherschaltungs-prüfung
DE69223461T2 (de) Konfigurable Selbstprüfung für integrierte RAMs
DE69030528T2 (de) Verfahren und Anordnung zum Testen von Schaltungsplatten
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69804108T2 (de) Zweischritt-befehlspuffer für speicheranordnung und verfahren und speicheranordnung und rechnersystem unter verwendung desselben
DE602004003475T2 (de) Testen von integrierten schaltungen
DE69107476T2 (de) Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher.
DE69628034T2 (de) Hochimpedanzmodus für jtag
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE69834011T2 (de) Statische Direktzugriffspeicherschaltungen
DE4041897A1 (de) Abtastpfadsystem und integrierte schaltkreiseinrichtung mit diesem
DE10153753B4 (de) Speichertester unterläßt ein Programmieren von Adressen in erfaßten schlechten Spalten
DE10153665A1 (de) Speichertester mit verbesserter Nachdecodierung
DE69031291T2 (de) Testmethode, Testschaltung und integrierter Halbleiterschaltkreis mit Testschaltung
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE69433542T2 (de) Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung
DE69902221T2 (de) Speicherschaltungen mit eingebautem Selbsttest
EP1205938B1 (de) Integrierte Schaltung mit Testbetriebsart und Verfahren zum Testen einer Vielzahl solcher integrierter Schaltungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG

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

Effective date: 20110502