|
Du bist hier: Referate Datenbank | Informatik
| Fehlersuche auf Integrierten Schaltkreisen
Fehlersuche auf Integrierten Schaltkreisen
Fehlersuche
auf
Integrierten
Schaltkreisen
1. EHT -
Referat
Ronald Hasenberger
87bN
4. Dezember
1986
Inhaltsverzeichnis
1. Allgemeines
1
2. Testen analoger Schaltkreise
2
2.1 Informationsgehalt von Datenblättern
2
2.2 Allgemeine Messungen
3
2.2.1 Ein- und Ausgangswiderstandsmessungen
4
2.2.2 Messung von komplexen Ein- und
Ausgangs-
widerständen
4
2.2.3 Messung von kleinen Strömen
6
2.2.4 Messung von kleinen Spannungsdifferenzen
7
2.3 Prüfstrategien und Prüfmittel
8
3. Testen digitaler IC`s
10
3.1 Fehlerursachen und Fehlermodelle
10
3.1.1 Physikalische Fehlermöglichkeiten
11
3.1.2 Strukturorientierte Fehlermodelle
12
3.1.3 Funktionsorientierte Fehlermodelle
16
3.2 Testmustererzeugung
17
3.2.1 Testmuster für kombinatorische
Schaltungen 17
3.2.2 Testmuster für sequentielle
Schaltungen 20
3.3 Testen digitaler Speicher
22
3.3.1 Speichertestmuster
23
Anhang Literaturverzeichnis
26
1. Allgemeines
Durch die immer größer werdende
Integrationsdichte von integrierten Schaltkreisen (IS, IC) wird es für
die Hersteller immer schwieriger, niedrige Ausschußraten zu erreichen.
War es bei der Herstellung von Transistoren durchaus noch akzeptabel, wenn
von 1000 Stück einer Ausschua war, so würde diese Fehlerrate bei
heutigen IS, die bis zu 250000 Transistoren als Funktionseinheit zusammenfassen
dazu führen, daa keiner dieser IC`s mehr funktionstüchtig wäre.
Das Bewältigen dieser Probleme ist unter anderem dadurch möglich
geworden, daa durch Messungen an den IC`s und geeignete Fehlermodelle die
Ursachen für die Ausfälle herausgefunden wurden, wodurch ein
Lerneffekt möglich war. Als Beispiel sei hier die Lernkurve von
Technologien für LSI-Speicherelemente (dynamische RAM`s) als Verringerung
der Ausfälle im Testbetrieb dargestellt.
Bild 1.1. Technologische Lernkurve bei
DRAM`s
Die Kurve B gibt hierbei die Ausfallkurve
für Bauelemente an, die einer Voralterung unterzogen
wurden.
Ein weiterer Grund für das möglichst
genaue Testen von IC`s sind die Kosten für Fehlererkennung und
-lokalisierung, die in verschiedenen Fertigungsebenen auftreten. Werden
hierbei die Kosten für die Prüfung der IC`s alleine mit 1
festgesetzt, so betragen die Kosten für eine Baugruppe bereits 10 mal ,
für ein gesamtes System 100 mal, und für die Wartung beim Kunden 1000
mal so viel.
Bei der Fehlersuche auf IC`s müssen
außerdem verschiedene Produktionsstadien unterschieden werden.
Während der Prototypenfertigung ist es wichtig, Layoutfehler und
Entwurfsschwächen zu erkennen, wobei die Testzeit, die aufgewendet wird
eher nebensächlich ist, da die Stückzahl während der
Prototypenfertigung nicht so hoch ist. Es gibt hierfür spezielle Verfahren
(Elektronenstrahl-Potentialmeßtechnik u.a.), deren genauere
Beschreibung aber den Umfang dieses Referats sprengen würden.
Während der Serienfertigung kommt es vor
allem auf die Möglichkeit der Verwendung von Testautomaten an, und auf
eine kurze Verweilzeit in diesen, wodurch nicht mehr als ein Testen des
Verhaltens nach außen möglich sein wird. Es ist aber auch
während der Serienfertigung vorteilhaft, mehr als einen einfachen
geht/geht nicht Test durchzuführen, um einen Lerneffekt zu
erzielen.
2. Testen analoger
Schaltkreise
Wegen der Vielzahl von verschiedenen analogen
Schaltkreisen, die alle verschiedene Testmethoden benötigen, soll hier
nur prinzipiell auf die Problematik des Testens von analogen IC`s und auf
einige grundlegende Meßmethoden, wie jene für die Messung von Ein-
und Ausgangswiderständen eingegangen werden.
2.1. Informationsgehalt von
Datenblättern
Digitale IC`s können durch
Datenblätter meist eindeutig beschrieben werden, indem man die Ein- und
Ausgangsdaten sowie Funktionstabellen angibt. Wie in Abschnitt 3 noch
näher beschrieben sind die Prüfmethoden hier eindeutig, es gibt nur
Probleme mit dem Prüfumfang. Bei analogen IC`s hingegen ist die Situation
schwieriger. Hier können sämtliche Kennwerte von einer Vielzahl von
Parametern abhängen. Am Beispiel eines Rundfunk FM-IC`s sind dies:
Speisespannung, Modulationsfrequenz, Temperatur, Eingangsspannung,
Ausgangsbelastung, Lautstärkeeinstellung u.a.m. Um alle
Veränderlichen in jeder möglichen Kombination darzustellen
ergäbe sich eine Vielzahl von Kennlinienfeldern, die unmöglich alle
überprüft werden können. Um hier eine Vergleichbarkeit der
Ergebnisse zu erreichen, werden die Daten auf eine normierte
Meßschaltung und einen bestimmten Arbeitspunkt bezogen. Dieser ist in den
Kenndaten festgelegt. Die Kenndaten enthalten alle wichtigen sich für
diesen Arbeitspunkt ergebenden Größen. Die Schwierigkeit für
den Anwender besteht darin, daa für einen vom Datenblatt abweichenden
Arbeitspunkt auch die Kenndaten abweichen können, und sogar bei jedem IC
in anderer Weise, wodurch sich die Möglichkeit ergibt, daa ein
bestimmter IC, der laut Testschaltung fehlerfrei arbeitet in einer bestimmten
Schaltung nicht mehr funktioniert, ein anderer IC der gleichen Type aber
schon.Den einzelnen Parametern werden zwar Funktionsbereiche zugestanden, die
zugehörigen Eckwerte werden aber nicht garantiert, da der Hersteller
sonst wieder das Problem der riesigen Anzahl von Kennlinienfeldern
hätte.
Datenblätter sind meist in vier Blöcke
gegliedert:
Die Grenzdaten geben an, welche Werte
maximal angelegt werden dürfen, ohne die Schaltung zu schädigen.
Typische Größen, für die Grenzdaten angegeben werden sind:
Betriebsspannung, Eingangsspannung, Verlustleistung, Ausgangslast u.s.w.
Wichtig dabei ist, daa jeder Grenzwert für sich gilt und nicht
überschritten werden darf. So kann z.B. durch Wahl von Betriebsspannung
und Ausgangslast der Grenzwert für die Verlustleistung überschritten
werden, obwohl sowohl Betriebsspannung als auch Ausgangslast innerhalb der
zuläßigen Werte ist.
Die Funktionsbereiche geben an, in welchen
Bereichen die Schaltung für die benannten Größen
funktionstüchtig ist. Die Funktionsbereiche der einzelnen
Größen können dabei miteinander verknüpft werden. Die
Kenndaten sind aus den bereits genannten Gründen nicht für die
gesamten Funktionsbereiche garantiert.
Die Kenndaten beziehen sich auf einen
bestimmten Arbeitspunkt und die angegebene Meßschaltung. Für die
wichtigen Größen werden die typischen Werte sowie der obere und der
untere Grenzwert angegeben. Die typischen Werte stellen Mittelwerte dar, die
meist über mehrere Fertigungschargen ermittelt wurden. Sie können
nicht auf ein Lieferlos angewendet werden. Fehlende Eckdaten lassen sich nicht
von den typischen Werten ableiten, da die Streubreite der Verteilungen dem
Anwender unbekannt ist.
Die in den Datenblättern angegebenen
Kennlinien und Kurven geben Werte von typischen Mustern wieder. Sie sollen
dem Anwender in erster Linie bei der Dimensionierung der Schaltung
helfen. Streuwerte werden hiebei meist nicht angegeben. Auch der typische
Kurvenverlauf wird nicht garantiert!
Neben den in den Datenblättern
angegebenen Daten gibt es noch eine Reihe von Sekundärdaten, die
oft schwer beschrieben werden können. So z.B.
Impedanzverhältnisse, Rückkopplungseigenschaften, Verhalten
über den gesamten Frequenzbereich, Verhalten bei Übersteuerung
u.s.w. Diese Daten sind zwar für den Anwender äußerst wichtig,
können aber wegen ihrer Komplexität oder Abhängigkeit vom
Meßaufbau nicht angegeben werden. Sie sind jedoch meist durch das
Design (d.h. durch die Technologie und Topographie des IC`s) vorgegeben und
deshalb in ihrer Qualität unveränderlich. Schwierigkeiten sind
erst dann zu erwarten, wenn vom Hersteller Designänderungen vorgenommen
werden.
2.2 Allgemeine
Messungen
In diesem Abschnitt werden einige allgemein
anwendbare Meßmethoden beschrieben, die für die meisten analogen IC`s
wichtig sind.
2.2.1 Ein- und
Ausgangswiderstandsmessungen
Eine einfache Betragsmessung kann hier aus
der Vierpoltheorie abgeleitet werden.
Bild 2.1 Prinzipschaltung für die
Messung von reellen
Ein- und
Ausgangswiderständen
Annähernd reelle Widerstände
lassen sich mit dieser Methode schnell bestimmen. Über einen
Vorwiderstand RV wird ein Steuersignal Ug an den Eingang gelegt.
Entsprechend den Anforderungen kann dies Gleich- oder Wechselspannung
sein. Aus dem Verhältnis Ug zu Ui kann man den Eingangswiderstand
bestimmen:
Ri = RV Ui / (Ug -
Ui)
In gleicher Weise kann auch der
Ausgangswiderstand bestimmt werden. Für einen gewählten
Arbeitspunkt wird die Ausgangsspannung im unbelasteten (Uq0) und im belasteten
(UqL) Zustand gemessen. Rq ergibt sich aus der Spannungsteilung aun Rq und RL.
Rq = RL (Uq0 - UqL) /
UqL
Wenn bei einem Schaltkreis die
Ausgangsspannung proportional zur Eingangsspannung ist, kann der
Eingagswiderstand auch dann gemessen werden, wenn nicht am Eingang, sondern
am Ausgang gemesssen wird. Dies ist vor allem dann vorteilhaft, wenn mit sehr
kleinen Eingangsspannungen gearbeitet werden muß. Der
Eingangswiderstand läßt sich aus den Ausgangsspannungen Uq1 (S2
offen) und Uq2 (S2 geschlossen) berechnen.
Ri = RV Uq1 / (Uq2 - Uq1) -
Rg
2.2.2 Messung von komplexen Ein- und
Ausgangswiderständen
Bei monolithisch integrierten Schaltkreisen
treten in erster Linie kapazitive Blindanteile auf. Die Kapazitäten
liegen für die Eingänge meist unter 10pF und für die
Ausgänge, abhängig von der Ausgangsleistung (d.h. der
Größe der Ausgangstransistoren), zwischen 5 und 50pF. In der
NF-Technik sind diese Anteile meist vernachläßigbar, in der
HF-Technik sind sie aber von großer Bedeutung. Induktive Blindanteile,
die vor allem durch die Anschlüße hervorgerufen werden spielen erst
im GHz-Bereich eine Rolle.
Bild 2.2 Prinzipschaltung zur Messung von
komplexen
Widerständen
Das Prinzip der hier angegebenen
Verstimmungsmethode, beruht darauf, daa bei einem LC-Schwingkreis, bei dem L
oder C bekannt ist, aus der Resonanzfrequenz f0 und der Bandbreite B Wirk-
und Blindanteil bestimmt werden können.
Bei einem Schwingkreis ist die
Kreisfrequenz
0 = 1/LC
die Güte
Q = f0 / B = R
0C
woraus sich die Wirkkomponente ergibt
als
R = 1 / 2 BC
Das Meßobjekt wird dabei an einen
bekannten Schwingkreis angeschlossen. Aus den Änderungen der
Resonanzfrequenz (Schwingkreiskapazität) sowie der Bandbreite werden Wirk-
und Blindanteile bestimmt. Besonders vorteilhaft ist, daa die Messungen bei
der Anwendungsfrequenz durchgeführt werden können. Da die
Güte bei reale Schwingkreisen frequenzabhängig ist, müssen
die Messungen zur Bestimmung der Wirkanteile bei konstanter Induktivität
und Frequenz durchgeführt werden.
Meßablauf:
1. Den Generator auf die gewünschte
Frequenz f0 einstel len.
2. Mit dem Abstimmkondensator CA den Kreis
ohne Meßobjekt auf die Resonanzfrequenz einstellen (Amplitudenmaximum)
3. Die Bandbreite B1 mittels der -3dB-Punkte
ermitteln
4. Die Abstimmkapazität CA1
messen
5. Das Meßobjekt anschließen; mit
CA wieder auf Resonanz einstellen.
6. Die neue Bandbreite B2
ermitteln
7. Die neue Abstimmkapazität CA2
messen
Aus CA1 und CA2 wird die Eingangskapazität
berechnet
Ci = CA1 - CA2
Der reelle Eingangswiderstand wird aus den
Verlustwiderstände RK1 und RK2 als
1 / Ri = 1 / RK2 - 1 /
RK1
berechnet.
Durch die verwendete Substitutionsmethode wird
der Fehler bei der Eingangskapazitätenmessung hauptsächlich durch die
Genauigkeit der Messung von CA bestimmt. Die Eingangskapazität des
Voltmeters wird dabei eliminiert.
Die Messung der Ausgangsimpedanz kann
sinngemäa genauso erfolgen. Da hierbei die Ausgangswiderstände
jedoch meist niederohmig sind, wird die Widerstandsbestimmung ungenauer, da
dann die Resonanzkurve durch die höhere Bedämpfung des Schwingkreises
flacher verläuft und bereits im flachen Teil der Resonanzkurve gemessen
wird.
2.2.3 Messung von kleinen
Strömen
Im Laboraufbau können Ströme bis in
den pA-Bereich noch gut beherrscht werden. Hierzu werden am Markt Geräte
mit einer Auflösung bis zu 10-15 A angeboten. Unter Beachtung der
Widerstandsverhältnisse von Meßobjekt und Meßgerät sind
mit diesen Geräten durchaus gute Ergebnisse zu
erzielen.
Probleme treten aber dann auf, wenn solche
Messungen automatisiert werden sollen. Besondere Schwierigkeiten
berei
ten dabei das Kontaktieren, die Kapazität
der Zuleitungen
Bild 2.3 Prinzipschaltung der
Eingangsstrommessung durch
Zeit-Spannungsmessung
und Störeinstrahlungen. Diese
Schwierigkeiten treten besonders bei zentralisierten Meßsystemen mit den
notwendigen langen Zuleitungen auf. Hier ist es meist günstiger, statt der
echten Strommessung eine korrelierte Zeit-Spannungs-Messung
durchzuführen, da Zeitmessungen meist schnell und ohne große
Fehler durchgeführtr werden können.
Das Prinzip der dargestellten Messung beruht
auf der Ermittlung der Ladungsänderung eines mit dem Eingang verbundenen
Kondensators. Der FET-OP dient als Buffer und soll einen Eingangsstrom haben,
der im Vergleich zum zu erwartenden Meßstrom vernachläßigbar
ist. Da der Eingangsstrom IE von der Eingangsspannung UE abhängt, mua der
Kondensator auf den Arbeitspunkt vorgeladen werden. Nach Öffnen des
Schalters wird der Kondensator durch den Eingangsstrom entladen. Die
Spannungsänderung UC während einer Zeitspanne T wird ermittelt.
Für UC << UE gilt:
IE = C UC / T
Die Messung des Eingangsstromes kann nun von 2
Seiten aus erfolgen: Es kann entweder die Spannungsdifferenz
vorgegeben und die Zeit gemessen werden oder
umgekehrt.
2.2.4 Messung von kleinen
Spannungsdifferenzen
Bei Messungen an IC`s ist es oft wichtig,
die Änderung eines Parameters als Folge geänderter Bedingungen zu
messen. Als Beispiel kann die Eingangsspannungsmessung von Abschnitt 2.2.3
hergenommen werden. Hierbei kann zwar die Eingangsspannung zu den Zeitpunkten
t=0 und t= T ermittelt, und die Differenzspannung berechnet werden, doch
wird die Meßgenauigkeit durch die Differenzbildung erheblich
verschlechtert.
Bild 2.4 Abtast- und
Differenz-Meßschaltung
Bild 2.4 zeigt die Prinzipschaltung einer
Abtast- und Differenz-Meßschaltung, die es ermöglicht, den
Absolutwert aus der Messung zu eliminieren um die volle Meßgenauigkeit zu
erhalten.
Meßablauf:
1. Der Schalter S ist geschlossen, der
Kondensator wird über den Buffer I auf den Wert UQ0 aufgeladen. Die
Ausgangssopannung am Buffer II bleibt in dieser Phase noch gleich
0.
2. Jetzt wird der Schalter S geöffnet.
Dadurch bleibt die Ladung und damit die Spannung am Kondensator
erhalten, und am Ausgang erscheint direkt die Dif
ferenzspannung.
Diese Meßmethode ist auch bei
Wechselspannungen anwendbar. Hierbei mua dann jedoch die Wechselspannung
vorher gleichgerichtet werden.
2.3 Prüfstrategien und
Prüfmittel
IC-Hersteller sind aus wirtschaftlichen
Gründen gezwungen, die Kosten pro ausgeliefertem IC gering zu halten.
Die Kosten setzen sich aus höchst unterschiedlichen Posten zusammen.
Die Prüfkosten werden vor allem durch Größen wie Testzeit,
Ausbeute, Lohnkosten, Prüfumfang und dgl.
beeinflußt.
Das Testequipment wird durch die Forderung
nach hohem Automatisierungsgrad möglichst aus automatischen
Meßplätzen bestehen. Je nach Typenvielfalt und Stückzahl
können hier Großtester, Kleintester oder IEC-Bus gesteuerte
Meßplätze eingesetzt werden.
Die Testzeit wird bestimmt durch das
Testequipment, den Prüfumfang und das
Testprogramm.
In Bezug auf den Prüfumfang mua wie am
Anfang des Abschnitts 2 bereits erwähnt ein Kompromia zwischen dem
Wunsch des Aufnehmens möglichst vieler Meßdaten und dem Zwang nach
möglichst kurzer Meßzeit geschlossen werden. In Bezug auf den
Programmaufbau kann die mittlere Testzeit vor allem dadurch verringert
werden, daa zunächst die Totalausfälle aussortiert werden (Kontakt-
und Kurzschlußmessungen) und anschließend, noch vor dem Aufnehmen
der Kennwerte, die Funktion grob überprüft wird. Diese Methodik in
Zusammenhang mit einer "Stop-First-Fail" Methode (Abbruch nach dem ersten
nicht bestandenen Test) ergibt eine erhebliche Reduzierung der mittleren
Testzeit.
In Bezug auf das Testequipment kann man wie
bereits erwähnt eine grobe Unterteilung in drei Gruppen
durchführen: Meßplätze mit IEC-Bus-Steuerung,
Großtester und Kleintester.
Meßplätze mit
IEC-Bus-Steuerungen sind eher weniger leistungsfähig, sind aber
relativ billig und sehr anpassungsfähig. Hier arbeiten mehrere (bis zu
15) Meßgeräte an einem Steuerungsrechner, wobei hier meist ein
Personal-Computer ausreichen wird. Der größte Vorteil dieses
Systems ist, daa praktisch jedes hochwertigere Meßgerät, das heute
im Handel erhältlich ist, mit einer Schnittstelle für den IEC-Bus
ausgerüstet ist.
Großtester besitzen meist einen
leistungsfähigen Minicomputer, der über Multiplexer parallel und im
Time-Sharing-Verfahren die Messung an mehreren Meßplätzen
steuert. Dieses System ist sehr leistungsfähig und ermöglicht hohe
Durchsatzquoten, ist aber in der Anschaffung extrem
teuer.
Kleintester sind Testsysteme, die speziell auf
das Testen eines bestimmten Bausteins abgestimmt sind. Dadurch sind sie bei
großer Leistungsfähigkeit relativ billig, haben aber den Nachteil,
daa sie nicht an verschiedene IC-Typen anpaßbar sind, wodurch sie
bei einer Änderung des Produktionsoprogramms nicht mehr ausgelastet
werden können.
3. Testen digitaler
IC`s
War das Problem beim Testen analoger IC`s
hauptsächlich die Abhängigkeit der Kennwerte von sehr vielen
Parametern, so ist es bei digitalen IC`s die große Anzahl interner
Funktionen bei einer sehr begrenzten Anzahl von Anschlüssen. Der Zugriff
auf das Schaltungsinnere ist dadurch stark eingeschränkt, und der Test
gerät immer aufwendiger.
Das Testen digitaler IC`s gliedert sich in zwei
voneinander unabhängige Vorgänge: das Erzeugen geeigneter
Prüfmuster, und den eigentlichen Prüfvorgang. Letzterer
wiederum läßt sich in das Anlegen der Testmuster an den
Prüfling, die Auswertung der Reaktionen des Prüflings und die
Darstellung des Testergebnisses aufteilen.
Die Auswertung der Reaktionen des Prüflings
kann auf 2 verschiedene Arten erfolgen: das Vergleichen der
Reaktionen mit gespeicherten Sollwerten, wozu man aber entsprechend
große und schnelle Speicher benötigt, oder der Vergleich des
Prüflings mit einer als fehlerfrei bekannten Schaltung des gleichen
Typs.
Bei der Vorbereitung eines Tests stellt die
Erzeugung geeigneter Testmuster die Hauptaufgabe dar. Die Testmusterfolge
hat die Aufgabe, etwaige interne Fehler des Prüflings durch eine von der
Sollantwort abweichende Testantwort nach außen sichtbar zu
machen.
Im allgemeinen können 3 Arten von
Testmustern unterschieden werden:
- statische Eingangssignale zur
Überprüfung des elek trischen Gleichstromverhaltens durch Strom-
und Span nungsmessungen
- dynamische Eingangssignale zur
Überprüfung des Wechsel stromveraltens, insbesondere
Zeitabhängigkeiten von Signalen und
Signaländerungen
- logische Eingangssignale zur
Überprüfung des funktionel len Verhaltens der
Schaltung
Die beiden ersten Gruppen sind vergleichbar
mit der Messung analoger Bausteine, und werden deshalb in diesem Abschnitt
nicht mehr behandelt. Hier soll in erster Linie die logische
Überprüfung der IC`s dargestellt werden. Der Prüfling wird dazu
mit den Testmustern erregt. Sobald ein Signal eingeschwungen ist, wird die
Antwort des Prüflings ausgewertet (quasistatischer Test). Erfolgt der Test
unter Echtzeitbedingungen, wird das Zeitverhalten weitgehend
mitberücksichtigt. Im allgemeinen liegt ein dynamisches Fehlverhalten
dann vor, wenn der Prüfling die Zeitabhängigkeiten nicht korrekt
einhält, weil beispielsweise die Datenzugriffe zu langsam erfolgen.
Dann werden jedoch zeitlich zurückliegende und damit falsche Daten
ausgewertet.
3.1 Fehlerursachen und
Fehlermodelle
Fehler können auftreten während der
Entwicklungsphase, in der Fertigung der IC`s und während der
Anwendung. Sämtliche Fehler während der Anwendung gehören in
das Gebiet der Zuverläßigkeit, die hier nicht behandelt wird. Fehler
im Schaltungsentwurf d.h. in der Entwicklungsphase treten beim Testen im
allgemeinen systematisch auf, und sollten aufgrund der
Computerunterstützung beim Entwurf kaum ein Problem sein.
Berücksichtigt man, daa systematische Prozeßfehler der Technologie,
wie Fehljustierungen oder Ätzfehler bei verschiedenen
Prozeßmessungen an standardisierten Teststrukturen erkannt werden, so
bleiben nur die stochastisch auftretenden Fehler, die ihre Ursache
hauptsächlich in Kristallfehlern sowie im Schmutzeinflua in den
Herstellungsprozessen haben.
3.1.1 Physikalische
Fehlermöglichkeiten
Diese sind eben die bereits erwähnten
Kristallfehler und Schmutzeinflüße. Bereits Parikel mit einer
Ausdehnung von weniger als einem um sind kritisch. So führen
Verunreinigungen bei Diffusion und Implantation zu Dotierungsfehlern,
Verunreinigungen beim Aufwachsen des Oxids zu Änderungen der
dielektrischen Eigenschaften oder gar zu Oxiddurchbrüchen. Allzu steile
Oxidstufen können Abrisse in der Metallisierung zur Folge haben. Es sind
eine Fülle physikalischer Fehlermöglichkeiten denkbar, die je nach
Technologie, Schaltungstechnik, Integrationsdichte und verschiedenen
anderen Faktoren unterschiedliches Gewicht erlangen. Für MOS-LSI
Schaltungen wurden beispielsweise folgende Faktoren
beobachtet:
Ursache
Häufigkeit in %
Kurzschluß zwischen Metallbahnen
39
Unterbrechung einer Metallbahn
14
Kurzschluß zwischen Diffusionsbahnen
14
Unterbrechung einer Diffusionsbahn
6
Kurzschluß zwischen Metall und Substrat
2
unbekannte Ursache
10
irrelevante Fehler
15
Die Hauptfehlerursachen sind demnach
Kurzschlüße und Unterbrechungen von Metall- und Diffusionsbahnen
d.h. von Verbindungsleitungen auf dem Chip. Durch kleiner werdende Strukturen
sowie die Mehrlagenverdrahtung dürften sich die Probleme entscheidend
verschärfen.
Die beobachteten Probleme lassen sich in
permanente und intermittierende oder transiente Fehler aufteilen. Permanente
Fehler sind zu jedem Zeitpunkt des Tests reproduzierbar vorhanden und
können somit leicht aufgedeckt werden. Man unterscheidet hierbei nochmals
zwischen harten und weichen Fehlern. Harte Fehler lassen sich selbst durch
Variation der Parameter wie Versorgungsspannung, Temperatur, Logikpegel
u.ä. nicht beseitigen. Solche Fehler sind z.B. Kurzschlüße
oder Unterbrechungen von Leiterbahnen. Weiche Fehler treten hingegen nur unter
ganz bestimmten Bedingungen auf. Im Rahmen der Bausteinspezifikationen gibt
es ganz besondere zuläßige Parametereinstellungen bezüglich
Temperatur, Bestrahlung, Versorgungsspannung u.a., sowie Testmusterfolgen,
die eine Fehlfunktion auslösen können. Als Beispiel seien
Musterempfindlichkeiten (pattern sensitivities) angeführt, die auf
Kopplungseffekten wie z.B. Übersprechen der Signalwege bei bestimmten
Eingangsmustern, beruhen.
Transiente oder intermittierende Fehler, wie
beispielsweise Treffer von -Teilchen, treten im Gegensatz zu permanenten
Fehlern rein sporadisch in Erscheinung. Eine Reproduzierbarkeit des
Fehlverhaltens während des Tests ist nicht erreichbar, was die
Fehlererkennung beträchtlich erschwert. Vielfach wird deshalb versucht,
diese Fehler durch mehrfache Wiederholung der für permanente Fehler
geeigneten Testmuster zu entdecken. Man setzt hierbei voraus, daa der
transiente Fehler zumindest für die Dauer eines Tests permanent vorhanden
ist, oder gar nicht in Erscheinung tritt. Im folgenden werden Fehler dieser
Art nicht weiter behandelt.
Der Übergang auf Fehlermodelle reduziert
die Anzahl der möglichen Fehler wesentlich, und es ergibt sich zudem ein
Bezug zur logischen Arbeitsweise einer digitalen integrierten Schaltung.
Außerdem ist ein Fehlermodell meist auf andere Technologien
übertragbar.
Bei Kenntnis der Schaltungsstruktur
(Beschreibung der Schaltung auf Gatterebene) verwendet man struktur- oder
schaltungsorientierte Fehlermodelle, und beschränkt sich auf jene
Fehler, die tatsächlich auftreten können. Bei unbekannter Struktur
oder sehr komlexen Schaltungen benützt man funktionsorientierte oder
funktionale Fehlermodelle, welche realisierungsunabhängig den Einflua
der Fehler auf die Schaltung beschreiben.
3.1.2 Strukturorientierte
Fehlermodelle
Ein strukturorientiertes Fehlermodell
berücksichtugt die Auswirkung eines physikalische Fehlers auf
logische Signalwerte. Im folgenden sind am Beispiel eines Inverters in
NMOS-Technik die Auswirkungen einiger schaltungstechnisch möglicher
Fehler auf das logische Verhalten zusammengefaßt. Es können
sowohl die Anschlüße von Gate, Source und Drain jedes Transistors
leerlaufen oder jeweils 2 der 3 Anschlüsse miteinander kurzgeschlossen
sein. Eine weiterreichende Auflösung ist nicht sinnvoll, denn es ist
für das logische Verhalten gleichgültig, ob ein Leerlauf auf eine
Leiterbahnunterbrechung oder ein fehlerhaftes Kontaktloch
zurückzuführen ist. Gleiches gilt für
Kurzschlüsse.
Eine Auswertung der Tabelle ergibt, daa nur 2
unterschiedliche logische Fehlverhalten auftreten. In den Fällen B1, B2
und B10 liegt am Ausgang unabhängig vom Signal am Eingang stets eine
logische 0 an. Da der Ausgang B also stets auf einer logischen 0 haftet ,
nennt man solche Fehler Haftfehler (stuck-at-fault), in diesem Fall ein
"ständig auf 0"-Fehler oder "stuck-at-0" (sa0)-fault. Dementsprechend
können die Spalten B4 bis B9 der Tabelle durch einen "ständig auf
1"-Fehler (sa1) am Ausgang beschrieben werden. Der Kurzschlua zwischen Gate
und Source am selbstleitenden Lasttransistor T1 entspricht einem normalen
Kurzschlua und stellt keinen Fehler dar.
Ähnlich wie für NMOS-Inverter lassen
sich auch die Fehler für die übrigen Gatter behandeln. Es ergibt
sich, daa das Haftfehlermodell dann gilt, wenn sich alle physikalischen Defekte
innerhalb eines Gatters so auswirken, daa ein Gatterausgang oder -eingang
ständig den Signalwert 0 oder 1 annimmt. An einem Gatter mit m
Eingängen und einem Ausgang können demnach 2 (m + 1) Haftfehler
modelliert
Bild 3.1 Inverter in
NMOS-Technologie
Auswirkungen möglicher Fehler auf das
logische Verhalten eines Inverters in NMOS-Technologie
A : 1 0 Eingang
B : 0 1 fehlerfrei
B1 : 0 0 T1 : Drain
leerlaufend
B2 : 0 0 T1 : Source
leerlaufend
B3 : 0 1 T1 : Gate-Source
kurzgeschlossen
B4 : 1 1 T1 : Drain-Source
kurzgeschlossen
B5 : 1 1 T1 : Drain-Gate
kurzgeschlossen
B6 : 1 1 T2 : Drain
leerlaufend
B7 : 1 1 T2 : Source
leerlaufend
B8 : 1 1 T2 : Gate
leerlaufend
B9 : 1 1 T2 : Gate-Source
kurzgeschlossen
B10: 0 0 T2 : Drain-Source
kurzgeschlossen
werden. Dabei wird angenommen, daa immer nur ein
einziger Fehler vorliegt, was nicht immer der Realität entspricht. Falls
jedoch mehrere Signalleitungen gleichzeitig fehlerhaft sind, müßte
jede Kombination aller Fehler berücksichtigt werden. Das ergäbe
jedoch eine exponentiell mit der Anzahl der mögliche Fehlerorte
ansteigende Anzahl von Fehlerkombinationen (bei 10 Fehlerorten fast 60000
Kombinationen). Der hierfür nötige Testaufwand wäre bereits
nicht mehr vertretbar. Deshalb werden nur Einzelfehler behandelt, d.h. nur
jeweils ein Ort wird auf sa0 oder sa1 untersucht, während die restliche
Schaltung als fehlerfrei angenommen wird. Dieses Modell reduziert die Anzahl
der möglichen Fehlerkombinationen wesentlich, und deckt gleichzeitig
einen Großteil der Mehrfachfehler mit ab.
Eine Einschränkung mua hierbei nur bei
redundanten Schaltungen vorgenommen werden. Liegt ein Fehler in einem
redundanten Schaltungsteil, so ist er prinzipiell nicht erkennbar, da die
Funktion im Fehlerfall unbeeinträchtigt bleibt. Darartige Fehler sind
jedoch besonders kritisch, da sie das Aufdecken anderer, an und für sich
aufdeckbarer Fehler verhindern können. Deshalb sollen Schaltungen so
ausgeführt werden, daa sie möglichst keine Redundanzen
enthalten.
Das Modell des Haftfehlers ist aufgrund seiner
Einfachheit weit verbreitet, und deckt die physikalischen
Fehlermöglichkeiten weitgehend ab. In einigen Fällen jedoch
versagt die Modellvorstellung. Nicht immer sind elektrischer Schaltplan und
die logische Schaltungsbeschreibung vollkommen äquivalent. Mitunter
existieren in der elektrischen Darstellung Verbindungen, die in der logischen
Beschreibung nicht auftreten und umgekehrt. Dies führt dazu, daa gewisse
Unterbrechungen und Kurzschlüsse zwar physikalisch möglich sind,
aber im logischen Schaltplan nicht repräsentiert werden.Auch lassen
sich Kurzschlußfehler zwischen benachbarten Signalleitungen auf der
Gatterebene vielfach nur unzulänglich durch Haftfehler
berücksichtigen. Derartige Fehler wirken sich in den meisten Technologien
als verdrahtete UND- oder ODER-Verknüpfung aus und können damit
direkt oder durch ein entsprechendes zusätzliches Gatter modelliert
werden. Erheblich größere Schwierigkeiten dagegen bereiten
Kurzschlußfehler, die zu Rückkopplungen führen. In jedem
Fall sind dataillierte Layoutkenntnisse erforderlich, um aus der Vielzahl
von möglichen Kombinationen die wesentlichen auswählen zu
können. Der damit verbundene Aufwand, Schwierigkeiten bei der Modellierung
sowie seltenes Auftreten führen dazu, daa derartigen Erweiterungen in
der Praxis nicht durch strukturorientierte Fehlermodelle berücksichtigt
werden.
Trotz seiner Nachteile ist das stuck-at-fault
Modell das meistgenutzte Fehlermodell, und hat sich für die Bipolar- und
MOS-Technologie gut bewährt. Für die Behandlung von Fehlern in
CMOS-Schaltungen mua jedoch ein weiterer Fehlertyp behandelt werden: der
"ständig offen" Fehler (stuck open fault; sop) beschreibt, daa ein
Signalpfad unterbrochen und damit nie aktivierbar ist. Dies kann dazu
führen, daa sich der getriebene Schaltungsknoten fehlerhaft im
hochohmigen Zustand befindet.
Bild 3.2 NOR-Gatter in
CMOS-Technologie
Auswirkungen möglicher Fehler auf das
logische Verhalten eines CMOS-NOR-Gatters (Z*: vorheriger Zustand des
Ausgangsknotens)
A : 0 0 1 1 Eingang
1
B : 0 1 0 1 Eingang
2
Z : 1 0 0 0
fehlerfrei
Z1: 1 0 1 0 A :
sa0
Z2: 0 0 0 0 A :
sa1
Z3: 1 1 0 0 B :
sa0
Z4: 0 0 0 0 B :
sa1
Z5: 0 0 0 0 Z :
sa0
Z6 1 1 1 1 Z :
sa1
Z7: 1 0 Z* 0 T3 :
sop
Z8: 1 Z* 0 0 T4 :
sop
Z9: Z* 0 0 0 T1, T2:
sop
Bei MOS-Gattern können die
Gatekapazitäten der nachfolgenden Stufen als konzentrierte Kapazität
C am Gatterausgangsknoten angenommen werden (Bild 3.2). Diese wird im
fehlerfreien Fall entweder aufgeladen oder entladen. Fehlerbedingt kann
der Ausgangsknoten jedoch von der treibenden Logik isoliert sein. Die
Kapazität hält dann den vorangegangenen Pegel aufrecht. Ein
ursprünglich rein kombinatorisches MOS-Gatter kann im Fehlerfall
also durchaus sequentielles Verhalten annehmen. Diese Fälle sind in
Z7 bis Z9 dargestellt. Diese sop-Fehler müssen durch eine spezielle
Initialisierung sichtbar gemacht werden. So mua für den Fehler Z7 der
Ausgang zunächst mit einer 1 geladen werden, und anschließend durch
A=1, B=0 überprüft werden, ob der pull-down-Zweig über
Transistor T3 aktivierbar ist, um den Knoten wieder auf 0 zu entladen. Im
Fehlerfall bleibt die 1 gespeichert, und der Fehler ist
erkennbar.
Um die vorhandene, meist auf dem Haftfehlermodell
basierende Software zur Testmustergenerierung und zur Fehlersimulation auf
der Gatterebene nutzen zu können, mua der CMOS sop-Fehler in geeigneter
Weise auf das bewährte Haftfehlermodell abgebildet werden. In der hier
gezeigten Variante wird die Speicherfähigkeit des fehlerhaften Gatters
durch ein Flip-Flop im Simulationsmodell erreicht.
Bild 3.3 CMOS-NOR-Gatter mit
Unterbrechungsfehlern und
zugehöriges
Simulationsmodell
Äquivalenz zwischen Leitungsunterbrechungen
und logischen Haftfehlern für ein CMOS-Gatter nach Bild
3.3.
Physikalischer Fehler Äquivalenter
Haftfehler
a l1
sa1
b l2
sa1
c l3
sa0
d l4
sa0
Eine Unterbrechung an den Punkten a bis d in Bild
3.3 ist gamäa der angeführten Tabelle einem Haftfehler im
Simulationsmodell äquivalent, und führt bei Anliegen des
fehlererkennenden Musters am RS-Flip-Flop stets auf den Zustand R=0, S=0,
sodaa dessen alter Zustand erhalten bleibt. Da CMOS sop aufgrund der
Zeitkonstanten der Leckströme nur unter Echtzeitbedingungen erkannt
werden, trifft das Modell erst bei einer ausreichend hohen Taktrate zu.
3.1.3 Funktionsorientiertes
Fehlermodell
Bei unbekannter Schaltungsstruktur sind die bisher
behandelten strutkurorientierten Fehelermodelle nicht anwendbar. Oftmals
scheitert die Anwendbarkeit trotz bekannter Struktur an der Komplexität der
Schaltung. Ist lediglich die Funktion einer Schaltung bekannt, müssen
Fehlermodelle auf einer höheren, funktionalen Ebene definiert werden.
Hier ist aber ein erheblicher Aufwand nötig, die Gültigkeit der
Modellierung und die Qualität der darauf basierenden Testverfahren zu
beweisen.
Häufig wird der Prüfling dabei auf eine
bestimmte Anzahl von Registern und Operatoren reduziert, die die
Fähigkeit haben Daten in Registern zu speichern, zwischen Registern zu
transferieren und mittels der Operatoren beim Transfer zu
modifizieren.
3.2
Testmustererzeugung
Die Hauptaufgabe in der Vorbereitung eines Tests
liegt in der Erzeugung geeigneter Testmuster. Diese sollen so gestaltet sein,
daa sie mit möglichst wenigen Testmustern möglichst alle
Fehlermöglichkeiten abdecken.
Die Vefahren zur Erzeugung von Testmustern
lassen sich wieder in 2 Gruppen aufteilen:
Die strukturorientierten Verfahren,
denen die Schaltungsstruktur auf Gatterebene zugrunde gelegt wird, und die
funktionsorientierten Verfahren, die dann verwendet werden, wenn die Struktur
auf Gatterebene unbekannt oder zu komplex ist (vergleiche
Fehlermodelle!)
Bei den strukturorientierten Verfahren werden
unter Verwendung strukturorientierter Fehlermodelle (meist Haftfehler)
Testmuster bestimmt, welche eine Überprüfung der korrekten
Realisierung ermöglichen. Die strukturelle Testmustererzeugung basiert
meist auf der sogenannten "Pfadsensibilisierung". Durch Ausbildung eines
sensiblen Pfades wird jede Signaländerung auf diesem Pfad am Ausgang der
Schaltung beobachtet. Ein Test sämtlicher möglicher Signalpfade
überprüft die Struktur der Schaltung, womit gleichzeitig die
Funktion der Schaltung bei allen möglichen Eingangssignalen
bestätigt ist.
Bei den fumktionsorientierten Verfahren wird der
Prüfling als geschlossene Einheit betrachtet. Aus einer
Funktionsbeschreibung in Form von Gleichungen oder Tabellen wird ein
abstraktes Schaltungsmodell, z.B. auf Registerebene abgeleitet, für das
unter Verwendung bestimmter funktionsorientierter Fehlermodelle die Testmuster
erzeugt werden.
Die Testmustererzeugung selbst erfolgt meist
rechnergestützt mit automatischen Testmustererzeugungssystemen (ATPG)
die für jede der beiden Hauptrichtungen mehrere Verfahren anbieten.
Die Auswahl des geeigneteten Testmustererzeugungsverfahrens obliegt dem
Benutzer. Mögliche Kriterien bei der Auswahl eines Verfahrens
sind:
- geringer Rechenzeitbedarf bei der
Mustererzeugung
- kurze Testlänge (geringe Anzahl von
Mustern) für minimale Testzeit
- einfache Generierung der Testmuster während
des Tests
3.2.1 Testmuster für kombinatorische
Schaltungen
Eine kombinatorische Schaltung ist dadurch
gekennzeichnet, daa sie gedächtnislos auf die Eingangsdaten reagiert. Das
Verhalten der Ausgänge ist somit eindeutig als Funktion der
Eingänge zum aktuellen Zeitpunkt darstellbar.
Ein Fehler kann nur dann durch ein Testmuster
erkannt werden, wenn das Testmuster im Fehlerfall ein anderes Ergebnis
liefert als bei funktionierender Schaltung. Als Beispiel sei hier die
Schaltung in Bild 3.8 angeführt.
Bild 3.4 Beispielschaltung mit 2 möglichen
Haftfehlern
Diese Schaltung realisiert normalerweise
folgende Funktion:
Z = A B + B C
Beim Auftreten des Fehlers , Eingang B sa1
verändert sich die Schaltfunktion zu:
Z = A + C
mit den entsprechenden Abweichungen in
der Funktionstabelle:
Nr A B C Z Z
Z
0 0 0 0 0 0
0
1 0 0 1 0 1
0
2 0 1 0 0 0
0
3 0 1 1 1 1
1
4 1 0 0 0 1
1
5 1 0 1 0 1
1
6 1 1 0 1 1
1
7 1 1 1 1 1
1
Die Funktionstabelle verdeutlicht, daa der Fehler
durch 3 Eingangsvektoren entdeckbar ist; die Testmuster lauten (0,0,1),
(1,0,0) und (1,0,1). Wie für diesen Fehler lassen sich auch die
Testmuster für die übrigen Fehler durch Vergleich der Testmuster
herleiten. Dabei ergibt sich, daa sämtlich Fehler mit nur 4 Testmustern
entdeckt werden können, gegenüber 8 beim vollständigen Test.
Es wird jedoch deutlich, daa diese Methode in dieser Form speziell bei
größeren Netzwerken einen sehr großen Arbeitsaufwand darstellt
und somit unrentabel ist.
Es gibt aber eine möglichkeit, diese
Methode zu "mathematisieren" und mit weniger Aufwand lösbar zu
machen:
Für ein Testmuster, das einen Fehler erkennt
gilt:
Z + ZF = 1
womit sich für den Fehler
ergibt:
(A B + B C) + (A + B) = 1 = A B + B
C
Diese Gleichung wird genau für die 3
Testmuster erfüllt, die fehlererkennend wirken.
Entsprechend ergeben sich die Testmuster, die
für Fehler fehlererkennend wirken zu (1,0,0) und (1,0,1). Diese
Testmuster entdecken aber auch den Fehler . Tritt nun während des
Tests bei einem dieser Testmuster ein Fehler auf, kann nicht zwischen
dem Fehler und dem Fehler unterschieden werden. Dazu
benötigt man ein anderes Testmuster, das diese beiden Fehler zu
unterscheiden vermag. Analog zur Bedingung für fehlerentdeckende
Testmuster lautet diese:
ZF1 + ZF2 = 1
Für das oben angeführte Beispiel
ergibt sich dann das Testmuster (0,0,1) zur Unterscheidung zwischen
diesen beiden Fehlern.
Fehlerunterscheidende Testmuster werden, wie
bereits erwähnt, zu Lokalisierung des Fehlerortes benötigt. Durch
die Notwendigkeit von zusätzlichen fehlerunterscheidenden Testmustern,
kann der Test aber insgesamt stark vergrößert werden, weshalb man
diese Testmuster meist nur in der Entwicklugsphase oder wenn der Prüfling
durch eine Fehlerlokalisierung repariert werden kann benützt, was aber im
allgemeinen nur bei Speichern möglich ist.
Da diese Methode mit steigender
Schaltungskomplexität sehr schnell immer rechenintensiver wird, wendet
man sie hauptsächlich für kleine Schaltungen
an.
Bei größeren Schaltungen wendet man
die Methode der Pfadsensibilisierung an, bei der die Eingänge aller
Gatter so belegt werden, daa der Ausgang nur noch von einem einzigen Pfad
abhängt. Die einzelnen Gatter schalten das Signal dann entweder nur mehr
durch, oder invertieren es.
Regeln für die
Gattersensibilisierung:
Gattertyp Belegung der übrigen
GAttereingänge
AND, NAND alle logisch
1
OR, NOR alle logisch
0
Inverter, EXOR keine
Bedingungen
Bild 3.5 Beispielschaltung zur
Pfadsensibilisierung
Diese Schaltung kann gegenüber einem Fehler
am Punkt a sensibilisiert werden, indem man den Zustand von Gatter 3 und 4
nur noch vom Zustand des Gatters 1 abhängig macht.
Dies kann geschehen durch C = 0, D = 1. Durch C
= 0 ist das Signal am Punkt b sicher 0, und damit der Ausgangszustand des
Gatters 3 nur noch vom Signal am Punkt a abhängig, und durch D = 1 ist
das Ausgangssignal nur noch von Gatter 3 abhängig.
3.2.3 Testmuster für sequentielle
Schaltungen
Diese ähneln prinzipiell denen für
kombinatorische Schaltungen, es ist jedoch zu beachten, daa nach dem
Einschalten ein undefinierter Zustand vorliegt, sodaa das Schaltwerk entweder
zunächst initialisiert werden mua (einfachste Möglichkeit:
über hardwaremäßigen Rücksetzeingang) oder daa vom
Anfangszstand unabhängige Testmuster gewählt werden, was meist
bevorzugt wird.
Die Testmustererzeugung selbst erfolgt meist
durch Auftrennung der Rückkopplungsleitungen der Schaltung, und
Überleiten in ein kombinatorisches Netzwerk.
Bild 3.6 allgemeines Modell einer
sequentiellen
Schaltung; m Eingänge, n Registerzellen, p
Ausgänge
Bild 3.7 sequentielles Modell
übergeleitet in ein
kombinatorisches
Die sequentielle Schaltung wird hierbei durch
Momentaufnahmen der Schaltung zu bestimmten Zeitpunkten
dargestellt.
Für dieses nun wieder rein kombinatorische
Modell können mit Hilfe der hierfür benützbaren Verfahren die
Fehler bestimmt werden. Da die Testmustererzeugung selbst aber durch
wiederholte Anwendung der bekannten Pfadsensibilisierungsverfahren auf jede
der erforderlichen Zellen des umgewandelten Modells durchgeführt werden
muß, und die Sensibilisierung durch sämtliche Speicherstufen
hindurch erfolgen muß, kommt man hier sehr bald zu einer Grenze, die
durch den benötigten Speicherplatz und die Rechenzeit hervorgerufen
wird.
Für solche Fälle wird dann auf
funktionsorientierte Verfahren übergegangen, die nur von der
"Automatentafel" des Systems abhängen, und damit
realisationsunabhängig sind. Hierbei werden Testfolgen bestimmt, die
prüfen, ob die zu testende Schaltung fehlerfrei ist.
Die Ausführung dieser Verfahren kann
aufgrund Ihrer Komplexität hier nicht angeführt werden, sie ist in
geeigneter Literatur (E.F. Moore: experiments on sequential machines
Princeton University Press 1956; Z. Kohavi, P.Lavallee: Design of
sequential machines with fault detection capabilities IEE Trans. EC-16
1967; C.E. Holborow: An improved bound on the length of checking
sequential machines with counter cycles IEEE Trans. C-21 1976; H. Fujiwara
et al.: Easily testable sequential machines with extra inputs IEEE Trans.
C-24 1975) beschrieben.
3.4 Testen digitaler
Speicher
Speicher stellen in der Digitaltechnik eine
Sonderstellung dar. Einerseits erlauben sie aufgrund ihres
regelmäßigen Aufbaus relativ einfache Testmuster, andererseits
haben sie eine sehr große Anzahl von Speicherplätzen, weshalb der
Test relativ umfangreich wird.
Bild 3.8 typischer Aufbau eines
RAM`s
Beim Test eines Speichers (RAM`s) müssen
folgende Bestandteile getestet werden:
- die Speichermatrix selbst
- die Zeilen- und
Spaltendekodierung
- die Schreib und
Leseverstärker
RAM`s werden aufgeteilt in statische RAM`s, die
die Information in Flip-Flop`s speichern, und dynamische RAM`s, die eine
sogenannte Ein-Transistor-Zelle mit einer Kapazität als Speichermedium
verwenden. Statische RAM`s sind relativ störungsunempfindlich, aber in der
Realisierung aufwendiger, weshalb sich keine so hohen Packungsdichten erreichen
lassen, sodaa heute meistens auf dynamische RAM`s übergegangen wird.
Dynamische RAM`s schaffen eine etwa um den Faktor
4 höhere Packungsdichte, sind aber durch parasitäre Leckströme
in den Kapazitäten flüchtig, und müssen nach bestimmten
Zeitabständen wieder aufgefrischt werden. Bei den
Refresh-Vorgängen wird im allgemeinen eine ganze Zeile oder Spalte eines
DRAM`s gleichzietig aufgefrischt.
Durch die höhere Packungsdichte werden die
DRAM`s aber wesentlich störempfindlicher, da die Struktur immer
kleiner wird. Durch die Verkleinerung der Struktur werden auch die
Kapazitätswerte immer kleiner, sie liegt heute nur mehr knapp über
dem mindestnotwendigen Wert, um gegen den Treffer eines -Teilchens
resistent zu sein. Als weitere Folge der erhöhten Packungsdichte treten
vermehrt Kopplungsfehler auf, die durch Beeinflußung benachbarter Zellen
entstehen.
Die reine Speicherfähigkeit läßt
sich durch einfaches Schreiben und Lesen jeder Zelle überprüfen.
Andere Fehler, wie etwa Musterabhängigkeiten der Speicherfunktion,
Refresh-Fehler oder mangelnde Leseverstärkererholung, sind entweder von
verschiedenen Adreß- und Datenkombinationen abhängig, oder treten
als unzureichendes Zeitverhalten in Erscheinung und erfordern eine Test
unter Echtzeitbedingungen.
3.4.1
Speichertestmuster
Es gibt für den Test eines Speichers
verschiedene gebräuchliche Speichertestmuster, von denen einige der am
häufigsten angewendeten im folgenden kurz beschrieben
werden.
In der folgenden Tabelle sind einige von
diesen Tests angeführt, wobei die Ordnung des Tests die Anzahl der
Schreib bzw. Leseoperationen für ein n-Bit-RAM ist. Die angegebenen
Testzeiten gelten für ein 256kBit-RAM mit 100ns
Zykluszeit.
Name Ordnung
Testzeit
Column Bars 4n
0,1 s
Checkerboard 4n
0,1 s
MASET 12n
0,3 s
Marching Ones and Zeros (MARCH) 12n
0,3 s
Shifting Diagonal (DIAPAT) 4n3/2
53,7 s
Ping-Pong (Zeile-Spalte) n3/2
13,4 s
Ping-Pong (vollständig) n2
1,9 h
Walking Ones and Zeros (WALPAT) 2n2 + 6n
3,8 h
Galloping Ones and Zeros (GALPAT I) 2n2 + 8n
3,8 h
GALPAT II 8n2 - 4n
15,3 h
Allen Testmustern ist gemeinsam, daa stets eine
Speicherzelle geschrieben oder gelesen wird. Der wesentliche Unterschied
liegt in der Belegung der restlichen Speicherzellen, die als
Hintergrundmuster (background pattern) bezeichnet werden, sowie in der
Reihenfolge der Zugriffe auf die Bezugszelle und die Störzellen, welche
die Bezugsquelle beeinflußen können.
Column Bars ist eine der einfachsten
Testmusterfolgen. Hier werden zunächst die Spalten der Speichermatrix
abwechselnd mit Nullen und Einsen beschrieben, und anschließend
wieder ausgelesen. Der gleiche Vorgang wiederholt sich mit den
komplementären Daten. Auf diese Weise lassen sich
Kurzschlüße zwischen den Zellen entdecken. Außerdem eignet
sich die Testfolge für einen Refreshtest.
Ein Refreshtest läßt sich auch mit
Checkerboard durchführen. Hierbei werden die Speicherzellen so mit
Nullen und Einsen belegt, daa ein Schachbrettmuster entsteht.
Anschließend wird diese Belegung überprüft, und der Ablauf mit
der komplementären Testfolge wiederholt. Im wesentlichen
überprüft auch dieser Test die Speicherfähigkeit jeder
Zelle.
Eine Erweiterung von Checkerboard wird als
MASET bezeichnet. Der wesentlich Unterschied ist hierbei die Reihenfolge
des Zugriffs auf die Speicherzellen: 0, n-1, 0, 1, n-2, 1, 2, n-3 ... ,
wobei 0 die niedrigste Speicheradresse darstellt, und n-1 die höchste. In
Abbildung 3.9 ist der Speicherzugriff für ein 16 Bit RAM verdeutlicht.
Nach nochmaligem Lesen sämtlicher Speicherzellen in umgekehrter
Reihenfolge wird der gesamte Vorgang für das komplementäre
Schachbrettmuster wiederholt. MASET testet außer der prinzipiellen
Speicherfähigkeit vor allem die Dekodierlogik. Dabei wird vorausgesetzt,
daa die Speicherorganisation mit den Adressen übereinstimmt. andernfalls
wird ein Umrechnen (Scramblen) der Adressen notwendig.
Bild 3.9 Adreßreihenfolge bei
MASET
MARCH ist eine ähnliche Testfolge. Hierbei
wird ausgegangen von einer vollständig mit 0 beschriebenen Speichermatrix,
bei der zunächst in aufsteigender Adreßrreihenfolge zunächst
die 0 verifiziert, und anschließend eine 1 in das Register geschrieben
wird. Nachdem dieser Vorgang abgeschlossen ist, wird er mit abnehmenden
Adresssen für die Umbelegung von 1 zu 0 durchgeführt. Der ganze
Test wird anschließend nochmals von einer komplementären
Anfangsbelegung (alle 1) ausgehend durchgeführt (aufsteigend Beschreiben
mit 0; abfallend Beschreiben mit 1). Mit diesem Test wird die
Speicherfähigkeit jeder Zelle und der größte Teil der
Dekodierlogik überprüft, und es werden einfache Wechselwirkungen
zwischen den Speicherzellen aufgedeckt.
Bild 3.10 Adreßreihenfolge bie
MARCH
Die Diagonalverschiebung DIAPAT ist vor allem
eine Testfolge zur Überprüfung der Schreib-/Leseverstärker.
Insbesondere soll unzureichende Erholung der Leseverstärker
festgestellt werden. Dies wird dadurch erreicht, daa nach dem Lesen einer
langen Reihe gleicher logischer Werte der Wechsel zum komplementären Wert
verzögert wird, wenn die Erholung unzureichend
ist.
Bild 3.11 Adreßreihenfolge bei
DIAPAT
Der Test beginnt mit einer 1 in
sämtlichen Zellen einer Diagonalen einer Speichermatrix (Pos. 1 bis 4
in Bild 3.11). Alle übrigen Speicherzellen enthalten eine 0. Durch
spaltenweises Lesen entstehen nun lange Folgen von 0, die in
regelmäßigen Abständen von einer 1 unterbrochen werden. Sind
alle Spalten gelsesen, erfolgt das Verschieben der Anfangsbelegung um eine
Position (dann 1 in Pos. 2 bis 5 in Bild 3.11). Der Lesevorgang wiederholt
sich nun. Das Verschieben wird solange fortgesetzt, bis die Anfangsbelegung
wieder erreicht ist. Der gesamte Ablauf wird nun mit komplementären Daten
wiederholt.
Bei den bisher vorgestellten Testfolgen
wurden Wechselwirkungen zwischen den einzelnen Speicherzellen, besonders
Musterempfindlichkeiten, nicht gesondert betrachtet. Hierfür sind die als
"Walking-Patterns" (WAKPAT) oder als "Galloping-Patterns" (GALPAT)
bezeichneten Testfolgen geeignet. Jede Zelle wird als Bezugszelle dem
Einflua unterschiedlicher Störzellen ausgesetzt, um die
Unabhängigkeit der Zellen und damit die statische Musterempfindlichkeit
überprüfen zu können. Dabei findet die sogenannte
"Ping-Pong"-Testfolge Anwendung. Beim vollständigen Ping-Pong wird
die Beeinflußbarkeit der Bezugszelle durch alle übrigen Zellen der
Speichermatrix behandelt. Der Aufwand läßt sich jedoch durch
Beschränkung auf benachbarte Zellen, die in der gleichen Zeile oder
Spalte angeordnet sind, wesentlich reduzieren. WAKPAT und GALPAT sind
jeweils spezielle Applikationen der
Ping-Pong-Testfolge.
Bei WAKPAT wurd zunächst
jede Zelle der Matrix mit einer 0 geladen. Dann wird die erste Zelle als
Bezugszelle ausgewählt, und mit einer 1 beschrieben, die 0 in den
Störzellen verifiziert, und schließlich überprüft, ob
die 1 in der Bezugszelle noch vorhanden ist. Dann wird diese mit einer 0
überschrieben, und der gesamte Vorgang wiederholt sich für die
nächste Bezugszelle. Sind alle Zellen auf diese Weise behandelt, erfolgt
der Test mit komplementären Daten.
Eine Variation dieses Tests ist GALPAT,
bei dem die Verifikation der Bezugszelle im Anschlua an das Lesen einer jeden
Störzelle erfolgt, sodaa mehr Lesezyklen erforderlich sind. Auf diese
Weise werden während des Lesens alle mögliche
Adreßübergänge mit allen möglichen
Datenübergängen geprüft. Eine mit GALPAT II bezeichnete
Modifikation bezieht die Abhängigkeit von Datenänderungen in
Zellenpaaren mit ein, sodaa dynamische Musterempfindlichkeiten entdeckt werden
können.
Anhang
Literaturverzeichnis
Meß und Prüftechnik (Halbleiter
Elektronik Band 20)
Manfred
Zerbst
Springer Verlag
1986
|