Für integrierte
Hochgeschwindigkeitslogikschaltungen, welche jeweils mit einer Kernlogik
(z. B. DRAM-Kernspeicher) ausgerüstet
sind, ist es bekannt, diese zum Zwecke einer Serienverschaltung mit
zwei Eingangsanschlüssen
und zwei Ausgangsanschlüssen
zu versehen.
Genauer
dient in einer Serienverschaltung von solchen Logikschaltungen gewöhnlich einer
der beiden Eingangsanschlüsse
der Logikschaltung der Aufnahme eines Ausgangssignals (bzw. Signalgruppe,
je nach Pinzahl des Eingangsanschlusses) der vorangehenden Logikschaltung,
welches dann ohne weitere Verarbeitung über einen der beiden Ausgangsanschlüsse an die
nächste
Logikschaltung weitergeleitet werden kann. Was den anderen der beiden
Eingangsanschlüsse
der Logikschaltung betrifft, ist dieser mit den beiden Ausgangsanschlüssen verbunden,
um wahlweise ohne Zwischenschaltung der Kernlogik das Eingangssignal
durch die integrierte Schaltung ohne Verarbeitung zu schleifen oder
unter Zwischenschaltung der Kernlogik die Eingangssignale einer
Verarbeitung durch die Kernlogik zu unterziehen.
Es
wird nun Bezug auf 1 genommen, worin
der grundlegende Aufbau einer solchen integrierten Hochgeschwindigkeitslogikschaltung
schematisch dargestellt ist. Demnach umfasst eine integrierte Hochgeschwindigkeitslogikschaltung,
welche insgesamt mit der Bezugszahl 1 bezeichnet ist, einen ersten
Eingangsanschluss 2 und einen zweiten Eingangsanschluss 3 zum Empfang
von Hochgeschwindigkeitssignalen, die jeweils mit einem Eingangstreiber 6, 10 (Receiver)
gekoppelt sind. Hierbei ist der erste Eingangsanschluss 2 ohne
Zwischenschaltung einer Kernlogik 8 der integrierten Schaltung
mit einem Ausgangstreiber 11 (Transmitter) und einem damit
verbundenen ersten Ausgangsanschluss 4 gekoppelt, was durch
die elektrische Verbindungsleitung 13 veranschaulicht ist.
Weiterhin ist der erste Eingangsanschluss 2 mittels einer
eine interne Schnittstelle formenden Eingangsanschlusslogik 7 mit
der Kernlogik 8 gekoppelt und die Kernlogik ihrerseits
mittels einer eine weitere interne Schnittstelle formenden Ausgangsanschlusslogik 9 mit
einem Ausgangstreiber 12 und einem damit verbundenen zweiten
Ausgangsanschluss 5 gekoppelt. Insofern können die
an dem ersten Eingangsanschluss 2 empfangenen Signale bzw.
Signalgruppen entweder zum ersten Ausgangsanschluss 4 durchgeschleift oder
einer Verarbeitung durch die Kernlogik 8 unterzogen und
anschließend
dem zweiten Ausgangsanschluss 5 zugeführt werden. Die elektrischen
Verbindungsleitungen 21, 22, 23, 24, 14 veranschaulichen das
Weiterleiten der Signale bzw. Signalgruppen vom ersten Eingangsanschluss 2 zum
zweiten Ausgangsanschluss 5 unter Zwischenschaltung der
Eingangsanschlusslogik 7, der Kernlogik 8 und
der Aungangsanschlusslogik 9, wobei durch deren gestrichelte Darstellung
angedeutet werden soll, dass die an dem ersten Eingangsanschluss 2 empfangenen
Hochgeschwindigkeitssignale bzw. Signalgruppen wahlweise an den
ersten Ausgangsanschluss 4 durchgeschleift oder durch die
Kernlogik 8 an den zweiten Ausgangsanschluss 5 geleitet
werden können.
Die
beiden Anschlusslogiken 7, 9, welche einerseits
den ersten Eingangsanschluss 2 mit der Kernlogik 8 und
andererseits die Kernlogik 8 mit dem zweiten Ausgangsanschluss 5 verbinden,
dienen allgemein dazu, das Format bzw. Protokoll der empfangenen
Hochgeschwindigkeitseingangssignale bzw. Signalgruppen in ein für die Kernlogik 8 geeignetes Format
bzw. Protokoll zu konvertieren und diese nach Verarbeitung durch
die Kernlogik 8 wieder in ein zur Weiterleitung geeignetes Format
bzw. Protokoll eines Hochgeschwindigkeitssignals bzw. Signalgruppe
zu (re-)konvertieren. Im Allgemeinen wird hierbei die Signalgeschwindigkeit
der empfangenen Hochgeschwindigkeitssignale bzw. Signalgruppen in
eine für
die Kernlogik 8 verarbeitbare Signalgeschwindigkeit vermindert
bzw. nach Verarbeitung durch die Kernlogik 8 in eine zur
Weiterleitung geeignete Signalgeschwindigkeit für Hochgeschwindigkeitssignale erhöht. Insofern
führt die
Ausgangsanschlusslogik 9 im Allgemeinen eine zur Eingangsanschlusslogik 7 inverse
Operation aus.
Der
zweite Eingangsanschluss 3 dient dazu, Eingangssignale
bzw. Signalgruppen vorangehender, integrierter Logikschaltungen
zu empfangen, welche unter Umgehung der Kernlogik 8 an
den Ausgangstreiber 12 und den damit gekoppelten zweiten Ausgangsanschluss 5 weitergeleitet
werden können, was
durch die elektrische Verbindungsleitung 14 veranschaulicht
ist. Durch die gestrichelt dargestellte elektrische Verbindungsleitung 25 soll
angedeutet werden, dass wahlweise die an dem ersten Eingangsanschluss 2 empfangenen
Hochgeschwindigkeitssignale bzw. Signalgruppen nach Passieren der Kernlogik 8 oder
die an dem zweiten Eingangsanschluss 3 empfangenen Hochgeschwindigkeitssignale
bzw. Signalgruppen an den zweiten Ausgangsanschluss 5 geleitet
werden können.
Um
die Eingangstreiber 6, 10 (Receiver) und Ausgangstreiber 11, 12 (Transmitter)
einer solchen integrierten Hochgeschwindigkeitslogikschaltung mit zwei
Eingangs- und zwei Ausgangsanschlüssen zu testen, ist als eingebautes
Selbsttestverfahren (BIST = Built In Self Test) ein sog. "Loop-back-Verfahren" bekannt, bei dem
jeweils ein Ausgangsanschluss zu jeweils einem Eingangsanschluss
rückgeführt wird, wie
in 2 durch die beiden
elektrischen Verbindungsleitungen 19, 20 veranschaulicht
ist, wo der erste Ausgangsanschluss 4 durch die elektrische Verbindungsleitung 19 mit
dem ersten Eingangsanschluss 2 verbunden ist, während der
zweite Ausgangsanschluss 5 durch die elektrische Verbindungsleitung 20 mit
dem zweiten Eingangsanschluss 3 verbunden ist, so dass
Ausgangssignale bzw. Signalgruppen der beiden Ausgangsanschlüsse 4, 5 jeweils
an einen der Eingangsanschlüsse 2, 3 rückgeführt werden
können.
Zudem sind sowohl für
die ersten Eingangs-/Ausgangsanschlüsse wie auch für die zweiten
Eingangs-/Ausgangsanschlüsse
Testlogiken vorgesehen. Diese umfassen jeweils einen Pseudo-Bitmustergenerator 16, 18 sowie
eine damit gekoppelte Vergleichereinheit 15, 17.
Um
einen Test des Ausgangstreibers 11 des ersten Ausgangsanschlusses 4 und
des Eingangstreibers 6 des ersten Eingangsanschlusses 2 durchzuführen, werden
von dem Pseudo-Bitmustergenerator 16 Pseudo-Bitmuster
erzeugt, wie durch die Pfeilrichtung angegeben ist, durch den Ausgangstreiber 11 und
den Eingangstreiber 6 geleitet und nach Empfang durch die
Vergleichereinheit 15 analysiert, um einen strukturellen/funktionellen
Zustand der Eingangs- und Ausgangstreiber zu prüfen. Gleichermaßen werden
für einen
Test des Ausgangstreibers 12 des zweiten Ausgangsanschlusses 5 und
des Eingangstreibers 10 des zweiten Eingangsanschlusses 3 von
dem Pseudo-Bitmustergenerator 18 Pseudo-Bitmuster erzeugt
und, wie durch die Pfeilrichtung angegeben ist, durch den Ausgangstreiber 12 und den
Eingangstreiber 10 geleitet und nach Empfang durch die
Vergleichereinheit 17 analysiert, um einen strukturellen/funktionellen
Zustand der Eingangs- und Ausgangstreiber zu prüfen.
Bislang
werden jedoch die Eingangsanschlusslogik (interne Schnittstelle) 7 zwischen
dem ersten Eingangsanschluss 2 und der Kernlogik 8 sowie
die Ausgangsanschlusslogik (interne Schnittstelle) 9 zwischen
der Kernlogik 8 und dem zweiten Ausgangsanschluss 5 keinem
solchen eingebauten Selbsttest unterzogen. Eine einfache Einbindung
der Schnittstellen in den Test der Eingangs- und Ausgangstreiber
ist nicht möglich,
da die herkömmlicher Weise
eingesetzten Zufallszahlen für
eine strukturelle und/oder funktionelle Prüfung der internen Schnittstellen
untauglich sind. Der Kern kann ausschließlich eine bestimmte Menge
von Signalfolgen bearbeiten; sein Verhalten bei Anlegen beliebiger
Folgen ist nicht definiert und damit für eine Testauswertung ungeeignet.
Aus
diesem Grund kommt zum Testen der internen Schnittstellen bislang
nur die Verwendung eines externen Testgeräts in Frage, was jedoch mit
vergleichsweise hohen Kosten verbunden ist und im Allgemeinen für verschiedene
Hochgeschwindigkeitslogikschaltungen verschiedene Testgeräte erfordert. Zudem
ist es schwierig, die erforderliche Genauigkeit im Timing zu erzielen
(Testergenauigkeit, Kalibrierungsstabilität, Signal-Slew-Rate).
Demzufolge
wäre es
wünschenswert,
eine wie eingangs dargestellt aufgebaute integrierte Hochgeschwindigkeitslogikschaltung
einem BIST-Verfahren zum Testen der internen Schnittstellen unterziehen
zu können.
Diese
Aufgabe wird nach dem Vorschlag der Erfindung durch eine Testsystem
bzw. ein Testverfahren mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte
Ausgestaltungen der Erfindung sind durch die Merkmale der Unteransprüche angegeben.
Erfindungsgemäß ist ein
Testsystem zum Testen einer integrierten Logikschaltung gezeigt,
welche wenigstens zwei Eingangsanschlüsse und wenigstens zwei Ausgangsanschlüsse zum
Zwecke einer Serienverschaltung der integrierten Logikschaltungen
umfasst. In dem Testsystem ist jeweils ein Ausgangsanschluss auf
jeweils einen Eingangsanschluss rückgeführt. Weiterhin ist in der integrierten Logikschaltung
wenigstens ein Eingangsanschluss mittels einer Eingangsanschlusslogik ("IO-Kern-Schnittstelle") mit einer Kernlogik
verbunden und wenigstens ein Ausgangsanschluss mittels einer Ausgangsanschlusslogik
("Kern-IO-Schnittstelle") mit der Kernlogik
verbunden. Darüber
hinaus ist in der integrierten Logikschaltung eine in der Logikschaltung
integrierte Testmusterzeu gungslogik zum Erzeugen eines Testmusters
und eine mit der Testmustererzeugungslogik verbundene, integrierte
Testmusteranalyselogik zum Analysieren des von der Testmustererzeugungslogik
erzeugten Testmusters angeordnet. Zwischen der Testmustererzeugungslogik
und der Testmusteranalyselogik ist erfindungsgemäß wenigstens eine der Anschlusslogiken,
d. h. IO-Kern-Schnittstelle oder Kern-IO-Schnittstelle, angeordnet,
um diese einem funktionellen und/oder strukturellen Test durch die
Testmustererzeugungslogik und die Testmusteranalyselogik unterziehen
zu können.
Erfindungsgemäß ist somit
erstmals ein Test der internen Schnittstellen durch ein BIST-Verfahren möglich, wobei
die Logikschaltung in großem
Umfang unter normalen Betriebsbedingungen arbeitet und lediglich
einige wenige Testbausteine erforderlich sind.
Bei
einer Ausgestaltung der Erfindung kann die Kern-IO-Schnittstelle zwischen
der Testmustererzeugungslogik und der Testmusteranalyselogik angeordnet
sein. Bei einer weiteren Ausgestaltung der Erfindung kann die IO-Kern-Schnittstelle,
die Kernlogik, sowie die Kern-IO-Schnittstelle zwischen der Testmustererzeugungslogik
und der Testmusteranalyselogik angeordnet sein. Bei einer weiteren
Ausgestaltung der Erfindung kann die Kern-IO-Schnittstelle, die
IO-Kern-Schnittstelle,
die Kernlogik, sowie eine weitere Kern-IO-Schnittstelle zwischen der Testmustererzeugungslogik
und der Testmusteranalyselogik angeordnet sein. Ein Test der internen
Schnittstellen der Logikschaltung kann hierbei grundsätzlich durch
ein Durchlaufen einer einzigen Testschleife oder durch ein mehrfaches
Durchlaufen, einander gegebenenfalls überlappender Testschleifen
erfolgen. So kann die Testmustererzeugungslogik Testmuster als Eingangssignale
für die
Kernlogik erzeugen. Weiterhin können
Ausgangssignale einer IO-Kern-Schnittstelle
einem Test unterzogen werden. Das Testmuster kann außerdem direkt
vor einem Ausgangstreiber durch die Testmustererzeugungslogik erzeugt
werden, z. B. erzeugt durch Kopieren des Inhalts eines Cache-Speichers.
In
vorteilhafter Weise kann die Testmustererzeugungslogik in der Eingangsanschlusslogik
oder der Ausgangsanschlusslogik oder der Kernlogik integriert sein.
Die
Testmusteranalyselogik umfasst vorzugsweise ein Multiple Input Shift
Register (MISR) als Analyseeinheit, welches dem Fachmann an sich wohlbekannt
ist und hier nicht näher
erläutert
werden muss.
Weiterhin
ist erfindungsgemäß ein Verfahren zum
Testen einer integrierten Hochgeschwindigkeitslogikschaltung, wie
sie vorstehend beschrieben worden ist, vorgesehen. Das erfindungsgemäße Verfahren
zeichnet sich in wesentlicher Weise dadurch aus, dass jeweils ein
Ausgangsanschluss auf jeweils einen Eingangsanschluss rückgeführt wird,
wenigstens ein Testmuster in der Testmustererzeugungslogik erzeugt
wird, das erzeugte Testmuster durch wenigstens eine Anschlusslogik
(interne Schnittstelle) geleitet wird, und das durch die wenigstens
eine Anschlusslogik geleitete Testmuster von der Testmusteranalyselogik
zur Analyse des strukturellen und/oder funktionellen Zustands der
wenigstens einen Anschlusslogik empfangen wird. Zudem ist es möglich die
Kernlogik einem strukturellen und/oder funktionellen Test zu unterziehen.
Bei
einer besonders vorteilhaften Ausgestaltung der Erfindung kann das
erzeugte Testmuster sequenziell durch eine die Kernlogik mit einem
Ausgangsanschluss verbindende Kern-IO-Schnittstelle, den Ausgangsanschluss,
den mit dem Ausgangsanschluss verbundenen Eingangsanschluss, eine
den Eingangsanschluss mit der Kernlogik verbindende IO-Kern-Schnittstelle,
die Kernlogik, eine die Kernlogik mit dem anderen Ausgangsanschluss
verbindende Kern-IO-Schnittstelle, den anderen Ausgangsanschluss,
sowie den mit dem anderen Ausgangsanschluss verbundenen Eingangsanschluss
geleitet werden, wodurch alle internen Schnittstellen in einer einzigen
Testschleife geprüft
werden können.
Wie weiter oben bereits ausgeführt
ist, kann ein Test der internen Schnittstellen jedoch auch durch
mehrfaches Durchlaufen, einander gegebenenfalls überlappender separater Testschleifen
erfolgen.
Demnach
umfasst eine integrierte Logikschaltung 1 einen ersten
Eingangsanschluss 2 und einen zweiten Eingangsanschluss 3 zum
Empfang von Hochgeschwindigkeitssignalen, die jeweils mit einem
Eingangstreiber 6, 10 (Receiver) gekoppelt sind.
Der erste Eingangsanschluss 2 ist ohne Zwischenschaltung
einer Kernlogik 8 der integrierten Schaltung mit einem
Ausgangstreiber 11 (Transmitter) und einem damit verbundenen
ersten Ausgangsanschluss 4 gekoppelt, was durch die elektrische Verbindungsleitung 13 veranschaulicht
ist. Weiterhin ist der erste Eingangsanschluss 2 mittels
einer Eingangsanschlusslogik 7 mit der Kernlogik 8 gekoppelt und
die Kernlogik ihrerseits mittels einer Ausgangsanschlusslogik 9 mit
einem Ausgangstreiber 12 und einem damit verbundenen zweiten
Ausgangsanschluss 5 gekoppelt. Die elektrischen Verbindungsleitungen 21, 22, 23, 24, 14 veranschaulichen
das Weiterleiten der Signale bzw. Signalgruppen vom ersten Eingangsanschluss 2 zum
zweiten Ausgangsanschluss 5 unter Zwischenschaltung der
Eingangsanschlusslogik 7, der Kernlogik 8 und
der Ausgangsanschlusslogik 9. Wie auch im Stand der Technik
dienen die beiden Anschlusslogiken 7, 9, welche
einerseits den ersten Eingangsanschluss 2 mit der Kernlogik 8 und
andererseits die Kernlogik 8 mit dem zweiten Ausgangsanschluss 5 verbinden,
allgemein dazu, das Format bzw. Protokoll der empfangenen Hochgeschwindigkeitseingangssignale
bzw. Signalgruppen in ein für
die Kernlogik 8 geeignetes Format bzw. Protokoll zu konvertieren
und diese nach Verarbeitung durch die Kernlogik 8 wieder
in ein zur Weiterleitung geeignetes Format bzw. Protokoll eines Hochgeschwindigkeitssignals
bzw. Signalgruppe zu (re-)konvertieren. Der zweite Eingangsanschluss 3 dient
dazu, Eingangssignale bzw. Signalgruppen vorangehender, integrierter
Logikschaltungen zu empfangen, welche unter Umgehung der Kernlogik 8 an den
Ausgangstreiber 12 und den damit gekoppelten zweiten Ausgangsanschluss 5 weitergeleitet
werden können,
was durch die elektrische Verbindungsleitung 14 veranschaulicht
ist.
Weiterhin
ist jeweils ein Ausgangsanschluss zu jeweils einem Eingangsanschluss
rückgeführt, wobei
der erste Ausgangsanschluss 4 durch die elektrische Verbindungsleitung 19 mit
dem ersten Eingangsanschluss 2 verbunden ist, während der
zweite Ausgangsanschluss 5 durch die elektrische Verbindungsleitung 20 mit
dem zweiten Eingangsanschluss 3 verbunden ist. Weiter hin
ist ein Testmustererzeugungsgenerator 26 zum Erzeugen von
Testmustern vorgesehen, welcher über
eine Kern-IO-Schnittstelle 27 mit
dem ersten Ausgangsanschluss 4 verbunden ist. Zur Analyse
der von dem Testmustergenerator 26 erzeugten Testmuster
ist ein MISR 28 vorgesehen, das mit dem zweiten Eingangsanschluss 3 verbunden
ist, wie durch eine Verbindungsleitung 29 veranschaulicht.
Wie in 3 anhand von durchgezogenen Linien dargestellt
ist, werden zur Durchführung eines
Tests von dem Testmustergenerator 4 erzeugte Testmuster
zunächst
mittels einer elektrischen Verbindungsleitung 30 an die
Kern-IO-Schnittstelle 27 geleitet, dann mittels einer elektrischen
Verbindungsleitung 31 an den Ausgangstreiber 11 geleitet,
von letzterem an den ersten Ausgangsanschluss 4 geleitet,
anschließend
mittels der elektrischen Verbindungsleitung 19 an den ersten
Eingangsanschluss rückgeführt, nach
Passieren des Eingangstreibers 6 mittels der elektrischen
Verbindungsleitung 21 an die IO-Kern-Schnittstelle 7 geleitet, anschließend mittels der
elektrischen Verbindungsleitung 22 an die Kernlogik 8 geleitet,
dann mittels der elektrischen Verbindungsleitung 23 an
die Kern-IO-Schnittstelle 9 geleitet,
anschließend
an den Ausgangstreiber 12 geführt, dann nach Passieren des
zweiten Ausgangsanschlusses 5 mittels der elektrischen
Verbindungsleitung 20 zum zweiten Eingangsanschluss 3 rückgeführt, und
von dort nach Passieren des Eingangstreibers 10 an das
MISR 28 zur Analyse geleitet. Insofern können in
dem gezeigten Ausführungsbeispiel anhand
einer einzigen von dem Testmustergenerator 26 bis zum MISR 28 reichenden
Testschleife alle in der integrierten Logikschaltung vorgesehenen
internen Schnittstellen wie auch die Kernlogik einem strukturellen/funktionellen
Test unterzogen werden. Die in 3 gestrichelt
gezeichneten elektrischen Verbindungsleitungen sind während eines
Tests der internen Schnittstellen inaktiv. Die von dem Testmustergenerator 26 erzeugten
Testmuster sind in ihrem Format zum Zwecke einer strukturellen bzw.
funktionellen Prüfung
der internen Schnittstellen bzw. Kernlogik angepasst.