DE10153665A1 - Speichertester mit verbesserter Nachdecodierung - Google Patents
Speichertester mit verbesserter NachdecodierungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External 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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5610925A (en) * | 1995-03-27 | 1997-03-11 | Advantest Corporation | Failure analyzer for semiconductor tester |
-
2000
- 2000-10-31 US US09/702,631 patent/US6687861B1/en not_active Expired - Lifetime
-
2001
- 2001-10-30 KR KR1020010067006A patent/KR20020033559A/ko not_active Application Discontinuation
- 2001-10-30 JP JP2001332489A patent/JP4317338B2/ja not_active Expired - Fee Related
- 2001-10-31 DE DE10153665A patent/DE10153665A1/de not_active Withdrawn
- 2001-10-31 IT IT2001RM000644A patent/ITRM20010644A1/it unknown
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 |