-
Interne Datengenerierung und Datenvergleich über ungenutzte
externe Anschlüsse
Die vorliegende Erfindung betrifft das Testen von integrierten Schaltungen
mit Speicherzellenfeldern.
-
Gängige
integrierte DRAM-Speicherschaltungen haben standardmäßig in der
Regel 16, 8 oder 4 Eingänge/Ausgänge, wobei
der Adressbereich ihrer Spaltenadresse mit geringerer Eingangs-/Ausgangsbreite größer wird.
-
Bei einer integrierten Schaltung
mit einem Speicher von 512 Mb gelten die folgenden Standardkonfigurationen:
-
Die Tabelle zeigt, dass für die geringste
Testzeit die maximale Anzahl an Eingängen/Ausgängen erforderlich ist.
-
Testplattformen für integrierte Schaltungen (ICs)
haben nur eine begrenzte Anzahl von Eingangs-/Ausgangskanälen zur
Verfügung,
da die Anzahl der Eingangs-/Ausgangskanäle neben den Kosten ein begrenzender
Faktor für
die physikalischen Gegebenheiten der Test-Konfiguration sind. Für einen
größeren Testdurchsatz
ist es wünschenswert,
die Anzahl der erforderlichen Ein-/Ausgänge pro IC zu verringern.
-
Gleichzeitig sollte die Flexibilität der Generierung
von beliebigen Daten in dem Speicherzellenfeld nicht durch die verringerte
Anzahl von Eingangs-/Ausgangskanälen
pro IC beeinträchtigt
werden.
-
Die kleinste, kostenoptimierte Test-Konfiguration
umfasst einen Eingangs-/Ausgangskanal pro integrierte Schaltung,
wobei keine zusätzlichen
Anschlüsse
abgesehen von denen erforderlich sind, die für die Standardkonfiguration
ohne Erhöhung
der Testzeit zur Verfügung
stehen. Werden Informationen gewünscht, die über ein
bloßes „Test bestanden/nicht
bestanden" hinausgehen,
z.B. als Eingangssignal für
einen Redundanzalgorithmus, sind bis zu 4 Ein-/Ausgänge wünschenswert.
-
Es ist Aufgabe der vorliegenden Erfindung,
eine integrierte Schaltung vorzusehen, mit der der Durchsatz beim
Testen erhöht
werden kann. Es ist weiterhin Aufgabe der vorliegenden Erfindung,
ein Testverfahren vorzusehen, mit dem der Durchsatz erhöht werden
kann.
-
Diese Aufgabe wird durch die integrierte
Schaltung nach Anspruch 1, sowie das Verfahren nach Anspruch 15
gelöst.
-
Weitere vorteilhafte Ausgestaltungen
der Erfindung sind in den abhängigen
Ansprüchen
angegeben.
-
Die Aufgabe wird gelöst, indem
ein programmierbares On-Chip-Register
in die integrierte Schaltung eingesetzt wird, wobei das On-Chip-Register
die in ein Speicherzellenfeld einzuschreibenden Testdaten bzw. die
aus dem Speicherzellenfeld auszulesenden Testdaten zwischenspeichert.
-
Ein Aspekt der vorliegenden Erfindung
ist die Verwendung von Anschlüssen,
die während
des standardmäßigen Betriebs
der integrierten Schaltung nicht zum Steuern des Testregisters eingesetzt
werden. Dies führt
zu minimierten Anforderungen an die Test-Konfiguration mit einem
Eingangs-/Ausgangskanal pro integrierter Schaltung mit der Möglichkeit
einer flexiblen Speicherdatengeneration, die mithilfe ungenutzten
externen Anschlüssen
gesteuert wird, ohne dabei den Zeilenadressbereich und den Spaltenadressbereich
im Vergleich zu einer in tegrierten Schaltung mit 16 Eingängen/Ausgängen zu
erhöhen.
Wahlweise können
4 Eingänge/Ausgänge aktiviert
werden, wenn Informationen erforderlich sind, die über „Test bestanden/nicht
bestanden" hinausgehen.
-
Die Erfindung wird im folgenden anhand
der beigefügten
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Register gemäß der vorliegenden
Erfindung;
-
2 einen
Testaufbau gemäß der vorliegenden
Erfindung;
-
3 den
Ablauf eines erfindungsgemäßen Lesevorgangs;
-
4 den
Ablauf eines erfindungsgemäßen Schreibvorgangs;
und
-
5 zeigt
den Normalbetrieb einer erfindungsgemäßen integrierten Schaltung.
-
2 zeigt
einen vereinfachten Testzyklus und Testaufbau zum Testen eines Speicherzellenfelds 100, z.B.
in einem DRAM-, SRAM- oder EEPROM-Speicher. Ein Register 110,
beispielsweise ein Pufferregister, das ein zusätzlicher interner Schaltkreis
sein kann und im Normalbetrieb nicht verwendet wird, speichert aus
dem Speicherzellenfeld 100 ausgelesene Daten. Das Register 110 wird
eingesetzt, um in das Speicherzellenfeld während des Schreibvorgangs einzuschreibende
Daten zu speichern und um während
eines Lesevorgangs die von dem Speicherzellenfeld kommenden Daten
mit Referenzdaten aus einem Register 125 zu vergleichen. Das
Register kann auf zweierlei Weise eingesetzt werden: um Daten, die
während
eines Lesevorgangs aus dem Speicherzellenfeld kommen, zu vergleichen
(zum Vergleich in einem „bestanden/nicht
bestanden"-Test) und um Daten
aus dem Register in das Speicherzellenfeld zu schreiben, so dass
die Quelle der Schreibdaten das interne Register, und nicht der
externe Eingang/Ausgang ist. Das Re gister wird zu dem auf der integrierten Schaltung
vorhandenen Schaltkreis hinzugefügt.
Es ist so ausgebildet, dass es nur minimalen Platz benötigt und
zwischen bereits vorhandene Schaltungen eingefügt werden kann.
-
Die Position des Registers befindet
sich im Datenpfad zwischen den Ein-/Ausgängen und dem Speicherzellenfeld.
-
In 3 stellt
eine Anzahl von Eingängen/Ausgängen 150 die
herkömmlichen
Anschlüsse
dar. Zwei untergeordnete Leitungen 126 werden zum Programmieren
des Registers 125 eingesetzt. Auf einer Ausgangsleitung 152 liegt
das „bestanden/nicht
bestanden"-Signal
an. Als Teil der Erfindung wird ein zusätzlicher Datenpfad 200 zu
der normalerweise in einer integrierten Speicherschaltung vorliegenden
Struktur hinzugefügt.
Dieser Datenpfad überträgt Daten
während
eines Schreibvorgangs von dem Register 125 zum Speicherzellenfeld 100 und
während
eines Lesevorgangs vom Register 125 zum Vergleichsmodul 132 und
vom Speicherzellenfeld 100 zum Vergleichsmodul. Zwei Anordnungen
von Schaltern 134 und 104 steuern den Datenfluss
in dem Pfad, wobei die Ein-/Ausgangsanschlüsse 150 von dem Eingang
und Ausgang des Speicherzellenfelds isoliert und Daten dem Vergleichsmodul 132 zugeführt werden.
-
Die Steuerung des internen Registers
ist in eine Setup-Phase und in eine Auswahlphase unterteilt. Die Setup-Phase
programmiert den Inhalt des Registers unter Verwendung der üblichen
Adress- und Steueranschlüsse
der integrierten Schaltung. Diese Setup-Abfolge wird vor der Durchführung des
eigentlichen Testmusters ausgeführt.
-
Danach wird das Register durch die üblicherweise
ungenutzten Spaltenadressanschlüsse
gesteuert.
-
Im folgenden wird dieses Verfahren
durch ein Beispiel verdeutlicht. Das Beispiel geht von einem DRAM-Speicherchip
mit 512 Mb aus. Die Speicherchip-Architektur umfasst 15 Adressan schlüsse (A0...
A14). Für
eine Anordnung mit 16 Eingängen/Ausgängen liegen während der
Zeilenauswahl 13 Zeilenadressen (A0... A12) + 2 Bankadressen (A13,
A14) vor. Während
der Spaltenauswahl liegen 10 Spaltenadressen (A0... A9) + 1 Adresse
zur Auswahl von manueller/automatischer Vorladung + 2 Bankadressen
(A13, A14) vor. Die Spaltenadresse umfasst daher im Standardbetrieb
der integrierten Schaltung 2 ungenutzte Adressanschlüsse (A11,
A12). Diese beiden Adressanschlüsse
(A11, A12) werden für
das Steuern des internen Registers verwendet.
-
Im folgenden wird das Schreiben von
Daten des Typs A, B, C und D in das Speicherzellenfeld und das Auslesen
aus dem Speicherzellenfeld näher
beschrieben.
-
Setup-Phase des internen Registers:
Im
Fall einer integrierten Speicherschaltung mit 512 Mb sind während der
Spaltenauswahl zwei ungenutzte Adressanschlüsse (A11, A12) über die
Leitungen 126 mit dem Register 125 verbunden,
wodurch eindeutig 4 Registerpositionen adressiert werden können. Das
Programmieren der Daten in den 4 Registerpositionen wird vor dem
Anlegen des eigentlichen Testmusters durch die üblicherweise zur Verfügung stehende
Befehls- und Adressanschlüsse
ausgeführt.
Da 4 Registerpositionen vorhanden sind, kann der Datentyp A auf
die Registerposition 0 (A11 = 0, A12 = 0), Datentyp B auf die Registerposition
1 (A11 = 1, A12 = 0), Datentyp C auf die Registerposition 2 (A11
= 0, A12 = 1) und Datentyp D auf die Registerposition 3 (A11 = 1,
A12 = 1) geschrieben werden.
-
Nach der Setup-Phase wird die integrierte
Schaltung einem speziellen Testmodus unterzogen, wobei die nun in
das Speicherzellenfeld geschriebenen Daten aus dem internen Register 125,
und nicht von dem externen Eingangs-/Ausgangsanschlüssen kommen,
und die aus dem Speicherzellenfeld ausgelesenen Daten mit dem internen
Register verglichen und an einem Ein gang/Ausgang 152 nach
außen übertragen
werden. Falls gewünscht
kann das Vergleichsergebnis wahlweise an 4 Eingängen/Ausgängen ausgegeben werden. Wenn
während
des Schreibens in das Speicherzellenfeld oder während des Lesens aus dem Speicherzellenfeld
mehr als 4 verschiedene Datentypen erforderlich sind, muss die Setup-Phase
wiederholt werden, um den Registerinhalt aufzufrischen, bevor weitere
Schreib- oder Lesevorgänge
durchgeführt
werden können.
-
Schreibvorgang
unter Verwendung des Registers
-
Werden in einem Testmodus Daten in
das Speicherzellenfeld eingeschrieben, werden die normalerweise
ungenutzten Adressanschlüsse
(A11, A12) zum Auswählen
der gewünschten
Registerposition zum Schreiben von Daten in das Speicherzellenfeld
verwendet. Soll in dem vorliegenden Ausführungsbeispiel ein Datentyp
A in das Speicherzellenfeld geschrieben werden, werden die regulären Spaltenadresssignale
(A0... A9, A10, A13, A14) und die zusätzlichen Steuersignale zum
Auswählen
der Registerposition 0 (A11 = 0, A12 = 0) während der Spaltenadressierung
an die integrierte Schaltung angelegt. Um den Datentyp B in das
Speicherzellenfeld zu schreiben, werden die regulären Spaltenadresssignale
(A0... A9, A10, A13, A14) und die zusätzlichen Steuersignale zum
Auswählen
der Registerposition 1 (A11 = 1, A12 = 0) während der Spaltenadressierung
an die integrierte Schaltung angelegt. Um den Datentyp C in das
Speicherzellenfeld zu schreiben, werden die regulären Spaltenadresssignale
(A0... A9, A10, A13, A14) und die zusätzlichen Steuersignale zum Auswählen der
Registerposition 2 (A11 = 0, A12 = 1) während der Spaltenadressierung
an die integrierte Schaltung angelegt. Um den Datentyp D in das
Speicherzellenfeld zu schreiben, werden die regulären Spaltenadresssignale
(A0... A9, A10, A13, A14) und die zusätzlichen Steuersignale zum
Auswählen
der Registerposition 3 (A11 = 1, A12 = 1) während der Spaltenadressierung
an die integrierte Schaltung angelegt.
-
Lesevorgang
unter Verwendung des Registers
-
In 4 ist
dargestellt, wie Daten von dem Register 125 über die
Leitungen 210 durch die Schalter 134 und 104 zu
dem Speicherzellenfeld 100 übertragen werden. Die Schalter 134 können dabei
beliebige herkömmliche
Schaltungsmodule sein, die die Daten wie gewünscht, und von nicht gezeigten
Steuerleitungen gesteuert, übertragen.
-
Während
des Lesens von Daten aus dem Speicherzellenfeld werden die gespeicherten
Registerdaten mit den erwarteten Speicherzellenfeld-Daten im Vergleichsmodul 132 verglichen;
das Ergebnis wird dann an dem externen Eingang/Ausgang auf Leitung 136 als „bestanden/nicht
bestanden"-Ergebnis
ausgegeben. Die Leitung 136 verläuft durch den Schalter 138,
der die Verbindung während
des Normalbetriebs isoliert. Sollen Speicherzellenfeld-Daten vom
Typ A ausgelesen werden, werden diese durch Anlegen der Spaltenadresse (A0...
A9, A10, A13, A14) und der zusätzlichen
Steuersignale zum Auswählen
von Register 0 (A11 = 0, A12 = 0) mit Registerposition 0 verglichen.
Die Adresstypen B, C und D funktionieren in analoger Weise.
-
Daten werden auf den Leitungen 210 von
dem Register 125 bis zu den geeigneten Eingängen des
Vergleichsmoduls 132 übertragen,
wobei die Daten durch die Schalter 134 vom restlichen Pfad
getrennt werden. Die Schalter 134 leiten außerdem Daten
vom Speicherzellenfeld 100 zu den anderen Eingängen der
Einheit 132, wobei der Datenpfad während den Lese- und Schreibvorgängen in
zwei Modi verwendet wird.
-
Das Ergebnis des Vergleichs zwischen
Speicherzellenfeld-Daten und Registerdaten wird entweder an einem
externen Eingang/Ausgang auf Leitung 152 oder wahlweise
auf 4 externen Eingängen/Ausgängen als „bestanden/nicht
bestanden"-Ergebnis
ausgegeben.
-
Während
des Normalbetriebs leiten die Schalter 104 die Daten über den
normalen Pfad zum und vom Eingang/Ausgang, wobei der spezielle Datenpfad 200 getrennt
ist. In den Figuren ist der Eingang zum Speicherzellenfeld 100 der
Einfachheit halber mit nur vier Leitungen 102 gezeigt.
In Speicherzellenfeldern, die x8, x16 oder eine andere Anzahl von
in das Speicherzellenfeld führenden
Leitungen umfassen, liegt eine größere Anzahl von Eingängen vor.
-
Folglich sollen die aus dem Speicherzellenfeld
ausgelesenen Testdaten mit den Referenzdaten im Register 125 verglichen
werden. Der Vergleich ist aus Gründen
der Klarheit durch eine Anzahl von UND-Schaltungen 132 dargestellt,
die jedes Bit in einem N-Bit-Ausgang mit den entsprechenden Referenzdaten,
die in das Speicherzellenfeld geschrieben wurden, vergleichen. Die
Ausgangssignale aller UND-Schaltungen 132 werden einer
N-Bit-UND-Schaltung 135 zugeführt, die
ein Signal auf einer einzelnen Leitung ausgibt, welches anzeigt,
ob eine bestimmte Anzahl an Ausgangsdaten gänzlich korrekt ist oder nicht.
-
Der Fachmann kann dieses stark vereinfachte
Beispiel ohne weiteres ausführen,
um einzelne Datenbits daraufhin zu untersuchen, welche Spalten ersetzt
werden können.
Dies ist jedoch für
den hier dargestellten Erklärungszweck
nicht relevant.
-
Gemäß der vorliegenden Erfindung
wird eine Anzahl Referenzdaten, die in der schematischen Darstellung
in der mit 121 – 124 bezeichneten
Box auf der linken Seite der Figur gespeichert wird, (über den
nicht gezeigten Datenpfad) in die relevanten Speicherzellen des
Speicherzellenfelds geschrieben und das Ausgangssignal wird dann
mit den ursprünglichen
Daten in der Vergleicherschaltung 132 verglichen.
-
In 1 ist
ein Teil einer Hardware in einem Speicherchip gezeigt, wie er in
der vorliegenden Erfindung verwendet wird. Erfindungsgemäß wird ein
Register 125 zur Speicherchip-Hardware hinzugefügt, um eine Anzahl von n Referenzdaten
zu speichern. Die externe Hardware kann näher bestimmen, welcher Teil
der Anzahl unter Verwendung der beiden Anschlüsse A11 und A12 in das Speicherzellenfeld
gespeichert werden kann. In der rechten Spalte zeigt der Block 125 Binärdaten,
die in das Speicherzellenfeld eingeschrieben werden können, wenn
die Steuersignale auf den Anschlüssen
A11 und A12 die entsprechenden Werte aufweisen. Im Sinne einer einfacheren
Darstellung ist ein Ausführungsbeispiel
mit 4 Bit gezeigt, jedoch kann jede geeignete, an die Breite des
Testvektors angepasste Anzahl verwendet werden.
-
1 zeigt
einen 4-Bit-Vektor, der als 16-Bit-Vektor abgebildet wird; beispielsweise
entspricht der 4-Bit-Vektor a-b-c-d
und wird als 16-Bit-Vektor als a-b-c-d-a-b-c-d-a-b-c-d-a-b-c-d bei einem Ladevorgang
dargestellt. Es handelt sich hierbei um ein Beispiel; andere Speicherzellenfelder
können
andere Vektorlängen
verwenden.
-
Während
des Setups für
den Testbetrieb werden Daten durch ein geeignetes Verfahren in das
Register 125 geladen, beispielsweise durch Laden der Daten
in die regulären
Datenanschlüsse
und Anlegen von Signalen auf den Steueranschlüssen, die das Leiten der Daten
weg von ihrem üblichen
Pfad in das Speicherzellenfeld und in das Register 125 steuern.
-
In dem Fall, dass die regulären Datenanschlüsse in einem
reduzierten Test-Setup nicht gänzlich
zur Verfügung
stehen, wird das Setup in einem Testmodus durchgeführt, wobei
Anschlüsse
eingesetzt werden, über
die keine Daten übertragen
werden.
-
Die Daten können während des Testprogramms zu
jeder Zeit geändert
und wieder programmiert werden, indem geeignete Signale an die Steuereinheit
oder an die CPU, die den Testbetrieb steuert, gesandt werden. In
das Speicherregister wird ein Testmodus geladen.
-
Da unterschiedliche Hersteller von
Testanlagen unterschiedliche Hardware und unterschiedliche Steuerverfahren
einsetzen, wird in dieser Erläuterung
ein generisches Beispiel verwendet.
-
Der in diesem Ausführungsbeispiel
verwendete Speicherchip bedient sich der Anschlüsse 0...10, um die Speicheradressen
genauer zu bestimmen. Da die Anschlüsse 11/12 nicht für diesen
Zweck eingesetzt werden, stehen sie für die vorliegende Erfindung
zur Verfügung.
Die beiden Anschlüsse
werden für
die Registerauswahl verwendet. Die Speicherchip-Architektur stellt
in diesem Fall während
der Spaltenadressierung nur zwei ungenutzte Anschlüsse (11/12)
zur Verfügung,
weshalb in dieser Anordnung die maximale Anzahl an Registern vier
beträgt.
Das Wiederprogrammieren des internen Registers ist nur selten erforderlich,
da vier Positionen in den meisten Fällen ausreichen.
-
Das spezifisch gezeigte Ausführungsbeispiel
basiert auf einem 512Mb-DRAM-Speicherchip mit vierzehn Adressanschlüssen. Während einer
Zeilenauswahl werden alle vierzehn Anschlüsse verwendet; während einer
Spaltenauswahl werden jedoch nur zehn Adressanschlüsse genutzt
und die Anschlüsse
A11/A12 sind „indifferente" Bits. Diese beiden
Bits werden zur Auswahl der Registerposition eingesetzt. Auf anderen Speicherchips
können
viele andere Anschlüsse
zur Auswahl stehen.
-
Es ist eines der vorteilhaften Merkmale
der vorliegenden Erfindung, dass das Testverfahren kein Laden der
Testdaten durch die externen Anschlüsse des Speicherchips erfordert.
Ein weiteres vorteilhaftes Merkmal der Erfindung ist die Tatsache,
dass ein Großteil
der im Verfahren eingesetzten Hardware bereits vorhanden ist. Lediglich
das Register 125, das von außen durch (natürlich während dem
Testverfahren) ungenutzte Anschlüsse
programmiert werden kann, wird zur Durchführung des erfindungsgemäßen Verfahrens
hinzugefügt.