-
Hintergrund der Erfindung
-
1. Bereich der Erfindung
-
Die
vorliegende Erfindung betrifft eine Halbleitertestvorrichtung und
ein Verfahren zum Testen von Halbleiterspeichern; insbesondere eine
Vorrichtung und ein Verfahren mit einem eingebauten Selbsttester
und einem Schieberegister mit linearer Rückkopplung zum Testen von Halbleiterspeichern.
-
2. Diskussion
des Standes der Technik
-
Eingebauter
Selbsttest BIST (built-in self test) ist eine Technik zum Testen
von eingebetteten Speichern unter Verwendung einer Schaltung mit
einem Testalgorithmus. Eine herkömmliche BIST-Schaltung
ist in 1 gezeigt. Wie gezeigt ist, weist die BIST-Schaltung 100 einen
Adressengenerator 120 zum Erzeugen von Adressen auf, um
auf die Stellen von Speicher 150 zuzugreifen. Ein Datengenerator 130 erzeugt
die zu testenden Daten und ein Komparator 140 vergleicht
aus dem Speicher 150 herausgelesene Daten mit in den Speicher
eingeschriebenen Daten. Eine BIST-Steuerung 110 weist typischerweise
ein gespeichertes Programm auf, das bei Ausführung die geeigneten Steuersignale
auf den Adressengenerator 120, Datengenerator 130 und Komparator 140 aufgibt,
um den Speicher 150 zu testen. Die BIST-Steuerung 110 empfängt auch
die verglichenen Daten vom Komparator 140 und bestimmt, ob
der Test erfolgreich war oder nicht.
-
Es
wird üblicherweise
ein March-Testalgorithmus als Testalgorithmus eingesetzt, der zum
Testen des eingebetteten Speichers in der BIST- Steuerung gespeichert ist. Der March-Testalgorithmus
implementiert eine Testsequenz, die jedes Bit jeder Stelle im Speicher
testet, indem veranlasst wird, dass sowohl ein Wert „0" wie „1" in den Speicher
eingeschrieben und daraus herausgelesen wird. Die Adressen zum Speicher
werden in sequentieller Reihenfolge inkrementiert und dekrementiert,
bis alle Stellen getestet sind. Die March-Testsequenz ist:
↕(WD) ↑ (RD WD') ↑ (RD' WD) ↓ (RD WD') ↓ (RD' WD) ↕ (RD)
worin die Symbole ↑, ↓, und ↕ Richtungen
zum Zählen
der Adressen bezeichnen: „auf" (Adresseninkrement) „ab" (Adressendekrement)
bzw. „auf
oder ab" (Inkrement
oder Dekrement). Die Symbole W und R stellen Schreiben (writing)
bzw. Lesen (reading) dar. D ist ein Datenwert, entweder ein „0" oder eine „1" und D' bezeichnet das Gegenteil
von D. WD bedeutet einen Schreibvorgang
mit Daten D und RD bedeutet einen Lesevorgang
mit D'. Die Klammern „()" bezeichnen Vorgänge, die
für alle
Adressen durchgeführt
werden, und wenn mehr als ein Vorgang in den Klammern ist, werden
beide Vorgänge
an der selben Adressenstelle durchgeführt. Zum Beispiel bedeutet „(RD WD')", dass an der selben Stelle D herausgelesen
wird und D' eingeschrieben
wird, bevor die Adresse geändert
wird. Das March-Testverfahren erfasst Fehler wie Hängenbleiben
bei jeder Zelle, kann aber keine Kopplung und Adressenfehler erfassen. Siehe „An Effective
BIST Scheme for Ring-Address Type FIFOs" von Y. Zodan, A. J. Van De Goor und
Ivo Schanstra, IEEE Int. Test Conference, Washington D. C., Seiten
378–387,
Okt. 1994.
-
US-Patent
5,706,293 von Kim et al. beschreibt ein Testverfahren, das Adressenfehler
und Kopplungsfehler zusätzlich
zu Hängenbleiben
erfasst, die vom March-Testalgorithmus erfasst werden. Die im Patent "293 beschriebene
Adressierung ist unidirektional (Einzeladresse). Das Patent "293 beschreibt die
Verwendung von „Adressdatenhintergrund" als Testdaten, die
alle Speicherstellen auf die oben beschriebenen Fehler prüft. Der
Adressdatenhintergrund (ADB, Address Data Backgrounds) sind pseudostatistische
Daten, die von einem Schieberegister mit linearer Rückkopplung
(LFSR, linear feedback shift register) erzeugt werden können. Das
Patent "293 offenbart
ein Testmuster von:
(WD), (RD, WD'), (RD', WD), (RD).
-
Der
im Patent 293 definierte ADB ist eine Vereinigung all der Daten,
die zwei (2) beliebige Zellen mit voneinander verschiedenen Adressen
aufweisen können.
Beim Testverfahren von "293
wird ein ADB von einer Gruppe als Anfangsdaten ausgewählt, die
in alle Stellen des Speichers eingeschrieben werden. Nach Lesen
des zuerst in alle Stellen eingeschriebenen ADB wird der inverse
oder entgegengesetzte Wert des selben ADB in alle Stellen des Speichers
eingeschrieben. Adressieren des Speichers erfolgt durch sequentielle
Inkrementierung. Die invertierten ADB-Daten werden gelesen und wenn die
invertierten Daten korrekt gelesen werden, werden Daten aus der
selben ADB-Gruppe erneut an jeder Stelle des Speichers eingeschrieben
und herausgelesen. Diese Schritte werden für jeden Adressdatenhintergrund
wiederholt. Beim Testverfahren von 293 können Zähleinrichtungen wie Paralleladdierer vom
Typ Carry-Propagation-Adder, Carry-Safe-Adder oder Ripple-Counter für eine unidirektionale
Zählung
von null bis zur signifikantesten Stelle im Speicher verwendet werden.
Das Patent "293
ist auf den Anmelder eingetragen und die Offenbarung des US-Patents
5,706,293 wird hiermit durch Bezugnahme zum Inhalt der vorliegenden
Anmeldung gemacht.
-
Nochmals
mit Bezug zu 1 ist der Adressengenerator 120 in
BISTs typischerweise eine Zähleinrichtung,
die in der Lage ist, wiederholt sequentiell auf oder ab zu zählen. Es
wird eine sequentielle Auf-Ab-Zähleinrichtung
verwendet, um den March-Testalgorithmus zu implementieren. Eine Auf-Ab-Zähleinrichtung
zählt sequentiell
nach oben oder un ten, indem zu einem vorherigen Zählergebnis eins
hinzugezählt
oder eins abgezogen wird. Üblicherweise
werden Addierer wie Propagation-Half-Adder
zum Addieren oder Subtrahieren der Zählungen verwendet. Dies erfordert
Fortschreiben eines Übertrags
vom am wenigsten signifikanten Bit (LSB, least significant bit)
zum signifikantesten Bit (MSB, most significant bit) einer Adressenkette.
Die Fortschreibungsdauer des Übertrags
vom LSB zum MSB aller Adressenbits stellt die Durchlaufzeit dar, die
jedem Testdurchlauf des BIST-Testers zugewiesen werden muss. Daher
ist die Adresse umso breiter, je größer die Speicherkapazität ist, und
die für Adressengenerator/Zähleinrichtung
benötigte
Zeit muss notwendigerweise zunehmen.
-
Bei
Verwendung einer BIST-Schaltung zum Prüfen eines Speichers mit hoher
Kapazität
bei Betriebsgeschwindigkeit, d.h. bei Betriebsgeschwindigkeit der
Zentraleinheit (CPU, central processing unit), tritt ein Problem
auf. In jüngster
Zeit sind CPUs, die bei 1,5 GHz betrieben werden, verbreitet verfügbar. Um
einen Speicher mit hoher Kapazität
bei Betriebsgeschwindigkeit zu prüfen, kann keine herkömmliche Auf-Ab-Zähleinrichtung eingesetzt werden,
weil in der Durchlaufzeit eines CPU-Durchlaufs bei Betriebsgeschwindigkeit
der Übertrag
nicht durch die gesamte Zähleinrichtung
fortgeschrieben werden kann.
-
Ferner
ist eine BIST-Schaltung typischerweise im Speicher auf dem selben
Chip eingebettet. Zum Prüfen
eines Speichers mit höherer
Kapazität
ist die Adresse breiter oder weist mehr Bits auf und es sind mehr
Addierer in der Auf-Ab-Zähleinrichtung notwendig.
Dies führt
dazu, dass eine BIST-Anlage von größerem Umfang erforderlich ist,
was wertvollen Platz auf dem Halbleiterchip beansprucht.
-
Dementsprechend
besteht eine Notwendigkeit für
eine BIST-Schaltung und ein Verfahren zum Prüfen von Halbleiterspeichern,
die die oben diskutierten Probleme vermeiden. Die gewünschte BIST-Schaltung
und das Verfahren sollten in der Lage sein, Adressen zum Prüfen aller
Stellen des Speichers bei normaler CPU-Betriebsgeschwindigkeit zu
erzeugen und die BIST-Schaltung keine große Chipfläche besetzen.
-
US 6,006,345 offenbart ein
System und Speicher zum Testen eines Speichers beim Einbrennen.
Es offenbart die Verwendung eines LFSR zum Erzeugen von pseudostatistischen
Adresssequenzen und ein weiteres LFSR zum Erzeugen von Datensequenzen.
-
Zusammenfassung
der Erfindung
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine Halbleitervorrichtung
zur Verfügung gestellt
zum Testen eines Speichers mit N Stellen, wobei die Vorrichtung
umfasst:
ein Schieberegister mit linearer Rückkopplung (LFSR, linear feedback
shift register) zum Bilden von einseitigen pseudostatistischen (log2N)-Bit Adressenmustern, wobei die Adressenmuster
als Adressen von zu testenden Speicherstellen verwendet werden;
einen Datengenerator zum Erzeugen von Datenmustern ausgehend von
den durch das LFSR erzeugten Adressenmustern, wobei die Datenmuster in
(log2N) + 1 Adressendatenhintergrundgruppen (ADB,
address data background) gruppiert werden, wobei jede der ADB-Gruppen
N Stellen aufweist, die Datenmuster zur Verwendung als Dateneingabe
in den Speicher zum Testen; einen Komparator zum Vergleichen der
Dateneingabe in den Speicher gegen die Datenausgabe aus dem Speicher
zur Verifizierung der Datenintegrität; und eine eingebaute Selbstteststeuerung
(BIST, built-in self test), die operativ mit dem LFSR, Datengenerator
und Komparator verbunden ist, zur Steuerung des Testens des Speichers.
-
Bevorzugt
beinhalten die Datenmuster an jeder Stelle Daten, die in einem ersten
Testschritt durch eine erste Logikstufe dargestellt sind und in
einem zweiten Testschritt durch eine zweite Logikstufe, worin eine
der ADB-Gruppen Daten beinhaltet, die in der gesamten Breite jeder
Stelle durch eine niedrige Logikstufe dargestellt sind, wobei die
gesamte Breite ein oder mehr Bits beträgt.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung beinhalten (log2N) Gruppen der
(log2N) + 1 ADB-Gruppen an jeder Stelle
entsprechend einer vom LFSR erzeugten Adresse Daten, die die selbe Logikstufe
wie die Logikstufe der Adressendaten in einer vordefinierten Bitposition
der Adresse aufweisen.
-
Bevorzugt
ist jede der folgenden (log2N) ADB-Gruppen
der (log2N) + 1 ADB-Gruppen in eine erste
Untergruppe und eine zweite Untergruppe unterteilt, worin Stellen
in der ersten Untergruppe mit Daten getestet werden, die eine erste
Logikstufe aufweisen und Stellen in der zweiten Untergruppe mit
einer zweiten Logikstufe getestet werden. Die letzte der folgenden
ADB-Gruppen weist bevorzugt Daten auf, die die erste Logikstufe
in jeder zweiten Stelle aufweisen. Alternativ werden die Stellen
in jeder der folgenden ADB-Gruppen in zwei Untergruppen unterteilt,
bis die letzte der ADB-Gruppen N Untergruppen aufweist.
-
Die
BIST-Steuerung gemäß einem
Aspekt der vorliegenden Erfindung weist gespeicherte Programmcodes
auf, die bei Ausführung
die vom LFSR erzeugten Adressen in einer vordefinierten Sequenz anwenden,
worin eine vordefinierte Sequenz ist:
WD,
(RD' WD'),
(RD',
WD), RD.
-
Ebenso
wird in Verfahren gemäß der vorliegenden
Erfindung zur Verfügung
gestellt zum Testen eines Speichers mit N Stellen eingebettet in
einer Halbleitervorrichtung wie in Anspruch 10 angegeben.
-
Das
Verfahren beinhaltet bevorzugt Testdaten, die durch eine Logikstufe
dargestellt sind, die die selbe ist, wie die Logikstufe eines vordefinierten
Bits eines entsprechenden LFSR-Adressenmusters.
-
Das
Verfahren gemäß einer
bevorzugten Ausführungsform
der Erfindung beinhaltet ferner den Schritt zum Gruppieren der Datenmuster
in (log2N) + 1 ADB-Gruppen, worin jede der
(log2N) ADB-Gruppen der (log2N)
+ 1 ADB-Gruppen ferner in zwei Untergruppen unterteilt wird, wobei
eine Untergruppe Daten einer niedrigen Logikstufe aufweist und die
andere Untergruppe eine hohe Logikstufe aufweist. Die letzte der
(log2N) ADB weist N Untergruppen auf.
-
Kurze Beschreibung
der Zeichnungen
-
Die
begleitenden Zeichnungen, die in der Beschreibung enthalten sind
und einen Teil davon bilden, stellen eine Ausführungsform der Erfindung dar und
zusammen mit der Beschreibung dienen sie zur Erläuterung der Prinzipien der
Erfindung:
-
1 ist
ein Blockdiagramm einer herkömmlichen
BIST-Schaltung;
-
2 ist
ein vereinfachtes Blockdiagramm einer BIST-Schaltung gemäß einer
Ausführungsform der
vorliegenden Erfindung;
-
3A und 3B sind
schematische Darstellungen von LFSR-Schaltungen;
-
4 ist
eine Tabelle, die die Beziehung zwischen der Anzahl von Bits von
LFSR-Zähleinrichtungen
und entsprechenden primitiven Polynomen zeigt;
-
5 ist
ein Blockdiagramm einer BIST-Schaltung gemäß einer erläuternden Ausführungsform
der vorliegenden Erfindung;
-
6A, 6B, 6C und 6D zeigen vier
(4) ADB-Gruppen der erläuternden
Ausführungsform
der vorliegenden Erfindung; und
-
7 ist
ein Fließbild
eines Testprozesses, der von einem BIST der vorliegenden Erfindung
implementiert wird.
-
Ausführliche
Beschreibung bevorzugter Ausführungsformen
-
Eine
BIST-Schaltung gemäß einer
Ausführungsform
der vorliegenden Erfindung setzt ein LFSR ein, um ADBs zur Bereitstellung
von Adressen zum Testen eines eingebetteten Speichers zu erzeugen. Testdaten,
die in den Speicher eingeschrieben und daraus herausgelesen werden,
beruhen auch auf ADB. Die BIST-Schaltung implementiert einen unidirektionalen
Testalgorithmus zum Testen des Speichers.
-
2 ist
ein vereinfachtes Blockdiagramm einer BIST-Schaltung gemäß der vorliegenden
Erfindung. Eine BIST-Schaltung 200 beinhaltet ein LFSR 200 zum
Erzeugen von einseitigen pseudostatistischen Adressen für Speicher 250.
Ein Datengenerator 230 erzeugt Datenhintergrund, der mindestens teilweise
aus Adressdaten abgeleitet ist, die vom LFSR 220 erzeugt
sind. Der Datenhintergrund vom Datengenerator 230 ist die
Testdateneingabe für Speicher 250.
Ein Komparator 240 empfängt
die selben Daten eingeschrieben in den Speicher 250 und vergleicht
die Eingabedaten gegen aus dem Speicher ausgelesene Daten. BIST-Steuerung 210 enthält einen
gespeicherten Testalgorithmus zum Implementieren des Speichertests.
Die Steuerung 210 steuert die Funktionen von LFSR 220,
Datengenerator 230 und empfängt die Vergleichsergebnisse
vom Komparator 240.
-
Die 3A und 3B bilden
beispielhaft LFSR-Schaltungen zum Erzeugen von ADBs gemäß bevorzugter
Ausführungsformen
der vorliegenden Erfindung ab. Die LFSRs beinhalten Flip-Flops oder Register,
Gates für
exklusive OR- und/oder exklusive NOR- und NOR-Vorgänge, die
miteinander verbunden sind, um Ausgabe aufeinanderfolgender Register
zum Anfangsregister zurückzuführen. Die
LFSRs geben ein pseudostatistisches Bitmuster an C1 bis CN, in Abhängigkeit
von der kombinatorischen Verbindung der Gates für XOR- und NOR-Vorgänge. Das bei
C1 bis CN ausgegebene
Bitmuster wiederholt das Zählen
in der Reihenfolge und das Zählmuster wiederholt
sich bei jeder 2N Zählung. Zum Beispiel ist für ein LFSR
mit 4 Bits, N = 4 und das Zählmuster wiederholt
sich alle 24 oder 16 Zählungen. Das Zählmuster
bezieht sich auch auf ein primitives Polynom, das gemäß einer
gewünschten
Anzahl von Bits des LFSR ausgebildet ist. 4 gibt das
primitive Polynom für
verschiedene Bitzahlen an. Das vom LFSR erzeugte pseudostatistische
Muster ist unidirektional. Zum Beispiel ist eine Adressenzählung von 1-3-5-7-9-2-4-6-8 wiederholbar,
kann aber nicht umgekehrt werden, um in der Reihenfolge 8-6-4-2-9-7-5-3-1
zu zählen,
wie es im March-Testalgorithmus möglich ist.
-
5 zeigt
ein Blockdiagramm einer BIST-Schaltung gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung. Eine BIST-Schaltung 500 beinhaltet eine
LFSR-Zähleinrichtung 520 zum
Bereitstellen von Adressen zum Testen eines Speichers 550.
Die LFSR-Zähleinrichtung 520 beinhaltet
Schieberegister 523, 524, 525 und XOR-Gate 521 und
NOR-Gate 522. Die Ausgaben der Schieberegister werden durch
die XOR- und NOR-Gates zur Eingabe des Registers 525 zurückgeführt. Es
ist für
einen Fachmann leicht erkennbar, dass obwohl eine Dreibit-LFSR-Zähleinrichtung
gemäß dieser
Ausführungsform
gezeigt ist, die BIST-Schaltung der vorliegenden Erfindung auf jegliche
Anzahl von Bits anwendbar ist, was von der Kapazität des zu
testenden Speichers abhängig
ist. In dieser erläuternden
Ausführungsform
werden acht (8) Stellen im Speicher 550 geprüft. Und
zum Zwecke der Erläuterung
sind die Speicherdaten vier (4) Bits breit.
-
Es
ist für
die Fachleute auch leicht erkennbar, dass das XOR-Gate 521,
ein 3-Eingabe-XOR-Gate funktional äquivalent ist und bevorzugt als
zwei 2-Eingabe-XOR-Gates implementiert ist, die in Serie verbunden
sind wie es in 5 gezeigt ist. Die LFSR-Zähleinrichtung 520 gibt
in der Reihenfolge ein Adressmuster von „000", „001", „010", „101", „011", „111", „110" und „100" oder Stellen „0, 1,
2, 5, 3, 7, 6 und 4" aus.
Das heißt
die LFSR-Zähleinrichtung
kann ihre Zählung
an irgendeiner der acht (8) Adressen beginnen, aber sobald sie an
einer bestimmten Adresse begonnen hat, folgen die nachfolgenden
Adressenzählungen
der selben Reihenfolge. Die Ausgabe „000" kann ungeachtet der Zählungsfolge
durch Aktivieren der Resetleitung Reset-EN ausgewählt werden.
Es ist zu sehen, dass alle acht (8) Stellen des Speichers 550 von
der LFSR-Zähleinrichtung 520 adressiert
werden.
-
Obwohl
die Adressenzählausgabe
von der LFSR-Zähleinrichtung 520 unidirektional
ist, ist die BIST-Schaltung gemäß der vorliegenden
Erfindung in der Lage, Fehler wie Hängenbleiben, Übergangsfehler,
Adressenfehler und Kopplungsfehler des Speichers zu erfassen. Das
vom Datengenerator 530 erzeugte Datenmuster, gekoppelt
mit der LFSR-Adressierung, erreicht die obigen Fehlererfassungen.
Der Datengenerator 530 erzeugt Datenübergänge für jede Zelle des Speichers
von beiden Richtungen unter Verwendung des Adressdatenhintergrunds
(ADBs), der von der LFSR-Zähleinrichtung erzeugt
ist. Gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung beträgt
für jede
N Stellen des zu testenden Speichers die Anzahl von Adressenbits,
die von der LFSR-Zähleinrichtung
erzeugt werden, log2N und (log2N)
+ 1 ADB-Gruppen werden als Daten zum Testen des Speichers verwendet.
Für die
vorliegende illustrative Ausführungsform beträgt die Anzahl
der zu testenden Speicherstellen N gleich acht (8). Die Anzahl der
Adressenbits ist log2(8) oder 3 und es werden
log2(8) + 1 oder 4 ADB-Gruppen erzeugt.
Der Datengenerator 530 erzeugt die vier (4) Gruppen von
ADBs wie in 6 gezeigt. Die in 6 gezeigten ADBs sind die tatsächlichen
Daten, die in die acht (89 Stellen des zu testenden Speichers 550 eingeschrieben
werden. Die ADBs werden vom Datengenerator 530 erzeugt.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung werden die ADBs von Adressdaten, die von
der LFSR-Zähleinrichtung 520 erzeugt
sind, wie folgt abgeleitet:
Die erste ADB-Gruppe sind alle „0" und die inversen D' sind alle „1", ungeachtet der
Adresse von der LFSR-Zähleinrichtung 520.
Dies ist in 6A gezeigt. Jede der anderen
ADB-Gruppen leitet Daten von einem entsprechenden Datenbit der Adresse
ab. Zum Beispiel leitet eine zweite ADB-Gruppe ihre Daten vom Wert
der zweiten Bitadresse LFSR [2] von der LFSR-Zähleinrichtung 520 ab
(6B). Die anderen drei (3) Bits der vier (4) Bit
Daten an jeder Stelle des Speichers werden ebenso von LFSR [2] kopiert.
Deshalb beträgt
jede Testdateneingabe jeder Speicherstelle entweder vier (4) Bits
mit „0" oder „1". Der Datengenerator 530 erzeugt
dann „1111" als Daten für Adresse „101", die an Stelle 5
des Speichers 550 eingegeben werden. Wenn alle acht (8)
Stellen des Speichers 550 mit Daten von der 2-ten ADB-Gruppe
in der Reihenfolge der Adressenzählung,
die von der LFSR-Zähleinrichtung 520 ausgegeben
ist, beschrieben sind, d.h. die Stellen „0, 1, 2, 5, 3, 7, 6 und 4", werden die acht
(8) Stellen des Speichers (die Stellen 0 bis 7) mit dem zweiten
ADB-Datenmuster beschrieben wie in 6B gezeigt.
Auf gleiche Weise werden die dritten ADB-Daten durch Kopieren des
Wertes von LFSR des ersten Bits LFSR [1] erzeugt, des von der LFSR-Zähleinrichtung 520 ausgegebenen
Adressenmusters. Gleichermaßen wird
der vierte ADB durch Kopieren von LFSR [0] erzeugt, um das Datenmuster
wie in 6D gezeigt zu erzeugen.
-
Wie
aus den 6A bis 6D zu
sehen ist, weist die erste ADB-Gruppe
von 6A alle „0" als D-Daten auf
und alle „1" als D'-Daten. Jede der aufeinander
folgenden ADB-Gruppen weist alle „0" oder alle „1" als D-Daten unterteilt in mindestens
eine Untergruppe auf, worin jede Untergruppe entweder alle „0" oder alle „1" als D-Daten aufweist.
Die Anzahl der Untergruppenstellen mit allen „0" oder allen „1" als D-Daten nimmt von jeder folgenden
ADB-Gruppe zu, bis die letzte ADB-Gruppe die D-Daten entweder aller „0" oder aller „1" in jeder zweiten
Stelle aufweist. Unter Verwendung der Testdaten der 6A bis 6D wird
jede Zelle des Speichers mit dem Umschalten von „0" auf „1" und „1" auf „0" von beiden Richtungen getestet.
-
Der
Datengenerator 530 weist einen Multiplexer 532 zum
Multiplexen des ausgewählten
ADB auf, so dass der Datenwert durchlaufen wird, der gleich den
Daten von LFSR [2, 1 oder 0] ist, in Abhängigkeit vom Auswahlsignal,
das von der BIST-Steuerung 510 ausgegeben ist. Ein Multiplexer 534 wählt die
Daten D oder inverse Daten D, D' als
Ausgabe des Datengenerators 530 zum Eingeben von Testdaten
an die Stellenadresse von der LFSR-Zähleinrichtung 520 in
Speicher 550. Zum Erzeugen der 2-ten ADB-Gruppe wie in 6B gezeigt,
führt die BIST-Steuerung 510 einen
BIST-Algorithmus 515 aus und wählt Leitung 2 des
Multiplexers 532 über Auswahlsignal 537.
Zum Erzeugen von vier (4) Bits gleichen Werts können vier (4) Latches (nicht
gezeigt) als Port 2 verwendet werden, um LFSR [2] zu empfangen
und vier (4) Bits des selben Werts auszugeben. Die vier (4) Bit
Daten werden dann unter der Steuerung der BIST-Steuerung 510 durch
den Multiplexer 534 geführt
oder invertiert. Der Antwortkomparator 540 empfängt, unter
der Steuerung der BIST-Steuerung 510, Testdaten vom Datengenerator 530 und
aus dem Speicher 550 ausgelesene Daten. Der Komparator 540 vergleicht
die Testdaten gegen die entsprechenden Lesedaten und sendet ein
Signal erfolgreich/nicht erfolgreich zur BIST-Steuerung 510, durch
Prüfen,
ob die Daten die in den Speicher 550 eingegeben und daraus
ausgegeben sind, gleich sind.
-
Die
BIST-Steuerung 510 weist einen gespeicherten BIST-Algorithmus 515 auf,
der bei Ausführung
die gespeicherte Testsequenz implementiert. 7 zeigt
einen Testalgorithmus gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung, der von der BIST-Schal tung 500 durchgeführt wird.
Beim Betrieb wählt
die BIST-Steuerung 510 eine Adressdatenhintergrundgruppe
und eine LFSR-Adresse, um den Test der Speicherzellen von 550 zu
beginnen (Schritt 702). Zum Zwecke der Erläuterung
werden zunächst
die Adresse „000" und die 2-te ADB-Gruppe von 6B ausgewählt. Die ersten
ADB-Daten von „0000" werden in die Adressenstelle
null (0) des Speichers 550 (704) eingeschrieben,
die nächste
Adressenzählung
ist „001" oder Stelle eins
(1). Das LFSR [2] ist null (0) und Stelle eins (1) des Speichers 505 wird
mit „0000" beschrieben. Dann
ist die nächste
Adressenzählung „010" oder Stelle zwei
(2), die mit LFSR [2] = D oder „0000" beschrieben wird. Dieses Einschreiben
von ADB-Daten wird fortgesetzt, bis Daten der gesamten ADB-Gruppe
in alle acht (8) zu testenden Stellen im Speicher 550 eingeschrieben
sind (706, 708). Die acht (8) Stellen im Speicher 550 sollten
nun alle Daten „D" eingeschrieben aufweisen,
wie in 6B gezeigt. Dann werden Daten
der 2-ten ADB-Gruppe aus dem Speicher 550 (710)
ausgelesen und die Inversion der Daten D' wird in die selbe Stelle eingeschrieben,
die gerade ausgelesen ist, vor dem nächsten Adresseninkrement (712).
Die Daten der 2-ten ADB-Gruppe werden gelesen und geschrieben, bis alle
Stellen adressiert sind (714, 716). Wenn dann eine
Ungleichheit in irgendwelchen Daten vorhanden ist, die in Schritt 710 gelesen
sind, signalisiert der Komparator 540 der BIST-Steuerung 510,
dass ein Fehler an der Adressenstelle aufgetreten ist. Wenn keine
Ungleichheit vorhanden ist, wählt
die BIST-Steuerung 510 dann eine andere ADB-Gruppe zum
Eingeben eines anderen Datenmusters an die Stellen des Speichers 550 aus.
Die BIST-Steuerung 510 sendet ein ADB-Auswahlsignal 537,
so dass es durch andere LFSR-Daten
[N] läuft.
Zur Erläuterung wird
in diesem Fall die in 6C gezeigte dritte ADB-Gruppe
ausgewählt,
so dass sie durch den Wert der Leitung 1 im Datengenerator 530 läuft, so
dass sie durch LFSR [1] läuft.
Die Daten der 3-ten ADB-Gruppe werden in die Stellen des Speichers 550 eingeschrieben,
während
D' der 2-ten ADB-Gruppe
aus den selben Stellen ausgelesen werden, die von der LFSR-Zähleinrichtung 520 ad ressiert
sind (720, 722). Der Prozess des D'-Lesens und D-Schreibens
wird für
jede Adressenzählung
in den Schritten 724 und 726 wiederholt. Dann werden
die D' der 3-ten
ADB-Gruppe aus allen Stellen ausgelesen (Schritte 730, 732, 734).
Die Schritte 704 bis 754 werden wiederholt, bis
alle Daten aller vier (4) ADB-Gruppen in den Speicher 550 eingeschrieben
und daraus herausgelesen sind (750). Die Testsequenz von 7 kann
beschrieben werden als:
WD, (RD, WD'), (RD', WD), RD.
-
Der
Speicher 550 wird getestet auf Fehler wie Hängenbleiben, Übergangsfehler,
Kreuzkopplung und Adressenfehler, wenn der Komparator 540 keine
Ungleichheit meldet.
-
Die
Erfindung wurde unter Verwendung exemplarischer bevorzugter Ausführungsformen
beschrieben. Es versteht sich jedoch, dass der Rahmen der Erfindung
nicht auf die offenbarten Ausführungsformen
beschränkt
ist. Hingegen ist es vorgesehen, dass verschiedene Modifikationen
und ähnliche
Anordnungen abgedeckt sind. Der Rahmen der Ansprüche sollte deshalb in breitester
Interpretation betrachtet werden, so dass alle solche Modifikationen
und ähnliche
Anordnungen umfasst sind.