Nachstehend wird zunächst eine
Speicherzelle eines nichtflüchtigen
Halbleiterspeicherbausteins (elektrisch löschbarer und programmierbarer Festwertspeicher,
EEPROM) schematisch beschrieben, in dem elektrische Lösch- und
Schreiboperationen möglich
sind. Eine nichtflüchtige
Speicherzelle weist bekanntermaßen
auf einem Halbleitersubstrat eine Gate-Isolierschicht, ein Floating-Gate
und eine Gate-Steuerelektrode
auf. Wenn keine negative Ladungen im Floating-Gate akkumuliert sind,
wird, wenn der Gate-Steuerelektrode eine positive Spannung zugeführt wird,
ein Speicherzellentransistor eingeschaltet. Andererseits wird, wenn
durch Injizieren von Elektronen in das Floating-Gate negative Ladungen
im Floating-Gate akkumuliert werden, auch wenn der Gate-Steuerelektrode
eine positive Spannung zugeführt
wird, die Speicherzelle nicht sofort eingeschaltet. Dies ist der
Fall, weil die im Floating-Gate akkumulierten negativen Ladungen
einen Kanal unbrauchbar machen und unmittelbar zwi schen einen Source-
und einen Drain-Bereich induziert werden. Durch weiteres Erhöhen der
der Gate-Steuerelektrode zugeführten
Spannung und Veranlassen, daß sie
höher ist
als ein Schwellenspannungswert, wird die Speicherzelle eingeschaltet.
1 zeigt
ein Diagramm zum Darstellen eines typischen Beispiels einer Konfiguration
eines EEPROM-Typs mit einer kollektiven Löschfunktion (auch als Flash-Speicher
bezeichnet). Gemäß 1 besteht eine Speicherzellenanordnung
aus mehreren Speicherzellen MC, die in Form einer Matrix angeordnet
sind. Die Speicherzelle MC ist eine nichtflüchtige Speicherzelle. Diese
Speicherzellenanordnung weist mehrere Wortleitungen 508,
mehrere Bitleitungen 509 und mehrere Source-Leitungen 510 auf. Gate-Steuerelektroden
der Speicherzelle der gleichen Spalte sind gemeinsam mit der Wortleitung 508 verbunden.
Drain-Elektroden der Speicherzellen der gleichen Reihe sind gemeinsam
mit der Bitleitung 509 verbunden. Source-Elektroden der
Speicherzellen der gleichen Spalte sind gemeinsam mit der Source-Leitung 510 verbunden.
Die mehreren Source-Leitungen 510 sind miteinander verbunden,
und diese Verbindungsstruktur wird als gemeinsame Source-Leitung 510 bezeichnet.
In vielen Fällen
wird die folgende Konfiguration einer Speicherzellenanordnung verwendet.
Die Konfiguration ist derart, daß die Speicherzellenanordnung
in mehrere Sektoren geteilt ist, wobei die Source-Elektroden der mehreren Speicherzellen
innerhalb des gleichen Sekotrs mit der gemeinsamen Source-Leitung
verbunden sind und die kollektive Löschfunktion bezüglich der
Sektoreinheit ausgeführt
wird.
Die Wortleitungen 508 sind
mit einem X-Decodierer 511 verbunden, und die Bitleitungen 509 sind
mit einem Y-Decodierer 512 verbunden.
Die mehreren Source-Leitungen 510,
mit denen die Source-Elektroden der jeweiligen Speicherzellen verbunden
sind, sind gemeinsam mit einer Schaltschaltung 513 verbunden.
Diese Schaltschaltung 513 verbindet die Source-Leitungen
während
einer Lese- und Schreiboperation der Speicherzelle mit einem Erdpotential.
Sie verbindet sie während
einer Löschoperation
in der Speicherzelle mit einer Löschspannungserzeugungsschaltung 514.
Außerdem weist sie eine Lesesteuerungsschaltung 515,
eine Schreibsteuerungsschaltung 516 und eine Löschsteuerungsschaltung 517 auf.
Die Lesesteuerungsschaltung 515 dient zum Ausführen einer
Leseoperationssteuerung der Speicherzelle. Die Schreibsteuerungsschaltung 516 dient
zum Ausführen
einer Schreibsteuerung der Speicherzelle. Die Löschsteuerungsschaltung 517 dient
zum Ausführen einer
Löschoperationssteuerung
der Speicherzelle. Jeweilige Steuerungsausgangssignale von der Lesesteuerungsschaltung 515,
der Schreibsteuerungsschaltung 516 und der Löschsteuerungsschaltung 517 werden
an den X-Decodierer 511 bzw. den Y-Decodierer 512 übertragen.
Die 2A und 2B zeigen Ablaufdiagramme zum
Darstellen eines Beispiels einer Prozedur für eine Schreibverifizierung
und eine Löschverifizierung des
Flash-Speichers. Nachstehend wird die Funktionsweise des herkömmlichen
Flash-Speichers
unter Bezug auf die 1, 2A und 2B beschrieben.
Wenn Daten in die Speicherzelle geschrieben
werden, wird die gemeinsame Source-Leitung 510 über die
Schaltschaltung 513 mit dem Erdpotential verbunden, wodurch
das Erdpotential der Source-Elektrode der Speicherzelle zugeführt wird.
Dann wird durch Aktivieren der Schreibsteuerungsschaltung 516 eine
durch den Y-Decodierer 512 ausgewählte Bitleitung auf eine hohe
Spannung gesetzt, wodurch die hohe Spannung der mit der Bitleitung verbundenen
Drain-Elektrode der Speicherzelle zugeführt wird. Außerdem wird
eine durch den X-Decodierer 511 ausgewählte Wortleitung auf ein hohes Potential
gesetzt, wodurch die Gate-Steuerelektrode der Speicherzelle auf
eine hohe Spannung (z.B. 12 V) gesetzt. Dann werden in der ausgewählten Speicherzelle
in der Nähe
des Drain-Bereichs erzeugte heiße
Elektronen in das Floating-Gate
injiziert (Schritte S101-S102 in 2A).
Daraufhin wird gemäß der in 2A dargestellten Prozedur
der Schreibzustand auf AUS gesetzt (Schritt S103), und anschließend wird
die Schreibverifizierungsoperation gestartet (Schritt S104). D.h.,
Daten werden aus der der Schreibadresse des Bausteins entsprechenden
Speicherzelle ausgelesen (Schritt S105). Es wird verifiziert, ob
das ausgelesene Datenelement mit einem bestimmten Schreibdatenelement übereinstimmt
oder nicht (Schritt S106) . Wenn das bestimmte Datenelement in den
Speicher geschrieben ist (JA in Schritt S106), wird die Schreiboperation
beendet. Wenn das bestimmte Datenelement nicht geschrieben ist (NEIN
in Schritt S106) springt die Prozedur zu Schritt S101 zurück, und
das Datenelement wird erneut in die der gleichen Adresse entsprechende
Speicherzelle geschrieben.
Wenn das Datenelement ausgelesen
wird, wird die gemeinsame Source-Leitung 510 ähnlich wie
beim Schreiben mit dem Erdpotential verbunden. Dann setzen durch
Aktivieren der Lesesteuerungsschaltung 515 der Y-Decodierer 512 und
der X-Decodierer 511 die Bitleitung 509 und die
Wortleitung 508 jeweils auf die vorgegebenen Spannungen.
Dadurch werden die vorgegebenen Spannungen für die Gate- und die Drain-Elektrode der Speicherzelle
gesetzt, wodurch die Daten in der ausgewählten Speicherzelle gelesen
werden. Zu diesem Zeitpunkt wird die Größe des durch die mit der ausgewählten Speicherzelle verbundene
Bitleitung 509 fließenden
Stroms durch einen Leseverstärker
(nicht dargestellt) erfaßt.
Dadurch wird beurteilt, ob das in der ausgewählten Speicherzelle gespeicherte
Datenelement den Wert "1" oder "0" hat (in der nachstehenden Beschreibung bezeichnen "1" und "0" jeweils
Logikwerte).
Außerdem wird, wenn ein Datenelement
in der Speicherzelle gelöscht
wird, die gemeinsame Source-Leitung 510 über die
Schaltschaltung 513 mit der Löschspannungserzeugungsschaltung 514 verbunden.
Dann wird durch Aktivieren der Löschsteuerungsspannung 517 die
gemeinsame Source-Leitung 510 auf ein hohes Potential (z.B.
12 V) gesetzt. Die Source-Elektroden
der Speicherzellen werden auf hohe Potentiale ge setzt, alle Wortleitungen 508 werden
auf das Erdpotential gesetzt, alle Bitleitungen werden auf offene
Zustände
gesetzt, die Drain-Elektroden der Speicherzellen werden auf einen
offenen Zustand gesetzt, und die kollektive Löschoperation wird bezüglich allen
Speicherzellen (oder Sektoreinheiten) ausgeführt (Schritt S202). Zu diesem
Zeitpunkt wird zwischen der Source-Elektrode und dem Floating-Gate
der Speicherzelle ein starkes elektrisches Feld erzeugt, und die
Elektronen im Floating-Gate werden durch den Tunneleffekt in die
Source-Seite gezogen.
Im Flash-Speicher wird vor der tatsächlichen Löschoperation
typischerweise zuvor eine Schreiboperation bezüglich allen kollektiv zu löschenden
Bits ausgeführt
(Schritt 5201 in 2B),
um die Schwellenwerte aller für
die kollektive Löschoperation
ausgewählten
Speicherzellen ungefähr
einander anzugleichen. Daraufhin wird in jeweils vorgegebenen Zeiteinheiten,
in die die Löschzeit
fein unterteilt ist, um keinen übermäßigen Löschzustand
in der Speicherzelle zu erhalten, eine Löschverifizierungsoperation
ausgeführt.
In jeder der vorgegebenen Zeiteinheiten werden nach und nach die
Löschoperation und
anschließend
das Prüfen
der Schwellenwerte aller Speicherzellen ausgeführt. Dann wird, wenn ein geeigneter
Schwellenwert erhalten wird, die Löschoperation gestoppt. D.h,
in einem Löschzustandprüfmodus wird
ein Datenelement vom Baustein ausgelesen (Schritt S205), und es
wird verifiziert, ob das Datenelement gelöscht ist oder nicht (Schritt
S206). Wenn es nicht gelöscht
ist, wird die Löschoperation für eine vorgegebene
Zeitdauer erneut ausgeführt (Schritt
S202). Wenn es gelöscht
ist, wird dagegen geprüft,
ob eine Adresse, bezüglich
der der Löschzustand
geprüft
wird, eine Endadresse ist oder nicht. Wenn sie keine Endadresse
ist, schreitet die Prozedur zu einer nächsten Adresse fort (Schritt
S208), und der Löschzustand
der Speicherzelle der Adresse wird geprüft. Wenn die Adresse dagegen
die Endadresse ist, wird die Löschoperation
abgeschlossen.
Wenn die Löschzeit größer oder gleich einem vorgegebenen
Wert wird, wird eine Schwellenspannung der Speicherzel le, die beispielsweise
in einem Anfangszustand etwa 5 V beträgt, negativ. Diese Speicherzelle
ist auf einen Senkenzustand eingestellt, bei dem sie nur dann eingeschaltet
wird, wenn ihr Gate-Potential das Erdpotential ist. Wenn der übermäßige Löschzustand
vorliegt, kann kein korrektes Datenelement ausgelesen werden. In
der in 1 dargestellten
Speicherzellenanordnung fließt in
einer Situation, bei der eine Speicherzelle einen übermäßig gelöschten Zustand
aufweist, wenn ein Datenelement in eine Speicherzelle J geschrieben
ist und dieses Datenelement dann ausgelesen wird, zwischen einer
Drain-Elektrode und einer Source-Elektrode in der ausgewählten Speicherzelle
j kein Strom, Es fließt
jedoch ein Strom zwischen einer Drain-Elektrode und einer Source-Elektrode in der nicht
ausgewählten
Speicherzelle H. Aus diesem Grunde fließt ein Strom durch eine Bitleitung
B1, und der Leseverstärker
erfaßt
das Datenbit der Speicherzelle J, das ein AUS-Bit ist, als EIN-Bit.
Dadurch werden, um zu verhindern, daß ein solcher übermäßiger Löschzustand
auftritt, die Prozedur zum Wiederholen der kollektiven Löschoperation
in der vorgegebenen Zeiteinheit und die Löschverifizierung für jede folgende
Adresse wie vorstehend erwähnt
ausgeführt.
Die Löschverifizierung
erfordert im Vergleich zur Leseoperation und zur Schreibverifizierung
eine sehr lange Zeitdauer.
D.h., im herkömmlichen Flash-Speichern wird
die Verarbeitungszeit in der folgenden Reihenfolge immer länger i)
Leseoperation; ii) Schreiboperation einschließlich der Verifizierung und
iii) Löschoperation
einschließlich
der Verifizierung. Beispielsweise ist für die Leseoperation eine Zeitdauer
in der Größenordnung
von 100 ns (Nanosekunden) erforderlich. Die Schreiboperation einschließlich der
Verifizierung erfordert eine Zeitdauer in der Größenordnung von mehreren zehn μs (Mikrosekunden).
Die Löschoperation
einschließlich
der Verifizierung erfordert eine Zeitdauer in der Größenordnung
von mehreren hundert ms (Millisekunden). Aus diesem Grunde wird die
Testzeit einschließlich
der Verifizierungsoperation mit zunehmender Speicherkapazität immer
länger.
Ein LSI-Baustein, z.B. ein Mikroprozessor, der
einen nichtflüchtigen
Speicher, z.B. einen Flash-Speicher, oder einen ähnlichen Speicher, und eine
Zentraleinheit (CPU) auf dem gleichen Substrat aufweist, wird einem
Benutzer in einer Form übergeben,
gemäß der der
nichtflüchtige
Speicher in mehrere Speicherblöcke
(Speichermakros) geteilt ist. Dies dient zum Handhaben der Erhöhung einer
erforderlichen Speicherkapazität
und der verschiedenen Anwendungen an der Benutzerseite. Der in einen
Mikrocomputer integrierte nichtflüchtige Speicher speichert typischerweise
ein in der CPU auszuführendes Programm
und Daten und ähnliche
Elemente. Beispielsweise ist er so konstruiert, daß an der
Herstellerseite im voraus vier Speicherblöcke (maximal 4 MBit) mit jeweils
8 Bits × 128
K (= 1 MBit) vorbereitet sind. Die Konfiguration der genutzten Speicherblöcke kann
an der Benutzerseite gemäß der Anwendung geändert werden.
Der Grund hierfür
ist folgender. In Verbindung mit der Erhöhung der Speicherkapazität nimmt,
wenn eine Speicherzellenanordnung beispielsweise aus vielen Speicherzellen
mit einer großen
Kapazität
besteht, mit der zunehmenden Anzahl der Zellentransistoren, in denen
jede Drain-Elektrode mit einer Bitleitung verbunden ist, die Last
oder Belastung zu. Außerdem
ist es in Verbindung mit der Erhöhung
eines Draht- oder Leitungswiderstandes und einer Draht- oder Leitungskapazität schwierig,
ein Signal von einem Ende der Bitleitung zu einem am anderen Ende
angeordneten Zellentransistor gleichmäßig zu übertragen. D.h., der nichtflüchtige Speicher wird
im voraus in mehrere Speicherblöcke
geteilt, und die Speicherblöcke
werden entsprechend der erforderlichen Kapazität genutzt. Dadurch werden eine hohe
Speicherkapazität
und ein Hochgeschwindigkeitszugriff gleichzeitig realisiert.
Wenn ein LSI-Baustein mit mehreren
nichtflüchtigen
Speicherblöcken
so konstruiert ist, daß Ausgangsdaten
der jeweiligen Speicherblöcke
in ihren Originalzuständen
von Testanschlüssen
parallel nach außen
ausgegeben werden, nimmt die Anzahl der dem Test zugeordneten Ausgangsanschlüsse, die
auf dem LSI-Baustein angeordnet sind, proportional zur An zahl der
Speicherblöcke
zu. Dies ist ineffizient und unwirtschaftlich. Insbesondere nimmt
im Fall einer Mehrbitstruktur, in der der nichtflüchtige Speicherblock 4 Bits,
8 Bits oder eine ähnliche
Anzahl von Bits aufweist, die Anzahl der dem Test zugeordneten Ausgangsanschlüsse zu.
Daher wird die Struktur, gemäß der die
Ausgangsdaten der jeweiligen Speicherblöcke in ihren Originalzuständen und parallel
von den Testanschlüssen
nach außen
ausgegeben werden, hinsichtlich der Begrenzung der Anzahl der Anschlüsse und
ihrer Kosten tatsächlich nicht
genutzt.
Herkömmlich wird für den LSI-Baustein,
der die mehreren nichtflüchtigen
Speicherblöcke
in der Mehrbitstruktur aufweist, wie vorstehend erwähnt wurde,
die in 3 dargestellte
Struktur verwendet.
3 zeigt
ein Konfigurationsbeispiel eines herkömmlichen Mikroprozessors. Dieser
Mikroprozessor 600 weist mehrere Speicherblöcke eines
EEPROMS des Flash-Speichertyps auf dem gleichen Substrat auf. Gemäß 3 weist dieser Mikroprozessor 600 Speicherblöcke 601_1 bis 601_3 auf,
die aus Flash-Speichern mit einer Mehrbitstruktur mit der gleichen
Bitbreite (Bitbreite n, wobei n eine ganze Zahl ist, die größer oder
gleich 2 ist) besteht. Er weist außerdem einen Selektor 604 auf,
dessen Eingänge mit
Datenbussen 603
_1 bis 60_3 verbunden
sind, um Ausgangsdaten von den Speicherblökken 601_1 bis 601_3 zu übertragen.
Die Ausgangsdaten (n Bits) des durch den Selektor 604 ausgewählten Speicherblocks
werden einem Datenausgangsanschluß 605 zugeführt.
Wenn der Schreibverifizierungs- oder
der Löschverifizierungstest
ausgeführt
wird, wird den Speicherblöcken 601_1 bis 601_3 ein
durch eine automatische Testvorrichtung (nicht dargestellt) übertragenes
Adressensignal als Leseadresse von einem Adressenbus 602 zugeführt. Die
Ausgangsdaten des durch den Selektor 604 ausgewählten Speicherblocks
werden dem Datenausgangsanschluß 605 zugeführt, und
die Ausgangsdaten werden einem Vergleicher einer elektronischen
Pin-Karte der automatischen Testvorrichtung (nicht dargestellt)
zugeführt. Ein
Auswahlsignal zum Steuern der Auswahl des Selektors 604 wird
durch die automatische Testvorrichtung (nicht dargestellt) übertragen.
Andererseits werden während
eines Normalbetriebs die aus den Speicherblöcken 601_1 bis 601_3 auf
der Basis der Leseadresse von der CPU (nicht dargestellt) ausgelesenen
Daten als Lesedaten an die CPU übertragen. Der
Datenausgangsanschluß 605 ist
ein dem Test zugeordneter äußerer Anschluß, und die
Anzahl der Datenausgangsanschlüsse 605 entspricht
der Bitbreite der Ausgangsdaten des Speicherblocks.
Bei einem derartigen LSI-Baustein
besteht jedoch in der Konfiguration, gemäß der die Anschlußanzahl
der dem Test zugeordneten äußeren Anschlüsse durch
den Mechanismus begrenzt sind, gemäß dem die Ausgangsdaten von
den mehreren nichtflüchtigen
Speicherblöcken
durch den Selektor ausgewählt
und von den Ausgangsanschlüssen
ausgegeben werden, ein Problem hinsichtlich der erheblichen Zunahme
der Testzeit für
den LSI-Baustein, der die nichtflüchtigen Speicherblöcke aufweist.
4 zeigt
ein Ablaufdiagramm zum Darstellen eines Beispiels eines Testablaufs,
der normalerweise beim Testen eines Flash-Speichers ausgeführt wird.
In diesem Fall werden zunächst
in einem Test 1 eine Löschoperation
und eine Löschverifizierung
ausgeführt
(Schritte S301, S302). Zu diesem Zeitpunkt wird, wenn die Löschverifizierung
unmöglich
ist (fehlerhaft oder fehlgeschlagen ist), die Löschoperation erneut ausgeführt, wie
vorstehend erwähnt wurde.
Wenn die Löschverifizierung erfolgreich
ausgeführt
worden ist, werden in einem Test 2 eine Schreiboperation
eines Checker-Musters und eine Schreibverifizierung ausgeführt (Schritte
S302, S304).
Wenn die Schreibverifizierung erfolgreich ausgeführt worden
ist, werden in einem Test 3 eine Löschoperation und eine Löschverifizierung
ausgeführt
(Schritte S305, S306).
Dann werden in einem Test 4 eine
Schreiboperation eines Checker-Bar-Musters und eine Schreibverifizierung
ausgeführt
(Schritte S307, S308). Wenn die Schreibverifizierungsvorgang erfolgreich
ausgeführt
worden ist, werden in einem Test 5 erneut eine Löschoperation
und eine Löschverifizierung
ausgeführt
(Schritte S309, S310).
Dann werden in einem Test 6 eine
Schreiboperation zum Schreiben lauter "0"-Daten
und eine Schreibverifizierung ausgeführt (Schritte S311, S312).
Dann wird, nachdem in einem Test 7 ein
Einbrenn (Wafer-Brenn)-vorgang
ausgeführt
worden ist, die Schreibverifizierung erneut ausgeführt (Schritte S313,
S314). Dann werden in einem Test 8 die Löschoperation
und die Schreibverifizierung erneut ausgeführt (Schritte S315, S316).
Wenn der Test, der aus den vorstehend
erwähnten
Testabläufen
besteht, für
den in 3 dargestellten
LSI-Baustein als zu testender Baustein ausgeführt wird, können, weil der LSI-Baustein
so konstruiert ist, daß die
durch den Selektor 604 unter den Speicherblöcken 601_1 bis 601_3 ausgewählten Ausgangsdaten
vom Datenausgangsanschluß 605 ausgegeben
werden, die Verifizierungsoperationen zwischen den Speicherblöcken 601_1 bis 601_3 nicht
parallel ausgeführt
werden. D.h., aufgrund der Beschränkung der Anzahl der Anschlüsse ist
der LSI-Baustein so konstruiert, daß die Ausgangsdaten der Speicherblöcke durch
den Selektor 604 ausgewählt
und an den äußeren Anschluß ausgegeben werden.
Daher können,
wenn die für
die Verifizierungsoperation erforderlichen Daten ausgelesen werden,
die gelesenen Daten der mehreren Speicherblöcke nicht gleichzeitig nach
außen
ausgegeben werden.
Aus diesem Grunde schaltet, wenn
der Verifizierungstest während
des Tests des herkömmlichen LSI-Bausteins
ausgeführt
wird, der Selektor 604 die Ausgangsdaten der Speicherblöcke 601_1 bis 601_3 sequentiell
und gibt sie an den Datenausgangsanschluß 605 aus. Dann vergleicht
der Vergleicher der automatischen Testvorrichtung die Daten mit
einem Erwartungswert und entscheidet, ob der Test erfolgreich war
oder fehlgeschlagen ist. In Verbindung mit der Erhöhung der
Speicherkapazität
der im LSI-Baustein integrierten Speicherblökke und der Erhöhung der
Anzahl der Speicherzellenblöcke
nimmt die Verifizierungstestzeit zu.
Als Einrichtung zum Lösen der
vorstehenden Probleme schlägt
der vorliegende Erfinder einen LSI-Baustein in der offengelegten
japanischen Patentanmeldung
JP-A-2001-155500 vor. Unter Verwendung des
vorgeschlagenen LSI-Bausteins kann die Testzeit für den Verifizierungstest
und ähnliche Tests
verkürzt
werden, während
auch im Fall eines LSI-Bausteins mit mehreren nichtflüchtigen
Speichermakros verhindert wird, daß die Anzahl der dem Test zugeordneten
Anschlüsse
zunimmt.
5A zeigt
eine schematische Konfiguration eines Beispiels des in der vorstehend
erwähnten Patentanmeldung
dargestellten LSI-Bausteins. Gemäß 5A weist ein LSI-Baustein 700 Flash-Speicherblöcke (nachstehend
als Speichermakros bezeichnet) 701_1 bis 701_3, einen Adressenbus 702,
Ausgangsdatenbusse 703_1 bis 703_3, Verifizierungsschaltungen 705_1 bis 705_3,
Verifizierungsergebnisausgangsanschlüsse 706_1 bis 706_3,
einen Erwartungswertdateneingangsanschluß 707, einen Adressenbus 708,
einen Datenbus 709, Selektoren 710, 712 und 713,
einen Adresseneingangsanschluß 714,
einen Dateneingangsanschluß 715 und
eine CPU 720 auf.
Die Flash-Speicherblöcke 701_1 bis 701_3 sind
drei nichtflüchtige
Speicherblöcke,
und Ausgangsdaten von den jeweiligen Speicherblöcken 701_1 bis 701_3 werden
an die zugeordneten Datenbusse 703_1 bis 703_3 ausgegeben.
Diese Daten werden entsprechenden Verifizierungsschaltungen 705_1 bis 705_3 zugeführt. Daten
mehrerer (n) Bitbreiten werden von den jeweiligen Speicherblöcken 701_1 bis 701_3 als
Lesedaten ausgegeben, und die Ausgangsdatenbusse 703_1 bis 703_3 sind
für die Bitbreite
n definiert.
5B zeigt
eine schematische Konfiguration der in der vorstehend erwähnten Patentanmeldung
dargestellten Verifizierungsschaltungen. Jede der Verifizierungsschaltungen 705
_1 bis 705_3 weist n
Exklusiv-ODER-Gatter EXOR 1 bis EXOR n und ein ODER-Gatter 0R auf.
Jedes der n Exklusiv-ODER-Gatter
EXOR_1 bis EXOR n vergleicht jedes Bitdatenelement der Ausgangsdatenbusse 703_1 bis 703_3 der
Bitbreite n mit jedem von einem Erwartungswertdateneingangsanschluß 707 zugeführten Bitdatenelement
eines Erwartungswertdatenele ments 704 mit der Bitbreite
n. Dann entscheidet es, ob sie miteinander übereinstimmen oder nicht. Das
ODER-Gatter OR führt
eine ODER-Verknüpfung zwischen
den Ausgangswerten der n Exklusiv-ODER-Gatter EXOR-1 bis EXOR n
aus. Dann gibt es Verifizierungsergebnisbeurteilungssignale an die
Verifizierungsergebnisausgangsanschlüsse 706_1 bis 706_3 aus.
Im LSI-Baustein 700 sind
die Verifizierungsergebnisausgangsanschlüsse 706_1 bis 706_3 entsprechend
der Anzahl der Speicherblöcke 701_1 bis 701_3 angeordnet,
und Verifizierungsergebnisbeurteilungssignale von den jeweiligen
Verifizierungsschaltungen 705_1 bis 705_3 werden
an die automatische Testvorrichtung (nicht dargestellt) parallel
ausgegeben.
Wenn der LSI-Baustein 700 getestet
wird, werden der Schreibverifizierungstest und der Löschverifizierungstest
in den drei Speicherblöcken 701_1 bis 701_3 parallel
ausgeführt.
D.h., die gleiche Leseadresse wird von der Seite der automatischen
Testvorrichtung (nicht dargestellt) an die drei Speicherblöcke 701_1 bis 701_3 übertragen.
Jede der Verifizierungsschaltungen 705_1 bis 705
_3 vergleicht
die von jedem der Speicherblöcke 701_1 bis 701_3 ausgegebenen
Lesedaten bezüglich
jedes Bits mit den von der automatischen Testvorrichtung (nicht
dargestellt) an den Erwartungswertdateneingangsanschluß 107 übertragenen
Erwartungswertdaten. Wenn Bitdaten vorhanden sind, die nicht mit
dem Erwartungswertdaten übereinstimmen,
d.h., wenn das Ausgangssignal von irgendeinem der Exklusiv-ODER-Gatter
EXOR den Wert "1" hat, hat das vom
ODER-Gatter 0R ausgegebene Verifizierungsergebnisbeurteilungssignal
den Wert "1". Infolgedessen kann
der LSI-Baustein 700 selbst die Verifizierung ausführen. Der
Vergleicher der automatischen Testvorrichtung (nicht dargestellt)
ist mit den Verifizierungsergebnisausgangsanschlüssen 706
_1 bis 706_3 verbunden.
Die automatische Testvorrichtung beurteilt den Test als erfolgreich,
wenn das Verifizierungsergebnisbeurteilungssignal von jeder der
Verifizierungsschaltungen 705_1 bis 705_3 den
Wert "0" hat, und als fehlgeschlagen,
wenn es den Wert "1" hat.
Daher erfordert, wenn beispielsweise
jeder Speicherblock einen 8-Bit-Datenausgang (Bitbreite des Datenbusses
n = 8), um die Geschwindigkeit des Verifizierungstests zu erhöhen, wenn
die Schaltung derart konfiguriert ist, daß die Daten der drei Speicherblöcke (Anzahl
der Speicherblöcke
m = 3) parallel ausgegeben werden, diese Konfiguration, daß dem Test 24 (=
m × n)
Ausgangsanschlüsse
zugeordnet sind. Außerdem
erfordert diese Konfiguration ,24 Vergleicher für die automatische Testvorrichtung.
Gemäß dem LSI-Baustein 700 ist
es jedoch, obwohl die für
den Test erforderliche Zeitdauer sich nicht ändert, für die dem Test zugeordneten
erforderlichen Ausgangsanschlüsse
ausreichend, entsprechend der Anzahl (3) der Speicherblöcke drei Verifizierungsergebnisausgangsanschlüsse 706
_1 bis 706_3 zu
installieren. Dadurch wird die Anzahl der dem Test zugeordneten
Ausgangsanschlüsse
erheblich reduziert. Daher kann die Anzahl der für den Verifizierungstest erforderlichen
Vergleicher in der automatischen Testvorrichtung drei betragen.
Wie vorstehend erwähnt wurde,
wird im LSI-Baustein der vorstehend erwähnten Patentanmeldung, abwohl
die für
den Schreibverifizierungstest und den Löschverifizierungstest erforderliche Zeitdauer
der im Fall der Schaltungskonfiguration, gemäß der die Daten jedes Speicherblocks
bezüglich allen
Bits parallel ausgegeben werden, erforderlichen Zeitdauer gleicht,
die Anzahl der dem Verifizierungstest für jedes Speichermakro zugeordneten
Ausgangsanschlüsse
wesentlich reduziert auf eine Anzahl, die der Anzahl der im LSI-Baustein
integrierten Speichermakros entspricht.
In den vergangenen Jahren hat die
Anzahl der in LSI-Bausteinen
integrierten nichtflüchtigen Speichermakros
zugenommen, und die Struktur der Speichermakros (die Anzahl der
in einem Speichermakro enthaltenen Speicherzellen) ist diversifiziert worden.
Insbesondere ist es bisher nicht gelungen, ein Verfahren zum gleichzeitigen
parallelen Ausführen
mehrerer Speichermakro-Verifizierungstests bereitzustellen, bei
denen Speichergrößen verschieden sind,
ohne die Anzahl der dem Test zugeordneten Anschlüsse zu erhöhen. Es ist er wünscht, die
Effizienz des Verifizierungstests für Speichermakros zu verbessern,
deren Struktur diversifiziert ist, während verhindert wird, daß die Anzahl
der dem Test zugeordneten Anschlüsse
zunimmt.
Daher ist es eine Aufgabe der vorliegenden Erfindung,
eine Testschaltung bereitzustellen, die dazu geeignet ist, den Verifizierungstest
für ein
Speichermakro effizient auszuführen,
dessen Konfiguration diversifiziert ist, während verhindert wird, daß die Anzahl
der dem Test zugeordneten Anschlüsse
zunimmt, z.B. in einem LSI-Baustein, in dem mehrere nichtflüchtige Speichermakros
mit verschiedenartigen Strukturen integriert sind, und in einem
LSI-Baustein, in dem eine derartige Testschaltung integriert ist.
Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden nachstehend unter Bezug auf die folgende Beschreibung
und die Zeichnungen verdeutlicht.
Es ist eine andere Aufgabe der vorliegenden Erfindung,
einen Halbleiterbaustein bereitzustellen, der die vorstehend erwähnte Testschaltung
aufweist.
Gemäß einem Aspekt der vorliegenden
Erfindung wird eine Testschaltung mit m (m ist eine ganze Zahl,
die größer oder
gleich 2 ist) Blocktesteinheiten und einer ersten Logikverarbeitungsschaltung bereitgestellt.
Jede der m Blocktesteinheiten vergleicht ein erstes Datenelement
mit n (n ist eine positive ganze Zahl) Bits mit einem Referenzdatenelement
mit n Bits bezüglich
jedes entsprechenden Bits und gibt basierend auf einem Ausgangssteuerungssignal
ein Vergleichsergebnis als ein Testschaltungsausgangssignal aus.
Das erste Datenelement wird von einem entsprechenden von m zu testenden
Objekt- oder Zielschaltungen ausgegeben. Die erste Logikverarbeitungseinheit
beurteilt, ob alle der m Testschaltungsausgangssignale anzeigen,
daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt oder nicht, und
gibt basierend auf den m Testschaltungsausgangssignalen ein Beurteilungsergebnis
als Gesamtbeurteilungsergebnis aus. Jede der m Blocktesteinheiten
weist eine Blockbeurteilungseinheit und eine Blockausgangsauswahleinheit auf.
Die Blockbeurteilungseinheit vergleicht das erste Datenelement mit
dem Referenzdatenelement bezüglich
jedes entsprechenden Bits, um zu beurteilen, ob das erste Datenelement
mit dem Referenzdatenelement übereinstimmt,
und gibt ein Vergleichsergebnis als Blockbeurteilungsergebnissignal
aus. Die Blockausgangsauswahleinheit gibt das Blockbeurteilungsergebnissignal
oder ein vorgegebenes Standardsignal basierend auf dem Ausgangssteuerungssignal
als das Testschaltungsausgangssignal aus.
In der erfindungsgemäßen Testschaltung wird
das Ausgangssteuerungssignal derart gesetzt, daß die Blockausgangsauswahleinheit
das Blockbeurteilungsergebnissignal oder das Standardsignal bezüglich einer
Testbedingung für
die eine der m Zielschaltungen setzt, wenn das erste Datenelement ausgegeben
wird.
In der erfindungsgemäßen Testschaltung gibt-
die Blockausgangauswahleinheit das Blockbeurteilungsergebnissignal
aus, wenn die Testbedingung einer der m Zielschaltungen entspricht.
Sie gibt das Standardsignal basierend auf dem Ausgangssteuerungssignal
aus, wenn die Testbedingung nicht einer der m Zielschaltungen entspricht.
In der erfindungsgemäßen Testschaltung wird
das Standardsignal auf den gleichen Logikzustand gesetzt wie derjenige
des Blockbeurteilungsergebnissignal, das anzeigt, daß das erste
Datenelement mit dem Referenzdatenelement übereinstimmt.
In der erfindungsgemäßen Testschaltung zeigt
das Gesamtbeurteilungsergebnissignal an, daß alle m Objektschaltungen
den Test bestanden haben, wenn alle m Testschaltungsausgangssignale
anzeigen, daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt.
In der erfindungsgemäßen Testschaltung zeigt
das Gesamtbeurteilungsergebnissignal an, daß mindestens eine der m Zielschaltungen
den Test nicht bestanden hat, wenn mindestens eines der m Testschaltungsausgangssignale
anzeigt, daß das erste
Datenelement nicht mit dem Referenzdatenelement übereinstimmt.
In der erfindungsgemäßen Testschaltung weist
die Blockbeurteilungseinheit n individuelle Beurteilungseinheiten
und eine zweite Logikverarbeitungseinheit auf. Jede der n individuellen
Beurteilungseinheiten vergleicht eines von n Bits des ersten Datenelements
mit einem entsprechenden der n Bits des Referenzdatenelements und
gibt ein Vergleichsergebnis als Vergleichsergebnissignal aus. Die
zweite Logikverarbeitungseinheit gibt das Blockbeurteilungsergebnissignal,
das anzeigt, ob das erste Datenelement mit dem Referenzdatenelement übereinstimmt
oder nicht, basierend auf den mehreren der von den n individuellen
Beurteilungseinheiten zugeführten
Vergleichsergebnissignale aus.
In der erfindungsgemäßen Testschaltung zeigt
das Blockbeurteilungsergebnissignal an, daß das erste Datenelement mit
dem Referenzdatenelement übereinstimmt,
wenn alle Vergleichsergebnissignale anzeigen, daß das eine von n Bits des ersten Datenelements
mit dem entsprechenden einen von n Bits des Referenzdatenelements übereinstimmt.
Gemäß einem anderen Aspekt der
vorliegenden Erfindung wird ein Halbleiterbaustein mit m (m ist
eine ganze Zahl, die größer oder
gleich 2 ist) Speichermakros, einer Testeinheit und einem Testausgangsanschluß bereitgestellt.
Jeder der m Speichermakros weist mehrere nichtflüchtige Speicherzellen auf,
die elektrisch löschbar
und beschreibbar sind. Die Testeinheit führt einen Löschverifizierungstest und einen
Schreibverifizierungstest aus, die Tests darstellen, gemäß denen
Ergebnisse einer Löschoperation
bzw. einer Schreiboperation bezüglich
der Speicherzelle verifiziert werden. Der Testausgangsanschluß gibt Testergebnisse
von durch die Testeinheit ausgeführten
Tests nach außen
aus. Die Speichergröße mindestens
eines der m Speichermakros unterscheidet sich von derjenigen eines
anderen Speichermakros, wobei die Speichergröße einer Anzahl der Speicherzellen
entspricht. Die Testeinheit testet die m Speichermakros parallel.
Im erfindungsgemäßen Halbleiterbaustein weist
die Testeinheit m Vergleichsbeurteilungseinheiten, m erste Auswahleinheiten
und eine Gesamtbeurteilungseinheit auf. Jede der m Vergleichsbeurteilungseinheiten
ist zugeordnet zu einem der Speichermakros angeordnet. Sie vergleicht
ein von einem entsprechenden der Speichermakros ausgegebenes, aus
mehreren Bits bestehendes erstes Datenelement mit einem aus der
gleichen Anzahl von Bits bestehenden Referenzdatenelement bezüglich jedes entsprechenden
Bits, um zu beurteilen, ob das erste Datenelement mit dem Referenzdatenelement übereinstimmt,
und gibt ein Vergleichsergebnis als ein erstes Beurteilungssignal
aus. Jede von m ersten Auswahleinheiten ist zugeordnet zu einer
der Vergleichsbeurteilungseinheiten angeordnet. Sie gibt basierend
auf einem Ausgangssteuerungssignal das erste Beurteilungssignal
oder ein vorgegebenes Standardsignal als ein zweites Beurteilungssignal aus,
wobei das erste Beurteilungssignal von einer entsprechenden der
Vergleichsbeurteilungseinheiten zugeführt wird. Die Gesamtbeurteilungseinheit
beurteilt, ob alle m zweiten Beurteilungssignale anzeigen, daß das erste
Datenelement mit dem Referenzdatenelement übereinstimmen, und gibt basierend
auf den m zweiten Beurteilungssignalen ein Beurteilungsergebnis
als Gesamtbeurteilungsergebnissignal aus.
Im erfindungsgemäßen Halbleiterbaustein wird
das Ausgangssteuerungssignal basierend- darauf gesetzt, ob eine
einer Adresse entsprechende Speicherzelle im Speichermakro vorhanden
ist oder nicht. Die Adresse wird den m Speichermakros als Adressensignal
gemeinsam zugeführt,
wenn der Löschverifizierungstest
oder der Schreibverifizierungstest bezüglich des Speichermakros ausgeführt wird.
Im erfindungsgemäßen Halbleiterbaustein wird
das Ausgangssteuerungssignal derart gesetzt, daß die erste Auswahleinheit
das erste Beurteilungssignal ausgibt, wenn die der Adresse entsprechende Speicherzelle
im Speichermakro vorhanden ist.
Im erfindungsgemäßen Halbleiterbaustein wird
das Standardsignal auf den gleichen Logikzustand gesetzt wie derje nige
des ersten Beurteilungssignals, das anzeigt, das das erste Datenelement
mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Halbleiterbaustein zeigt
das Gesamtbeurteilungsergebnissignal an, daß alle m Speichermakros den
Test bestanden haben, wenn alle m zweiten Beurteilungssignale anzeigen, daß das erste
Datenelement mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Halbleiterbaustein zeigt
das Gesamtbeurteilungsergebnissignal an, daß mindestens eines der m Speichermakros
den Test nicht bestanden hat, wenn mindestens eines der m zweiten
Beurteilungssignale anzeigt, daß das
erste Datenelement nicht mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Halbleiterbaustein ist das
Referenzdatenelement ein Datenelement, das mindestens Musterdaten
enthält,
die einem Löschverifizierungstest
bzw. einem Schreibverifizierungstest entsprechen.
Der erfindungsgemäße Halbleiterbaustein weist
ferner eine Speichereinheit auf, die Daten mehrerer der Referenzdatenelemente
speichert und eines der Referenzdatenelemente ausgibt, wenn der Löschverifizierungstest
oder der Schreibverifizierungstest ausgeführt wird.
Der erfindungsgemäße Halbleiterbaustein weist
ferner eine zweite Auswahleinheit auf, die das Referenzdatenelement
aus den mehreren Referenzdaten in der Speichereinheit entsprechend
einem Typ eines auszuführenden
Verifizierungstests auswählt
und die Referenzdaten an jede der m Vergleichsbeurteilungseinheiten
ausgibt.
Im erfindungsgemäßen Halbleiterbaustein weist
die Vergleichsbeurteilungseinheit mehrere Übereinstimmungsbeurteilungseinheiten
und eine Logikeinheit auf. Jede der mehreren Übereinstimmungsbeurteilungseinheiten
vergleicht eines der mehreren Bits des ersten Datenelements mit
einem entsprechenden der mehreren Bits des Referenzdatenelements
und gibt ein Vergleichsergebnis aus. Die Logikeinheit gibt das erste
Beurteilungssignal, das anzeigt, ob das erste Datenelement mit dem
Referenzdatenelement übereinstimmt
oder nicht, basierend auf mehreren der von den mehreren Übereinstimmungsbeurteilungseinheiten
zugeführten
Vergleichsergebnisse aus.
Im erfindungsgemäßen Halbleiterbaustein zeigt
das erste Beurteilungssignal an, daß das erste Datenelement mit
dem Referenzdatenelement übereinstimmt,
wenn jedes der Vergleichsergebnisse der mehreren Übereinstimmungsbeurteilungseinheiten anzeigt,
daß das
eine der mehreren Bits des ersten Datenelements mit dem entsprechenden
einen der mehreren Bits des Referenzdatenelements übereinstimmt.
Der erfindungsgemäße Halbleiterbaustein weist
ferner eine CPU, einen Testadresseneingangsanschluß, eine
dritte Auswahleinheit und eine Decodiereinheit auf. Die dritte Auswahleinheit
gibt ein während
des Normalbetriebs von der CPU zugeführtes CPU-Adressensignal oder
ein während
Verifizierungstests über
den Testadresseneingangsanschluß zugeführtes Testadressensignal
basierend auf einem Testmodussignal, das während der Verifizierungstests
aktiviert ist, selektiv als ein erstes Adressensignal aus. Die Decodiereinheit
decodiert das erste Adressensignal und gibt ein zweites Adressensignal für das Speichermakro
und die ersten Freigabesignale aus, die anzeigen, welches der jeweiligen
Speichermakros ein Zugriffsziel ist.
Der erfindungsgemäße Halbleiterbaustein weist
ferner eine vierte Auswahleinheit auf, die ein während des Normalbetriebs von
der CPU zugeführtes
CPU-Datensignal oder ein während
der Verifizierungstests über
einen Testdateneingangsanschluß zugeführtes Testdatensignal
basierend auf dem Testmodussignal selektiv ausgibt.
Ein erfindungsgemäßer Halbleiterbaustein weist
ein erstes Speichermakro, ein zweites Speichermakro, eine erste
Vergleichseinheit, eine zweite Vergleichseinheit und eine Gate-Einheit
auf. Das erste Speichermakro hat eine erste Speichergröße. Das zweite
Speichermakro hat eine zweite Speichergröße, die größer ist als diejenige des ersten
Speichermakros. Die erste Vergleichseinheit gibt ein erstes Übereinstimmungsergebnis
aus, wenn ein aus dem ersten Spei chermakro ausgelesenes erstes Testdatenelement
mit einem ersten Erwartungsdatenelement übereinstimmt, und ein erstes
Nichtübereinstimmungssignal,
wenn das erste Testdatenelement nicht mit dem ersten Erwartungsdatenelement übereinstimmt.
Die zweite Vergleichseinheit gibt ein zweites Übereinstimmungsergebnis aus,
wenn ein aus dem zweiten Speichermakro ausgelesenes zweites Testdatenelement
mit einem zweiten Erwartungsdatenelement übereinstimmt, und ein zweites
Nichtübereinstimmungssignal,
wenn das zweite Testdatenelement nicht mit dem zweiten Erwartungsdatenelement übereinstimmt.
Die Gate-Einheit gibt ein drittes Übereinstimmungssignal aus,
wenn es das erste Übereinstimmungssignal
von der ersten Vergleichseinheit und das zweite Übereinstimmungssignal von der
zweiten Vergleichseinheit empfängt.
Gemäß einem noch anderen Aspekt
der vorliegenden Erfindung wird ein Testverfahren für einen Halbleiterbaustein
bereitgestellt, mit den Schritten: Zuführen eines eine Adresse anzeigenden
Adressensignals zu einem der m (m ist eine ganze Zahl, die größer oder
gleich 2 ist) Speichermakros, um ein erstes Datenelement zu erhalten,
das in einer der Adresse entsprechenden Speicherzelle gespeichert
ist, wobei die Adresse den m Speichermakros gemeinsam zugeführt wird;
Vergleichen des von dem einen der Speichermakros ausgegebenen, aus
mehreren Bits bestehenden ersten Datenelements mit einem aus der
gleichen Anzahl von Bits bestehenden Referenzdatenelement bezüglich jedes
entsprechenden Bits, um zu beurteilen, ob das erste Datenelement
mit dem Referenzdatenelement übereinstimmt,
und Erzeugen eines Vergleichsergebnisses als ein erstes Beurteilungssignal
für alle
m Speichermakros; Auswählen
des ersten Beurteilungssignals oder eines vorgegebenen Standardsignals
als ein zweites Beurteilungssignal basierend auf einem Ausgangssteuerungssignal
für alle
m Speichermakros; Beurteilen, ob alle m zweiten Beurteilungssignale
anzeigen, daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt, oder nicht; und
Erzeugen eines ein Beurteilungsergebnis anzeigenden Gesamtergebnissignals.
Das Ausgangssteuerungssignal wird basierend darauf gesetzt, ob die
der Adresse entsprechende Speicherzelle in dem einen der m Speichermakros
vorhanden ist oder nicht.
Im erfindungsgemäßen Testverfahren für einen
Halbleiterbaustein wird das Ausgangssteuerungssignal so gesetzt,
daß das
erste Beurteilungssignal ausgewählt
wird, wenn die der Adresse entsprechende Speicherzelle in einem
der m Speichermakros vorhanden ist.
Im erfindungsgemäßen Testverfahren für einen
Halbleiterbaustein wird das Standardsignal auf den gleichen Logikzustand
gesetzt wie derjenige des ersten Beurteilungssignals, das anzeigt,
daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Halbleiterbaustein zeigt
das Gesamtbeurteilungsergebnissignal an, daß alle m Speichermakros den
Test bestanden haben, wenn alle m zweiten Beurteilungssignale anzeigen, daß das erste
Datenelement mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Halbleiterbaustein zeigt
das Gesamtbeurteilungsergebnissignal an, daß mindestens eines der m Speichermakros
den Test nicht bestanden hat, wenn mindestens eines der m zweiten
Beurteilungssignale anzeigt, daß das
erste Datenelement nicht mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Testverfahren für einen
Halbleiterbaustein weist der zweite Schritt auf: Vergleichen eines
der mehreren Bits des ersten Datenelements mit einem entsprechenden
der mehreren Bits des Referenzdatenelements; und Erzeugen des ersten
Beurteilungssignals, das anzeigt, ob das erste Datenelement mit
dem Referenzdatenelement übereinstimmt
oder nicht, basierend auf mehreren der Vergleichsergebnisse.
Im erfindungsgemäßen Testverfahren für einen
Halbleiterbaustein zeigt das erste Beurteilungssignal an, daß das erste
Datenelement mit dem Referenzdatenelement übereinstimmt, wenn alle Vergleichsergebnisse
der mehreren Übereinstimmungsbeurteilungseinheiten
anzeigen, daß das
eine der mehreren Bits des ersten Datenelements mit dem entsprechen den
einen der mehreren Bits des Referenzdatenelements übereinstimmt
.
Gemäß einem noch anderen Aspekt
der vorliegenden Erfindung wird ein auf einem computerlesbaren Medium
bereitgestelltes Computerprogrammprodukt bereitgestellt, das einen
Code aufweist und das, wenn es ausgeführt wird, einen Computer veranlaßt, folgende
Verarbeitungen auszuführen:
Zuführen
eines eine Adresse anzeigenden Adressensignals zu einem von m (m
ist eine ganze Zahl, die größer oder
gleich 2 ist) Speichermakros, um ein in einer der Adresse entsprechenden
Speicherzelle gespeichertes erstes Datenelement zu erhalten, wobei
die Adresse den m Speichermakros gemeinsam zugeführt wird; Vergleichen des von
dem einen der m Speichermakros ausgegebenen, aus mehreren Bits bestehenden
ersten Datenelements mit einem aus der gleichen Anzahl von Bits
bestehenden Referenzdatenelement bezüglich jedes entsprechenden
Bits, um zu beurteilen, ob das erste Datenelement mit dem Referenzdatenelement übereinstimmt,
und Erzeugen eines Vergleichsergebnisses als ein erstes Beurteilungssignal
für alle
m Speichermakros; Auswählen des
ersten Beurteilungssignals oder eines vorgegebenen Standardsignals
als ein zweites Beurteilungssignal basierend auf einem Ausgangssteuerungssignal
für alle
m Speichermakros; Beurteilen, ob alle m zweiten Beurteilungssignale
anzeigen, daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt, oder nicht; und
Erzeugen eines ein Beurteilungsergebnis anzeigenden Gesamtbeurteilungsergebnissignals.
Das Ausgangssteuerungssignal wird basierend darauf gesetzt, ob die
der Adresse entsprechende Speicherzelle in dem einen der m Speichermakros
vorhanden ist oder nicht.
Im erfindungsgemäßen Computerprogrammprodukt
wird das Ausgangssteuerungssignal so gesetzt, daß das erste Beurteilungssignal
ausgewählt
wird, wenn die der Adresse entsprechende Speicherzelle in dem einem
der m Speichermakros vorhanden ist.
Im erfindungsgemäßen Computerprogrammprodukt
wird das Standardsignal auf den gleichen Logikzustand gesetzt wie derjenige
des ersten Beurteilungssignals, das anzeigt, daß das erste Datenelement mit
dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Computerprogrammprodukt
zeigt das Gesamtbeurteilungsergebnissignal an, daß alle m
Speichermakros den Test bestanden haben, wenn alle m zweiten Beurteilungssignale
anzeigen, daß das
erste Datenelement mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Computerprogrammprodukt
zeigt das Gesamtbeurteilungsergebnissignal an, daß mindestens
eines der m Speichermakros den Test nicht bestanden hat, wenn mindestens
eines der m zweiten Beurteilungssignale anzeigt, daß das erste
Datenelement nicht mit dem Referenzdatenelement übereinstimmt.
Im erfindungsgemäßen Computerprogrammprodukt
weist der Vergleichsschritt auf: Vergleichen eines der mehreren
Bits des ersten Datenelements mit einem entsprechenden der mehreren Bits
des Referenzdatenelements; und Erzeugen des ersten Beurteilungssignals,
das anzeigt, ob das erste Datenelement mit dem Referenzdatenelement übereinstimmt
oder nicht, basierend auf mehreren der Vergleichsergebnisse.
Im erfindungsgemäßen Computerprogrammprodukt
zeigt das erste Beurteilungssignal an, daß das erste Datenelement mit
dem Referenzdatenelement übereinstimmt,
wenn alle Vergleichsergebnisse der mehreren Übereinstimmungsbeurteilungseinheiten
anzeigen, daß das
eine der mehreren Bits des ersten Datenelements mit dem entsprechenden einen
der mehreren Bits des Referenzdatenelements übereinstimmt.
Kurze Beschreibung
der Zeichnungen
1 zeigt
ein Diagramm zum Darstellen eines typischen Beispiels einer Konfiguration
eines EEPROM mit kollektiver Löschfunktion;
2A zeigt
ein Ablaufdiagramm eines Beispiels einer Schreibverifizierungsprozedur
für einen Flash-Speicher;
2B zeigt
ein Ablaufdiagramm eines Beispiels einer Löschverifizierungsprozedur für einen Flash-Speicher;
3 zeigt
eine Beispiel einer Konfiguration eines herkömmlichen Mikroprozessors;
4 zeigt
ein Ablaufdiagramm eines Beispiels eines Testverarbeitungsablaufs,
der normalerweise beim Test eines Flash-Speichers ausgeführt wird;
5A zeigt
ein Konfigurationsbeispiel eines herkömmlichen LSI-Bausteins;
58 zeigt
eine Konfiguration von Verifizierungsschaltungen in 5A;
6A zeigt
eine Konfiguration einer Ausführungsform
einer erfindungsgemäßen Testschaltung;
6B zeigt
eine Konfiguration einer Blocktesteinheit in 6A;
7 zeigt
ein Blockdiagramm einer Konfiguration einer Ausführungsform eines erfindungsgemäßen LSI-Bausteins;
8 zeigt
ein Blockdiagramm eines Beispiels einer Verifizierungsschaltung
in 7;
9A und 9B zeigen ein Beispiel der Adressenzuweisung
von Speichermakros;
10A zeigt
Speichergrößen dieser
Speichermakros;
10B zeigt
eine Tabelle zum Darstellen des Setzzustands von TCES-Signalen 4 basierend auf
der Verifizierungstestzieladresse;
11 zeigt
ein Blockdiagramm eines Konfigurationsbeispiels eines Speichermakros;
12A zeigt
einen Graphen zum Darstellen der Löschverifizierung;
12B zeigt
einen Graphen zum Darstellen der Schreibverifizierung;
13 zeigt
eine schematische Konfiguration des Mikrocomputers eines ersten
Beispiels der vorliegenden Erfindung;
14 zeigt
eine Konfiguration eines zweiten Beispiels der vorliegenden Erfindung;
15 zeigt
eine andere Konfiguration des zweiten Beispiels der vorliegenden
Erfindung; und
16 zeigt
ein Ablaufdiagramm der Verarbeitung eines erfindungsgemäßem Verifizierungstestverfahrens
für einen
Halbleiterbaustein.
Beschreibung der bevorzugten Ausführungsformen
Die vorliegende Erfindung wird nachstehend unter Bezug auf die beigefügten Zeichnungen
beschrieben.
Die 6A und 6B zeigen schematische Ansichten
der Konfiguration einer Ausführungsform
einer erfindungsgemäßen Testschaltung. 6A zeigt ein schematisches
Blockdiagramm und 6B ein detailliertes
Blockdiagramm einer Blocktesteinheit von 6A. Gemäß 6A weist diese Ausführungsform der Testschaltung
300 m (m ist eine ganze Zahl, die größer oder gleich 2 ist) Blocktesteinheiten 301 und
eine erste Logikverarbeitungseinheit 303 auf. Jede der
Blocktesteinheiten 301 empfängt ein aus n Bits (n ist eine
positive ganze Zahl) bestehendes erstes Signal 331, ein
aus n Bits bestehendes Referenzsignal 333 und ein vorgegebenes
Ausgangssteuerungssignal 334. Dann entscheidet sie bezüglich jedes
entsprechenden Bits, ob das erste Signal 331 mit dem Referenzsignal 333 übereinstimmt.
Anschließend
gibt sie ein Vergleichsergebnis, das durch das Ausgangssteuerungssignal 334 gesteuert
wird, als ein Testschaltungsausgangssignal 337 aus. Die
erste Logikverarbeitungseinheit 303 empfängt die
m Testschaltungsausgangssignale 337 und gibt ein Gesamtbeurteilungsergebnissignal 338 aus,
das eine Übereinstimmung
anzeigt, wenn alle m Testschaltungsausgangssignale 337 anzeigen,
daß das
erste Signal 331 mit dem Referenzsignal 333 übereinstimmt.
Wie in 6B dargestellt
ist, weist jede der Block-Testeinheiten 301 eine
Blockbeurteilungseinheit 310 und eine Blockausgangsauswahleinheit 315 auf.
Die Blockbeurteilungseinheit 310 empfängt das
erste Signal 331 und das Referenzsignal 333 und beurteilt
bezüglich
jedes entsprechenden Bits, ob sie miteinander übereinstimmen oder nicht. Dann
gibt sie ein Blockbeurteilungsergebnis signal 335 aus, das die Übereinstimmung
anzeigt, wenn alle Bits der Signale übereinstimmen.
Die Blockausgangsauswahleinheit 315 empfängt das
Blockbeurteilungsergebnissignal 335 und ein vorgegebenes
Standardsignal RS als ein ausgewähltes
Signal und empfängt
außerdem
das Ausgangssteuerungssignal 334 als Auswahlsignal. Dann gibt
sie das Blockbeurteilungsergebnissignal 335 oder das Standardsignal
RS als das Testschaltungsausgangssignal 337 auf der Basis
des Ausgangssteuerungssignals 334 aus.
Außerdem weist die Blockbeurteilungseinheit 310
n individuelle Beurteilungseinheiten 311 und eine
zweite Logikverarbeitungseinheit 313 auf. Jede der individuellen
Beurteilungseinheiten 311 empfängt eines der Bits des ersten
Signals 331 und ein entsprechendes der Bits des Referenzsignals 333.
Dann entscheidet sie, ob sie miteinander übereinstimmen. Das das Beurteilungsergebnis
anzeigende Ausgangssignal wird der zweiten Logikverarbeitungseinheit 313 zugeführt. Die
zweite Logikverarbeitungseinheit 313 empfängt alle
entsprechenden Ausgangssignale der n individuellen Beurteilungseinheiten 311 und
gibt das die Übereinstimmung
anzeigende Blockbeurteilungsergebnissignal 335 aus, wenn
alle Signale übereinstimmen.
Das Standardsignal RS wird auf den
gleichen logischen Zustand gesetzt wie derjenige des die Übereinstimmung
anzeigenden Blockbeurteilungsergebnissignals 335.
Außerdem wird das Ausgangssteuerungssignal 335 entsprechend
dem ersten Signal 331 gesetzt und besteht aus m Signalarten
(331_1 bis 331_m). Das Ausgangssteuerungssignal 334 wird derart
gesetzt, daß die
Blockausgangsauswahleinheit 315 das Blockbeurteilungsergebnissignal 335 oder
das Standardsignal RS unter Bezug auf einen Testbedingung für eine Zielschaltung
auswählt
und ausgibt. Hierbei ist die Zielschaltung ein Objekt (d.h. ein
Ziel) des durch diese Testschaltung ausgeführten Tests. Jedes der ersten
Signale 33_1 bis 33 m wird von einer entsprechenden der
m Zielschaltungen ausgegeben. Die Blockausgangsauswahleinheit 315 gibt
basierend auf dem Ausgangssteuerungssignal 334 das Blockbeurtei lungsergebnissignal 335 aus, wenn
die Testbedingung der einen der m Zielschaltungen entspricht, und
gibt das Standardsignal RS aus, wenn die Testbedingung nicht der
einen der m Zielschaltungen (10) entspricht. Die der Zielschaltung
entsprechende Testbedingung ist eine Bedingung, die anzeigt, daß es geeignet
und möglich
ist, die Zielschaltung zu testen. Gemäß dieser Bedingung kann die
Zielschaltung das zu bewertende erste Signal 331 ausgeben.
D.h., jedes Ausgangssteuerungssignal 334_j (j ist eine
ganze Zahl im Bereich von 1 bis m) wird derart. gesetzt, daß die Blockausgangsauswahleinheit 315 ein
Blockbeurteilungsergebnissignal 335_j auswählt, wenn
ein einer Blocktesteinheit 301_j zugeführtes erstes Signal 331_j das (zu
bewertende) effektive Signal ist, und das Standardsignal RS, wenn
das erste Signal 331_j ein ineffektives Signal ist.
Daher wird beispielsweise bei einer n-Bit-Struktur,
wenn Verifizierungstests bezüglich mehreren
(m) nichtflüchtigen
Speichermakros mit verschiedenen Speichergrößen parallel ausgeführt werden,
den jeweiligen Speichermakros ein Testadressensignal gemeinsam zugeführt. Daher
kann in Abhängigkeit
vom Speichermakro ein Fall auftreten, gemäß dem die dem Adressensignal
entsprechende Speicherzelle nicht vorhanden ist . In diesem Fall kann
das Lesesignal vom Speichermakro, in dem die dem Adressensignal
entsprechende Speicherzelle nicht vorhanden ist, nicht spezifiziert
werden. Daher ist, auch wenn das von diesem Speichermakro ausgelesene
Signal mit dem Referenzsignal verglichen wird, dieser Vergleich
bedeutungslos, und es wird das ineffektive Signal als das erste
Signal. Daher kann ein Ausgangssteuerungssignal 334_j derart
gesetzt werden, daß das
erste Signal 331_j das effektive Signal ist, wenn die dem
Adressensignal entsprechende Speicherzelle vorhanden ist, und das
erste Signal 331_j das ineffektive Signal ist, wenn die
dem Adressensignal entsprechende Speicherzelle nicht vorhanden ist.
Hierbei wird das Ausgangssteuerungssignal 334_j als das
Auswahlsignal einer Blockausgangsauswahleinheit 315_j der
Blocktesteinheit 301_j zugeführt, die eine Blockbeurteilungsein heit 310_j aufweist,
der das Lesesignal vom j-ten Speichermakro als das erste Signal 331_j zugeführt wird. Daher
wird, wenn die dem Adressensignal entsprechende Speicherzelle vorhanden
ist, das Blockbeurteilungsergebnissignal 335_j als Testschaltungsausgangssignal 337_j ausgewählt. Wenn
die dem Adressensignal entsprechende Speicherzelle nicht vorhanden
ist, wird das Standardsignal RS als das Testschaltungsausgangssignal 337_j ausgewählt. Daher wird
das Vergleichsergebnis mit der vorhandenen Speicherzelle in ihrem
Originalzustand als Testschaltungsausgangssignal 337_j ausgegeben.
Wenn die dem Adressensignal entsprechende Speicherzelle nicht vorhanden
ist, kann jedoch das Standardsignal RS ausgegeben werden, so daß die Beurteilung
anderer Speichermakros nicht beeinflußt wird. Auch wenn die Größenstrukturen
der Speichermakros verschieden sind, können die Verifizierungstests
parallel ausgeführt
werden.
Die erste Logikverarbeitungseinheit 303 in der
vorstehend erwähnten
Konfiguration kann die logische Produktschaltung, die ODER-Schaltung,
ihre Invertierschaltungen und ähnliche
Schaltungen aufweisen. Außerdem
kann die individuelle Beurteilungseinheit 311 die Exklusiv-ODER-Schaltung,
ihre Invertierschaltung und ähnliche
Schaltungen aufweisen. Die zweite Logikverarbeitungseinheit 313 kann die
ODER-Schaltung (OR) für
n Biteingänge,
ihre Invertierschaltung (NOR) und ähnliche Schaltungen aufweisen.
Die Blockausgangsauswahleinheit 315 kann die ODER-Schaltung,
die logische Produktschaltung, ihre Invertierschaltungen, die Selektorschaltung
und ähnliche
Schaltungen aufweisen. Der Typ der Schaltungskonfiguration kann
jedoch tatsächlich
auf der Basis des vorgegebenen Signals und des gewünschten
Ausgangssignals geeignet gewählt
werden.
Außerdem kann diese Testschaltung 300 ähnlicherweise
auch auf einen Fall angewendet werden, in dem einige Speichermakros
unter den mehreren im LSI-Baustein angeordneten Speichermakros einen
Sektor aufweisen, der kein Ziel für die Verifizierung ist, und
in dem die Löschoperation
und die Schreiboperation teilweise gesperrt sind. D.h., wenn die Zieladresse für den Verifizierungstest die
Speicherzelle in dem Sektor spezifiziert, der nicht Ziel für die Verifizierung
ist, kann das Ausgangssteuerungssignal, das der Blocktesteinheit
zugeführt
werden soll, der das Lesesignal vom Speichermakro zugeführt wird,
der diesen Sektor enthält,
der kein Ziel für die
Verifizierung ist, so gesetzt werden, daß das Standardsignal RS als
Testschaltungsausgangssignal der Blocktesteinheit ausgewählt wird.
Der erfindungsgemäße LSI-Baustein, in dem die
vorstehend erwähnte
Konfiguration der Testschaltung 300 auf die Verifizierungsschaltung
angewendet wird, wird nachstehend beschrieben.
7 zeigt
ein schematisches Blockdiagramm zum Darstellen der Konfiguration
dieser Ausführungsform
des erfindungsgemäßen LSI-Bausteins. 8 zeigt ein Blockdiagramm
zum Darstellen eines Beispiels einer in diesem LSI-Baustein angeordneten
Verifizierungsschaltung. Hierbei wird nachstehend beispielhaft der
Fall für
m = 3 beschrieben. Die vorliegende Erfindung ist jedoch nicht auf diesen
Fall beschränkt.
Gemäß 7 weist diese Ausführungsform
des LSI-Bausteins 100 drei
nichtflüchtige
Speichermakros 10_1 bis 10_3, eine Testschaltung 20,
eine Decodierschaltung 31 und drei Selektoren 41 bis 43 auf.
Jedes der nichtflüchtigen Speichermakros 10_1 bis 10_3 besteht
aus nichtflüchtigen
Speicherzellen, in denen elektrische Lösch- und Schreiboperationen
möglich
sind. Die Testschaltung 20 dient als Testeinheit. Die Decodierschaltung 31 dient
als Decodiereinheit. Sie empfängt ein
Testmodussignal TMS und ein erstes Adressensignal, decodiert sie
und gibt ein zweites Adressensignal an einen Adressenbus 3 aus.
Hierbei wird das Testmodussignal TMS aktiv, wenn der Test ausgeführt wird.
Das erste Adressensignal wird von einem Adresseneingangsanschluß 55 über einen
Adressenbus 1 zugeführt.
Die Decodierschaltung 31 gibt während eines Normalbetriebs,
in dem das Testmodussignal TMS nicht aktiv ist, erste Freigabesignale CE1
bis CE3 an entsprechende der Selektoren 41 bis 43 aus.
Die ersten Freigabesignale zeigen an, welches der jeweiligen Speichermakros
10_1 bis 10_3 das
aktuelle Zugriffsziel ist. Die Selektoren 41 bis 43 empfangen
das Testmodussignal TMS als Auswahlsignal. Sie wählen während eines Normalbetriebs
die ersten Freigabesignale CE1 bis CE3 aus und geben es aus. Sie
wählen
während
eines Tests die Testfreigabesignale (nachstehend als TCES) 4_1 bis 4_3, die
die von CE-Informationseingangsanschlüssen 52a, 52b und 52c empfangen
werden, aus und geben sie aus.
Außerdem weist die Testschaltung 20 drei Verifizierungsschaltungen 21_1 bis 21_3 und
eine logische Produktschaltung (nachstehend als UND-Gatter bezeichnet)
24 auf. Die Verifizierungsschaltungen 21_1 bis 21_3 sind
jeweiligen Speichermakros zugeordnet. Das UND-Gatter 24 weist
die Eingangsanschlüsse
auf und dient als Gesamtbeurteilungseinheit, der die von den jeweiligen
Verifizierungsschaltungen 21_1 bis 21_3 ausgegebenen
Signale zugeführt
werden. Dann wird ein Ausgangssignal des UND-Gatters 24 als
Verifizierungsergebnisbeurteilungssignal (VRJS) von einem Verifizierungsergebnisbeurteilungsanschluß 51 ausgegeben.
Die Ausgangsdaten 5a_1 bis 5a_3 werden von
den jeweiligen Speichermakros 10_1 bis 10_3 an zugeordnete
Ausgangsdatenbusse 5_1 bis 5_3 ausgegeben und
den Verifizierungsschaltungen 21_1 bis 21_3 zugeführt. Jedes
der Speichermakros 10_1 bis 10_3 gibt die Ausgangsdaten 5a_1 bis 5a_3,
die eine Bitbreite n (n ist eine ganze Zahl, die größer oder gleich
2 ist) haben, als Lesedaten aus. Die Ausgangsdatenbusse 5 1
bis 5_3 haben die Bitbreite n.
Außerdem wird ein Erwartungswertdatenelement 6 mit
der Bitbreite n verwendet, wenn die Speichermakros 10_1 bis 10_3 getestet
werden. Es wird den jeweiligen Verifizierungsschaltungen 21_1 bis 21_3 von
einem Erwartungswertdateneingangsanschluß 53 parallel zugeführt. Die
TCES-Signale 4_1 bis 4
_3 werden den Selektoren 41 bis 43 von
CE-Informationseingangsanschlüssen 52a, 52b und 52c zugeführt. D.h.,
das erste Freigabesignal CE1 und das TCES-Signal 4_1 werden
beispielsweise dem Selektor 41 zugeführt. Das erste Freigabesignal
CE2 und das TCES-Signal 4_2 werden dem Selektor 42 zuge führt. Das
erste Freigabesignal CE3 und das TCES-Signal 4_3 werden
dem Selektor 43 zugeführt. Dann
werden, wenn das als Auswahlsignal dienende Testmodussignal TMS
aktiv ist und einen Testzustand anzeigt, die TCES-Signale 4_1 bis 4_3 in
den entsprechenden Selektoren 41 bis 43 ausgewählt und
ausgegeben. Verschiedene Schreibdaten für die jeweiligen Speichermakros 10_1 bis 10_3 werden von
einem Dateneingangsanschluß 56 über einen Datenbus 2 zugeführt.
Gemäß 8 weist die Verifizierungsschaltung 21 eine
Blockbeurteilungsschaltung 211 und einen Selektor 213 auf.
Die Blockbeurteilungsschaltung 211 dient als Vergleichsbeurteilungsschaltung. Sie
beurteilt, ob jeweilige Bitdaten eines Ausgangsdatenbusses 5 mit
der Bitbreite n mit entsprechenden Bitdaten eines vom Erwartungswertdateneingangsanschluß 53 zugeführten Erwartungswertdatenelements 6 mit
der Bitbreite n übereinstimmen
oder nicht. Dann gibt sie das Beurteilungsergebnis als das erste
Beurteilungssignal DS aus. Der Selektor 213 dient als eine
erste Auswahleinheit. Er empfängt
das erste Beurteilungssignal DS und das vorgegebene Standardsignal
RS. Dann wählt
er das erste Beurteilungssignal DS oder das Standardsignal RS auf
der Basis des als Auswahlsignal zugeführten TCES-Signals aus und
gibt ein zweites Beurteilungssignal 8 aus.
Außerdem weist die Blockbeurteilungsschaltung 211 Exklusiv-ODER-Gatter
(nachstehend als EXOR-Gatter) 216_1 bis 216n und
ein NOR-Gatter (NICHT-ODER-Gatter) 215 mit n Eingangsanschlüssen auf.
Die EXOR-Gatter 216_1 bis 216n dienen als Übereinstimmungsbeurteilungsschaltungen.
Das NOR-Gatter 215 dient als eine Logikschaltung zum Empfangen
jeweiliger Ausgangssignale der n EXOR-Gatter 216_1 bis 216n und
zum Ausgeben eines Beurteilungsergebnisses als das erste Beurteilungssignal
DS. Hierbei zeigt das Beurteilungsergebnis das Übereinstimmungsbeurteilungsergebnis
an, wenn alle entsprechenden Ausgangssignale eine Übereinstimmung
anzeigen, und ein Nichtübereinstimmungsbeurteilungsergebnis,
wenn auch nur eines der entsprechenden Ausgangssignale eine Nichtübereinstimmung
anzeigt. Hierbei haben alle Verifizierungsschal tungen 21_1 bis 21_3 die
Konfiguration von B. Daher werden
die vom entsprechenden Speichermakro 10 ausgegebenen Daten
einem Eingangsende der EXOR-Gatter 216_1 bis 216n zugeführt, und
die Erwartungswertdaten 6 mit der Bitbreite n werden den
den jeweiligen Bits entsprechenden anderen Eingangsenden zugeführt. Außerdem wird
das Standardsignal RS so gesetzt, daß es den gleichen Logikwert
aufweist wie das erste Beurteilungssignal DS für den Fall, daß das vom NOR-Gatter 215 ausgegebene
erste Beurteilungssignal DS eine Übereinstimmung anzeigt.
Gemäß 7 decodiert die Decodierschaltung 31 das
während
eines Normalbetriebs vom Adresseneingangsanschluß 55 über den
Adressenbus 1 empfangene erste Adressensignal. Dann gibt sie
das zweite Adressensignal an den Adressenbus 3 aus und
gibt außerdem
die ersten Freigabesignale CE1 bis CE3 zum Anzeigen, welches der
jeweiligen Speichermakros 10
_1 bis 10_3 die
aktuelle Zugriffsadresse ist. Wenn das Testmodussignal TMS aktiv ist,
wird jedoch das vom Adresseneingangsanschluß 55 zugeführte erste
Adressensignal in seinem Originalzustand als zweites Adressensignal
an den Adressenbus 3 ausgegeben. Zu diesem Zeitpunkt kann,
weil die ersten Freigabesignale CE1 bis CE3 nicht verwendet werden,
ein beliebiges Signal ausgegeben werden.
Hierin werden einfach das erste und
das zweite Adressensignal beschrieben. Die 9A und 9B zeigen
schematische Ansichten eines Beispiels einer Adressenzuordnung der
Speichermakros 10_1 bis 10_3. Auch wenn mehrere
Speichermakros im LSI-Baustein, z.B. im LSI-Baustein 100,
integriert sind, werden im allgemeinen die Adressen der gesamten
Speichermakros während
eines Normalbetriebs als fortlaufende Adressen behandelt, insbesondere
bei einem Zugriff von der CPU oder von ähnlichen Komponenten. Daher
kann der Benutzer den Speicher im Bereich der gesamten Speichergröße des LSI-Bausteins 100 benutzen.
Daher muß der
Benutzer die innere Struktur des Speichers nicht berücksichtigen. 9A zeigt diese Vorgehensweise. Es
wird vorausgesetzt, daß die
Anzahlen der Speicherzellen (nachstehend einfach als Speichergrö ße bezeichnet)
der Speichermakros 10_1 bis 10_3 4 kByte, 60 kByte
bzw. 128 kByte betragen (die Speichergrößen sind nicht auf diese Beispiele
beschränkt).
Nachstehend wird beispielhaft der Fall betrachtet, in dem die Adressen
in dieser Folge angeordnet sind. Auch wenn das erste Adressensignal, bei
dem vorausgesetzt wird, daß die
Gesamtadressen der mehreren Speichermakros fortlaufend sind, in
ihren Originalzuständen
an die jeweiligen Speichermakros übertragen wird, ist es unmöglich, auf das
gewünschte
Speichermakro zuzugreifen. Daher wird, wie in 9B dargestellt ist, eine Adressenumwandlung
bezüglich
des ersten Adressensignals ausgeführt, um das Speichermakro und
die dem zugeführten
ersten Adressensignal entsprechende Adresse zu spezifizieren, und
das umgewandelte Adressensignal muß an die jeweiligen Speichermakros übertragen
werden. Die von der Decodierschaltung 31 ausgegebenen ersten
Freigabesignale CE1 bis CE3 spezifizieren das, Speichermakro als
Zugriffsziel, und das an den Adressenbus 33 ausgegebene zweite
Adressensignal spezifiziert die Zugriffsadresse des Speichermakros.
Andererseits muß das Adressensignal
während
des Verifizierungstests an die jeweiligen Speichermakros gemeinsam übertragen
werden. Daher wird, wenn das Testmodussignal TMS aktiv ist, das
vom Adresseneingangsanschluß 55 zugeführte erste
Adressensignal in seinem Originalzustand als das zweite Adressensignal
verwendet und an den Adressenbus 3 ausgegeben. Ein Testadressensignaleingangsanschluß kann separat
angeordnet sein, so daß das
Testadressensignal während eines
Tests direkt eingegeben werden kann.
Nachstehend wird die Verifizierungsoperation
dieses LSI-Bausteins 100 beschrieben.
Auf diesem LSI-Baustein 100 ist
nur ein Verifizierungsergebnisausgangsanschluß 51 angeordnet. Dann
wird das Verifizierungsergebnisbeurteilungssignal an die (nicht
dargestellte) automatische Testvorrichtung ausgegeben. Das Verifizierungsergebnisbeurteilungssignal
nimmt den Wert "1" an, wenn durch die
jeweiligen Verifizierungsschaltungen 21_1 bis 21_3 ausgegebene
zweite Beurteilungssignale 8_1 bis 8_3 alle den
Wert "1" aufweisen, d.h., wenn
jedes der zweiten Beurteilungssignale 8_1 bis 8_3 anzeigt,
daß das
entsprechende der Ausgangsdatenelemente 5a_1 bis 5a_3 mit
dem Erwartungswertdatenelement 6 übereinstimmt.
16 zeigt
ein Ablaufdiagramm zum Darstellen der Verarbeitung eines erfindungsgemäßen Verifizierungstestverfahrens
für einen
Halbleiterbaustein, z.B. den LSI-Baustein 100.
Wenn der LSI-Baustein 100 getestet
wird, werden der Schreibverifizierungstest und der Löschverifizierungstest
für die
drei Speichermakros 10_1 bis 10_3 parallel ausgeführt. D.h.,
von der automatischen Testvorrichtung wird den drei Speichermakros 10-1 bis 10_3 die
gleiche Leseadresse zugeführt. Jede
der Verifizierungsschaltungen 21_1 bis 21_3 vergleicht
das von jeder der Speicherzellen 10_1 bis 10_3 ausgegebene
gelesene Datenelement (das erste Datenelement, das einem der Ausgangsdatenelemente 5a_1 bis 5a 3
entspricht) mit dem von der automatischen Testvorrichtung (nicht
dargestellt) an den Erwartungswertdateneingangsanschluß 53 übertragenen
Erwartungswertdatenelement 6 (Referenzdatenelement) für jede Biteinheit
an den EXOR-Gattern 216_1 bis 216_3 (Schritt S01).
Dann wird die Verifizierung im LSI-Baustein 100 selbst
ausgeführt.
Wenn ein Bitdatenelement vorhanden ist, das nicht mit dem Erwartungswertdatenelement 6 übereinstimmt,
d.h., wenn von irgend einem der EXOR-Gater 216_1 bis 216n ein
Signal mit dem Wert "1" ausgegeben wird,
nimmt das vom NOR-Gatter 215, dessen Eingangssignale Ausgangssignale
der EXOR-Gatter 216_1 bis 216n sind, ausgegebene erste
Beurteilungssignal DS den Wert "0" an, d.h. es zeigt
eine Nichtübereinstimmung
an (Schritt S02). Zu diesem Zeitpunkt gibt der Selektor 213,
wenn das dem Selektor 213, der das erste Beurteilungssignal DS
mit dem Wert "0" empfängt, zugeführte TCES-Signal 4 (Ausgangssteuerungssignal)
die Auswahl des ersten Beurteilungssignals DS anzeigt, das erste
Beurteilungssignal DS mit dem Wert "0" aus
(Schritt S03). Dann nimmt das vom UND-Gatter 24 ausgegebene
Verifizierungsergebnisbeurteilungssignal (Gesamtbeur teilungsergebnissignal)
den Wert "0" an (Schritt S04).
Der Vergleicher der automatischen Testvorrichtung (nicht dargestellt)
ist mit dem Verifizierungsergebnisausgangsanschluß 51 verbunden.
Die automatische Testvorrichtung entscheidet, daß der LSI-Baustein den Test
bestanden hat, wenn das Verifizierungsergebnisbeurteilungssignal
von der Testschaltung 20 den Wert "1" aufweist,
und entscheidet, daß er
den Test nicht bestanden hat, wenn das Signal den Wert "0" aufweist. Wenn das TCES-Signal 4 in
Schritt S03 die Auswahl des Standardsignals RS anzeigt, gibt der
Selektor 213 das Standardsignal RS aus, und das erste Beurteilungssignal
DS wird ignoriert.
Andere Fälle in Verbindung mit der vorstehend
erwähnten
Verarbeitung eines Verifizierungstestverfahrens sind anhand der
vorstehenden und der folgenden Beschreibung und der Zeichnungen leicht
ersichtlich.
Nachstehend wird das TCES-Signal 4 beschrieben.
In der folgenden Beschreibung wird vorausgesetzt, daß die Anzahlen
der Speicherzellen der Speichermakros 10_1 bis 10_3 (nachstehend
lediglich als Speichergröße bezeichnet)
4 kByte, 60 kByte bzw. 128 kByte beträgt (wobei die Speichergröße nicht
auf diese Beispiele beschränkt
ist). 10A zeigt eine
Ansicht zum Darstellen der Speichergrößen der Speichermakros 10_1 bis 10_3.
Sie zeigt die Endadressen der jweiligen Speichermakros 10_1 bis 10_3 in
einer Hexadezimaldarstellung. 10B zeigt eine
Tabelle zum Darstellen des Setzzustands des TCES-Signals 4 bsierend
auf der Verifizierungstestzieladresse. Sie zeigt das Setzbeispiel
des TCES-Signals 4 für
jede Verifizierungstestzieladresse. Wie in 4B dargestellt ist, wird das TCES-Signal 4,
wenn eine der Testzieladresse entsprechende Speicherzelle vorhanden
ist, auf den Wert "1" gesetzt, der die Auswahl
des ersten Beurteilungssignals DS anzeigt. Wenn keine der Testzieladresse
entsprechende Speicherzelle vorhanden ist, wird es auf den Wert "0" gesetzt, der die Auswahl des Standardsignals
RS anzeigt. D.h., in dem Bereich, in dem die Testzieladresse sich
in der Hexadezimaldarstellung von der Adresse "00000" zur Adresse "00FFF" erstreckt (nachstehend als [00000h]
bis [00FFFh] bezeichnet) sind den jeweiligen Speichermakros 10_1 bis 10_3 entsprechende
Speicherzellen vorhanden. Daher werden die TCES-Signale 4_1 bis 4_3 alle
auf den Wert "1" gesetzt. Im Bereich,
in dem die Testzieladresse zwischen [01000h] und [0EFFFh] liegt,
sind, obwohl im Speichermakro 10_1 nicht die entsprechende
Speicherzelle vorhanden ist, in den Speichermakros 10_2 und 10_3 die
entsprechenden Speicherzellen vorhanden, so daß das TCES-Signal 4_1 auf
den Wert "0" gesetzt wird und
die TCES-Signale 4_2 und 4_3 jeweils auf den Wert "1" gesetzt werden. Im Bereich, in dem
die Testzieladresse zwischen [0F000h] und [1FFFFh] liegt, sind,
obwohl in den Speichermakros 10_1 und 10 2 nicht
die entsprechende Speicherzelle vorhanden ist, in dem Speichermakro 10_3 die
entsprechenden Speicherzelle vorhanden. Daher werden die TCES-Signale 4_1 und 4_2 jeweils
auf den Wert "0" gesetzt, und das
TCES-Signal 4_3 wird auf den Wert "1" gesetzt.
Dadurch wird, wenn die Verifizierungstests für die Speichermakros 10_1 bis 10_3 parallel
ausgeführt
werden, auch wenn das Ausgangssignal der Blockbeurteilungsschaltung 211 unsicher
wird, das erste Beurteilungssignal DS ignoriert und immer der die Übereinstimmung
anzeigende Wert "1" als das zweite Beurteilungssignal 8 ausgegeben.
Daher werden die Verifizierungstests parallel ausgeführt und
haben keinen Einfluß auf
das Beurteilungsergebnis der anderen Speicherblöcke. Hierbei dient das Ausgangssignal
der Blockbeurteilungsschaltung 211 zum Vergleichen des Ausgangssignals des
Speichermakros 10, in dem die der Testzieladresse entsprechende
Speicherzelle nicht vorhanden ist, mit dem Erwartungswertdatenelement.
Das zweite Beurteilungssignal 8 ist das Beurteilungsergebnis
der Verifizierungsschaltung 21.
Auf diese Weise können, auch wenn der einzelne
LSI-Baustein mehrere
nichtflüchtige
Speichermakros mit verschiedenen Speichergrößen aufweist, durch die Verwendung
der erfindungsgemäßen Testschaltung 20 die
Verifizierungstests für
alle nichtflüchtigen
Speichermakros unabhängig
von der Speichergröße parallel
ausgeführt
werden. Daher kann die für
den Verifizierungstest der nichtflüchtigen Speichermakros erforderliche
Zeitdauer erheblich verkürzt
werden. Außerdem
ist es ausreichend, als dem LSI-Test zugeordneter erforderlicher
Ausgangsanschluß einen
einzelnen Verifizierungsergebnisausgangsanschluß bereitzustellen. Dadurch
wird die Anzahl der dem Test zugeordneten Ausgangsanschlüsse wesentlich
reduziert. Daher ist lediglich ein Vergleicher für den Verifizierungstest der
automatischen Testvorrichtung erforderlich. Wie vorstehend erwähnt wurde,
kann eine erhebliche Wirkung hinsichtlich einer Verminderung der
Testkosten und der Produktkosten erzielt werden.
In dieser Ausführungsform des LSI-Bausteins
100 beträgt bezüglich der
dem Test zugeordneten Eingangsanschlüsse die Anzahl der Erwartungswertdateneingangsanschlüsse
53 der
Anzahl n von Bits. Die Anzahl der CE-Informationseingangsanschlüsse zum
Empfangen des TCES-Signals
4 beträgt k. Außerdem sind Anschlüsse zum
Empfangen des Auswahlsignals des Testmodus und ähnlicher Signale erforderlich,
wie später
beschrieben wird. Dadurch beträgt
die Anzahl der dem Test zugeordneten Anschlüsse höchstens k+n+2. Hierbei bezeichnet
k die Anzahl der CE-Informationseingangsanschlüsse, die normalerweise k =
m beträgt,
und n bezeichnet die Bitbreite der Ausgangsdaten der Speichermakros und
die Anzahl der Erwartungswertdateneingangsanschlüsse. Und "2" bezeichnet
di
e Summe aus dem Verifizierungsergebnisausgangsanschluß und dem dem
Test zugeordneten Steuersignalanschluß. Die Anzahl der dem Test
zugeordneten Anschlüsse
kann natürlich über die
Anschlußanzahl
(m+1)×n
reduziert werden, was im Fall der Schaltungskonfiguration zum parallelen
Ausgeben der Daten (n Bits) der m Speichermakros wesentlich ist.
Außerdem
ist die Anzahl der dem Test zugeordneten Anschlüsse dem in der offengelegten
japanischen Patentanmeldung
JP-A-2001-1555000 dargestellten Fall ähnlich,
in dem die Anzahl der Verifizierungsergebnisausgangsanschlüsse auf
die Anzahl m der Speichermakros reduziert ist. Außerdem können in
dieser Ausführungsform
des LSI-Bausteins, auch wenn die Speichergrößen der mehreren Speichermakros
verschieden sind, die Verifizie rungstests parallel ausgeführt werden. Daher
werden zwei Ziele gleichzeitig erreicht: eine höhere Testgeschwindigkeit und
eine Vermeidung einer Erhöhung
der Anzahl von Anschlüssen.
Außerdem sind im LSI-Baustein 100 der Erwartungswertdateneingangsanschluß 53 und
der Dateneingangsanschluß 56 unabhängig voneinander angeordnet.
Weil die Schreibdaten und die Erwartungswertdaten normalerweise
miteinander übereinstimmen,
kann hierfür
jedoch ein einziger Anschluß verwendet
werden. Die Anzahl der dem Test zugeordneten Anschlüsse kann
durch die Verwendung des Erwartungswertdateneingangsanschlusses 53 und
des Dateneingangsanschlusses 56 als ein einziger Anschluß weiter
vermindert werden.
In dieser Ausführungsform kann, wenn das Ausgangssignal
(das Verifizierungsergebnisbeurteilungssignal) der Testschaltung 20 den
Wert "0" annimmt, d.h., wenn
der Verifizierungstest fehlgeschlagen ist, das fehlerhafte Speichermakro
nicht spezifiziert werden. Daher ist es wünschenswert, eine Testprozedur
im Verifizierungstestverfahren bereitzustellen, durch die der Fall,
daß der
Verifizierungstest fehlgeschlagen ist, gehandhabt werden kann. Die
Testprozedur dient zum Ausführen
des Tests, nachdem das TCES-Signal. 4 sequentiell umgeschaltet wurde, um
nur das erste Beurteilungssignal DS des einzelnen Speichermakros 10 als
das zweite Beurteilungssignal 8 auszugeben, während die
fehlerhafte Leseadresse fixiert oder festgehalten wird. Dadurch
kann, auch wenn der Verifizierungstest fehlgeschlagen ist, das fehlerhafte
Speichermakro 10 und seine Adresse leicht spezifiziert
werden.
Außerdem wird, wenn die Schreibverifizierung
für die
Speicherzelle eines bestimmten Speichermakros im Test fehlgeschlagen
ist (NG), basierend auf der Spezifikation des Tests, z.B. ein Eigenschaftsanalysetest
(ein Charakterisierungstest) oder ein Mengenfertigungstest, eine
von zwei Maßnahmen
ergriffen. Eine Maßnahme
besteht darin, daß für die Speicherzelle
unverzüglich
ein Überschreiboperation
ausgeführt
wird. Eine andere Maßnahme
besteht darin, daß das
Fehlschlagen des Tests auf der Testprogrammseite aufgezeich net wird
und die Schreiboperation und die Verifizierungsoperation später bezüglich des
fehlerhaften Speichermakros ausgeführt werden.
Nachstehend wird die schematische
Struktur des Speichermakros 10 beschrieben. 11 zeigt ein Blockdiagramm
zum Darstellen eines Konfigurationsbeispiels des Speichermakros 10.
Weil die konkrete Verbindungsstruktur im Inneren des Speichermakros
nicht direkt mit der vorliegenden Erfindung in Beziehung steht,
ist die Verbindung zwischen den Blöcken weggelassen, um die Darstellung
zu vereinfachen. Gemäß 11 weist das Speichermakro 10 auf:
eine nichtflüchtige
Speicherzellenanordnung 11, in der eine kollektive Löschoperation
bezüglich
einer Speicherzelle oder einer Sektoreinheit möglich ist, einen X-Decodierer 12,
einen Y-Decodierer 13,
eine Schreibschaltung 15, einen Leseverstärker 14,
eine Gate-Spannungserzeugungsschaltung 16 und eine Löschschaltung 17.
Die Größe der Speicherzellenanordnung 11,
d.h. die Speichergröße, kann
für jedes Speichermakro
verschieden sein.
Die Gate-Spannungserzeugungsschaltung 16 decodiert
ein Eingangsmodussignal und erzeugt eine jedem Modus, d.h. einem
Löschmodus,
einem Löschverifizierungsmodus,
einem Schreibmodus, einem Schreibverifizierungsmodus und einem Lesemodus,
entsprechende Gate-Spannung. Ein Spannung einer durch den X-Decodierer 12 ausgewählten Wortleitung
wird auf die durch die Gate-Spannungserzeugungsschaltung 16 erzeugte
Gate-Spannung gesetzt.
Die Löschschaltung 17 schaltet
eine gemeinsame Source-Leitung der Speicherzellenanordnung 11 während der
Löschoperation
auf einen hohen Spannungswert. Die Schreibschaltung 15 schreibt
auf der Basis der Information des Schreibdatenbusses Daten in die
durch den X-Decodierer 12 und den Y-Decodierer 13 ausgewählte Speicherzelle. Ein
der Gate-Spannungserzeugungsschaltung 16 zugeführtes Modussignal
kann von der Seite der automatischen Testvorrichtung direkt oder
von den anderen funktionellen Makros, z.B. der im LSI-Baustein integrierten
CPU, oder ähnlichen
Komponenten zugeführt
werden.
Nachstehend werden die Löschverifizierung und
die Schreibverifizierung im nichtflüchtigen Speicher beschrieben.
Die 12A und 12B zeigen Graphen zum Darstellen
der Löschverifizierung (12A) und der Schreibverifizierung
(12B).
Gemäß den 11 und 12A wird
die durch die Gate-Spannungserzeugungsschaltung 16 erzeugte
Gate-Spannung, nachdem die Sektoreinheit oder alle Speicherzellen
gelöscht
worden sind, über die
durch den X-Decodierer ausgewählte
Wortleitung einer Gate-Steuerelektrode der Speicherzelle zugeführt. Eine
Source-Leitung wird auf das Erdpotential gesetzt, und eine durch
den Y-Decodierer ausgewählte
Bitleitung wird auf eine vorgegebene Spannung gesetzt, wodurch Daten
einer ausgewählten Speicherzelle
ausgelesen werden. Der in die mit der ausgewählten Speicherzelle verbundene
Bitleitung fließende
Strom ist auf der Basis eines Schwellenspannungswertes (d.h. eines
Haltespannungsschwellenwertes eines Speicherzellentransistors) der
Speicherzelle veränderlich.
Wenn der Schwellenspannungswert der Speicherzelle niedriger wird
als der der Gate-Steuerelektrode zugeführte vorgegebene Spannungswert,
wird der Speicherzellentransistor eingeschaltet, und der Strom fließt in die
mit der ausgewählten
Speicherzelle verbundene Bitleitung und wird durch den Leseverstärker in
eine Spannung umgewandelt. Daher wird basierend auf der Spannung beurteilt,
ob das in der Speicherzelle gespeicherte Datenelement den Wert "1" oder "0" hat.
Wenn beispielsweise der Schwellenspannungswert der Speicherzelle
der Gate-Spannung gleicht oder kleiner ist, wird vorausgesetzt,
daß das
Datenelement den Wert "0" hat. Wenn das gelesene
Datenelement den Wert "0" hat, stimmt es mit
dem Erwartungswertdatenelement überein,
so daß die
Löschverifizierung
erfolgreich ist. In 12A werden,
wie vorstehend erwähnt wurde,
die jeweiligen Lösch-
und Verifizierungsschritte in einer bestimmten Zeiteinheit graduell
oder schrittweise ausgeführt.
Außerdem wird bei der Schreibverifizierung, wie
in 12b dargestellt,
der Gate-Elektrode und der Drain-Elektrode der durch Spezifizieren
der Schreibadresse ausgewählten
Speicherzelle zunächst
eine hohe Spannung zugeführt,
und die Source-Elektrode wird auf das Erdpotential gesetzt, wodurch
der Schreiboperation ausgeführt
wird. Daraufhin wird die durch die Gate-Spannungserzeugungsschaltung 16 erzeugte
Gate-Spannung durch die durch den X-Decodierer ausgewählte Wortleitung
der Gate-Steuerelektrode der Speicherzelle zugeführt. Die Source-Leitung wird
auf das Erdpotential gesetzt, und die durch den Y-Decodierer ausgewählte Bitleitung
wird auf eine vorgegebene Spannung gesetzt, wodurch das Datenelement
der einen ausgewählten Speicherzelle
ausgelesen wird. Es wird vorausgesetzt, daß der Zustand, in dem der Schwellenspannungswert
der Speicherzelle größer ist
als die Gate-Spannung,
den Zustand "1" darstellt. Daher
ist, wenn das ausgelesene Datenelement den Wert "1" aufweist,
die Schreibverifizierung erfolgreich.
Nachstehend wird ein erstes Beispiel
beschrieben, in dem die vorliegende Erfindung auf einen LSI-Baustein
angewendet wird, der eine CPU und mehrere nichtflüchtige Speichermakros
aufweist, d.h. auf einen sogenannten Mikrocomputer. In der folgenden
Beschreibung des ersten Beispiels sind die gleichen Komponenten
wie in der vorstehend dargestellten Ausführungsform durch die gleichen
Bezugszeichen bezeichnet, so daß diese
nicht näher
beschrieben werden.
13 zeigt
eine Ansicht zum Darstellen einer schematischen Konfiguration des
Mikrocomputers des ersten Beispiels der vorliegenden Erfindung. Gemäß 13 weist ein LSI-Baustein 100A,
d.h. der Mikrocomputer, eine CPU 30, einen Selektor 45,
einen Selektor 46, eine Decodierschaltung 31,
Selektoren 41 bis 43, mehrere Speichermakros 10_1 bis 10_3,
einen Selektor 44 und eine Testschaltung 20 auf.
Der Selektor 45 dient als
eine dritte Auswahleinheit. Sie empfängt ein von der CPU 30 an
einen Adressenbus 1A ausgegebenes CPU-Adressensignal und
ein von der automatischen Testvorrichtung (nicht dargestellt) während des
Tests an den Testadresseneingangsanschluß 57 übertragenes
Testadressensignal. Dann wählt
sie basierend auf dem Testmodussignal TMS als das Auswahlsignal
während des
Normalbetriebs das CPU-Adressensignal
und während
des Testbetriebs das an den Testadresseneingangsanschluß 57 übertragene
Testadressensignal aus. Daraufhin gibt sie das CPU-Adressensignal oder
das Testadressensignal als das erste Adressensignal an den Adressenbus 1 aus.
Der Selektor 46 dient als
eine fünfte
Auswahleinheit. Sie empfängt
ein von der CPU 30 an einen Datenbus 1D ausgegebenes
Datensignal und ein von der automatischen Testvorrichtung während des Tests
an den Testdateneingangsanschluß 58 übertragenes
Datensignal. Dann gibt er basierend auf dem Testmodussignal TMS
als das Auswahlsignal während
des Normalbetriebs das Datensignal von der CPU 30 und während des
Tests das Datensignal vom Testdateneingangsanschluß 58 selektiv
aus.
Die Decodierschaltung 31 decodiert
das vom Adressenbus 1 zugeführte
Adressensignal, gibt das Adressensignal an den Adressenbus 1 aus
und gibt die ersten Freigabesignale CE1 bis CE3 aus, um anzuzeigen,
welcher der jeweiligen Speichermakros 10_1 bis 10_3 das
aktuelle Zugriffsziel ist.
Die Selektoren 41 bis 43 empfangen
die ersten Freigabesignale CE1 bis CE3 und die von den CE-Informationseingangsanschlüssen 52a, 52b bzw. 52c zugeführten TCES-Signale 4_1 bis 4_3.
Sie empfangen außerdem
das Testmodussignal TMS als das Auswahlsignal. Dann geben sie während eines Normalbetriebs,
in dem das Testmodussignal TMS nicht aktiv ist, die ersten Freigabesignale
CE1 bis CE3 selektiv aus. Sie geben außerdem während des Tests, in dem das
Testmodussignal TMS aktiv ist, die TCES-Signale 4_1 bis 4_3 selektiv
aus.
Die mehreren Speichermakros 10_1 bis 10_3 empfangen
das Adressensignal und das Datensignal, die vom Selektor 45 bzw.
vom Selektor 46 ausgegeben werden, am Adressenanschluß bzw. am Datenanschluß.
Der Selektor 44 dient als
eine vierte Auswahleinheit. Er empfängt die Ausgangsdaten 5a_1 bis 5a_3 mit
der Bitbreite n, die von den mehreren Speichermakros 10_1 bis 10_3 an
die Ausgangsdatenbusse 5_1 bis 5_3 ausgegeben
werden. Er gibt die Ausgangsdaten basierend auf dem Speichermakro, auf
das während
des Normalbetriebs in der CPU 30 zugegriffen wird, selektiv
aus und überträgt sie an
die CPU 30.
Die Testschaltung 20 führt den
Löschverifizierungstest
und den Schreibverifizierungstest für die Speichermakros 10_1 bis 10_3 aus.
Außerdem weist die Testschaltung 20 die den
jeweiligen Speichermakros zugeordneten drei Verifizierungsschaltungen 21_1 bis 21_3 und
das UND-Gatter 24 mit drei Eingängen auf, dessen Eingangssignale
die von den jeweiligen Verifizierungsschaltungen 21_1 bis 21_3 ausgegebenen
Signale sind. Das Ausgangssignal des UND-Gatters 24 wird als
Verifizierungsergebnisbeurteilungssignal (VRJS) vom Verifizierungsergebnisausgangsanschluß 51 ausgegeben.
Die Ausgangssignale der jeweiligen
Speichermakros 10_1 bis 10_3 werden an die entsprechenden
Ausgangsdatenbusse 5 1 bis 5_3 ausgegeben und
den Verifizierungsschaltungen 21_1 bis 21_3 zugeführt. Die
Daten mit der Bitbreite n (n ist eine ganze Zahl, die größer oder
gleich 2 ist) werden als die Lesedaten von den jeweiligen Speichermakros 10_1 bis 10
_3 ausgegeben,
und die Ausgangsdatenbusse 5_1 bis 5_3 haben die
Bitbreite n. Auch in diesem Mikrocomputer 100A ist der
eine Verifizierungsergebnisausgangsanschluß 51 unabhängig von
der Anzahl der im LSI-Baustein integrierten Speichermakros angeordnet.
Der Testdateneingangsanschluß 58 empfängt die
Schreibdaten, z.B, ein Checker-Muster, ein Checker-Bar-Muster (die
inverse Version des Checker-Musters), ein Muster, in dem alle Daten
den Wert "0" haben, und ähnliche
Muster von der automatischen Testvorrichtung (nicht dargestellt).
Während
des Verifizierungstests kann die CPU 30 das dem Datenbus 1D zuzuführende Ausgangssignal
auf einen Sperrzustand setzen, und der Selektor 44 muß das Datenelement
(in einem Hochimpedanzzustand) nicht ausgeben, oder das Eingangssignal
der CPU 30 kann maskiert sein, so daß keine Lesedaten empfangen
werden. Außerdem
kann das den Speichermakros 10_1 bis 10_3 von
der CPU 30 zuzuführende Setz-Steuersignal
das Modussignal ent halten, und das der Gate-Spannungserzeugungsschaltung 16 zugeführte Modussignal
wird durch die CPU 30 gesetzt.
Nachstehend wird die Verarbeitung
des Verifizierungstests des Mikrocomputers 100A unter Bezug
auf 13 beschrieben.
Während
des Verifizierungstests wird das Testmodussignal TMS von der automatischen
Testvorrichtung (nicht dargestellt) auf einen aktiven Zustand gesetzt,
und das für
die Verifizierung vorgesehene Adressensignal wird dem Testadresseneingangsanschluß 57 zugeführt. Der
Selektor 45 gibt das vom Testadresseneingangsanschluß 57 empfangene
Adressensignal selektiv an den Adressenbus 1 aus. Das vom
Selektor 45 ausgegebene Adressensignal wird durch die Decodierschaltung 31 decodiert
und dann an den Adressenbus 3 ausgegeben. Die ersten Freigabesignale
CE1 bis CE3 werden ausgegeben, und gleichzeitig wird das Adressensignal
an die mehreren Speichermakros 10_1 bis 10_3 übertragen.
Die Speichermakros 10_1 bis 10_3 geben die
Lesedaten der Speicherzelle der dem zugeführten Adressensignal entsprechenden
Adresse an die jeweiligen Ausgangsdatenbusse 5
_1 bis 5_3 aus. Weil
das das Auswahlsignal darstellende Testmodussignal TMS aktiv ist,
wählen
die Selektoren die TCES-Signale 4_1 bis 4_3 aus
und geben sie aus.
Die jeweiligen Verifizierungsschaltungen 21_1 bis 21_3 entscheiden,
ob die Bitdaten auf den Ausgangsdatenbussen 5
_1 bis 5_3 mit
den Bitdaten der vom Treiber der automatischen Testvorrichtung (nicht
dargestellt) dem Erwartungswertdateneingangsanschluß 53 zugeführten Erwartungswertdaten 6 übereinstimmen.
Wenn alle Bits übereinstimmen, nimmt
das das erste Beurteilungssignal DS der Blockbeurteilungsschaltung 211 darstellende
Ausgangssignal des NOR-Gatters 215 den Wert "1" an. Wenn für auch nur ein Bit eine Nichtübereinstimmung erfaßt wird,
nimmt das Ausgangssignal des NOR-Gatters 215 den Wert "0" an. Dann gibt die Verifizierungsschaltung,
die die Ausgangsdaten des Speichermakros 10, in dem die
der Adresse, bezüglich
der der Verifizierungstest ausgeführt wird, entsprechende Speicherzelle
angeordnet ist, auf der Basis der durch die Selektoren 41 bis 43 ausgegebenen TCES-Signale 4
_1 bis 4_3 das
erste Beurteilungssignal DS der in der Verifizierungsschaltung 21 angeordneten
Blockbeurteilungsschaltung 211 als das zweite Beurteilungssignal 8 aus.
Die Verifizierungsschaltung 21, die die Ausgangsdaten des
Speichermakros 10 empfängt,
in dem nicht die der Adresse entsprechende Speicherzelle angeordnet
ist, gibt das Standardsignal RS als das zweite Beurteilungssignal 8 aus.
Das UND-Gatter 24 gibt ein Signal mit dem Wert "0" am Verifizierungsergebnisausgangsanschluß 51 aus,
wenn auch nur eines der zweiten Beurteilungssignale 8_1 bis 8_3 den
Wert "0" aufweist, und gibt
dann eine Information an die automatische Testvorrichtung aus, die
anzeigt, daß der
Test fehlgeschlagen ist.
Wie vorstehend erwähnt wurde,
wählt das TCES-Signal 4 aus,
ob das Ausgangssignal der Verifizierungsschaltung 21 als
das erste Beurteilungssignal DS oder das Standardsignal RS definiert
ist. Daher entspricht der Fall, in dem ein Signal mit dem Wert "0" als das zweite Beurteilungssignal 8 ausgegeben
wird, lediglich dem Fall, in dem das von der vorhandenen Speicherzelle
ausgelesene Datenelement nicht mit dem Erwartungswertdatenelement übereinstimmt.
Daher können,
auch wenn die Speichergrößen der
Speichermakros 10_1 bis 10_3 ungleich sind, die
Verifizierungstests gleichzeitig parallel ausgeführt werden. Außerdem ist
lediglich ein dem Test zugeordneter Verifizierungsergebnisausgangsanschluß erforderlich.
Auf diese Weise kann gemäß dem ersten Beispiel
der vorliegenden Erfindung, auch wenn die mehreren Speichermakros
verschiedene Größen haben,
die Zeitdauer der Verifizierungstests für die mehreren Speichermakros
verkürzt
werden. Außerdem
kann verhindert werden, daß die
Anzahl der für den
Test erforderlichen Anschlüsse
zunimmt.
Auch bei dem LSI-Baustein 100A des
ersten Beispiels können,
obwohl der Erwartungswertdateneingangsanschluß 53 und der Testdateneingangsanschluß 58 unabhängig voneinander
angeordnet sind, diese Anschlüsse ähnlich wie
im Fall des LSI-Bausteins 100 als ein einziger Anschluß verwendet
werden. Auch in diesem Fall kann die Anzahl der dem Test zuge ordneten
Anschlüsse,
indem der Erwartungswertdateneingangsanschluß 53 und der Testdateneingangsanschluß 58 als
einziger Anschluß verwendet
werden, die Anzahl der dem Test zugeordneten Anschlüsse weiter
reduziert werden.
Nachstehend wird ein zweites Beispiel
der vorliegenden Erfindung beschrieben. 14 zeigt eine Ansicht zum Darstellen
der Konfiguration des zweiten Beispiels der vorliegenden Erfindung.
Gemäß 14 unterscheidet sich das
zweite Beispiel hinsichtlich der folgenden Konfiguration vom ersten Beispiel.
D.h., die Erwartungswertdaten werden in einem Erwartungswertdatenspeicher 37 vorgespeichert
und gehalten, der in einem als Mikrocomputer ausgebildeten LSI-Baustein 100B integriert
ist. Ein Selektor 47 gibt die vom Erwartungswertdatenspeicher 37 ausgelesenen
Erwartungswertdaten auf der Basis des Typs des auszuführenden
Verifizierungstests selektiv aus. Dann werden die selektiv ausgegebenen
Erwartungswertdaten 6 den EXOR-Gattern der Verifizierungsschaltungen 21_1 bis 21_3 der
jeweiligen Speichermakros 10_1 bis 10_3 zugeführt. Der
im LSI-Baustein integrierte Erwartungswertdatenspeicher 37 kann
ein EEPROM, ein maskenprogrammierter ROM-Speicher oder ein ähnlicher
Speicher sein.
Der Erwartungswertdatenspeicher 37 speichert
im voraus das Erwartungswertmuster (eine Spaltengröße entspricht
einer Bitbreite eines Ausgangsdatenelements des Speichermakros),
das der Löschverifizierung,
der Schreibverifizierung für
lauter "0"-Daten, der Checker-Schreibverifizierung
und der Checker-Bar-Schreibverifizierung entspricht. Dann wählt ein
Selektor 47 das dem Verifizierungstest entsprechende Erwartungswertdatenelement
auf der Basis eines von der (nicht dargestellten) automatischen
Testvorrichtung zugeführten
Modussignals aus und überträgt es an
die Verifizierungsschaltungen 21_1 bis 21
_3.
Die Verifizierungsschaltungen 21_1 bis 21_3 im
zweiten Beispiel haben die gleiche Konfiguration wie im ersten Beispiel.
Daher werden sie nicht näher beschrieben.
15 zeigt
eine Ansicht zum Darstellen einer anderen Konfiguration des zweiten
Beispiels der vorliegenden Erfin dung. Der LSI-Baustein 1000 von 14 weist den Testdateneingangsanschluß 58 auf.
Wie in 15 dargestellt
ist, kann der Testdateneingangsanschluß 58 jedoch, wenn
die vom Selektor 47 ausgegebenen Erwartungswertdaten 6
dem Selektor 46 über
den Datenbus 2 zugeführt
werden, eliminiert werden, wodurch die Anzahl der dem Test zugeordneten
Anschlüsse
vermindert wird.
Im zweiten Beispiel ist der im ersten
Beispiel vorgesehene Erwartungswertdateneingangsanschluß 53 nicht
erforderlich. Dadurch wird die Anzahl der dem Test zugeordneten
Anschlüsse
im LSI-Baustein vermindert, und in der automatischen Testvorrichtung
muß kein
Erwartungswertmuster für
den Verifizierungstest bereitgestellt werden. Daher kann der Arbeitsaufwand
zum Vorbereiten des Musters eliminiert und der Test einfacher gemacht
werden.
Die vorstehend erwähnten Ausführungsformen
und die repräsentativen
Beispiele wurden am Beispiel eines Speichermakros mit einer Struktur
beschrieben, in der das Datenausgangssignal ein Mehrbitsignal ist.
Natürlich
können
sie ähnlicherweise
auch auf eine Konfiguration angewendet werden, die mehrere Speichermakros
aufweist, in denen die Eingangs- und
Ausgangsdaten eine Einbitstruktur haben. In diesem Fall ist das
vom Erwartungswertdateneingangsanschluß 53 in den 7 und 13 zugeführte Erwartungswertdatenelement 6 ein
Datenelement mit der Bitbreite 1.
Wie vorstehend erwähnt wurde,
können
erfindungsgemäß beispielsweise
im LSI-Baustein mit mehreren nichtflüchtigen Speichermakros, in
denen elektrische Lösch-
und Schreiboperationen möglich sind,
auch wenn ein Sektor vorhanden ist, der Speichermakros mit anderen
Speichergrößen aufweist oder
einige Speichermakros aufweist, in denen Lösch- und Schreiboperationen
teilweise gesperrt sind, während
vermieden wird, daß die
Anzahl der dem Test zugeordneten Anschlüsse zunimmt, die Verifizierungstests
für die
mehreren Speichermakros parallel ausgeführt werden, so daß der Test
effizient gemacht werden kann.
Außerdem sind erfindungsgemäß, weil
die Erwartungswertdaten im LSI vorgespeichert sind, die Vorbereitung
eines Musters und der zum Empfangen der Erwartungswertdaten für den Verifizierungstest vorgesehene
Anschluß nicht
erforderlich, so daß der Test
noch effizienter gemacht wird.
Außerdem kann erfindungsgemäß, weil
die Schaltung zum Beurteilen des Verifizierungsergebnisses im LSI-Baustein
angeordnet ist, die Anzahl der in der automatischen Testvorrichtung
erforderlichen Vergleicher vermindert und der Test einfacher gemacht
werden.