-
Hintergrund der Erfindung
-
Die
vorliegende Erfindung betrifft ein Speichertestgerät zum Testen
oder Prüfen
von Speichern, die z.B. durch integrierte Halbleiterschaltungen
gebildet sind, und insbesondere ein Mustererzeugungsverfahren zur
Verwendung bei der Prüfung von
Speichern des Typs, der auf eine Startadresse mit der Erzeugung
von Burst-Adressen reagiert und so ein schnelles Schreiben und Lesen
ermöglicht. Die
Erfindung betrifft ferner einen Mustergenerator, der das Mustererzeugungsverfahren
anwendet, und ein Speichertestgerät, das den Mustergenerator
anwendet.
-
6 zeigt
in Blockform die allgemeine Konfiguration eines IC-Prüfgerätes. Das
Bezugszeichen TES bezeichnet allgemein das IC-Prüfgerät. Das IC-Prüfgerät TES umfaßt einen
Hauptcontroller 111, einen Mustergenerator 112,
einen Zeitsteuerungsgenerator 113, einen Wellenform-Formatierer 114,
einen Logik-Komparator 115, einen Treiber 116,
einen Analog-Komparator 117, einen Fehleranalysespeicher 118,
eine Referenzspannungsquelle für
eine logische Amplitude 121, eine Vergleichs-Referenzspannungsquelle 122 und
eine Gerätestromversorgung 123.
-
Der
Hauptcontroller 111 ist im allgemeinen durch ein Computersystem
gebildet und arbeitet unter der Kontrolle eines von einem Benutzer
vorbereiteten Prüfprogramms,
das den Mustergenerator 112 und den Zeitsteuerungsgenerator 113 steuert.
Der Mustergenerator 112 erzeugt einen Prüfmusterdatenwert
DT, der vom Wellenform-Formatierer 114 in ein Prüfmustersignal
mit einer Wellenform umgewandelt wird, die Spezifikationen eines
zu prüfenden Speichers 119 genügt. Das
Prüfmustersignal
wird dem Treiber 116 zugeführt, wo es zu einer Wellenform
mit einem Amplitudenwert spannungsverstärkt wird, der an der Referenzspannungsquelle
für die
logische Amplitude 121 eingestellt ist. Das so spannungsverstärkte Prüfmustersignal
wird dann an den zu prüfenden
Speicher 119 zur Speicherung darin angelegt.
-
Ein
aus dem zu prüfenden
Speicher 119 gelesenes Antwortsignal wird vom Analog-Komparator 117 mit
einer Referenzspannung verglichen, die von der Referenzspannungsquelle 122 zugeführt wird, um
zu entscheiden, ob das Antwortsignal einen vorgegebenen Logikpegel
(logisch "H"- oder "L"-Pegel) hat.
Das Antwortsignal, von dem entschieden worden ist, daß es auf
einem vorgegebenen logischen Pegel liegt, wird vom Logik-Komparator 115 mit
einem vom Mustergenerator 112 gelieferten Erwartungsdatenwert
EXP verglichen. Wenn eine Abweichung zwischen dem Antwortsignal
und dem Erwartungsdatenwert EXP gefunden wird, wird entschieden,
daß die Speicherzelle
mit der Adresse, aus der das Antwortsignal gelesen wurde, fehlerhaft
ist, und bei jedem Auftreten eines solchen Fehlers wird die fehlerhafte Adresse
im Fehleranalysespeicher 118 gespeichert, um nach Vollendung
der Prüfung
bei der Entscheidung gebraucht zu werden, ob die gestörte Zelle
reparierbar ist.
-
7,
die vom Erfinder der vorliegenden Erfindung entworfen ist, zeigt
in Blockform die interne Konfiguration des Mustergenerators 112,
der z.B. das Erwartungsdaten-Erzeugungsverfahren anwendet, das im
japanischen Patentblatt (Japanese Patent Laid-open Gazette) 08-036035
(offengelegt am 06. Februar 1996) offenbart ist. Der Mustergenerator 112 umfaßt: einen
Programmspeicher 11, in dem Mikroprogramme zur Verwendung
bei der Mustererzeugung gespeichert sind; einen Leseadressen-Erzeugungsteil 12,
der eine Adresse zum Auslesen des Programmspeichers 11 bestimmt;
einen Adreßdaten-Erzeugungsteil 13,
der Adreßdaten
zur Eingabe in den zu prüfenden
Speicher 119 erzeugt; einen Maskendaten-Erzeugungsteil 14,
der Maskendaten MD zum bitweisen Markieren von in den zu prüfenden Speicher 119 zu
schreibenden Prüfmusterdaten erzeugt;
einen Musterdaten-Erzeugungsteil 15, der Musterdaten TP
erzeugt; einen Erwartungsdaten-Erzeugungsteil 16, der aus
den Musterdaten TP und den Maskendaten MD die dem Logik-Komparator 115 zuzuführenden
Erwartungsdaten EXP erzeugt; und einen Multiplexer 17,
der unter den Musterdatenwerten TP vom Musterdaten-Erzeugungsteil 15 und den
Erwartungsdatenwerten EXP vom Erwartungsdaten-Erzeugungsteil 16 einen
auswählt
und ausgibt.
-
Die
Ausgabe aus dem Multiplexer 17 wird im Beispiel der 7 und
der nachfolgenden Beschreibung mit DT bezeichnet. Folglich ist DT
der Musterdatenwert zum Schreibzeitpunkt des zu prüfenden Speichers 119 und
der Erwartungsdatenwert EXP zum Lesezeitpunkt.
-
Der
Leseadressen-Erzeugungsteil 12 ist aufgebaut aus einem
Programmzähler
PC und einer Arithmetik-Logik-Einheit ALU. Die Leseadresse des Programmspeichers 11,
die durch den Programmzähler
PC angegeben ist, wird einer arithmetischen Operation wie etwa einer
Addition oder Subtraktion basierend auf einem Operationssteuerbefehl
PC-C unterzogen, der einen Operationswert enthält und in das Mikroprogramm
geschrieben ist, das aus dem Programmspeicher 11 für den nächsten Prüfzyklus gelesen
wird, und das Operationsergebnis wird verwendet, um den Wert des
Programmzählers
PC zu aktualisieren.
-
Der
Adreßdaten-Erzeugungsteil 13,
der Maskendaten-Erzeugungsteil 14 und der Musterdaten-Erzeugungsteil 15 sind
jeweils aufgebaut aus einer Arithmetik-Logik-Einheit ALU und einem
Register RG. Die durch die Register RG bezeichneten Werte, aus denen
sie als Adreßdatenwert
XB, Maskendatenwert MD bzw. Musterdatenwert TP ausgegeben werden,
werden einer arithmetischen Operation wie einer Addition oder Subtraktion
basierend auf Operationssteuerbefehlen XB-C, MD-C und TP-C unterzogen,
die Operationswerte enthalten und in die Mikroprogramme geschrieben
sind, die aus dem Programmspeicher 11 für den nächsten Prüfzyklus gelesen werden, und
die Operationsergebnisse werden verwendet, um die Werte der Register
RG zu aktualisieren.
-
Adreßdaten XB
und Musterdaten TP werden vom Wellenform-Formatierer 114 jeweils
in ein Signal mit einer Wellenform umgewandelt, das den Spezifikationen
des zu prüfenden
Speichers 119 genügt.
Ein Lese-/Schreibsteuerbefehl R/W für den zu prüfenden Speicher 119 wird
direkt aus dem Programmspeicher 11 gelesen und wird genauso
vom Wellenform-Formatierer 114 in ein Signal mit einer
Wellenform umgewandelt, das den Spezifikationen des zu prüfenden Speichers 119 genügt und anschließend darin eingegeben
wird.
-
Es
folgt eine Beschreibung der Maskendaten MD, die im Maskendaten-Erzeugungsteil 14 erzeugt werden.
Manche Speichervorrichtungen haben eine bitweise maskierte Schreibfunktion,
die ein Schreiben von Schreibdaten bitweise sperrt. Bei der Prüfung eines
solchen Speichers wird der Erwartungsdaten-Erzeugungsteil 16 benötigt, um
einen Erwartungsdatenwert EXP zu erzeugen, der an gegenwärtig mit
dem Maskendatenwert MD maskierten Bitpositionen die gleichen Bitdaten
wie zuvor geschrieben hat, der aber an gegenwärtig unmaskierten Bitpositionen
die aktuell geschriebenen Bitdaten hat.
-
Der
Erwartungsdaten-Erzeugungsteil 16 ist speziell entworfen,
um diese Anforderungen leicht zu erfüllen. Das heißt, der
Erwartungsdaten-Erzeugungsteil 16 ist aufgebaut aus einem
logischen Inverter INV und einer Exklusiv-Oder-Schaltung EOR. Der Maskendatenwert
MD wird über
den logischen Inverter INV dem einen Eingangsanschluß der Exklusiv-Oder-Schaltung
EOR zugeführt,
und der Musterdatenwert TP vom Musterdaten-Erzeugungsteil 15 wird
dem anderen Eingabeanschluß der
Exklusiv-Oder-Schaltung EOR zugeführt. Die Exklusiv-Oder-Schaltung
EOR gibt Exklusiv-Oder-Verknüpfungen
entsprechender Bits der zwei Eingabedatenwerte aus.
-
Wenn
ein Schreiben in den zu prüfenden Speicher 119 durchgeführt wird,
während
mit dem Maskendatenwert MD maskiert ist, und die Ergebnisse der
geschriebenen Daten aus dem Speicher 119 gelesen werden,
wählt der
Multiplexer 17 durch Invertieren eines Steuersignals EXP-S
auf z.B. logisch "1" im Erwartungsdaten-Erzeugungsteil 16 erzeugte Erwartungsdaten
EXP und gibt sie aus. Diese Erwartungsdaten EXP werden dem Logik-Komparator 115 zugeführt.
-
In
dem Maskendatenwert hat das Maskenbit (ein Schreibsperrbit) den
Wert logisch "0", und ein Nicht-Maskenbit
(ein Schreibzulassungsbit oder Write-Enable-Bit) hat den Wert logisch "1". Die Bits des Maskendatenwertes MD
mit logisch "0" werden vom Inverter
im Erwartungsdaten-Erzeugungsteil 16 auf "1" invertiert und dienen als ein Signal
für die
logische Inversion des entsprechenden Bits in dem Musterdatenwert
TP. Andererseits werden die Bits mit logisch "1" vom
Inverter INV im Erwartungsdaten-Erzeugungsteil 16 jeweils
auf "0" invertiert, so daß das entsprechende
Bit in dem Musterdatenwert TP mit seinem eigenen logischen Pegel
unverändert
ausgegeben werden kann. Das heißt,
im Erwartungsdaten-Erzeugungsteil 16 wird der Musterdatenwert
TP an den Bitpositionen, die den Maskenbits des Maskendatenwertes
MD entsprechen, logisch invertiert und dann als Erwartungsdatenwert
EXP bereitgestellt.
-
Wenn
in alle Bits (Speicherzellen) des zu prüfenden Speichers 119 zur
Initialisierung Nullen geschrieben werden und dann darin ein Schreiben durch
Anlegen von Musterdaten mit allen Bits auf Pegel logisch "1" durchgeführt wird, während alternierende Bits (alternierende
Speicherzellen) maskiert werden, sollten die logischen "Einsen" in den Speicherzellen
jeder Adresse des Speichers 119, den den unmaskierten Bits
entspricht, geschrieben sein, und die logischen "Nullen" sollten in den Speicherzellen geschrieben
sein, die den maskierten Bits entsprechen. Folglich ist es durch
Eingeben des Musterdatenwertes TP mit allen Bits auf logischem Pegel "1" und des zum bitweisen Maskieren verwendeten
Maskendatenwertes MD in den Erwarungsdaten-Erzeugungsteil 16 möglich, den
gleichen Datenwert wie den, der in den Speicher 119 hätte geschrieben
werden sollen, als Erwartungsdatenwert EXP zu erhalten; deshalb
kann der Erwartungsdaten-Erzeugungsteil 16 einen
korrekten Erwartungsdatenwert EXP erzeugen.
-
8 zeigt,
wie der Erwartungsdatenwert EXP wie oben beschrieben erzeugt wird.
Dabei sind die 8 bis 14 vom
Erfinder dieser Anmeldung vorbereitete Tabellen zur Erläuterung
der Schreib-Leseoperation in dem zu prüfenden Speicher. Spalte A in 8 zeigt,
wie das Schreiben in den zu prüfenden
Speicher zur Initialisierung durchgeführt werden soll. Dieses Beispiel
zeigt den Fall, wo an einer Schreibadresse #0 ein nur aus „Einsen" bestehender Maskendatenwert
bereitgestellt wird, was ein Schreiben in allen Bits ermöglicht,
und ein nur aus „Nullen" bestehender Musterdatenwert
TP geschrieben wird.
-
Spalte
B zeigt den Zustand, nachdem ein Schreiben an der Adresse #0 mit
abwechselnd maskierten Bits (im folgenden als bitweise Maskierung bezeichnet)
durchgeführt
worden ist. Der Maskendatenwert ist der Datenwert "10101010...", wobei "1" und "0" miteinander
abwechseln. Der Musterdatenwert TP ist auf sämtlich „Einsen" invertiert, und der invertierte Datenwert
wird vom Multiplexer 17 ausgewählt und als Signal DT in den
zu prüfenden
Speicher geschrieben.
-
In
dem zu prüfenden
Speicher wird logisch "1" in jede Speicherzelle
geschrieben, die einem Bit mit logisch "1" im
Maskendatenwert MD entspricht, und in jeder Speicherzelle, die dem
logisch "0" des Maskendatenwertes
entspricht, ist die anfangs beschriebene logische "0" gespeichert, weil ein Schreiben darein
gesperrt ist.
-
Spalte
C in 8 zeigt den Fall, wo der aus dem zu prüfenden Speicher
nach Durchführung
eines Schreibens mit Maskierung darin gelesene Datenwert RD mit
dem Erwartungsdatenwert EXP übereinstimmt.
-
Beim
Lesen des Speichers werden der zum Schreiben verwendete Maskendatenwert
MD und der Musterdatenwert TP dem Erwartungsdaten-Erzeugungsteil 16 zugeführt, der
den Erwartungsdatenwert EXP erzeugt (8. Zelle in Spalte C der Tabelle
von 8). Der Maskendatenwert MD ist in diesem Beispiel
ein Datenwert, in dem "1" und "0" miteinander abwechseln, und der Musterdatenwert
TP ist ein Datenwert, der nur aus „Einsen" besteht. Folglich ist der Erwartungsdatenwert
EXP, der vom Erwartungsdaten-Erzeugungsteil 16 geliefert
wird und vom Multiplexer 17 ausgewählt und ausgegeben wird, ein
Datenwert, in dem "1" und "0" miteinander abwechseln, wie dies auch
beim Maskendatenwert MD der Fall ist. Dieser Erwartungsdatenwert
EXP paßt
zum Datenwert RD (der untersten Zelle in Spalte C der Tabelle von 8),
der aus dem zu prüfenden
Speicher gelesen wird, woraus sich versteht, daß der Erwartungsdatenwert korrekt
erzeugt werden kann.
-
"Ungültig" in 8 bezeichnet
Daten, die nicht verwendet werden. Das heißt, es bedeutet, daß der Maskendatenwert
MD beim Lesen des zu prüfenden
Speichers im Beispiel der 4 niemals
gebraucht wird. Das gleiche gilt für die 11 und 13.
-
Das
oben Beschriebene ist ein Verfahren zum Erzeugen der Erwartungsdaten
für einen
Speicher, dessen Adressen eine 1:1-Entsprechung mit extern zugreifbaren
Adressen haben. Mit der jüngeren
Entwicklung von schnellen Schreib-/Lesespeichern hoher Kapazität ist ein
Burst-Typ-Speicher
vorgeschlagen worden, bei dem eine von außen eingegebene Adresse als
eine Startadresse verwendet wird, um Burst-Adressen zu erzeugen,
die auf spezifisch definierte Speicherplätze nacheinander zugreifen,
und externe Daten werden in die Burst-Adressenplätze geschrieben und daraus
gelesen. Manche Speicher vom Burst-Typ sind von einem Typ, bei dem jede
Adresse Speicherzellen aufweist, die mehrere jeweils aus 8 oder
9 Bits zusammengesetzte Bytes aufweisen, und der, anders als der
zuvor erwähnte Speicher,
eine Funktion besitzt, bei der ein Schreiben in alle (aus mehreren
Bytes bestehende) Speicherzellen jeder Burst-Adresse byteweise mit
den entsprechenden Bits des Eingabemasken-Datenwertes gesteuert
wird (im folgenden als byteweise maskierte Schreibfunktion bezeichnet).
Folglich wird ein Bit Maskendaten für jedes Byte verwendet; z.B.
wird beim nachfolgend beschriebenen Burst-Typ-Speicher, der zu jeder
Adresse zwei Byte große
Speicherzellen hat, ein Schreiben in die Zwei-Byte-Speicherzellen
gesteuert unter Verwendung von Zweibit Maskendaten.
-
Mit
Bezug auf 9 wird der allgemeine Betrieb
und die byteweise Maskierfunktion eines Direct-Rambus-DRAM beschrieben,
das eines der Burst-Typ-Speicher ist. 9A zeigt
ein Taktsignal CLOCK, das an das Direct-Rambus-DRAM angelegt wird; 9B zeigt Steuerpins COL0 bis COL4 zum Eingeben
eines Startadressensignals darein, Steuersignale zum Steuern von
Schreib- und Leseoperationen, Maskendaten usw.; und 9C und 9D zeigen Daten-Ein-/Aus-Pins DQA0 bis DQA8 und DQB0 bis DQB8
zum Eingeben von Schreibdatensignalen bzw. Ausgeben von Lesedatensignalen
darüber.
-
Die
Steuerpins COL0 bis COL4 werden mit einem Steuerpaket COLC zum Eingeben
von Steuerbefehlen, Startadressen usw. und einem Maskenpaket COLM
zum Eingeben von Maskendaten beaufschlagt. Das Steuerpaket COLC
wird in die Pins COL0 bis COL4 bei diesem Beispiel als Paralleldaten von
5 Bit Breite eingegeben, und wenn ein Signal, das an einen vorgegebenen
der Pins, z.B. COL0, angelegt wird, S = 1 ist, erkennt das Direct-Rambus-DRAM,
daß die
in die Pins COL0 bis COL4 einzugebenden Daten das Paket COLC zum
Eingeben einer Startadresse sind. Die Lese- und Schreiboperationen
werden spezifiziert durch in dem Paket COLC enthaltene Steuersignale
COP0 bis COP3. Die Startadresse wird dabei spezifiziert durch Steuersignale C0
bis C5. Andere Steuersignale werden z.B. zur Geräteerkennung und zur Speicherbank-Spezifizierung benötigt, da
sie aber nicht speziell mit der vorliegenden Erfindung zusammenhängen, werden
sie nicht beschrieben.
-
Wenn
im Falle des Maskenpaketes COLM, das in die Pins COL0 bis COL4 eingegeben
wird, das z.B. an den Pin COL1 anzulegende Signal M = 1 ist, erkennt
der Direct-Rambus-DRAM, daß das
Eingabepaket ein Paket zum Eingeben von Maskendaten ist. Das Maskenpaket
COLM enthält
zwei Stück
Maskendaten MA0 bis MA7 und MB0 bis MB7; zwei Bits aus zwei Stück Maskendaten
MAn und MBn (wobei n = 0, 1, ..., 7) mit jeweils entsprechender
Nummer stellen Maskendaten zum Steuern eines Zwei-Byte-Schreibens
an jeder Adresse dar.
-
Wie
gezeigt, werden die Daten-Ein-/Ausgabepins DQA0 bis DQA8 und DQB0
bis DQB8 mit zwei Stück
Paralleldaten DQA und DQB versorgt. Die zwei Stück parallele Musterdaten DQA
und DQB werden an Burst-Adressen #0 bis #7 geschrieben, die in dem
Speicher erzeugt werden. Bei diesem Beispiel werden Daten von 8
Adressen eingegeben.
-
WA00
bis WA80 und WB00 bis WB80, die die zwei Stück parallele Musterdaten DQA
und DQB bilden, sind jeweils parallele Musterdaten aus einem aus
9 Bits bestehenden Byte. Die zwei Stück parallele Musterdaten sind
in zeitlicher Folge angeordnet und werden als eine Folge von parallelen
Musterdaten in den Speicher eingegeben.
-
10 zeigt
die Beziehungen zwischen den Burst-Adressen #0 bis #7 und den Maskendatenwerten
MA0 bis MA7 und MB0 bis MB7 und parallelen Musterdaten, die an jede
der Burst-Adressen
#0 bis #7 geschrieben werden. Je nach dem, ob die zwei Stück Maskendaten
MA0 und MB0, die der Burst-Adresse #0 zugeordnet sind, logisch „Einsen" oder „Nullen" sind, wird entschieden,
ob die Stücke paralleler
Musterdaten WA00 bis WA80 und WB00 bis WB80, die an die Burst-Adresse
#0 geschrieben werden sollen, byteweise maskiert werden.
-
Das
heißt,
wenn der Maskendatenwert MA0 logisch "1" ist,
ist für
die parallelen Musterdatenwerte WA00 bis WA80 das Schreiben zugelassen,
und wenn der Maskendatenwert B0 logisch "0" ist,
ist für die
parallelen Musterdatenwerte WB00 bis WB80 das Schreiben gesperrt.
Für die
anderen Burst-Adressen #1 bis #7 wird die Maskierungsoperation,
in Abhängigkeit
von den logischen Werten der Maskendatenwerte MA1 bis MA7 und MB1
bis MB7 entsprechend gesteuert.
-
Wie
oben beschrieben werden beim Direct-Rambus-DRAM die Burst-Adressen
erzeugt, dann werden die Stücke
paralleler Musterdaten (WA00 bis WA80, WB00 bis WB80), (WA01 bis WA81,
WB01 bis WB81), ... die von außen
zeitlich verteilt eingegeben werden, sequentiell an die Burst-Adressen
geschrieben, und der Speicher selbst steuert die Schreibsperrung
und die Schreibzulassung (write enable) entsprechend den in die Steuerpins
eingegebenen Stücken
von Maskendaten MA0 bis MA7 und MB0 bis MB7.
-
Der
herkömmliche
Mustergenerator kennt die Burst-Adresse nicht; deshalb kann beim
Prüfen dieser
Art von Speicher der herkömmliche
Mustergenerator nicht für
jede Burst-Adresse Erwartungsdaten aus Maskendaten und in den zu
prüfenden
Speicher geschriebenen Musterdaten erzeugen.
-
Um
ein besseres Verständnis
der Erfindung zu erleichtern, wird eine Kurzbeschreibung einer byteweise
maskierten Prüfung
(einer mit Maskierung auf byteweiser Grundlage durchgeführten Prüfung) des
Direct-Rambus-DRAM gegeben.
-
In 11 bis 14 sind
Betriebszustände des
Mustergenerators und des Direct-Rambus-DRAM gezeigt, wenn der Speicher
mit Maskierung auf byteweiser Basis beschrieben und gelesen wurde.
-
11 zeigt
die Betriebszustände
des Mustergenerators und des zu prüfenden Speichers zum Zeitpunkt
der Initialisierung. Der Adreßerzeugungsteil 13 (siehe 7)
des Mustergenerators 112 erzeugt XB = #0 (siehe 11)
als Startadresse, und der Maskendaten-Erzeugungsteil 14 gibt
als Maskendatenwert MD im Beispiel der 11 den
Wert "FFFF" aus, dessen Bits
alle „Einsen" sind.
-
Die
Adresse XB und der Maskendatenwert MD vom Mustergenerator 112 werden
in paralleler Form ausgegeben, doch im Wellenform-Formatierer 114 werden
die Adresse XB und der Maskendatenwert MD in paralleler Form durch
eine Pin-Auswahlfunktion des Formatierers 114 in die in 9 gezeigten
Pakete COLC und COLM umgewandelt.
-
In
die Daten-Ein-/Ausgabe-Pins DQA0 bis DQA8 und DQB0 bis DQB8 des
zu prüfenden
Speichers 119 werden der Reihe nach Stücke von Initialisierungsdaten
PDx0 bis PDx7 von acht aufeinanderfolgenden Adressen eingegeben.
Der Initialisierungsdatenwert PDx0 entspricht WA00 bis WA80 und WB00
bis WB80 aus 8 und 9, und der
Datenwert PDx1 entspricht WA01 bis WA81 und WB01 bis WB81. Genauso
entsprechen die anderen verbleibenden Stücke von Datenwerten PDx2 bis
PDx7 den in 8 und 9 gezeigten
Stücken
von parallelen Musterdaten DQA und DQB.
-
11 zeigt,
wie das Initialisierungsmuster in der byteweise maskierten Prüfung erzeugt
wird. Folglich werden Steuerdatenwerte wie die Adresse XB und der
vom Mustergenerator 112 ausgegebene Maskendatenwert MD
vom Wellenform-Formatierer 114 in die Paketsignale COLC
und COLM umgewandelt und anschließend dem zu prüfenden Speicher 119 zugeführt. Die
Stücke
von parallelen Musterdatenwerten PDx0 bis PDx7 werden ebenfalls
intakt über
den Multiplexer 7 dem Wellenform-Formatierer 114 zugeführt und
in Wellenformen, die den Spezifikationen des zu prüfenden Speichers 119 entsprechen,
zur Eingabe darin umgewandelt.
-
12 zeigt
den Zustand des Speichers 119 nach der in 11 gezeigten
Initialisierung. Bei dem Maskendatenwert MD = "FFFF" ist
ein Schreiben für alle
Bytes zugelassen, und im Speicher 119 werden Stücke von
Daten PDL0 bis PDL7 und PDU0 bis PDU7 jeweils als Initialisierungsdaten
an die Burst-Adressen geschrieben.
-
In
diesem Fall entsprechen PDL0 bis PDL7 und PDU0 bis PDU7 jeweils
den in 9 und 10 abgebildeten parallelen Datenwerten
WA00 bis WA87 und WB00 bis WB87. Das heißt, PDL0 entspricht den Daten
WA00 bis WA80 des einen Bytes niedriger Ordnung der Adresse #0,
und PDU0 entspricht den Datenwerten WB00 bis WB80 des einen Bytes
hoher Ordnung der Adresse #0; die zwei Byte parallele Musterdaten
einer Adresse sind als Ein-Byte-Datenwert niedriger Ordnung und Ein-Byte-Datenwert
hoher Ordnung dargestellt.
-
13 zeigt
die Erzeugung eines byteweise maskierten Schreibmusters für die byteweise
maskierte Prüfung.
Bei byteweise maskiertem Schreiben erzeugt der Mustergenerator die
Startadresse XB = #0 und den parallelen Maskendatenwert MD. Im Beispiel
von 13 wird der Datenwert "AA55" (= 1010101001010101)
als Maskendatenwert MD gesetzt. Bei diesem Beispiel ist AA = 10101010
Maskendatenwert für
das eine Byte niedriger Ordnung jeder der Burst-Adressen #0 bis
#7, und 55 = 01010101 ist Maskendatenwert für das eine Byte hoher Ordnung
jeder der Burst-Adressen #0 bis #7.
-
Parallele
Musterdaten WDx0 bis WDx7 werden als byteweise maskiertes Schreibmuster
für die byteweise
maskierte Prüfung
erzeugt. Wie im Fall der parallelen Musterdaten WDx0 WDx7, die das Schreibmuster
bilden, werden die Stücke
von parallelen Musterdaten in der Reihenfolge WDx0 (WA00 bis WA80,
WB00 bis WB80), WDx1 (WA01 bis WA81, WB01 bis WB81), ... erzeugt,
die jeweils den Burst-Adressen #0 bis #7 entspricht. Diese Stücke paralleler
Musterdaten WDx0, WDx1, WDx2, WDx3, die das Schreibmuster bilden,
werden dem zu prüfenden
Speicher intakt als das Signal DT zugeführt.
-
Die
Tabelle der 14 zeigt den gespeicherten Inhalt
des zu prüfenden
Speichers, nachdem darin auf byteweiser Basis maskiert geschrieben
worden ist. Die Maskendaten MA0 bis MA7 in der ersten Zeile der
Tabelle sind der Maskendatenwert AA = 10101010 für das eine Byte niedriger Ordnung
jeder der Adressen #0 bis #7, und die Maskendatenwerte MB0 bis MB7
auf der zweiten Zeile sind der Maskendatenwert 55 = 01010101 für das eine
Byte hoher Ordnung jeder der Adressen #0 bis #7. Der parallele Ein-Byte-Musterdatenwert,
der dem Bit logisch "1" des Maskendatenwertes
entspricht, entspricht einer Schreibzulassung (Write-Enable). Unter
diesen Umständen
werden auf der DQA-Pin-Seite
(der Seite des einen Bytes niedriger Ordnung) die Stücke von Ein-Byte-Daten
niedriger Ordnung an den Burst-Adressen #0, #2, #4 und #6 durch
byteweise maskiertes Schreiben auf WDL0, WDL2, WDL4 und WDL6 geändert, während an
den anderen Burst-Adressen die ursprünglich geschriebenen Stücke von
Daten PDL1, PDL3, PDL5 und PDL7 (siehe 12) unverändert bleiben.
An der DQB-Pin-Seite (der Seite des einen Bytes hoher Ordnung) werden die
Stücke
von Ein-Byte-Daten hoher Ordnung an den Burst-Adressen #1, #3, #5
und #7 zu WDU1, WDU3, WDU5 und WDU7 überschrieben, während an
den anderen Burst-Adressen die ursprünglich geschriebenen Stücke von
Daten PDU0, PDU2, PDU4 und PDU6 unverändert erhalten bleiben.
-
Wenn
wie oben beschrieben mit auf byteweiser Basis maskierten Speicherzellen
in den zu prüfenden
Speicher geschriebene Daten aus dem Speicher gelesen und mit den
Erwartungsdaten verglichen werden, werden die Stücke von Maskendaten MD (MA0
bis MA7, MB0 bis MB7) in Form eines Parallelsignals vom Mustergenerator 112 geliefert
und unabhängig
von den Burst-Adressen angeordnet; deshalb ist es mit der in 5 gezeigten
Konfiguration des Mustergenerators 112 unmöglich, die
Erwartungsdatenwerte "WDU0PDU0", "PDL1WDU1", ..., "PDL7WDU7" in der Tabelle der 14 aus
den parallelen Musterdaten WDx0 bis WDx7 und den Maskendaten vom
parallelen Signaltyp zu erzeugen.
-
Aus
der
DE 197 81 043
T1 ist eine Speichertesteinrichtung mit einem Mustergenerator
und einem Maskierungsspeicher bekannt. Die Druckschrift befaßt sich
mit Maßnahmen
zur Vereinfachung des die Maskierung betreffenden Schaltungsteils.
-
Aus
der
EP 0 847 060 A1 ist
ein Speichertestgerät
zum Testen von im Burst-Modus arbeitenden Speichern bekannt. Von
einer Maskierung ist in diesem Stand der Technik keine Rede.
-
Aus
der
US 5,835,969 A ist
ein Adressmustergenerator bekannt, der zum Testen eines im Burst-Modus arbeitenden
Speichers geeignet ist.
-
Kurzbeschreibung
der Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, ein Mustererzeugungsverfahren
zur Verwendung beim Prüfen
von Direct-Rambus-DRAMs wie oben erwähnt, einen das Mustererzeugungsverfahren
anwendenden Mustergenerator und ein den Mustergenerator anwendendes
Speichertestgerät
anzugeben.
-
Diese
Aufgabe wird durch einen Mustergenerator gemäß Patentanspruch 1, ein den
Mustergenerator anwendendes Speichertestgerät gemäß Patentanspruch 7 und ein
Mustererzeugungsverfahren gemäß Patentanspruch
8 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Mit
dem Mustererzeugungsverfahren und dem Mustergenerator nach der vorliegenden
Erfindung werden auf Seiten des Mustergenerators Burst-Adressen
erzeugt; parallele Maskendaten aus dem Mustergenerator sind mehrere
Folgen von seriellen Signalen entsprechend den Burst-Adressen; basierend
auf dem logischen Wert jedes Bits der seriellen Maskendaten wird
entschieden, ob jedes Byte Daten im einem byteweise maskierten Schreiben zum
Schreiben zugelassen ist, und basierend auf dem Entscheidungsergebnis
wird ein Wert entweder der Initialisierungsdaten oder der byteweise
maskierten geschriebenen Musterdaten auf byteweiser Basis ausgewählt, um
dadurch Erwartungsdaten zu erzeugen. So können korrekte Erwartungsdaten
mit in etwa der gleichen Konfiguration wie in der Vergangenheit
erzeugt werden.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm zur Erläuterung des
Betriebs einer Ausgestaltung des Mustergenerators gemäß der vorliegenden
Erfindung;
-
2 ist
ein Blockdiagramm zur Erläuterung eines
Beispiels eines Parallel-Seriell-Umwandlungsteiles,
das in der Ausgestaltung der 1 verwendet wird;
-
3 ist
ein Diagramm zur Erläuterung
des Betriebs des in 1 abgebildeten Mustergenerators;
-
4 ist
ein Blockdiagramm zum Erläutern einer
abgewandelten Form des in 2 gezeigten Parallel-Seriell-Wandlers;
-
5 ist
ein Blockdiagramm zur Erläuterung einer
anderen Ausgestaltung des Mustergenerators gemäß der vorliegenden Erfindung;
-
6 ist
ein Blockdiagramm zur Erläuterung der
allgemeinen Konfiguration eines herkömmlichen Speichertestgerätes;
-
7 ist
ein Blockdiagramm zur Erläuterung der
Konfiguration und des Betriebs eines Mustergenerators, der in dem
herkömmlichen
Speichertestgerät
verwendet wird;
-
8 ist
ein Diagramm zur Erläuterung
eines Verfahrens zum Erzeugen von Erwartungsdaten in dem herkömmlichen
Mustergenerator;
-
9 ist
ein Zeitablaufdiagramm zur Erläuterung
von Formen von Steuersignalen und Schreibdaten, mit denen ein neuentwickelter
Speicher versorgt wird, der eine Burst-Operation durchführt;
-
10 ist
ein Diagramm zur Erläuterung
der Beziehung zwischen den Schreibdaten, Maskendaten und Burst-Adressen,
die in 9 gezeigt sind;
-
11 ist
ein Diagramm zur Erläuterung
der Form eines Initialisierungsmusters für die byteweise maskierte Prüfung des
Speichers, der die Burst-Operation durchführt;
-
12 ist
ein Diagramm zur Erläuterung
des Zustandes eines Speichers zur Zeit der Initialisierung für die byteweise
maskierte Prüfung
des Speichers, der die Burst-Operation durchführt;
-
13 ist
ein Diagramm zur Erläuterung
der Erzeugung eines byteweise maskierten Schreibmusters für den Speicher,
der die Burst-Operation durchführt;
und
-
14 ist
ein Diagramm zur Erläuterung
des Zustandes des Speichers mit Burst-Betrieb zur Zeit des byteweise
maskierten Schreibens darin.
-
Detaillierte
Beschreibung der bevorzugten Ausgestaltungen
-
1 zeigt
in Blockform eine Ausgestaltung des Mustergenerators gemäß der vorliegenden
Erfindung. In 1 sind die Teile, die denen
aus 7 entsprechen, mit den gleichen Bezugszeichen
identifiziert, und die Beschreibung wird nicht wiederholt. Der Mustergenerator
der vorliegenden Erfindung weist ein zusätzliches Burst-Adressen-Erzeugungsteil 18 und
ein Parallel-Seriell-Umwandlungsteil 19 in dem
in 7 gezeigten Mustergenerator 112 auf.
-
Der
Burst-Adressen-Erzeugungsteil 18 erzeugt z.B. einen Drei-Bit-Burst-Adreßabschnitt,
der zu der Seite der niederwertigen Bits einer in dem Adreßerzeugungsteil 13 erzeugten
Adresse XB hinzugefügt
wird, und verwendet den erzeugten Burst-Adreßabschnitt, als die Burst-Adressen
#0 bis #7.
-
Die
in dem Burst-Adressen-Erzeugungsteil erzeugten Burst-Adressen #0
bis #7 werden dem Parallel-Seriell-Umwandlungsteil 19 zugeführt, in
dem ein Maskendatenwert vom parallelen Signaltyp, der im Maskendaten-Erzeugungsteil 14 erzeugt
wird, in zwei Folgen von Maskendaten BMD1 und BMD2 vom seriellen
Signaltyp für
jede der Burst-Adressen #0 bis #7 umgewandelt wird.
-
Dieses
Beispiel wird auch in Verbindung mit dem Fall beschrieben, wo zwei
9-Bit-1-Byte-Stücke von
parallelen Musterdaten (WA00 bis WA80, WB00 bis WB80) an jedem der
Daten-Ein-/Ausgabe-Pins DQA0
bis DQA8 und DQB0 bis DQB8 in Einheiten von zwei Bytes für jede Burst-Adresse #n (mit n
= 0, 1, ..., 7) geschrieben werden, wie zuvor mit Bezug auf 9 beschrieben.
In dem zu prüfenden
Speicher werden die den Daten-Ein-/Ausgabe-Pins DQA0 bis DQA8 und
DQB0 bis DQB8 zugeführten
2-Byte-Stücke
von parallelen Musterdaten (WA00 bis WA80, WB00 bis WB80) geschrieben,
wobei jedes auf byteweise darauf kontrolliert wird, ob es maskiert
ist oder nicht. Entsprechend erzeugt der Mustergenerator 112 auch
ein Bit von jedem der zwei Stück
serieller Maskendaten BMD1 und BMD2 für jede der Burst-Adressen #0
bis #7. Das heißt,
die zwei Stück parallele
Maskendaten MA0 bis MA7 und MB0 bis MB7 im Maskenpaket COLM in 9 werden
in zwei 1-Bit-serielle byteweise Maskendaten BMD1 und BMD2 umgewandelt.
-
2 zeigt
ein Beispiel des Parallel-Seriell-Umwandlungsteiles 19.
Das dargestellte Beispiel umfaßt:
Selektoren 19A und 19B, die jeweils mit 8 Eingabeanschlüssen X0
bis X7 ausgestattet sind; achtmal zwei Bitselektoren DS1-0 bis DS1-7,
DS2-0 bis DS2-7, die an die Eingabeanschlüsse X0 bis X7 der Selektoren 19A bzw. 19B angeschlossen
sind; und Register RG1-0 bis RG1-7 und RG2-0 bis RG2-7 zum Setzen
der Bit-Daten, die von jedem der Bit-Selektoren DS1-0 bis DS1-7
und DS2-0 bis DS2-7 selektiert werden.
-
Die
Bit-Selektoren DS1-0 bis DS1-7 und DS2-0 bis DS2-7 sind jeweils
mit 16 Eingabeanschlüssen
J0 bis J15 ausgestattet, in die jeweils ein Stück 16-Bit-parallele Maskendaten
MA0 bis MA7 und MB0 bis MB7 eingegeben werden. Das heißt, die jeweiligen
Stücke
von parallelen Maskendaten MA0 bis MA7 (siehe 9 und 10)
werden in die Eingabeanschlüsse
J0 bis J7 eingegeben, und die jeweiligen Stücke von parallelen Maskendaten
MB0 bis MB7 werden in die Eingabeanschlüsse J8 bis J15 eingegeben.
-
In
dem Register RG1-0 bis RG1-7 und RG2-0 bis RG2-7 sind Setzwerte
gespeichert, zum Bestimmen, welche Bits von den Bit-Selektoren DS1-0
bis DS1-7 bzw. DS2-0 bis DS2-7 selektiert und ausgegeben werden.
Zum Beispiel durch Setzen von "0000", "0001", ..., "0111" in den Registern
RG1-0 bis RG1-7 selektieren die Bit-Selektoren DS1-0 bis DS1-7 die
Maskendaten MA0, MA1, ..., MA7 und geben sie aus. Indem entsprechend "1000", "1001", ..., "1111" in den Registern
RG2-0 bis RG2-7 gesetzt wird, selektieren die Bit-Selektoren DS2-0
bis DS2-7 die Maskendaten MB0, MB1, MB7 und geben Sie aus. Eine
geeignete Auswahl der in den Registern RG1-0 bis RG1-7 und RG2-0
bis RG2-7 zu setzenden Werte ermöglicht
es den Bit-Selektoren DS1-0 bis DS1-7 und DS2-0 bis DS2-7, beliebige
Maskendaten zu selektieren und auszugeben.
-
Bei
jeder Eingabe der Burst-Adressen von #0 bis #7 wählen die Selektoren 19A und 19B die
Eingabeanschlüsse
X0 bis X7, indem sie sie sequentiell schalten. Das heißt, die
Selektoren wählen
jeweils wiederholt den Eingabeanschluß X0 für die Burst-Adresse #0, den
Eingabeanschluß X1
für die Burst-Adresse
#1 und den Eingabeanschluß X2
für die
Burst-Adresse #2.
-
Dementsprechend
wählen
die Selektoren jedesmal, wenn die Burst-Adresse von #0 bis #7 um
1 weiterschaltet, eines der 16 Bits von parallelen Maskendaten MA0
bis MA7 und eines der 16 Bits von parallelen Maskendaten MB0 bis
MB7, die von den Bit-Selektoren DS1-0 bis DS1-7 und DS2- 0 bis DS2-7 ausgewählt werden,
und geben die zwei Stück serielle
Maskendaten BMD1 bzw. BMD2 aus.
-
Die
zwei Stück
serielle Maskendaten BMD1 und BMD2, die vom Parallel-Seriell-Umwandlungsteil 19 ausgegeben
werden, werden dem Erwartungsdaten-Erzeugungsteil 16 zugeführt. In 1 gibt
der Erwartungsdaten-Erzeugungsteil 16 18-Bit-Musterdaten
TP aus, allerdings sind in diesem Beispiel die 9 Bits hoher Ordnung
und die 9 Bits niedriger Ordnung unterteilt in zwei 1-Byte-Musterdaten, die
Musterdaten WDU0 bis WDU7 des einen Bytes und die Musterdaten WDL0
bis WDL7 des anderen Bytes werden jeweils einem Eingang einer der
zwei Exklusiv-Oder-Schaltungen EOR zugeführt, die den Erwartungsdaten-Erzeugungsteil 16 bilden.
-
Die
zwei Stück
serielle Maskendaten BMD1 und BMD2 werden jeweils über den
Inverter INV dem anderen Eingangsanschluß der Exklusiv-Oder-Schaltung
EOR zugeführt.
Jede Exklusiv-Oder-Schaltung
EOR berechnet die Exklusiv-Oder-Verknüpfung der 1-Bit-Eingabe vom
Inverter INV und entsprechender Bits der parallelen 9-Bit-(1-Byte)-Musterdaten,
und gibt 9 Bits Berechnungsergebnisse aus.
-
Bei
einer solchen Anordnung wird bei den 1-Byte-Musterdaten hoher Ordnung
WDU0 bis WDU7 und den 1-Byte-Musterdaten niedriger Ordnung WDL0
bis WDL7, die von dem Musterdaten-Erzeugungsteil 15 geliefert
werden, durch den logischen Wert jedes Bits der zwei Stück serielle
Maskendaten BMD2 und BMD1 gesteuert, ob sie invertiert werden oder
nicht; und die Erwartungsdaten werden im Erwartungsdaten-Erzeugungsteil 16 in
der gleichen Weise wie oben mit Bezug auf 7 beschrieben
erzeugt. Das heißt,
der logische Wert jedes Bits der zwei seriellen Maskendaten BMD2
und BMD1 gibt an, ob das Schreiben der Musterdaten durch die Maskendaten
gesperrt gewesen ist. Bei Sperrung werden die Musterdaten durch
die Exklusiv-Oder-Schaltung
EOR invertiert, um Initialisierungsdaten zu erhalten, die als Erwartungsdaten ausgegeben
werden, und wenn nicht gesperrt war, werden die Musterdaten intakt
als Erwartungsdaten ausgegeben.
-
3 zeigt,
wie die Erwartungsdaten in dem Fall erzeugt werden, wo: Maskendaten,
deren Bits alle „Einsen" sind, und Musterdaten
/WDx0 bis /WDx7 (wobei das Symbol "/" logische
Inversion anzeigt) erzeugt werden, dann die Stücke von Musterdaten /WDx0 bis
/WDx7 zur Initialisierung an die Burst-Adressen #0 bis #7 geschrieben
werden; dann "AA55" und die Daten WDx0
bis WDx7 als Maskendaten bzw. Musterdaten erzeugt werden, dann die Stücke von
Musterdaten WDx0 bis WDx7 an die Burst-Adressen #0 bis #7 unter
Maskierung mit den Maskendaten "AA55" geschrieben und
die geschriebenen Musterdaten ausgelesen werden.
-
Diese
Schreiboperation unterscheidet sich von dem oben mit Bezug auf 11 bis 14 beschriebenen
herkömmlichen
Verfahren nur in der Ersetzung der Initialisierungsdaten PDx0 bis
PDx7 durch /WDx0 bis /WDx7. Das heißt, in dem zu prüfenden Speicher
sind nach der oben erwähnten
Schreiboperation Inhalte so gespeichert, daß PDU0, PDU2, PDU4, PDU6 durch
/WDU0, /WDU2, /WDU4, /WDU6 und PDL1, PDL3, PDL5, PDL7 durch /WDL1,
/WDL3, /WDL5, /WDL7 in 14 ersetzt sind.
-
Bei
der Erzeugung der Erwartungsdaten beim Auslesen der geschriebenen
Musterdaten wird "AA55" als Maskendatenwert
erzeugt, wie im Fall des Schreibens der Musterdaten. Dieser Maskendatenwert
MD wird vom Parallel-Seriell-Umwandlungsteil 19 in 1 in
zwei Stück
Seriellsignal-Maskendaten BMD1 = (MA0, MA1, ..., MA7) = "AA" = "10101010" und BMD2 = (MB0,
MB1, ..., MB7) = "55" = "01010101" in zeitlicher Folge
entsprechend den Burst-Adressen umgewandelt.
-
Die
zwei Stück
Seriellsignal-Maskendaten BMD1 und BMD2, die sich in jedem Zyklus
mit der Burst-Adresse ändern, werden
den Invertern INV und den Exklusiv-Oder-Schaltungen EOR zugeführt. Im Zyklus
mit der Burst-Adresse #0 in 3 wird,
da BMD 1 = 1 und BMD 2 = 0 ist, WDL0 intakt als Erwartungsdatenwert
EXP für
das eine Byte niedriger Ordnung und /WDU0 als Erwartungsdatenwert
für das eine
Byte hoher Ordnung ausgegeben. Im Zyklus mit der Burst-Adresse #1
wird, da der Maskendatenwert BMD1 = "0" und
BMD2 = "1" ist, /WDL1, invertiert
aus dem einen Byte niedriger Ordnung WDL1 der Schreibdaten WDx1
als Erwartungsdatenwert für
die Seite niedriger Ordnung erzeugt, und das eine Byte hoher Ordnung
WDU1 wird intakt als Erwartungsdatenwert erzeugt. Auf diese Weise
können
für jede Burst-Adresse
entsprechend den logischen Werten der zwei Stück Maskendaten BMD1 und BMD2
korrekte Erwartungsdaten erzeugt werden.
-
Die
obige Beschreibung wurde für
den Fall gegeben, wo das zu prüfende
Direct-Rambus-DRAM Speicherzellen aus zwei Bytes für jede Adresse
hat. Im Falle eines Direct-Rambus-DRAM, das m-Byte-Speicherzellen für jede Adresse
hat (wobei m eine ganze Zahl gleich oder größer als 2 ist), ist der Erwartungsdaten-Erzeugungsteil 16 unter
Verwendung von m Exklusiv-Oder-Schaltungen und m Invertern INV gebildet,
und um eine byteweise Maskierungssteuerung für die m-Byte-Speicherzellen
durchzuführen,
werden parallele Maskendaten in m Folgen von seriellen Maskendaten
umgewandelt, und die entsprechenden m Bits dieser m Folgen von seriellen Maskendaten
werden verwendet, um zu steuern, ob die m-Byte-Musterdaten invertiert
werden.
-
4 zeigt
in Blockform eine andere Ausgestaltung des Parallel-Seriell-Umwandlungsteiles 19. Der
Parallel-Seriell-Umwandlungsteil 19 dieses Beispiels umfaßt: zwei
Selektoren 19A und 19B mit jeweils 16 Eingabeanschlüssen X0
bis X15; zwei Selektoren SE1 und SE2 mit jeweils 8 Eingabeanschlüssen J0
bis J7; und achtmal zwei Register RG1-0 bis RG1-7 und RG2-0 bis
RG2-7, die jeweils mit den Eingabeanschlüssen J0 bis J7 der zwei Selektoren
SE1 bzw. SE2 verbunden sind.
-
In
den Registern RG1-0 bis RG1-7 und RG2-0 bis RG2-7 werden Bit-Auswahlwerte
gesetzt. Die Selektoren SE1 und SE2 wählen die Bit-Auswahlwerte in
den Registern RG1-0 bis RG1-7 und RG2-0 bis RG2-7 in sequentieller Folge,
während sich
die Burst-Adresse jeweils um 1 von #0 bis #7 ändert, und geben die ausgewählten Werte
in die Selektoren 19A bzw. 19B ein. Basierend
auf den so zugeführten
Bit-Auswahlwerten wählen
die Selektoren 19A und 19B jeweils das 1-Bit-Stück von Daten
an einem der Eingabeanschlüsse
X0 bis X15.
-
Wenn
z.B. "0000" bis "0111" in den Registern RG1-0
bis RG1-7 und "1000" bis "1111" in den Registern
RG2-0 bis RG2-7 gesetzt ist, wählt
der Selektor 19A eines der Stücke von parallelen 8- Bit-Maskendaten MA0
bis MA7, die z.B. den Eingabeanschlüssen X0 bis X7 zugeführt werden,
und der Selektor 19B wählt
eines der Stücke
von parallelen 8-Bit-Maskendaten MB0 bis MB7, die den Eingabeanschlüssen X8
bis X15 zugeführt
werden. So geben die Selektoren 19A und 19B die
ausgewählten
Maskendaten als serielle Signale BMD1 bzw. BMD2 aus.
-
Mit
dem Parallel-Seriell-Umwandlungsteil 19 werden außerdem die
zwei Stück
Maskendaten MA0 bis MA7 und MB0 bis MB7 in zwei Folgen von seriellen
Maskendaten BMD1 und BMD2 entsprechend der Änderung der Burst-Adressen
von #0 auf #7 umgewandelt, und korrekte Erwartungsdaten können aus
diesen zwei Folgen von seriellen Maskendaten BMD1 und BMD2 erzeugt
werden.
-
5 zeigt
in Blockform eine andere Ausgestaltung des Mustergenerators gemäß der vorliegenden
Erfindung. Bei dieser Ausgestaltung ist getrennt vom Musterdaten-Erzeugungsteil 15 ein
Initialisierungsdaten-Erzeugungsteil 21 mit der gleichen
Konfiguration wie der des Musterdaten-Erzeugungsteils 15 vorgesehen,
durch das zwei Stück
Initialisierungsdaten SDL0 bis SDL7 und SDU0 bis SDU7 erzeugt werden,
die in den zu prüfenden
Speicher 119 zu Beginn von dessen byteweise maskierter
Prüfung
geschrieben werden.
-
Nach
der Initialisierung werden die parallelen Maskendaten MA0 bis MA7,
MB0 bis MB7 und die parallelen Musterdaten WDL0 bis WDL7, WDU0 bis WDU7
vom Maskendaten-Erzeugungsteil 14 und dem Musterdaten-Erzeugungsteil 15 ausgegeben, und
die Musterdaten werden in den zu prüfenden Speicher 119 entsprechend
den parallelen Maskendaten geschrieben.
-
Anschließend werden
die zwei Folgen von parallelen Maskendaten MA0 bis MA7 und MB0 bis MB7
in den Parallel-Seriell-Umwandlungsteil 19 zur Umwandlung
in die zwei Stück
serielle Maskendaten BMD1 und BMD2 eingegeben. Diese Stücke von
seriellen Maskendaten BMD1 und BMD2 werden verwendet, um das Schalten
der Multiplexer 22 und 23 zu steuern. Wenn die
dort als Steuersignale zugeführten
Maskendaten BMD1 logisch "1" sind, wird der Multiplexer 22 auf
das Musterdaten-Erzeugungsteil 15 geschaltet und wählt dann
das entsprechende Byte in den parallelen Musterdaten WDL0 bis WDL7, die
vom Musterdaten-Erzeugungsteil 15 ausgegeben werden, als
das Byte Erwartungsdaten auf der Seite niedriger Ordnung der nach
der Initialisierung zum Schreiben zugelassenen Musterdaten aus und
gibt es aus. Wenn der dort als ein Steuersignal zugeführte Maskendatenwert
BMD2 logisch "1" ist, wird der Multiplexer 23 auch
auf den Musterdaten-Erzeugungsteil 15 geschaltet, wählt das
entsprechende Byte in den vom Musterdaten-Erzeugungsteil 15 als Byte
der Erwartungsdaten auf der Seite hoher Ordnung der nach Initialisierung
zum Schreiben zugelassenen Musterdaten ausgegebenen parallelen Musterdaten
WDU0 bis WDU7 aus und gibt es aus.
-
Wenn
der Maskendatenwert BMD1 logisch "0" ist,
wird der Multiplexer auf den Initialisierungsdaten-Erzeugungsteil 21 geschaltet,
wählt das
entsprechende Byte in den Initialisierungsdaten SDU0 bis SDU7 vom
Initialisierungsdaten-Erzeugungsteil 21 als Byte der Erwartungsdaten
auf der Seite hoher Ordnung der nach Initialisierung schreib-gesperrten Musterdaten
aus und gibt es aus. Wenn der Maskendatenwert BMD2 logisch "0" ist, wird auch der Multiplexer 23 auf
den Initialisierungsdaten-Erzeugungsteil 21 geschaltet,
wählt das
entsprechende Byte in den Initialisie rungsdaten SDU0 bis SDU7 vom
Initialisierungsdaten-Erzeugungsteil 21 als Byte der Erwartungsdaten
auf der Seite hoher Ordnung der nach Initialisierung schreib-gesperrten
Musterdaten aus und gibt es aus.
-
Deshalb
müssen
bei dieser Ausgestaltung die zwei Stück Initialisierungsdaten SDL0
bis SDL7 und SDU0 bis SDU7 nicht immer Muster sein, bei denen alle
Bits logisch "0" oder "1" sind, und selbst wenn das Muster, das
nach Initialisierung geschrieben wird, nicht das aus den Initialisierungsdaten
invertierte Muster ist, können
die Erwartungsdaten genau erzeugt werden.
-
Außerdem können bei
Speichertestgeräten, die
die in 1 und 5 abgebildeten Mustergeneratoren 112 verwenden,
korrekte Erwartungsdaten für
Speicher des Typs erzeugt werden, der intern Burst-Adressen erzeugt,
wodurch es möglich
wird, Direct-Rambus-DRAMs zu prüfen.
-
Wirkung der
Erfindung
-
Wie
oben beschrieben, werden gemäß der vorliegenden
Erfindung Burst-Adressen auf Seiten des Mustergenerators erzeugt,
dann werden parallele Maskendaten in serielle Maskendaten entsprechend
den Burst-Adressen umgewandelt, und die Logik der Musterdaten wird
entsprechend dem logischen Wert der seriellen Maskendaten gesteuert, oder
entweder Initialisierungsdaten oder nach Initialisierung geschriebene
Daten werden ausgewählt,
wodurch es möglich
ist, korrekte Erwartungsdaten für jede
Burst-Adresse zu erzeugen. Als Ergebnis können Direct-Rambus-DRAMs bequem
geprüft
werden.