-
Die Erfindung betrifft ein Verfahren
zum Erzeugen von Testsignalen für
eine integrierte Schaltung sowie eine Testlogik für eine solche
integrierte Schaltung, um spezifische Parameter und Funktionen der
integrierten Schaltung zu überprüfen.
-
Bekannt ist eine Testlogik für komplexe
integrierte Schaltungen (IC's),
wie Speicherschaltungen, z.B. DRAMs (Dynamic Random Access Memories) direkt
auf dem Halbleiterwafer mit der integrierten Schaltung, insbesondere
im Sägerahmen-Bereich (Kerf) zwischen
zwei Halbleiter-Chips zu integrieren. Die Testlogik dient dazu Testpattern
in Form von Adressen und/oder Daten zu generieren, um die Testabläufe in der
integrierten Schaltung zum Parameter- und Funktionstest durchzuführen.
-
Bei solchen sogenannten Built-In-Self-Tests (BIST)
wird häufig
ein algorithmischer Funktionsgenerator, ein sogenannter Algorithmic
Pattern Generator (ALPG) verwendet, der im Allgemeinen ein System
von programmierbaren Zählern
(Counter) aufweist, die nach einem vorgegebenen Algorithmus Testsignale
für Adressen
und/oder Daten erzeugen können.
-
Bei den bekannten Testlogiken für integrierte Schaltungen
besteht insbesondere das Problem, dass bestimmte Testsignale mit
einer Rate generiert werden müssen,
die mindestens der maximalen Datenübertragungsrate der zu testenden
integrierten Schaltung entspricht, um einen realistischen Parameter-
bzw. Funktionstest durchführen
zu können. Bei
komplexen Testlogiken mit einer Vielzahl von programmierbaren Countern
kann aufgrund der Signallaufzeiten in der Testlogik jedoch oft die
zum Testen der integrierten Schaltung benötigte Testsignal rate nur sehr
schwer oder gar nicht erreicht werden. Um höhere Testsignalraten zu erreichen,
wird deshalb zunehmend das Design der Testlogik dahingehend optimiert,
die Signallaufzeiten in der Testlogik zu verkürzen. Hierbei sind jedoch der
Optimierung physikalische Grenzen gesetzt.
-
Aus der Druckschrift KAWAGOE T.;
OHTANI, J.; NIIRO, M.; OOISHI, T.; HAMADA, M.; HIDAKA, H: A Built-In-Self-Repair
Analyzer (CRESTA) f.or embed-ded DRAMs. In: Proceedings International
Test Conference, IEEE, 2000, S. 567-574, ist ein algorithmischer
Prüfmustergenerator
zum Erzeugen von Prüfmustern
bekannt.
-
Die Druckschrift
US 5,390,192 A zeigt eine Schaltung
mit mehreren Prüfmustergeneratoren,
die Prüfmuster
zur Verfügung
stellen. Die Prüfmuster werden
einem Multiplexer zur Verfügung
gestellt, wobei mit einer vorgegebenen Frequenz die Prüfmuster an
den Ausgang des Multiplexers angelegt werden. Dadurch lässt sich
eine Erhöhung
der Testsignalrate erreichen.
-
Aufgabe der vorliegenden Erfindung
ist es, ein Testverfahren und eine Testlogik, die auf dem Halbleiterwafer
mit der integrierten Schaltung angeordnet ist, bereit zu stellen,
mit denen sich auf einfache Weise hohe Testsignalraten erzeugen
lassen.
-
Diese Aufgabe wird mit einem Verfahren
gemäß Anspruch
1 und einer Testlogik gemäß Anspruch
4 gelöst.
Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
-
Gemäß der Erfindung werden Testsignale mittels
einer Testlogik auf dem Halbleiterwafer erzeugt, um mit Hilfe der
Testsignale spezifische Funktionen und/oder Parameter einer integrierten
Schaltung auf dem Halbleiterwafer zu testen, wobei von der Testlogik
wenigstens zwei Testsignale zeitlich im Wesentlichen gleichzeitig
bereit gestellt und anschließend von
einem Multiplexer seriellisiert werden, um eine gemultiplexte Datenfolge
mit einer zum Testen der integrierten Schaltung erforderlichen Datenrate
zu erzeugen. Das parallele Bereitstellen der beiden Testsignale
erfolgt dabei über
zwei parallel geschaltete algorithmische Funktionsgeneratoren, die
ihre erzeugten Testsignale jeweils an einen Eingang eines Multiplexers
anlegen.
-
Durch die Erfindung lässt sich
auf einfache Weise die Testsignalerzeugungsrate erhöhen, da durch
den Multiplexvorgang Testsignalfolgen mit einer niedrigen Datenfolge
zu einer Testsignalfolge mit einer wesentlich höheren Datenrate zusammengefasst
werden können.
Besonders vorteilhaft ist dabei auch, dass zum Erzeugen der parallelen
Eingangstestsignale in wesentlichen Teilen identische algorhythmische
Funktionsgeneratoren eingesetzt werden können, die damit alle im Wesentlichen
das gleiche Layout besitzen, was den Herstellungsaufwand wesentlich
vereinfacht.
-
Die Testsignale werden vorzugsweise
mithilfe eines schnellen Multiplexers zusammengefasst, der im wesentlichen
eine Reihe von Schalttransistoren aufweist, mit denen auf einfache
Weise einzelne Eingangssignale zu- oder abgeschaltet werden können. Durch
sequentielles Umschalten des Multiplexers können die parallel generierten
Eingangstestsignale in serielle Testsignale umgewandelt werden, die
entsprechend der Umschaltgeschwindigkeit des Multiplexers sehr hohe
Datenraten aufweisen können.
-
Als eine besonders vorteilhafte Lösung wird angesehen,
dass bei einem Built-In-Self-Test mehrere Testsignalfolgen mit einer
niedrigeren Datenrate, die zeitlich im Wesentlichen gleichzeitig
erzeugt werden, zu wenigen Testsignalen mit einer entsprechend hohen
Datenrate zusammengefasst werden. Mit diesem Verfahren lässt sich
sehr einfach die Datenrate steigern.
-
Werden in die Testlogik beispielsweise
zwei algorithmische Funktionsgeneratoren integriert und mit einem
Zweifachmultiplexer verbunden, dann kann bei entsprechend ausgeführter Zusammenschaltung
die Datenrate bereits verdoppelt werden. Dieses Vorgehen stellt
eine recht einfache Lösung dar,
die in vielen Fällen
schon ausreichend sein kann.
-
Sind jedoch weitere Steigerungen
der Erzeugungsrate von Testsignalen erforderlich, dann kann dies
vorteilhaft dadurch erzielt werden, dass der Multiplexer mit einer
algorithmischen Operation ausgebildet wird. Beispielsweise können dem
Multiplexer zwei Inverter vorgeschaltet werden, so dass die von den
algorithmischen Funktionsgeneratoren erzeugten zwei Testsignale
gespiegelt werden können
und dann vier Test signale zum Multiplexer gelangen. Dadurch verdoppelt
sich noch einmal die Datenrate, so dass sie insgesamt praktisch
um den Faktor vier gesteigert wird.
-
Eine günstige Lösung wird auch darin gesehen,
dass die algorithmischen Funktionsgeneratoren zur Erzeugung der
einzelnen Bits Zähler
verwenden. Mit Hilfe von Zählern
lassen sich leicht beliebige Daten und Adressen erzeugen, da sie
leicht zu steuern sind.
-
Ein besonderer Vorteil wird auch
darin gesehen, dass die Testsignale unter Berücksichtigung ihrer Datenrate
dem Multiplexer zugeführt
werden. So können
insbesondere Signale mit höherer
Datenrate gemultiplext werden, während
solche mit niedrigerer Datenrate dem Multiplexer nicht zugeführt werden müssen. Durch
ein entsprechend intelligentes Konzept können dabei insbesondere Zähler oder
auch algorithmische Funktionsgeneratoren eingespart werden, da nicht
alle Zähler
eine gleich hohe Erzeugungsrate benötigen.
-
Als besonders vorteilhaft wird auch
angesehen, dass die Anzahl der Zähler
an die zu erzeugenden Teststimuli angepasst werden. Es ist daher
nicht erforderlich, einen algorithmischen Funktionsgenerator komplett
zu verdoppeln. Vielmehr genügt
es, nur so viele Zähler
zu vervielfältigen,
wie sie von der Datenrate her benötigt werden, da die Erzeugung
höherer
Bits viel langsamer ablaufen kann. Dadurch reduziert sich der Aufwand
ganz erheblich.
-
Zwei Ausführungsformen der Erfindung
sind in der Zeichnung dargestellt und werden in der nachfolgenden
Beschreibung näher
erläutert.
-
1 zeigt
eine erste Ausführungsform
der Erfindung in schematischer Darstellung,
-
2 zeigt
eine zweite Ausführungsform
der Erfindung mit einem "intelligenten" Multiplexer,
-
3 zeigt
eine erste Tabelle mit Adressbits,
-
4 zeigt
eine zweite Tabelle mit den beteiligten Zählern, und
-
5 zeigt
eine Anordnung mit zwei algorithmischen Funktionsgeneratoren.
-
Zum besseren Verständnis der
Erfindung wird zunächst
etwas allgemeiner erläutert,
wie die Testsignale für
die Teststimuli erzeugt werden. Die Testlogik ist per se bekannt.
Sie wird auf dem Halbleiterwafer mit der integrierten Schaltung,
beispielsweise einem dynamischen Speicher wie einem DRAM (Dynamic
Random Access Memory), an geeigneten Stellen angeordnet. In alternativer
Ausführung
ist auch vorsehbar, die Testlogik beispielsweise auf dem Wafer im
Sägerahmen
(Kerf) zwischen zwei Halbleiter-Chips anzuordnen.
-
Beim Testen eines Speicher-Chips
müssen Testsignale
z.B. Adressen oder Daten generiert werden, mit denen die einzelnen
Speicherzellen wenigstens mit der für den Speicher-Chip zulässigen Datenrate
oder Taktfrequenz getestet werden. Ein derartiges Verfahren wird
auch Built-In-Self-Test (BIST) genannt. Beispielsweise müssen bei
einem solchen Test die Adressen durchgezählt werden 0, 1, 2, 3.... Im
ersten Zyklus (Takt) wird dann die erste Adresse erzeugt, im zweiten
Zyklus die zweite Adresse, im dritten Zyklus die dritte Adresse
usw.
-
Zur Generierung von Testsignalen
weist die Testlogik erfindungsgemäß wenigstens zwei algorithmische
Funktionsgeneratoren auf, wie später
noch näher
erläutert
wird. Die algorithmischen Funktionsgeneratoren enthalten im Allgemeinen
u.a. Zähler (Counter),
die jedoch relativ langsam sind und nicht die Datenrate erreichen
können,
mit der ein Speicher- Chip
arbeitet. Die Zähler
weisen beispielsweise verschiedene Logiken zum Aufwärts- oder
Abwärtszählen auf,
wodurch ihre Signallaufzeiten relativ lang sind und daher die niedrige
Erzeugungsrate entsteht.
-
Zur Lösung dieses Problems zeigt 1 eine erste Ausführungsform
der Erfindung, mit dem eine hohe Testsignalrate erzeugt werden kann.
In 1 ist eine Testlogik 10 in
vereinfachter schematischer Ausführung
mit zwei algorithmische Funktionsgeneratoren (ALPG1, 2, Algorithmic
Pattern Generator) 1, 2 dargestellt, deren Ausgänge auf
zwei entsprechende Eingänge
eines vorzugsweise schnellen Multiplexers 3 geführt sind.
-
Die algorithmischen Funktionsgeneratoren 1,2 weisen
im Wesentlichen ein System von Zählern auf,
mit denen die Testsignale generiert werden können. Algorithmische Funktionsgeneratoren 1, 2 finden
beispielsweise in speziellen, handelsüblichen Testsystemen Anwendung
und sind daher per se bekannt. Noch nicht bekannt ist allerdings,
mehrere vorzugsweise im Wesentlichen identische algorithmische Funktionsgeneratoren 1, 2 in
eine Testlogik auf einem Halbleiterwafer zu integrieren, um die
Erzeugungsrate von Testsignalen zu erhöhen.
-
Erfindungsgemäß wird vorgeschlagen, die algorithmischen
Funktionsgeneratoren 1, 2 durch einfaches Kopieren
des Layouts zu vervielfältigen. Wie
an Hand der 5 später noch
gezeigt wird, genügt
es, auch nur einzelne Teile des algorithmischen Funktionsgenerators 1,
beispielsweise einen oder mehrere Zähler 20 (5) zu vervielfältigen,
um nur solche Testsignale zu vervielfältigen, die mit einer hohen
Datenübertragungsrate
beim Testvorgang eingesetzt werden.
-
Wie der 1 weiter entnehmbar ist, ist der Ausgang
des Multiplexers 3 mit einer zu testenden Speichereinheit 4 des
Halbleiter-Chips verbunden, die im rechten Teil von 1 symbolisch dargestellt ist. Die zu
testende Speichereinheit 4 wird üblicherweise auch als Core
under Test bezeichnet.
-
Im Folgenden wird die Funktionsweise
dieser Anordnung näher
erläutert.
Die beiden algorithmischen Funktionsgeneratoren 1, 2 erzeugen
die Testsignale zeitlich im Wesentlichen gleichzeitig mit relativ
langsamer Datenrate und geben ihre Testsignale auf die Eingänge des
Multiplexers 3. Der Multiplexer 3 weist einen
schnellen Schalter auf und schaltet somit abwechselnd die Testsignale
auf seinen Ausgang. Dadurch entsteht am Ausgang des Multiplexers 3 eine
doppelt so hohe Datenrate (2·f0) als am Ausgang der beiden algorithmischen
Funktionsgeneratoren 1, 2, die mit einer einfachen
Datenrate f0 arbeiten. Aus Übersichtlichkeitsgründen wurde
in 1 nur ein Core Test
Signal betrachtet, in der Praxis sind natürlich entsprechend viele Core
Test Signale zu berücksichtigen.
-
Eine alternative Lösung zur
Erzeugung einer höheren
Testsignalrate ist in 2 dargestellt,
die als besonders interessant angesehen wird. Ähnlich wie in 1 sind hier in der Testlogik 10 ebenfalls
zwei algorithmische Funktionsgeneratoren 1, 2 mit
einem Multiplexer 3 verbunden. Allerdings ist in diesem
Fall der Multiplexer 3 mit einer algorithmischen Operation ausgestattet.
Die algorithmische Funktion wird hier durch zwei Inverter 6 nachgebildet,
die jeweils einem Eingang des Multiplexers 3 vorgeschaltet
sind. Dadurch werden zusätzlich
zu zwei weiteren Eingängen des
Multiplexers 3, die die Testsignale der beiden algorithmischen
Funktionsgeneratoren 1, 2 empfangen, die Testsignale,
d.h. die erzeugten Adressen oder Daten gespiegelt, so dass insgesamt
vier Eingangssignale am Multiplexers 3 parallel anstehen. Diese
vier parallelen Eingangssignale werden durch (nicht dargestellte)
Schalter des Multiplexers 3 sequentiell umgeschaltet, so
dass nun die Testsignale am Ausgang des Multiplexers 3 seriell
anstehen und auf die zu testende Speichereinheit 4 geschaltet
werden können.
Man erhält
somit mit dieser ein fachen Methode eine vierfache Datenrate (4·f0). Ein derartiger Multiplexer ist in 2 als ,intelligenter' Multiplexer 5 dargestellt.
Mit dieser Anordnung gelingt es, die Frequenz f0 um
den vierfachen Wert auf 4·f0 beziehungsweise auf die vierfache Datenrate
zu erhöhen. Der
intelligente Multiplexer 5 läuft so mit der gewünschten
Endfrequenz für
den Testvorgang.
-
An Hand der 3 bis 5 wird
die Erzeugung der Testsignale (Teststimuli) am Beispiel der Erzeugung
von Adressen mit Hilfe von algorithmischen Funktionsgeneratoren
(1, 2) näher
erläutert.
Die Darstellungen sind sehr vereinfacht wiedergegeben, um die Übersicht
zu wahren. Insbesondere wird gezeigt, dass auf dem Signalbus oft
nicht alle Bits mit der höchstmöglichen
Datenrate geschaltet werden müssen,
um die Testsignale, d.h. Adressen oder Daten zu ändern. In unserem Beispiel
wird angenommen, dass die letzten drei LSB (Least Significant Bits)
erzeugt werden sollen.
-
3 zeigt
ein Beispiel für
die Adressen [2:0]. In einer ersten Tabelle sind die Adressbits
dargestellt, die von Zählern 20 (5) der beiden algorithmischen
Funktionsgeneratoren 1, 2 (ALPG 1, ALPG 2)
erzeugt werden. Wie der Tabelle entnehmbar ist, werden die drei
Adress-Bits A0, A1 und A2 sequentiell in den Zyklen 0 bis 4 erzeugt.
Die Adressen wurden dabei wie üblich
hochgezählt.
Im Zyklus 0 werden die Bits 000 erzeugt. Entsprechend
werden im Zyklus 1 (von rechts nach links) die Bits 1,0,0,
im Zyklus 2 die Bits 0,1,0,
im Zyklus 3 die Bits 1,1,0 und im
Zyklus 4 die Bits 0,0,1 erzeugt.
Wie der ersten Tabelle weiter entnehmbar ist, wird das Bit A0 ständig umgeschaltet,
während
die Frequenz der höherwertigen
Bits A1 und A2 niedriger ist. Entsprechend langsamer ist somit deren
Erzeugungsrate beziehungsweise werden für die Erzeugung dieser Bits
weniger Zähler 20 benötigt, die
gemultiplext werden müssen.
-
Die zweite Tabelle in 4 zeigt, mit welchen Zählern 20 die
einzelnen Bits erzeugt werden. Im Zyklus 0 erzeugen zunächst die
Counter (Zähler 20)
des algorithmischen Funktionsgenerators 1 (wieder von rechts
nach links) 0, 1 und 2 die drei Bits 0, 0, 0 der
Tabelle 1. Im Zyklus 1 sind entsprechend die Counter 0', 1' und 2 von beiden
algorithmischen Funktionsgeneratoren 1, 2 beteiligt.
Im Zyklus 2 sind die Counter 0, 1 und 2,
im Zyklus 3 die Counter 0', 1' und
2 und im Zyklus 4 die Counter 0, 1 und 2 beteiligt.
-
Wie man den beiden Tabellen der 3 und 4 weiter entnehmen kann, wird das A2-Bit
nur von dem Counter 2 generiert, eine Änderung erfolgt auch nur im
Zyklus 4. Dieser Zähler
kann daher mit der niedrigsten Taktrate laufen. Die höchste Taktrate
wird dagegen bei dem A0-Bit benötigt.
-
Erfindungsgemäß wird daher vorgeschlagen,
vorzugsweise nur die schnellsten Signale zu multiplexen und die
langsamen Signale normal mit den Zählern zu erzeugen. In unserem
Beispiel wäre somit
nur das Bit A0 zu multiplexen. Dadurch wird u.a. eine einfache Anpassung
der Erzeugungsrate an die Geschwindigkeit der integrierten Schaltung
erzielt.
-
5 zeigt,
dass entsprechend der Ausführungsbeispiele
zwei algorithmische Funktionsgeneratoren 1 und 2 benötigt werden,
wobei der algorithmische Funktionsgenerator 1 (ALPG1) drei
Zähler (Counter 0, 1, 2)
und der algorithmische Funktionsgenerator 2 (ALPG2) zwei
Zähler
(Counter 0', 1') aufweist. Bei der
Vervielfältigung
der algorithmischen Funktionsgeneratoren 1, 2 können also
je nach Anwendungsfall entsprechend viele Zähler 20 eingespart
werden. Statt Zähler
können
jedoch alternativ beliebige andere bekannte Schaltungen im algorithmischen
Funktionsgenerator zum Erzeugen der Testsignale eingesetzt werden.
-
- 1
- algorithmischer
Funktionsgenerator/ALPG1, ALPG2
- 2
- weiterer
algorithmischer Funktionsgenerator
- 3
- Multiplexer
- 4
- zu
testende Speichereinheit (des Chips)/Core under Test
- 5
- intelligenter
Multiplexer
- 6
- Inverter
- 10
- Testlogik
- 20
- Zähler/Counter