-
Die
vorliegende Erfindung betrifft eine Vorrichtung zum Testen eines
Speichermoduls.
-
Speichermodule
werden beispielsweise verwendet, um Arbeitsspeicher für eine prozessorgestützte Datenverarbeitungsarchitektur
bereitzustellen.
-
3 zeigt eine Draufsicht
auf ein beispielhaftes Speichermodul 2, das mit der erfindungsgemäßen Vorrichtung
getestet werden kann. Ein derartiges Speichermodul 2 umfaßt eine
Platine 28 sowie mindestens zwei darauf angeordnete Speicherchips 26a-26m. Üblicherweise
sind mehrere, beispielsweise 8, 10, 18 oder 36 Speicherchips 26a-26m auf
einer derartigen Platine oder Leiterplatte 28 aufgebracht,
wobei sowohl Vorder- als auch Rückseite
der Platine bestückt
sein können.
Beispiele für
Speicherchips 26 umfassen SDRAM oder DDR SDRAM ("Double Data Rate
Synchronous Dynamic Random Access", Schreib-Lese-Speicher)-Speicherchips, und
Beispiele für
Module DIMM ("Dual
Inline Memory Module")
SDRAM- oder DIMM DDR SDRAM-Module.
-
Im
gezeigten Beispiel sind Vorder- und Rückseite der Platine an einer
Seite der Platine mit Kontakten 27a bis 27n versehen.
Beispielsweise können insgesamt
168 oder 184 oder eine beliebige Anzahl Kontakte 27 vorgesehen
sein, über
die ein Austausch von Signalen mit dem Motherboard erfolgt. Die
Zuordnung, welche der einzelnen Kontakte des Speichermoduls 2 Daten-,
Adreß-
oder Kommandoleitungen sind, ist den zu den Speichermodulen erhältlichen
Datenblättern
entnehmbar.
-
In 3 sind auch die zu jedem
Speicherchip gehörenden
elektrischen Anschlüsse 30 und
die jeweiligen Mode Register 29a bis 29m gezeigt.
-
Bei
der Inbetriebnahme wird das Speichermodul in einen vorgesehenen
Steckplatz 19 eines Motherboards eingesteckt und kann nach
erfolgter Konfiguration vom Motherboard bestimmungsgemäß als Haupt-
oder Arbeitsspeicherkomponente benutzt werden.
-
Bei
der Herstellung von Halbleiterbauelementen wie beispielsweise DRAMs
werden üblicherweise
die einzelnen integrierten Schaltungen noch auf Waferebene durch
Aufsetzen von Meßspitzen
getestet. Die Wafer werden in Chips vereinzelt und die funktionierenden
Chips werden in geeigneten Gehäusen
montiert, kontaktiert und verkapselt. Anschließend werden mehrere Chips zu
Modulen zusammengefaßt,
indem sie auf einer gemeinsamen Leiterplatte aufgebracht werden.
Für den
Funktionstest auf Chipebene sind in der Regel spezielle Testschaltungen
vorhanden, die benutzt werden, um die vorgesehenen Funktionstests
durchzuführen.
-
Besondere
Bedeutung kommt den nachfolgenden Anwendungstests beziehungsweise
der sogenannten Applikationsanalyse zu. Bei der Applikationsanalyse
wird das Zusammenspiel zwischen dem Motherboard eines Computers
und Modul untersucht. Dabei verhalten sich die Module in der Applikation
oftmals anders als von der Komponentenanalyse her erwartet. Insbesondere
zeigen die einzelnen Chips in isoliertem Zustand keinerlei Auffälligkeiten, während die
Module bei der Applikationsanalyse lediglich in bestimmten Motherboards
funktionieren und in den anderen nicht.
-
Die
Untersuchung der Fehlerursache ist problematisch, da man in der
Regel das Zusammenspiel zwischen Motherboard und Modul nicht untersuchen kann,
ohne in die grundlegenden Funktionen des Motherboard einzugreifen,
wodurch die Meßergebnisse wiederum
verfälscht
werden.
-
Die
Untersuchung der Fehlerursache wird weiterhin dadurch erschwert,
daß durch
das Einbinden des Moduls in das System nur sehr schwer auf die einzelnen
Teilelemente des Moduls zugegriffen werden kann.
-
Bislang
beschränkt
sich die Analyse auf das Verstellen von Referenzspannungen auf dem
Motherboard beziehungsweise auf das Verstellen des BIOS ("basic input output
system"), das Zuschalten von
Widerständen
und Kapazitäten
auf Signalleitungen. Da das Motherboard nur in einem wohldefinierten
und vorgegebenen Betriebsmodus betreibbar ist, ist es jedoch nicht
möglich,
Tests durchzuführen, durch
die die Speichermodule in einen Extremzustand versetzt werden. Beispielsweise
gibt es keine bekannte Möglichkeit,
das Timing der auf dem Modul befindlichen Chips zu verändern, besonders
hohe Spannungen anzulegen oder aber beispielsweise bei Speicherbausteinen
Tests zur Ermittlung der Speicherzeit durchzuführen, da das Motherboard nicht dafür ausgelegt
ist, mit derartigen Extremzuständen zu
arbeiten, und es diese daher auch gar nicht zuläßt.
-
Es
ist ein Analysesockel kommerziell erhältlich, der auf das Motherboard
aufgelötet
ist und es erlaubt, das Modul nach dem Hochfahren des Systems unabhängig zu
betreiben. Da die meisten Fehler beim Hochfahren des Systems auftreten,
ist der Analysesockel nur von beschränktem Nutzen. Darüber hinaus
ist ein direkter Zugriff auf das zu testende Modul von dem herkömmlichen
Analysesockel her nicht möglich.
Ein Zugriff auf das Modul kann nur über das Motherboard erfolgen.
-
Ein
weiteres Problem besteht darin, daß in der Boot-Phase, in der üblicherweise
die meisten Applikationsprobleme auftreten, ein Mode Register Set durchgeführt wird,
durch den die Bits, die den Betriebszustand der einzelnen Chips
angeben, auf vorgegebene Werte gesetzt werden. Die einzelnen Chips
und damit das Modul werden dadurch in einen normalen Anwendungszustand
versetzt. Entsprechend ist es nicht möglich, ein Modul während des Hochfahrens
des Computers in einem Testmode zu testen.
-
Für den Applikationsingenieur
wäre es
aber gerade interessant, die Chips vor Durchführung der Boot-Phase in einen
Testmode zu versetzen, um den Einfluß der Testmodes auf den Bootvorgang
zu untersuchen. Dadurch könnten
Applikationstests besonders schnell und wirkungsvoll durchgeführt werden.
-
In
der
DE 100 07 177
C2 ist eine Testanordnung für SDRAM-Speicher beschrieben. Hierzu werden
Speichermodule als Arbeitsspeicher in eine Hauptplatine eines Personalcomputers
eingesetzt und in einen herstellerdefinierten im SDRAM implementierten
internen Testmodus versetzt. Es wird so ein applikationsnaher Test
des SDRAM-Speichers im normalen Einsatz im Computer durchgeführt. Eine Steckkarte
sorgt dafür,
dass die Umschaltung des SDRAM-Speichers in den herstellerspezifischen Testmodus
erfolgen kann.
-
In
der
DE 101 26 591
A1 ist beschrieben, Hauptplatinen von Personalcomputern
oder Chipsätze
für PC-Hauptplatinen
in Testvorrichtungen für Halbleiterspeicher
einzusetzen.
-
Der
vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung
bereitzustellen, mit der ein Speichermodul besonders effizient und
gründlich getestet
werden kann.
-
Gemäß der vorliegenden
Erfindung wird die Aufgabe durch eine Vorrichtung zum Testen eines Speichermoduls,
das eine steckbare Platine und mindestens zwei auf der Platine aufgebrachte
Halbleiter-Speicherchips aufweist, wobei der Betriebszustand eines
jeden Halbleiterchips auf dem jeweiligen Halbleiterchip gespeichert
ist und das Speichermodul geeignet ist, mit einer Platinenanordnung
mit einer prozessorgestützten
Datenverarbeitungseinrichtung, welche einen Prozessor, eine Speichereinrichtung,
einen Taktgenerator sowie einen Signalbus und einen Chipsatz umfaßt, über den
Signalbus und den Chipsatz elektrische Signale auszutauschen, mit
einer Einrichtung, welche geeignet ist, den Betriebszustand mindestens
eines Halbleiterchips zu erfassen, die einen ersten Satz Sig nalleitungen
umfaßt,
einem mit den Signalleitungen elektrisch verbundenen Microcontroller
mit einer Speichereinrichtung zum Speichern des Betriebszustands,
einem mit dem Microcontroller elektrisch verbundenen Taktgenerator,
welcher geeignet ist, einen Betriebstakt zu erzeugen, und einer
Signalverbindung, die geeignet ist, ein Signal zur Steuerung des
Zugriffs auf das Speichermodul zwischen der Platinenanordnung und
dem Microcontroller zu übermitteln
und dem Microcontroller ein Signal zum Auslösen eines Erfassungsvorgangs
des Betriebszustands zu übermitteln,
gelöst.
-
Die
vorliegende Erfindung stellt somit eine Vorrichtung zum Testen eines
Speichermoduls bereit, mit der der Betriebszustand des zu testenden Bausteins
zu jedem beliebigen Zeit punkt, insbesondere aber während des
Hochfahrens des Motherboards, erfaßt werden kann. Dadurch kann
während des
Hochfahrens überprüft werden,
ob der Baustein ordnungsgemäß initialisiert
wird oder ob er beispielsweise in einen unerwünschten Betriebszustand versetzt
wird.
-
Üblicherweise
ist der Betriebszustand des zu testenden Moduls in Registern der
einzelnen Chips abgelegt, im Falle eines Speichermoduls beispielsweise
in den Mode Registern der Speicherchips. Zur Erfassung des Betriebszustands
werden von dem Microcontroller die einzelnen Registerbits sequentiell jeweils
synchron zu dem von dem Taktgenerator erzeugten Systemtakt ausgelesen
und in einer internen Speichereinrichtung abgespeichert.
-
Dadurch,
daß zusätzlich eine
Signalverbindung vorgesehen ist, die geeignet ist, ein Signal zur Steuerung
des Zugriffs auf das Modul zwischen Platinenanordnung und dem Microcontroller
zu übermitteln
und dem Microcontroller ein Signal zum Auslösen eines Erfassungsvorgangs
des Betriebszustands zu übermitteln,
kann der Betriebszustand zu beliebigen Zeitpunkten erfaßt werden.
-
Diese
Signalverbindung, die üblicherweise als
eine Triggerleitung zwischen dem Microcontroller und dem Chipsatz
des Motherboards implementiert ist, regelt, ob zu einem bestimmten
Zeitpunkt das Motherboard oder die Einrichtung zur Erfassung eines Betriebszustands
auf den Baustein zugreifen darf. Durch sie wird sichergestellt,
daß Schreib-/Lesevorgänge von
dem Motherboard, die üblicherweise durch
entsprechende, von einem Chipsatz des Motherboards abgesetzte Befehle
ausgelöst
werden, solange unterbrochen werden, bis der Betriebszustand des
zu testenden Bausteins erfaßt
worden ist.
-
Vorzugsweise
ist eine Ausgabeeinrichtung zum Ausgeben des Betriebszustands vorgesehen. Dies
kann insbesondere eine Anzeigevorrichtung, beispielsweise eine Flüssigkristall- Anzeigevorrichtung
oder ein Bildschirm, oder aber auch eine Datenleitung sein, die
mit einer weiteren Speichereinrichtung verbunden ist. Entsprechend
kann der Inhalt des Registers dann auf einem Bildschirm oder Display angezeigt
werden.
-
Gemäß der vorliegenden
Erfindung ist insbesondere bevorzugt, daß die erfindungsgemäße Vorrichtung
zusätzlich
eine Spannungsversorgungseinrichtung umfaßt, die mit dem Taktgenerator
und dem Microcontroller sowie dem zu testenden Speichermodul elektrisch
verbunden ist, und geeignet ist, das Speichermodul mit Spannung
zu versorgen, wobei diejenigen Leitungen des Signalbusses der Platinenanordnung,
welche für
die Spannungsversorgung des Speichermoduls vorgesehen sind, nicht
mit dem Speichermodul verbunden sind. Entsprechend sind diejenigen
Anschlüsse
des Speichermoduls, die für die
Spannungsversorgung des Speichermoduls vorgesehen sind, mit der
Spannungsversorgungseinrichtung der erfindungsgemäßen Vorrichtung
verbunden.
-
Dadurch
wird es möglich,
den zu testenden Baustein unabhängig
vom Betrieb des Motherboards zu betreiben und zu testen. Somit kann
der Baustein bereits vor dem Einschalten beziehungsweise Hochfahren
des Motherboards initialisiert und getestet werden. Vor, während und
nach dem sich anschließenden
Hochfahren des Motherboards kann dann der Betriebszustand des zu
testenden Bausteins erfaßt
und auf Unregelmäßigkeiten
hin untersucht werden.
-
Diese
Ausführungsform
ist insbesondere dahingehend vorteilhaft, daß, weil der Baustein unabhängig vom
Motherboard betrieben wird, extreme Testbedingungen geschaffen werden
können,
die während
des Betriebs mit einem Motherboard nicht zulässig wären. Insbesondere ist es möglich, das
Timing der auf dem Baustein befindlichen Chips, insbesondere die
Parameter Setup und Hold, oder aber auch die chipinternen Spannungen
auf beispielsweise Über-
oder Unterspannung einzustellen. Da durch kann eine besonders hohe
Testtiefe und -effizienz erreicht werden.
-
Weil
der Applikationsingenieur nun die Möglichkeit hat, direkt auf die
Testmodes zuzugreifen, kann das Testverfahren extrem beschleunigt
werden.
-
Weiterhin
können
bei dieser Ausführungsform
die Mode Register der einzelnen Chips vor Hochfahren des Motherboards
in bestimmte Testmodes versetzt werden und der Einfluß dieser
Testmodes auf den Bootvorgang des Motherboards untersucht werden.
Beispielsweise werden in den Mode Registern gezielt ausgewählte Bits
vor dem Hochfahren auf bestimmte Werte gesetzt und untersucht, wie sich
das auf den Boot-Vorgang auswirkt. Dadurch können Fehlerquellen bei der
Anwendung der Speichermodule besonders effizient ermittelt werden.
-
Die
erfindungsgemäße Vorrichtung
kann weiterhin eine Speichereinrichtung wie beispielsweise ein EEPROM,
die mit dem Microcontroller und dem Taktgenerator elektrisch verbunden
ist, zum Speichern mindestens eines Testprogramms, welches für die Ausführung von
Funktionstests des Speichermoduls geeignet ist, umfassen. In diesem
Fall können
ein oder mehrere Testprogramme gespeichert werden.
-
Die
erfindungsgemäße Vorrichtung
kann darüber
hinaus eine Eingabeeinrichtung, die mit dem Microcontroller elektrisch
verbunden ist, zum Eingeben eines Testprogramms, das dann beispielsweise in
dem EEPROM gespeichert werden kann, und zum Auslösen eines Testprogramms umfassen.
Eine derartige Eingabeeinrichtung kann beispielsweise eine Tastatur
sein. Das Testprogramm kann auch nur durch Umlegen eines Schalters
auselöst
werden.
-
Weitere
Vorteile ergeben sich, wenn unterschiedliche Signalleitungen zwischen
Microcontroller und zu testendem Modul jeweils unterschiedliche Halbleiter-Speicherchips
ansteuern, und mindestens ein an einer Signalleitung angeordneter
programmierbarer Schalter vorgesehen ist, der geeignet ist, die
Signalleitung entsprechend einem Testprogramm zu unterbrechen.
-
Da
bei den üblichen
Speichermodulen jeweils unterschiedliche Datenleitungen für die unterschiedlichen
Chips vorgesehen sind, während
sich die Kommando- oder Adreßleitungen
nicht unterscheiden, sind die Schalter in diesem Fall an den Datenleitungen
angeordnet.
-
Bei
dieser bevorzugten Ausführungsform können die
Schalter für
verschiedene Signalpfade derart gesteuert werden, daß nur bestimmte
Bereiche, also bestimmte Speicherchips, des zu testenden Moduls
durch das Testprogramm angesprochen werden. Dadurch kann gezielt
ein bestimmter Bereich getestet werden. Entsprechend kann der Test
beschleunigt und effizienter durchgeführt werden.
-
Die
erfindungsgemäße Vorrichtung
ist vorzugsweise als eine steckbare Platine mit einem Steckanschluß zur Aufnahme
des zu testenden Moduls ausgeführt,
wobei die Vorrichtung geeignet ist, in den für das zu testenden Modul vorgesehenen
Steckplatz der Platinenanordnung gesteckt zu werden und das zu testende
Modul in dem Steckanschluß der Vorrichtung
aufzunehmen. Die erfindungsgemäße Vorrichtung
kann somit insbesondere als eine Interface-Karte realisiert werden,
die wie ein normales Modul in einen im Motherboard vorgesehenen
Sockel für
den zu testenden Baustein eingesteckt wird. Auf der Interface-Karte
selbst befindet sich wiederum ein Sockel, in den dann der zu testende
Baustein hineingesteckt werden kann. In diesem Fall kann die Vorrichtung
zur Ausführung
der Applikationstests besonders einfach mit dem Motherboard und
dem zu testenden Modul verbunden werden. Es ist für den Fachmann
jedoch offensichtlich, daß die
erfindungsgemäße Vorrichtung
auch in anderer Weise realisiert sein kann. So kann bei spielsweise
mindestens einer der Anschlüsse
eine Kabelverbindung sein.
-
Die
vorliegende Erfindung stellt darüber
hinaus eine Anordnung aus einer Platinenanordnung mit einer prozessorgestützten Datenverarbeitungseinrichtung,
welche einen Prozessor, eine Speichereinrichtung, einen Taktgenerator
sowie einen Signalbus und einen Chipsatz umfaßt, eine mit der Platinenanordnung über den
Signalbus sowie eine Signalverbindung verbundene Vorrichtung zum
Testen eines Speichermoduls wie vorstehend definiert, sowie einem
mit der Vorrichtung über
den ersten Satz Signalleitungen und mit der Platinenanordnung über einen zweiten
Satz Signalleitungen verbundenen Speichermodul, wobei die Anordnung
zur Durchführung
der in der Speichereinrichtung gespeicherten Testprogramme geeignet
ist.
-
Die
vorliegende Erfindung wird im folgenden unter Bezugnahme auf die
begleitenden Zeichnungen näher
erläutert
werden. Es zeigen:
-
1A eine schematische Ansicht
eines Motherboards mit einer erfindungsgemäßen Vorrichtung sowie einem
zu testenden Modul;
-
1B eine schematische Darstellung
der erfindungsgemäßen Vorrichtung;
-
2A eine vergrößerte Ansicht
eines Signalpfads gemäß einer
bevorzugten Ausführungsform;
-
2B eine schematische Veranschaulichung
der Datenleitungen zwischen einem ausgewählten Chip des zu testenden
Modul und der erfindungsgemäßen Vorrichtung,
und
-
3 eine Draufsicht auf ein
beispielhaftes Speichermodul.
-
1A zeigt in ihrem unteren
Teil eine schematische Ansicht eines Motherboard eines Computers.
-
Bei
einem Motherboard 10 handelt es sich im wesentlichen um
eine Platinenanordnung mit einer prozessorgestützten Datenverarbeitungseinrichtung.
Diese umfaßt
unter anderem einen Prozessor 17, eine Speichereinrichtung 18,
einen Taktgenerator 20 und einen Bus 25 für den Austausch
von Signalen unter den Systemkomponenten. Über den Bus werden Daten, Adressen,
Betriebsbefehle (Kommandos) und Steuersignale übertragen. Für den Austausch von
Signalen zwischen dem Prozessor 17 und einem Hauptspeicher
steuert der Prozessor 17 den Chipsatz 11 an, welcher
die angegebene Speicheradresse in eine Speichermoduladresse umwandelt
und entsprechende Befehle über
den Datenbus 25 an das entsprechende Speichermodul 2 absetzt.
Bei der Kommunikation zwischen Speichermodul 2 und Prozessor 17 werden
die Signale also zwischen Speichermodul 2 und Chipsatz 11 ausgetauscht.
-
Wie
in 1A gezeigt, sind
auf einer Hauptplatine 31 eines Motherboards ein Prozessor 17,
eine Speichereinrichtung 18 (ROM) zum Speichern der Systemprogramme,
eine Spannungsversorgungseinrichtung 21, ein Taktgenerator 20 zur
Erzeugung eines Systemtakts, eine Schnittstelle 22 zur
Kommunikation mit Ein- und Ausgabegeräten wie beispielsweise einer
Tastatur und einem Bildschirm, Anschlüsse 24a, 24b, 24c,
zum Anschluß von
internen Speicherfestplatten und externen Speicherlaufwerken wie
beispielsweise Disketten- und CD-Laufwerk und weitere Kartensteckplätze 23a-23k vorgesehen, die
je nach Benutzerwunsch mit Karten für die Eingabe von Signalen
von außen
bestückt
werden können.
-
Die
Steckplätze 19a bis 19h sind
für den
Anschluß von
Hauptspeicherbausteinen, genauer gesagt den vorstehend beschriebenen
DRAM-Speichermodulen vorgesehen.
-
Der
Austausch von Signalen, insbesondere Kommandos, Adressen und Daten
zwischen den einzelnen Komponenten erfolgt über den Signalbus 25.
-
1A zeigt eine Ausführungsform,
bei der die erfindungsgemäße Vorrichtung
zum Testen als eine Interface-Karte 1 realisiert ist. Die
Interface-Karte 1 wird wie ein normales Modul in einen
im Motherboard für
das zu testende Modul vorgesehenen Sockel 19 eingesteckt.
Das zu testende Modul 2 wiederum wird in einen Sockel 14 auf
der Interface-Karte 1 eingesteckt.
-
Die
Bestandteile der Interface-Karte 1 und ihre Wechselwirkung
mit dem Motherboard sind in 1B schematisch
veranschaulicht, wobei die dargestellten Größenverhältnisse nicht notwendigerweise
den realen Größenverhältnissen
entsprechen.
-
Auf
der Interface-Karte 1 befindet sich sämtliche Logik, die zum Programmieren
der Testmodes notwendig ist. Dazu gehört ein Taktgenerator 5,
mit dem eine dem Modul entsprechende Taktfrequenz erzeugt werden
kann. Außerdem
befindet sich dort ein Microcontroller 3, der für das Ausführen der
entsprechenden Initialisierungssequenz und das Veranlassen und Steuern
des Testmodes zuständig
ist. Der Microcontroller 3 enthält üblicherweise ein Register 32,
in dem später
der erfaßte
Betriebszustand gespeichert werden kann. Eine Speichereinrichtung 4, beispielsweise
ein EEPROM, zum Speichern der Testmodesequenz kann zusätzlich vorgesehen
sein.
-
Die
Interface-Karte 1 umfaßt
darüber
hinaus eine Spannungsquelle 6, die für den Anschluß an die entsprechenden
Spannungsversorgungsleitungen des Moduls vorgesehen ist, so daß das Modul
unabhängig
von dem Motherboard mit Betriebsversorgungsspannung versorgt werden
kann. Dadurch ist es beispielsweise möglich, das Modul zu initialisieren und
zu testen, solange das Motherboard selbst noch nicht hochgefahren
worden ist.
-
Die
Interface-Karte 1 umfaßt
weiterhin einen ersten Satz Leitungen 7a bis 7n,
die elektrische Signale zwischen einem Chipsatz 11 des
Motherboards 10 und dem zu testenden Baustein 2 austauschen, sowie
einen zweiten Satz Leitungen 8a bis 8k, die elektrische
Signale zwischen Microcontroller und dem zu testenden Baustein 2 austauschen.
Die Anzahl der Leitungen 8a bis 8k des zweiten
Satzes muß dabei
nicht notwendigerweise der Anzahl der Leitungen 7a bis 7n des
ersten Satzes entsprechen, sondern ist entsprechend der Funktionsweise
der Interface-Karte 1 gewählt.
-
Gemäß der vorliegenden
Erfindung ist bevorzugt, daß lediglich
die Leitungen für
die Übertragung
von Daten, Adressen und Kommandos über die Interface-Karte 1 geführt werden.
Diese Leitungen werden im folgenden ohne eine Unterscheidung gemäß den übertragenen
Informationen als Signalleitungen bezeichnet.
-
Gemäß der beschriebenen
Ausführungsform werden
hingegen die Leitungen für
die Spannungsversorgung zwischen Motherboard und zu testendem Modul
nicht auf der Interface-Karte 1 durchgeführt, so daß ein unabhängiger Betrieb
von zu testendem Modul und Motherboard sichergestellt ist.
-
Bei
der gezeigten Interface-Karte 1 kann der Microcontroller
einen RISC-Prozessor ("reduced
instruction set controller")
umfassen.
-
Ein
Applikationsingenieur kann beispielsweise über eine Tastatur 15 den
Microcontroller bedienen oder programmieren und die abgerufenen
Ergebnisse auf einer Anzeigeeinrichtung 16, beispielsweise
ein LCD-Display betrachten.
-
Mit
der in 1B veranschaulichten
Interface-Karte 1 können
nun unter anderem folgende Testverfahren an dem zu testenden Modul 2 durchgeführt werden.
-
I. Modultest vor dem Hochfahren
des Motherboards
-
Dazu
wird das Modul 2 zunächst
nach einem vorbestimmten Verfahren, wie es beispielsweise in den
Datenblättern
der Module beziehungsweise der zugehörigen Chips beschrieben ist,
durch Anlegen vorgegebener Signale initialisiert. Die Initialisierungssequenz
wird benötigt,
um das Modul in definierter Weise ansprechen zu können und
anschließend
den Testmode absetzen zu können.
-
Nach
dem Initialisierungsvorgang werden dann die Testmodes abgesetzt.
Die Testmodesequenz ist dabei in der Regel im EEPROM 4 gespeichert
und wird bei Bedarf vom Microcontroller ausgelesen und an das Modul
gesendet. Die Testmodesequenz kann aber auch direkt mittels entsprechender Befehle über die
Tastatur 15 eingegeben werden.
-
Hier
können
insbesondere die für
die Komponentenanalyse implementierten Testmodes ausgenutzt werden.
Es können
aber auch zusätzliche Schaltungen
auf Chipebene vorgesehen werden.
-
Beispiele
für durchführbare Testmodes
umfassen das Vertrimmen der chipinternen Spannungen oder das Verändern von
Setup- und Hold-Parametern. Bei diesem Modultest, der unabhängig von dem
Motherboard durchgeführt
wird, kann das zu testende Modul insbesondere in Extremzustände versetzt
werden, die für
den üblichen
Betrieb mit einem Motherboard außerhalb der Spezifikation liegen und
daher nicht zulässig
sind, die aber andererseits eine besonders wirkungsvolle und zeitsparende
Prüfung
des Moduls ermöglichen.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung kann durch Einbauen von Schaltern und entsprechendes Programmieren
des Microcontrollers nicht nur das gesamte Modul, sondern nur ein bestimmter
Bereich oder ein bestimmtes Einzelelement des Moduls angesprochen
werden. Dies ist in 2A veranschaulicht.
-
2A zeigt eine schematische
Ansicht der Signalleitungen 8a, 8b, 8c zwischen
Microcontroller 3 und der zweiten Schnittstelle 14.
Dabei ist für
die Erläuterung
einer bevorzugten Ausführungsform
für die
einzelnen Teilelemente jeweils eine Signalleitung 8 vorgesehen.
Wie in 2A gezeigt, können Schalter 9 vorgesehen
sein, die je nach Programmierung des Microcontrollers 3 wahlweise
geschlossen sein können
oder nicht. Dadurch ist es möglich,
daß bei Durchführung der
beschriebenen Testverfahren einerseits das ganze Modul, also alle
auf ihm befindlichen Einzelbausteine angesprochen werden, oder andererseits
gezielt ein bestimmter Baustein angesprochen wird. Entsprechend
verharren die nicht angesprochenen Bausteine bei Durchführung eines Testverfahrens
in ihrem Normalzustand. Dadurch kann gezielt ein unter Verdacht
stehender Baustein analysiert werden.
-
2B zeigt eine schematische
Veranschaulichung der Datenleitungen 8a bis 8h zwischen einem
ausgewählten
Chip 26a des zu testenden Moduls 2 und der erfindungsgemäßen Vorrichtung 1.
-
In 2B ist der Halbleiterchip 26a derart
organisiert, daß Daten über 8 Datenleitungen
ausgetauscht werden. Derzeit ist bei handelsüblichen Halbleiterchips auch
der Datenaustausch über
4 oder 16 Datenleitungen möglich.
Diese 8 Datenleitungen sind im gezeigten Beispiel mit dem
zweiten, vierten, sechsten und achten Kontakt 27a-27n auf
der Vorderseite und dem zweiten, dritten, sechsten und siebten Kontakt
auf der Rückseite
der Platine verbunden. In entsprechender Weise verlaufen die Datenleitungen 8a bis 8h auf
der erfindungsgemäßen Interface-Karte
derart, daß sie
an der Signalschnittstelle 14 mit den zugehörigen Kontakten
verbunden werden. Aus Gründen
der besseren Übersichtlichkeit sind
die Signalleitungen an den anderen Kontakten, die beispielsweise
Kommando-, Adreß-
oder Datenleitungen für
die anderen Halbleiterchips sein können, nicht dargestellt.
-
Die
Datenleitungen 8a bis 8h sind jeweils mit Schaltern 9a bis 9h versehen.
Da bei dieser Ausgestaltung der Halbleiterchips jeweils alle zu
einem Chip gehörigen
Schalter umgelegt werden müssen, wird
vorzugsweise ein sogenannter 8-fach quick switch-Schalter verwendet,
bei dem durch einen einzigen Ansteuerbefehl sämtliche 8 Schalter in den erwünschten
Zustand versetzt werden, so daß alle
8 Leitungen mit einem Befehl unterbrochen oder leitend geschaltet
werden.
-
Der
beschriebene Modultest kann übrigens auch
mit einer Vorrichtung durchgeführt
werden, die keinerlei Verbindung zu einem Motherboard aufweist. Genauer
gesagt, ist er mit einer Vorrichtung durchführbar, die lediglich einen
Microcontroller, einen Taktgenerator, eine Spannungsquelle sowie
einen Satz Signalleitungen und eine entsprechende Signalschnittstelle
zwischen den Signalleitungen und dem zu testenden Modul und gegebenenfalls
ein EEPROM zu Speichern einer Testmodesequenz aufweist.
-
Nach
dem soeben beschriebenen Modultest wird die Spannungsversorgung
des Motherboards eingeschaltet und das Motherboard hochgefahren.
-
II. Erfassen des Betriebszustands
-
Ein
neuartiges Testverfahren, das mit der erfindungsgemäßen Vorrichtung
implementierbar ist, betrifft das Erfassen des Betriebszustands,
also im Falle eines Speichermoduls das Auslesen des Mode Registers 29a bis 29m.
Das Testverfahren kann zu jedem beliebigen Zeitpunkt, also insbesondere
beim Hochfahren des Motherboards und Konfigurieren des zu testenden
Bausteins durchgeführt
werden. Dieses Testverfahren funktioniert ähnlich wie das Chip-ID-Lesen.
Mit ihm kann der Applikationsingenieur sehen, welche Bits des Mode
Registers mit welchen Werten gesetzt sind. So kann erkannt werden, ob
beispielsweise während
des Hochfahrens des Motherboards unbeab sichtigt Testmodes aktiviert worden
sind, wodurch die Ursache eines Applikationsausfalls festgestellt
werden kann.
-
Dieses
Testverfahren muß derart
implementiert sein, daß Schreib-
oder Lesezugriffe von dem Chipsatz 11 des Motherboards
während
des Erfassens des Betriebszustands unterbleiben. Da durch dieses
Testverfahren letztendlich in die Vorgänge des Motherboards eingegriffen
wird, ist es sinnvoll, das Testverfahren vom Motherboard aus auszulösen und in
seinem zeitlichen Verlauf zu steuern.
-
Das
auf dem Motherboard implementierte Testprogramm verhindert Schreib-/Lesezugriffe
des Chipsatzes 11 auf das zu testende Modul und steuert gleichzeitig
eine Triggerleitung 13 an, wodurch der Microcontroller 3 der
Interface-Karte 1 ein Signal erhält, welches den Auslesevorgang
auslöst.
Der Auslesevorgang wird in der Regel dadurch ausgelöst, daß der Microcontroller 3 der
Interface-Karte 1 über eine
entsprechende Kommandoleitung einen Mode Register Readout-Befehl
absetzt und den oder die Chipselect-Befehle auf einen Wert setzt,
so daß alle Chips
angesprochen werden. Der Inhalt der Mode Register wird dann über die
entsprechenden Datenleitungen ausgegeben. Dadurch, daß in den
normalerweise verwendeten Speichermodulen für unterschiedliche Chips jeweils
unterschiedliche Datenleitungen vorgesehen sind, ist es möglich, den
Inhalt der ausgelesenen Mode Register den einzelnen Chips zuzuordnen.
-
Bei
dem Auslesevorgang werden nach allgemein bekannten Verfahren die
Registerbits sequentiell jeweils synchron zu dem Systemtakt, der
von dem Taktgenerator 5 erzeugt wird, von dem Microcontroller 3 ausgelesen.
Nach dem Auslesevorgang des Betriebszustands wird entweder durch
ein von dem Microcontroller 3 der Interface-Karte 1 abgesetztes Steuerungssignal
oder aber auch nach einer vorgegebenen Zeitdauer der Chipsatz 11 wieder
in einen Zustand versetzt, der einen Schreib-/Lesezugriff auf den zu testenden Baustein
zuläßt.
-
Das
beschriebene Testverfahren kann auch mit einer Interface-Karte 1,
die keine eigene Spannungsquelle 6 aufweist, durchgeführt werden.
-
III. Modultest während des
Hochfahrens des Motherboards
-
Durch
ein weiteres Testverfahren wird das Herausspringen aus allen Testmodes
mit dem Durchführen
eines Mode Register Set-Befehls
verhindert.
-
Somit
kann das Modul nach seiner Initialisierung während des Hochfahrens des Motherboards
in einem Testmode betrieben werden. Bislang ist dies nicht möglich gewesen,
da beispielsweise bei einem Speichermodul durch einen Mode Register
Set-Befehl alle
Bits des Mode Registers auf vorgegebene Werte gesetzt werden. Genauer
gesagt, wird, sobald ein Chip den Mode Register Set-Befehl erkennt,
sofort ein Reset-Vorgang eingeleitet, durch den alle Register, die
einen vom normalen Anwendungszustand verschiedenen Betriebszustand
zeigen, auf "0" gesetzt werden.
-
Dieses
Testverfahren kann beispielsweise chipseitig dadurch implementiert
werden, daß eine Schaltung
vorgesehen wird, die ein derartiges Reset-Signal unterdrückt.
-
Als
Folge kann das Modul während
des Bootens des Motherboards in einem Testmode betrieben werden
und verhindert werden, daß mit
dem Befehl "Mode
Register Set", der
beim Booten standardmäßig durchgeführt wird,
die Bits, die diesem Testmode entsprechen, gelöscht werden.
-
Damit
kann insbesondere untersucht werden, inwieweit eine bestimmte Belegung
des Mode Registers den Boot-Vorgang des Motherboards beeinflußt.
-
Dieses
Testverfahren muß mit
einer erhöhten
Sicherheit versehen sein, daß nicht
durch Zufall, beispielsweise ein Warmbooten, in dieses Testverfahren
gewechselt werden kann. Das kann beispielsweise dadurch sichergestellt
werden, daß dieses Verfahren
nur dann eingeleitet wird, wenn eine zuvor genau spezifizierte Reihenfolge
von Befehlen abgesetzt wurde.
-
Dieses
Testverfahren kann wiederum vorteilhaft betrieben werden, wenn die
zuvor unter Bezugnahme auf 2 beschriebenen
Schalter 9a bis 9h vorgesehen sind. Dadurch können nämlich vor
dem Hochfahren des Motherboards in verschiedenen Chips des Moduls
verschiedene Testmodes aktiviert werden.
-
Unter
Verwendung der beschriebenen Interface-Karte 1 können die
vorstehend aufgeführten Testverfahren
je nach Bedarf miteinander kombiniert werden. Beispielsweise kann
zunächst
ein zu testendes Modul unabhängig
vom Motherboard initialisiert und getestet werden, anschließend wird
das Motherboard hochgefahren und der Betriebszustand des Moduls
wird erfaßt.
Nachfolgend werden Modul und Motherboard wieder von der Spannungsquelle
getrennt beziehungsweise heruntergefahren. Sodann wird das Modul
wiederum unabhängig
vom Motherboard initialisiert und getestet. Anschließend wird
das Motherboard hochgefahren, wobei während des Bootens die Chips
in einem oder mehreren Testmodes betrieben werden. Zu beliebigen
Zeitpunkten wird zusätzlich
der Betriebszustand des Bausteins erfaßt.
-
- 1
- Interface-Karte
- 2
- zu
testender Baustein
- 3
- Microcontroller
der Interface-Karte
- 4
- EEPROM
der Interface-Karte
- 5
- Taktgenerator
der Interface-Karte
- 6
- Spannungsquelle
der Interface-Karte
- 7a
bis 7n
- erster
Satz Signalleitungen
- 8a
bis 8k
- zweiter
Satz Signalleitungen
- 9a
bis 9h
- Schalter
- 10
- Motherboard
- 11
- Chipsatz
- 12
- Stromleitung
- 13
- Triggerleitung
- 14
- Signalschnittstelle
- 15
- Eingabeeinrichtung
- 16
- Ausgabeeinrichtung
- 17
- Prozessor
des Motherboards
- 18
- Speichereinrichtung
(ROM) des Motherboards
- 19a-19h
- RAM-Steckplatz
- 20
- Taktgenerator
des Motherboards
- 21
- Spannungsquelle
des Motherboards
- 22
- Ein-/Ausgabeschnittstelle
des Motherboards
- 23
- Kartensteckplätze
- 24a-24c
- Anschlüsse für Laufwerke
- 25
- Signalbus
- 26a-26m
- Speicherchips
- 27a-27n
- Kontakte
- 28
- Platine
des Speicherchips
- 29a-29m
- Mode
Register der Speicherchips
- 30
- Anschlüsse des
Speicherchips
- 31
- Hauptplatine
des Motherboards
- 32
- Register
des Microcontrollers