-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht
sich auf das Testen von elektronischer Ausrüstung und genauer gesagt, auf
das Testen von Verbindungen zwischen integrierten Schaltkreisen
in einem Computersystem.
-
2. Beschreibung des relevanten
Standes der Technik
-
Mit zunehmender Abhängigkeit
von verschiedenen elektronischen Systemen nimmt auch das Bedürfnis nach
deren Zuverlässigkeit
zu. Aus der Sicht der Hardware kann eine Zuverlässigkeit durch Testen bzw. Überprüfen auf
verschiedenen Ebenen erreicht werden. Diese Testebenen schließen Systemtests,
Tests des gedruckten Schaltkreisaufbaus (d. h. der Schaltkreisplatine)
und der integrierten Schaltkreise ein. Derartige Tests können eine
ordnungsgemäße Herstellung
und Montage der verschiedenen Komponenten des Systems sicherstellen.
Tests haben jedoch auch ihre Einschränkungen.
-
Eine derartige Einschränkung betrifft
das Testen von Verbindungen (Signalleitungen) eines gedruckten Schaltkreisaufbaus
für ein
elektronisches System (wie zum Beispiel ein Computersystem) mit der
Betriebsgeschwindigkeit, für
welche das System im Betrieb ausgelegt ist. Die Betriebsgeschwindigkeit kann
definiert werden als die Takffrequenz eines Computersystembusses.
Derartige Verbindungen können
mit verschiedenen Verfahren getestet werden, einschließlich eines
Tests im Schaltkreis (ICT) oder Grenzabtastung. Typischerweise sind
diese Arten von Testverfahren auf eine maximale Frequenz beschränkt, die
beträchtlich
kleiner ist als die Takffrequenz des zu testenden Aufbaus. Tests
mit derartigen Verfahren schließen
die Möglichkeit
nicht aus, daß ein
Aufbau mit fehlerhaften Verbindungen bei einer maximalen Frequenz
der Testeinrichtung besteht. Dieselben Aufbauten können jedoch
versagen, wenn sie bei der beabsichtigten Betriebstaktfrequenz getestet
werden oder noch schlimmer, wenn sie sich in der Betriebsumgebung
befinden. Fehlerhafte Verbindungen können verursacht werden durch
verschiedene Defekte, wie zum Beispiel Kälte oder ungenügende Lötverbindungen,
beschädigte
Signalleitungen und beschädigte
Anschlußstifte.
-
Die oben skizzierten Probleme verdichten sich
noch hinsichtlich der Schwierigkeit beim Isolieren einer fehlerhaften
Verbindung, welche einen Test bei niedriger Frequenz besteht, jedoch
bei Betriebsgeschwindigkeit versagt. In vielen Situationen erfordern
derartige Fehler möglicherweise
zeitraubende visuelle Inspektionen und/oder die Verwendung von anderen
Techniken der Problembehebung. Die für das Isolieren des Fehlers
benötigte
Zeit kann für
einen gedruckten Schaltkreisaufbau beträchtliche Zusatzkosten erzeugen.
Weiterhin kann, wenn ein bestimmter Fehler nicht korrekt diagnostiziert
wird, eine unnötige
Nacharbeit und der Austausch von Bauteilen erfolgen, was noch weiter
zu den Kosten des Aufbaus beiträgt.
-
Eine teilweise Lösung einiger der oben genannten
Probleme besteht darin, einen eingebauten Selbsttest (BIST) in den
Entwurf eines Computersystems zu inkorporieren. Wenn eine BIST-Funktionalität in einem
System angelegt ist, kann einige Überprüfung von Verbindungen erzielt
werden. Die BIST-Funktionalität,
die jedoch in vielen Systemen verwendet wird, ist möglicherweise
beschränkt.
Beispielsweise sind viele typische BIST-Systeme „Punkt-zu-Punkt"-Testsignalverbindungen,
nur von einem Chip zu einem anderen zu einem gegebenen Zeitpunkt.
Ein solches System, welches BIST verwendet, ist möglicherweise
nicht dafür
ausgelegt, mehrere Verknüpfungen
bzw. Verbindungen von einem einzelnen Chip gleichzeitig zu testen.
Einige BIST-Systeme können
auch Verbindungen bei niedrigen Geschwindigkeiten testen, die für die Erfassung einer
Signalleitung, die bei voller Betriebsgeschwindigkeit fehlerhaft
ist, möglicherweise
nicht effektiv sind. Weiterhin erfordern viele BIST-Systeme eine zentrale
Systemsteuerung, die verwendet wird, um Tests und Konfigurationen
für die
verschiedenen Chips in dem System zu koordinieren. Die Verwendung
bei solchen Systemsteuerungen kann die Verwendung von wertvollem
Platz auf der gedruckten Schaltkreisplatine erfordern, der ansonsten
verwendet werden könnte,
um andere Funktionen zu implementieren.
-
US-5,621,741 offenbart ein Verfahren
zum Testen von Verbindungen zwischen Anschlüssen eines ersten integrierten
Halbleiterschaltkreises und Anschlüssen eines zweiten integrierten
Halbleiterschaltkreises, die auf einer gedruckten Schaltkreisplatine
montiert sind. Der erste integrierte Halbleiterschaltkreis hat einen
Testdatengenerator zum Erzeugen von Testdaten für den Test der Anschlußverbindung.
Das Verfahren testet die Anschlußverbindungen der ersten und
zweiten integrierten Halbleiterschaltkreise und deren Wechselstrom-
bzw. Wechselspannungseigenschaften.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die oben skizzierten Probleme können zum großen Teil
durch ein System und Verfahren zum Testen von Signalverbindungen
gelöst
werden, welche einen eingebauten Selbsttest (BIST) verwenden. In
einer Ausführungsform
ist die BIST-Funktionalität in
den verschiedenen Chips eines Computersystems angelegt, die auf
gedruckten Schaltkreisplatinen montiert werden. Statt Verwendung
einer einzelnen BIST-Systemsteuerung enthält jeder Chip des Systems seine
eigene zentrale Logikeinheit, die verwendet werden kann, um seine
eigenen verschiedenen Anschlüsse
für BIST
zu konfigurieren, ebenso wie die Erzeugung eines Testmusters auszuführen. Chips können auch Übertragungsverbindungen
und Empfangsverbindungen für
das Senden und Empfangen von Testmustern enthalten. Im allgemeinen
kann ein gegebener Chip des Systems während des Testens entweder
als ein Master- oder als ein Slave-Chip arbeiten. Alle Chips in
dem System sind so konfiguriert, daß sie es ermöglichen,
daß ein
Test bei der Betriebstaktfrequenz des Computersystems erfolgt. Das
Ausführen
des Tests bei der Betriebstaktfrequenz kann es für den Test möglich machen,
eine gute Signalintegrität
an den Verbindungen zwischen den Chips sicherzustellen. Getestete
Verbindungen können
diejenigen einschließen,
welche durch Anschlüsse
bzw. Stecker hindurch verlaufen, wenn Tests zwischen zwei oder mehr
Chips auf unterschiedlichen Schaltkreisplatinen innerhalb des Computersystems
ausgeführt
werden. Das BIST-System enthält
die Fähigkeit,
mehrere Verbindungen von einem einzelnen Masterchip zu testen.
-
In einigen Ausführungsformen kann ein einzelner
Masterchip unter Verwendung eines gemeinsamen Busses Testmuster
gleichzeitig an eine Mehrzahl von Slavechips bzw. abhängigen Chips
senden. Vor der Übermittlung
der Testmuster kann der Masterchip eine Sequenz programmieren, bei
welcher die Slavechips auf den Empfang des Tests reagieren. Nach
dem Empfang des gesendeten Testmusters von dem Masterchip kann dann
jeder Slavechip reagieren, indem er ein entsprechendes Testmuster
an den Masterchip zurück
liefert, in der durch den Masterchip bestimmten Sequenz. Dies kann
Buskonflikte verhindern, wenn Verbindungen zwischen mehreren Chips über einen
gemeinsamen Bus getestet werden.
-
In anderen Szenarios kann ein einzelner Masterchip
Testmuster an eine Mehrzahl von Slavechips senden, die keinen gemeinsamen
Bus verwenden. Testmuster für
jeden Slavechip werden durch unterschiedliche Signalblöcke des
Masterchips gesendet, wobei entsprechende Testmuster von den Slavechips
durch dieselben Anschlüsse
empfangen werden. Die entsprechenden Testmuster, die von jedem der
Slavechips empfangen werden, können dann
durch eine Empfangseinheit innerhalb des Masterchips geprüft werden,
um die getestete Verbindung zu verifizieren.
-
Im allgemeinen kann das System das
Verfahren zum Testen von Verbindungen unter Verwendung von BIST
in einer Vielfalt von Systemen implementiert werden und ist nicht
auf Computer beschränkt.
Derartige Systeme können
digitale Signalverarbeitungsausrüstung,
Telefone und Telekommunikationsausrüstung, drahtlose Kommunikationsausrüstung oder
Geräte
der Verbraucherelektronik umfassen.
-
Zum Aufrufen des BIST kann man sich
mehrere verschiedene Verfahren vorstellen. In einer Ausführungsform
wird der BIST beim Einsetzen einer in heißem Zustand (bzw. im laufenden
Betrieb) einsetzbaren gedruckten Schaltkreisplatine sicherstellen. Der
BIST kann auch eine Signalintegrität zwischen den Komponenten
der im heißen
Zustand bzw. im Betrieb einsteckbaren Schaltkreisplatinen und anderer
Komponenten des Computersystems oder anderer gedruckter Schaltkreisplatinen
sicherstellen. Wenn der BIST erfolgreich abschließt, können Kommunikationen
zwischen den verschiedenen auf der gedruckten Schaltkreisplatine
montierten Chips und dem Computersystem stattfinden. In einer anderen Ausführungsform
kann der BIST durch ein Signal von einer automatischen Testausrüstung (ATE),
wie zum Beispiel einem innerhalb des Schaltkreises liegenden Tester
aufgerufen werden. Während
der Herstellung des Tests kann der Tester ein Signal an einen Aufbau
einer gedruckten Schaltkreisplatine mit BIST-Merkmalen senden. Bei
Vollendung bzw. Abschluß des
Testens kann die gedruckte Schaltkreisplatine ein Signal an den
Tester zurück
liefern, welches anzeigt, daß das
Testen abgeschlossen ist, zusammen mit den Ergebnissen. Andere Ausführungsformen,
bei welchen BIST aufgerufen wird durch ein Herauffahren nach Zurücksetzen
(power-on-reset) oder beim anfänglichen
Herauffahren eines Computersystems sind möglich und kann man sich ebenso vorstellen.
-
Noch ein weiteres Merkmal des BIST-Systems
ist die Fähigkeit,
Grenzen des Betriebs und die Eingabe/Ausgabe (I/O)-Leistungsfähigkeit
zu charakterisieren. Beispielsweise kann während des Testens das BIST-System
die logischen Spannungsniveaus absenken und die Einstellzeit messen
oder die logischen Spannungsniveaus anheben und die Haltezeit messen.
Dies kann eine Bestimmung der Bedingungen für den schlechtesten und den
besten Fall für
die Signalübertragung
zwischen Chips ermöglichen
und kann insbesondere zweckmäßig sein
bei der Vorhersage, wann gewisse Chips wahrscheinlich ausfallen werden.
-
Demnach können in verschiedenen Ausführungsformen
das System und Verfahren zum Testen von Verbindungen unter Verwendung
von eingebauten Tests in vorteilhafter Weise das Testen von Signalverbindungen
bei Betriebstaktgeschwindigkeit ermöglichen. Die Verwendung einer
zentralen Logikeinheit innerhalb jedes Masterchips kann das Erfordernis
einer einzelnen BIST-Systemsteuerung
beseitigen. Das Implementieren von Sende- und Empfangsverbindungen
kann es ermöglichen,
daß ein
gegebener Chip entweder als ein Masterchip oder als ein Slavechip
wirkt. Die Fähigkeit
des Systems, die gleichzeitige Ausführung mehrerer Tests zu ermöglichen,
kann auch kürzere
Testzeiten ermöglichen.
In ähnlicher
Weise kann die Fähigkeit
des Systems, die Durchführung
von Tests zwischen irgendwelchen zwei richtig programmierten Chips
des Systems zu ermöglichen,
es erlauben, Verbindungen zwischen zwei oder mehr Chips auf unterschiedlichen
Schaltkreisplatinen zu testen.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Andere Aufgaben und Vorteile der
Erfindung werden beim Lesen der folgenden Beschreibung und unter
Bezug auf die beigefügten
Zeichnungen offensichtlich, von denen:
-
1 eine
Ansicht einer Ausführungsform einer
Hauptplatine und einer Zusatzplatine eines Computersystems mit eingebauter
Selbsttestfunktion (BIST) ist,
-
2 ein
Blockdiagramm einer Ausführungsform
eines Master/Slavechips ist, welche die Anordnung der Funktionseinheiten
veranschaulicht, die zu dem BIST-System gehören,
-
3 ein
Blockdiagramm einer Ausführungsform
einer zentralen Logikeinheit des Master/Slavechips nach 2 ist,
-
4 ein
Blockdiagramm ist, welches das Testen von Verbindungen zwischen
zwei Chips einer Ausführungsform
des BIST-Systems veranschaulicht,
-
5A ein
Blockdiagramm ist, welches das Testen zwischen einem Masterchip
und mehreren Slavechips veranschaulicht, die für eine Ausführungsform des BIST-Systems
einen gemeinsamen Bus verwenden,
-
5B ein
Blockdiagramm ist, welches das Testen einer Ausführungsform des BIST-Systems zwischen
einem Masterchip und mehreren Slavechips veranschaulicht, die keinen
gemeinsamen Bus verwenden, und
-
6 ein
Blockdiagramm ist, welches das wechselseitige Testen zwischen zwei
Masterchips und einem einzelnen Slavechip auf einem Hochgeschwindigkeitsbus
veranschaulicht. Während
die Erfindung verschiedene Modifikationen und alternative Formen
annehmen kann, sind spezielle Ausführungsformen derselben in den
Figuren beispielhaft wiedergegeben und werden hier im einzelnen
beschrieben. Es versteht sich jedoch, daß die Zeichnungen und deren Beschreibung
die Erfindung nicht auf die speziell dargestellte Form beschränken sollen,
sondern daß im
Gegenteil die Erfindung alle Modifikationen, Äquivalente und Alternativen
abdecken soll, die in den Geist und Schutzumfang der vorliegenden
Erfindung fallen, wie er durch die anhängenden Ansprüche definiert
wird.
-
GENAUE BESCHREIBUNG DER
ERFINDUNG
-
Gemäß 1 ist eine Ausführungsform einer Hauptplatine
und einer Zusatzplatine eines Computersystems dargestellt, die jeweils
eine eingebaute Selbsttest (BIST)-Funktionalität aufweisen. Im allgemeinen
soll der Begriff „Computersystem", wie er hier verwendet
wird, nicht beschränkend
sein. Statt dessen kann man den Begriff auf eine Vielfalt von Systemen
anwenden, einschließlich
Desktop-Computern, Labtops oder Fileservern. Weiterhin ist das BIST-System
und -verfahren, wie es hier beschrieben wird, nicht auf Computersysteme
beschränkt, sondern
kann statt dessen auch in einer Vielfalt von elektrischen/elektronischen
Systemen implementiert werden. Derartige Systeme können digitale
Signalverarbeitungsausrüstung,
Telefone und Telekommunikationsausrüstung, drahtlose Kommunikationsausrüstung und
Verbraucher- bzw. Hausgeräteelektronik umfassen.
-
Das Computersystem 100 weist
sowohl eine Hauptplatine 101 als auch eine Zusatzplatine 102 auf.
Die Zusatzplatine 102 kann eine aus einer Mehrzahl verschiedener
Typen von Zusatzkarten zu einem Computersystem sein, wie zum Beispiel
ein Model oder eine Netzwerkschnittstellenkarte. Die Zusatzplatine 102 weist
einen Rand- bzw. Kantenstecker 104 auf, der in den Steckschlitz 103 eingesteckt werden
kann, um eine elektrische Verbindung mit der Hauptplatine 101 herzustellen
Die Zusatzplatine 102 kann so ausgestaltet sein, daß sie „heiß einsteckbar" (im laufenden Betrieb
einsteckbar) ist, was es ermöglicht,
daß sie
in den Schlitz 103 eingeschoben wird, wenn das Computersystem
eingeschaltet ist, ohne daß das
Risiko der Beschädigung
einer der Platinen besteht. In einigen Ausführungsformen kann das Testen
von Verbindungen in einer im Betrieb einsteckbaren Schaltkreisplatine
durch das Einsetzen in eine Hülse
bzw. einen Sockel eines unter Strom stehenden Computersystems ausgelöst werden.
Dies kann es einem Techniker erlauben, eine fehlerhafte Platine
in einem System ohne Stromunterbrechung auszutauschen, und stellt
ebenso eine bequeme und schnelle Einrichtung zum Testen bereit,
um sicherzustellen, daß die
Platine ordnungsgemäß mit dem Computersystem
kommuniziert. Das Auslösen
des Testens kann auch durch ein globales Signal (wie zum Beispiel
eine Einschaltrückstellung – power-on- reset)
oder für
einige Ausführungsformen
beim anfänglichen
Herauffahren eines Computersystems erfolgen.
-
Das Testen kann auch vor dem Einsetzen der
Platine in ein Computersystem ausgeführt werden. In verschiedenen
Ausführungsformen
kann eine Schaltkreisplatine mit BIST-Funktionalität während der
Herstellung einer Überprüfung bzw.
einem Test auf einer automatischen Testausrüstung (ATE) unterzogen werden.
Die ATE kann ein Testen auslösen durch
Ansteuern der Schaltkreisplatine mit einem Signal. Die Schaltkreisplatine
kann dann anzeigen, daß das
Testen abgeschlossen ist, indem sie die ATE mit einem zurückgesendeten
Signal ansteuert und kann auch Fehlerinformation bereitstellen.
-
Sowohl die Hauptplatine 101 als
auch die Zusatzplatine 102 weisen eine Mehrzahl von Master/Slavechips 200 auf.
Die Master/Slavechips 200 umfassen verschiedene Funktionseinheiten
für das Implementieren
von BIST für
Signalverbindungen des Computersystems 100, wie unten noch
genauer erläutert
wird. Allgemein gesprochen, kann ein Master/Slavechip 200 irgendeine
Art von Chip in einem Computersystem 100 sein, wie zum
Beispiel eine zentrale Verarbeitungseinheit (CPU), eine Speichersteuerung,
oder anwendungsspezifische, integrierte Schaltkreise (ASIC)', bei welchen von
der Auslegung her die BIST-Funktionalität eingebaut ist.
-
Tests von Verbindungen können zwischen
irgendwelchen zwei Master/Slavechips 200 des Systems ausgeführt werden,
unabhängig
davon, ob sie auf der Hauptplatine 101 oder der Zusatzplatine 102 montiert
sind. Tests zwischen Master/Slavechips 200, die auf unterschiedlichen
Schaltkreisplatinen montiert sind, können insbesondere zweckmäßig sein
bei der Verifizierung der Integrität der Signalverbindungen, die
durch die Steckverbindung hindurchlaufen müssen.
-
Das Computersystem 100 kann
sowohl einen Normalbetrieb, wie zum Beispiel einen Testbetrieb,
haben. Der Normalbetrieb kann definiert werden als eine Betriebsweise,
für welche
die Vorrichtung vorgesehen ist, wie zum Beispiel das Ausführen eines
Textverarbeitungsprogramms auf einem Desktopcomputer. Der Testbetrieb
bezieht sich auf Vorgänge,
bei welchen das BIST-System die Verbindungen testet. Dem Normalbetrieb
ist eine zugewiesene Taktgeschwindigkeit zugeordnet. Diese Taktgeschwindigkeit
kann definiert werden als eine Busfrequenz, CPU-Frequenz oder Taktgeschwindigkeit,
mit welcher Datenübertragungen
stattfinden. Tests, die durch das BIST-System ausgeführt werden,
können mit
der zugewiesenen Taktgeschwindigkeit ausgeführt werden, die während des
Normalbetriebs verwendet wird. Auf diese Weise kann das Testen während normaler
Betriebsvorgänge
eine gute Signalintegrität
für Systemkommunikationen
sicherstellen.
-
Gemäß 2 ist ein Blockdiagramm einer Ausführungsform
eines Master/Slavechips 200 dargestellt, welche die Anordnung
funktioneller Einheiten veranschaulicht, die mit einem BIST-System verknüpft sind.
Der Master/Slavechip 200 umfaßt eine zentrale BIST-Logik 201,
welche verschiedene BIST-Steuerfunktionen bzw. Kontrollfunktionen,
einschließlich
einer Testmustererzeugung, bereitstellt. Eine Mehrzahl von Signalblöcken 205 ist
entlang des Umfangs des Master/Slavechips 200 angeordnet.
Signalblöcke 205 kann
man sich als „Anschlüsse" eines Chips vorstellen
und sie können
den Chip durch eine Mehrzahl von Signalstiften 210 mit
der Außenwelt
verbinden. Jedem Signalblock 205 ist eine logische Steuereinheit 202,
eine Sendeeinheit 203 und eine Empfangseinheit 204 zugeordnet.
Die logische Steuereinheit 202 kann verschiedene Steuerungsfunktionen
für den
Signalblock bereitstellen, wie zum Beispiel das Konfigurieren des
Signalblocks für
den Testbetrieb und für
den Normalbetrieb. Die Sendeeinheit 203 ist dafür ausgelegt,
Testmuster durch den Signalblock und auf die zugeordneten Systemverbindungen
zu schicken. Die Empfangseinheit 204 ist dafür ausgelegt,
Testmuster zu empfangen und in Reaktion darauf entsprechende Testmuster
zurückzusenden.
In einigen Ausführungsformen
kann die Empfangseinheit 204 auch Musterprüffunktionen
beinhalten, um zu bestimmen, ob eine überprüfte Verbindung den Test in
der zentralen logischen Einheit 201 ausführt. Einige
Ausführungsformen
der Empfangseinheit 204 können auch eines oder mehrere Register
für die
zeitweilige Speicherung der empfangenen Testmuster aufweisen. Das
BIST-System kann auch Eingabe- und Ausgaberegister verwenden, die
in anderen Ausführungsformen
einem Anschluß für die zeitweilige
Musterspeicherung zugeordnet sind.
-
Allgemein wirkt ein Master/Slavechip 200 als ein
Masterchip, wenn er dafür
ausgelegt ist, Testmuster zu erzeugen und zu senden, und er wirkt
als ein Slavechip, wenn er dafür
ausgestaltet ist, Testmuster zu empfangen und entsprechende Testmuster
an den Master, von welchem diese stammen, zurückzusenden. Wenn er als ein
Masterchip wirkt, kann eine Sendeeinheit 203 das Testmuster
senden, während eine
Empfangseinheit 204, die demselben Signalblock zugeordnet
ist, das entsprechende Testmuster empfangen kann, welches von dem
Slavechip zurückgeliefert
wird. Wenn er als ein Slavechip wirkt, kann die Empfangseinheit 203 so
ausgestaltet sein, daß sie
Testmuster von einem Master empfängt
und durch Senden eines entsprechenden Testmusters zurück zu dem
Hauptchip reagiert. Die Empfangseinheit 203 kann auch empfangene
Testmuster an die zentrale Logikeinheit 201 für eine Musterüberprüfung übermitteln,
wenn ein gegebener Test unidirektional ist (wie es später nach
genauer erläutert
wird). Das entsprechende Testmuster kann in einigen Ausführungsformen
einfach die Umkehrung eines gesendeten Testmusters sein.
-
Gemäß 3 ist ein Blockdiagramm dargestellt,
welches eine Ausführungsform
einer zentralen Logikeinheit des Master/Slavechips nach 2 veranschaulicht. Die zentrale
Logikeinheit 204 in der dargestellten Ausführungsform
umfaßt
einen Mustergenerator 2011, eine Mehrzahl von Komparatoren 2013,
eine Mehrzahl von Musterspeichern 2012 und einen Speicher 2014 für einen
Fehlerzustand. In dieser Ausführungsform
ist der Mustergenerator 2011 mit zwei Sendeeinheiten 203 verbunden,
während
jeder der beiden dargestellten Vergleicher bzw. Komparatoren 2013 mit
einer Empfangseinheit 204 verbunden ist. Treiber 2020 sind
sowohl mit den Sende- als auch mit den Empfangseinheiten verbunden, auch
wenn derartige Treiber in einigen Ausführungsformen möglicherweise
nicht vorhanden oder erforderlich sein mögen. Die zentrale Logikeinheit
ist in einem Master/Slavechip 200 enthalten.
-
Der Mustergenerator 2011 ist
so ausgestaltet, daß er
Testmuster erzeugt, welche beim Testen von Verbindungen ihres zugehörigen Master/Slavechips 200 verwendet
werden. Der Mustergenerator 2011 kann im Anschluß an die
Erzeugung des Testmusters eine Sendeeinheit 203 mit einem
Testmuster ansteuern. Der Mustergenerator 2011 kann auch Testmuster
und/oder Musterinformation an die Musterspeicher 2012 geben.
Jeder Musterspeicher 2012 kann eines oder mehrere Testmuster
speichern, die von dem Mustergenerator 2011 empfangen werden. In
einer alternativen Ausführungsform
kann ein Musterspeicher 2012 Information über ein
Testmuster speichern, das seine Rekonstruktion erlaubt. Jedes Testmuster
ist mit einem Komparator bzw. Vergleicher 2013 verbunden.
Ein durch eine Empfangseinheit 204 empfangenes Testmuster
kann dann an den Komparator 2013 geleitet werden, damit
es mit dem erwarteten Muster verglichen wird, welches in einem zugehörigen Musterspeicher 212 gespeichert
ist. Demnach kann der Komparator 2013 den bestanden/nicht-bestanden-Zustand
eines gegebenen Tests bestimmen. In einigen Ausführungsformen kann der Komparator 2013 auch
genauere Information, wie zum Beispiel die Position eines Fehlers
(d. h. die spezielle Verbindung), Zeitablaufinformation, Signalniveauinformation
oder andere Informationen bestimmen.
-
In der dargestellten Zeichnung ist
der Master/Slavechip 200 mit einem zweiten Master/Slavechip 200 verbunden.
Der erste Chip kann als ein Master oder als ein Slave wirken und
kann Tests sowohl auf unidirektionalen als auch auf bidirektionalen Bussen
bzw. Busleitungen ausführen.
Wenn er als ein Master wirkt und eine Verbindung mit einem unidirektionalen
Bus getestet werden soll, kann ein Chip ein Testmuster über den
Bus an einen Slavechip senden. In ähnlicher Weise kann der Chip,
wenn er als Slavechip wirkt, das gesendete Testmuster empfangen.
Wenn das Testmuster von dem Slave empfangen worden ist, so kann
es mit einem erwarteten Testmuster verglichen werden, um Testergebnisse
zu bestimmen. Wenn das Testen auf einem bidirektionalen Bus ausgeführt wird,
können
Testergebnisse entweder auf dem Master- oder auf dem Slavechip bestimmt
werden. In einer Ausführungsform
kann ein Masterchip ein Testmuster an einen Slavechip übertragen,
der durch Senden eines entsprechenden Testmuster zurück zu dem
Masterchip reagiert. Der Masterchip kann dann das Testmuster mit
einem erwarteten Ergebnis überprüfen. Das
Testen auf einem bidirektionalen Bus kann ebenfalls in derselben
Art und Weise ausgeführt
werden, wie bei einem unidirektionalen Bus. Weiterhin können einige
Ausführungsformen
eine Musterüberprüfung beim
Testen auf einem bidirektionalen Bus sowohl bei dem Master- als
auch bei dem Slavechip vornehmen.
-
Es versteht sich, daß, auch
wenn das oben beschriebene Testen die Verwendung von Bussen einbezieht,
dieselbe Art des Testens auch auf irgendeiner einzelnen Signalleitung
des BIST-Systems
ausgeführt
werden kann.
-
Gemäß 4 ist ein Blockdiagramm dargestellt,
welches das Testen von Signalverbindungen zwischen zwei Chips gemäß einer
Ausführungsform des
BIST-Systems veranschaulicht. Die Sendeeinheit 203 ist
durch die zentrale Logikeinheit 201 des Masterchips 200M
für einen
gegebenen Signalblock 205 aktiviert worden. Wenn die Sendeeinheit 203 des Masterchips 200M aktiviert
ist, kann sie Testmuster 300 auf die Signalleitungen 211 und
auf den Signalblock 205 des Slavechips 200S geben.
In dem in der Zeichnung dargestellten Fall weisen die Signalblöcke 205 des
Masterchips 200M und des Slavechips 200S vier
Signale auf. Die Empfangseinheit 204 des Slavechips 200S ist
so ausgestaltet, daß sie
Testmuster 300 empfängt
und in Reaktion darauf entsprechende Testmuster zurück an dem
Masterchip 200M senden kann. Die Empfangseinheit 204 des
Masterchips 200M kann dann diese entsprechenden Testmuster empfangen.
Wenn die entsprechenden Testmuster empfangen worden sind, können sie
mit den ursprünglich
gesendeten Testmustern verglichen werden, um zu bestimmen, ob für eine oder
mehrere der getesteten Verbindungen ein Fehler vorliegt.
-
Im allgemeinen besteht jedes Testmuster aus
einer Mehrzahl von Datenbits und weist eine Anzahl von Übergängen zwischen
einer logisch hohen Spannung und einer logisch niedrigen Spannung
auf. Testmuster können
seriell über
eine einzelne Verbindung gesendet werden. Wenn eine Mehrzahl von Verbindungen
getestet werden soll, können
Testmuster, welche eine Mehrzahl von Übergängen zwischen einem logisch
hohen und einem logisch niedrigen Niveau aufweisen, parallel gesendet
werden.
-
In einigen Ausführungsformen kann das BIST-System
in der Lage sein, die I/O-Leistungsfähigkeit
und Betriebsgrenzen zu kennzeichnen. Beispielsweise kann das BIST-System
logische Spannungsniveaus für
Signalübermittlungen
vor einem Test absenken und anschließend Einstellzeiten messen.
In ähnlicher
Weise kann das BIST-System die logischen Spannungsniveaus für Signalübermittlungen
anheben und anschließend
die Haltezeit messen. Dies kann die Bestimmung der günstigsten
und ungünstigsten
Bedingungen für
Signalübermittlungen
zwischen zwei Chips ermöglichen.
In vielen Fällen
können
diese günstigsten
und ungünstigsten
Bedingungen sich im Verlauf der Zeit ändern. Das Verfolgen dieser
Bedingungen mit der Zeit kann einen Hinweis liefern, welche Chips
wahrscheinlich ausfallen werden.
-
In verschiedenen Ausführungsformen
kann ein Fehler auf einer gegebenen Signalleitung unter Verwendung
unterschiedlicher Verfahren erfaßt werden. Ein Verfahren zum
Erfassen von Fehlern beinhaltet den Vergleich entsprechender Testmuster,
die von dem Masterchip empfangen werden, mit denjenigen, die ursprünglich übermittelt
wurden. Wenn Testmuster gesendet werden, können sie auch an die Musterspeicher
des Masterchips geleitet werden, wo sie für den Vergleich mit entsprechenden
Testmustern gespeichert werden, die von dem Slavechip empfangen
werden. Wenn der Test unidirektional ist, kann ein Testspeicher
in dem Slavechip das erwartete Muster speichern. Die gesendeten
und für
den Vergleich gespeicherten Testmuster können verändert werden, so daß sie mit
den erwarteten entsprechenden Testmustern, die empfangen werden
sollen, zusammenpassen (d. h. wenn das entsprechende Testmuster
eine Umkehrung bzw. Inversion des gesendeten Testmusters ist). Vergleiche
können
gruppenweise vorgenommen werden (Testmuster, die von einer Gruppe
von Signalleitungen empfangen wurden, werden insgesamt verglichen)
oder für
einzelne Signalleitungen. Da jedes Muster eine Mehrzahl von Übergängen zwischen
einer logisch-niedrigen
und einer logisch-hohen Spannung aufweist, kann ein Fehler auf einer
Signalleitung erfaßt
werden, wenn diese Übergänge nicht
auftreten, da dann das erwartete Muster nicht mit dem empfangenen
Muster zusammenpaßt.
-
5 ist
ein Blockdiagramm, welches das Testen zwischen einem Masterchip
und mehreren Slavechips veranschaulicht, die gemäß einer Ausführungsform
eines BIST-Systems einen gemeinsamen Bus verwenden. In der Zeichnung
hat der Masterchip 200M gleichzeitig Testmuster 300 an
drei verschiedene Slavechips (100S-1, 200S-2 und 200S-3)
gesendet, die einen gemeinsamen Bus verwenden. Eine Empfangseinheit 204 in
jedem Slavechip ist dafür ausgelegt,
entsprechende Testmuster nach einer vorbestimmten Zeit nach dem
Empfang der gesendeten Testmuster 300 zurückzusenden.
Vor dem Senden der Testmuster 300 kann der Masterchip 200M eine
Sequenz für
verschiedene Slavechips programmieren, die die gesendeten Testmuster 300 zurückliefern
sollen. Beispielsweise kann der Masterchip 200M den Slavechip 200S-1 instruieren,
zuerst zu antworten, Slavechip 200S-2 als zweiter zu antworten
und Slavechip 200S-3 als dritter zu antworten. Durch Anweisungen
an jeden Slavechip, zu einem unterschiedlichen Zeitpunkt bezüglich der
anderen Slavechips zu antworten, können Buskonflikte vermieden
werden. Weiterhin kann der Masterchip 200M eine Anzahl
von willkürlichen
Testsequenzen für
die verschiedenen Slavechips auf dem Bus erzeu gen. Solche willkürlichen
Sequenzen können
ein Testen unter Bedingungen erlauben, die denjenigen nicht unähnlich sind,
welche während
des Normalbetriebs auftreten.
-
5B ist
ein Blockdiagramm, welches das Testen zwischen einem Masterchip
und mehren Slavechips veranschaulicht, die gemäß einer Ausführungsform
des BIST-Systems keinen gemeinsamen Bus verwenden. Der Masterchip 200M kann
gleichzeitig Testmuster 300 an eine Mehrzahl von Slavechips 200S senden.
Die Slavechips 200S-1, 200S-2 und 200S-3 sind
jeweils über
unterschiedliche Busse mit dem Masterchip 200M verbunden.
Da die Slavechips keinen gemeinsamen Bus verwenden, kann der Masterchip 200M jeden
von ihnen über unterschiedliche
Signalblöcke 205 mit
Testmustern ansteuern. Entsprechende Testmuster, die durch die Slavechips
zurückgeliefert
werden, können
durch diese unterschiedlichen Signalblöcke empfangen und unmittelbar
durch ihre zugeordneten Empfangseinheiten 204 verifiziert
werden. Die Fähigkeit
eines einzelnen Masterchips, Testmuster an mehrere Slavechips zu
liefern, kann in vorteilhafter Weise ein schnelles Testen einer
großen
Anzahl von Verbindungen ermöglichen.
-
6 ist
ein Blockdiagramm, welches ein spiegelbildliches Testen zwischen
zwei Masterchips und einem einzelnen Slavechip auf einem Hochgeschwindigkeitsbus
veranschaulicht. In einigen Fällen erfordert
ein bidirektionaler Bus möglicherweise
einen Leerlaufzyklus zwischen einem Chip, welcher Signale auf den
Bus gibt und einem anderen Chip, welcher Signale auf denselben Bus
gibt. In anderen Fällen
können
Signale durch einen Chip auf den Bus gegeben werden, unmittelbar
nachdem der andere Chip Signale geliefert hat, was möglicherweise
ein schwierigerer zu testender Fall ist. Viele Chips, die einem
Hochgeschwindigkeitsbus zugeordnet sind, können ein Eingaberegister und
ein Ausgaberegister aufweisen, welche einer Empfangseinheit bzw.
einer Sendeeinheit zugeordnet sind. In der in 6 dargestellten Ausführungsform sind diese Register
in ihren entsprechenden Empfangseinheiten enthalten. In einigen
Fällen
von Hochgeschwindigkeitstesten kann ein gesendetes Muster zunächst in
einem Eingangsregister eines Slavechips gespeichert werden, bevor es
verglichen oder an den Masterchip, von welchem es stammte, gesendet
wird. Das Aufnehmen bzw. Eintasten des Testmusters in das Eingangsregister kann
einen Buszyklus erfordern, während
das Analysieren des Testmusters möglicherweise einen zweiten
Buszyklus verbraucht. Dies kann zu einem Leerlaufbuszyklus zwischen
dem Senden eines Musters von einem ersten Masterchip und dem Senden
eines Musters von einem zweiten Masterchip führen.
-
Um das Problem von Leerlaufbuszyklen
zu überwinden
und dadurch sicherzustellen, daß ein Hochgeschwindigkeitsbus
zur Übertragung "back to back" (Rücken an
Rücken)
in der Lage ist, kann ein Schema, wie das in 6 dargestellte, verwendet werden. In 6 testen zwei Masterchips
(200M-1 und 200M-2) eine Hochgeschwindigkeitsbusschnittstelle
mit dem Slavechip 200S. Der Masterchip 200M-1 kann
das Testen beginnen durch Senden von Testmustern 300A auf Signalleitungen 211 des
Hochgeschwindigkeitsbusses. Der Masterchip 200M-1 kann
dann unmittelbar anschließend
folgen durch Senden weiterer Testmuster auf den nachfolgenden Buszyklus.
Der Masterchip 200M-2 kann dann Testmuster 300B in dem
Buszyklus senden, welcher der zweiten Übermittlung durch den Masterchip 200M-1 unmittelbar
folgt. Der Masterchip 200M-2 kann dann weitere Testmuster
während
des auf seine erste Übermittlung
unmittelbar folgenden Buszyklus senden. Die Überprüfung der Muster kann durch
den Masterchip ausgeführt
werden, von welchem ein gegebenes Testmuster stammte. Unmittelbar
im Anschluß an
die zweite Übermittlung
durch den Masterchip 200M-2 kann der Slavechip 200S ein
entsprechendes Testmuster an den Masterchip 200M-1 für eine Musterüberprüfung zurückliefern.
In dem nächsten
Buszyklus kann der Slavechip 200S ein entsprechendes Testmuster
für eine
Musterüberprüfung an dem
Masterchip 200M-2 zurückliefern.
Indem man zuläßt, daß jeder
Materchip Testmuster zweimal sendet, können Leerlaufbuszyklen verwendet
werden, wenn ein empfangenes Testmuster in einem Eingangsregister
des Slavechips abgetastet wird. Durch eine Pipelineanordnung der Übertragungen
von Testmustern kann der Bus bei jedem Buszyklus des Tests vollständig ausgenutzt
werden und kann sicherstellen, daß Übertragungen „Rücken an
Rücken" (back-to-back) auf
einem Hochgeschwindigkeitsbus erfolgen können.
-
Während
die vorliegende Erfindung unter Bezug auf bestimmte Ausführungsformen
beschrieben worden ist, versteht es sich, daß die Ausführungsformen nur veranschaulichend
sind und der Schutzumfang der Erfindung auf diese Weise nicht beschränkt wird.
Jegliche Variationen, Modifikationen, Zusätze und Verbesserungen an den
beschriebenen Ausführungsformen
sind möglich.
Diese Variationen, Modifikationen, Zusätze und Verbesserungen können in
den Schutzumfang der Erfindung fallen, wie sie in den folgenden
Ansprüchen
im einzelnen dargelegt ist.