Fehlersuche
Fehlersuche
auf
Integrierten Schaltkreisen
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
Anmerkungen: |
| impressum | datenschutz
© Copyright Artikelpedia.com