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.
|