-
Die
vorliegende Erfindung betrifft ein Verfahren zur Individualisierung
eines Elements einer integrierten Schaltung.
-
Um
die Analyse einer integrierten Schaltung vornehmen zu können, die
auf einem Halbleiter-Substrat gebildet ist, ist es erforderlich,
optischen Analysen der in Betrieb befindlichen Schaltung auszuführen, beispielsweise
durch Lichtemissions-Mikroskopie oder mit Hilfe eines elektronischen
Rastermikroskops.
-
Die
FR 2 786 011 beschreibt ein graphisches Verfahren zum Vergleichen
des Verhaltens von zwei integrierten Schaltungen. Eine graphische
Operation wird an den Bildern der Schaltung ausgeführt (beispielsweise
einem Elektronenstrahlbild), welche die Elemente der integrierten
Schaltung mit einem unterschiedlichen Verhalten zeigt.
-
Es
ist jedenfalls schwierig, auf der realen Schaltung den exakten Punkt
der Schaltung festzustellen, an dem die Maßnahme durchzuführen ist.
Diese Feststellung ist um so schwieriger, als in zahlreichen Fällen, beispielsweise
bei den programmierbaren Schaltungen, die exakte Konfiguration der
realen Schaltung nicht bekannt ist. Daher stehen reale Koordinaten
der Bahnen der Schaltung nicht zur Verfügung. Außerdem ist die Größe der Bahnen
der Schaltung oft kleiner als der Positionierungsfehler des Gerätes zur
Beobachtung der Schaltung.
-
Im
Gegensatz dazu steht der elektrische Schaltplan der Schaltung im
Allgemeinen zur Verfügung, selbst
wenn die reale Auslegung der Schaltung auf dem Halbleiter-Substrat
nicht verfügbar
ist.
-
Die
Aufgabe der Erfindung ist es, ein Verfahren zur Individualisierung
eines Elements einer integrierten Schaltung vorzuschlagen, deren
reale Auslegung nicht notwendigerweise bekannt ist, das es ausgehend
von der theoretischen Auslegung der Schaltung ermöglicht,
beispielsweise ein Maßnehmen
direkt an der realen Schaltung an der Stelle des auf diese Weise
individualisierten Elements der Schaltung durchzuführen.
-
Zu
diesem Zweck ist der Gegenstand der Erfindung ein Verfahren zur
Individualisierung eines Elements einer integrierten Schaltung,
dadurch gekennzeichnet, dass es die Schritte enthält, die
bestehen aus:
- a) auf der Basis eines Schaltungsmodells
einen Satz von Vektoren festlegen, von denen jeder einem theoretischen
Funktionszeitpunkt der Schaltung während der Anwendung einer vorgegebenen
Testsequenz entspricht, wobei die Koeffizienten jedes Vektors für den Zustand
eines gleichen Satzes von Elementen der Schaltung repräsentativ
sind, zu denen das zu individualisierende Element gehört;
- b) ausgehend von einem Vergleich der Vektoren eine Zusammensetzung
von logischen Operatoren definieren, die auf die Vektoren angewendet
werden und es ermöglichen,
den Koeffizienten zu extrahieren, der den zu individualisierenden
Elementen entspricht;
- c) Bilder der Schaltung während
des Betriebs in den Augenblicken umsetzen, die den Vektoren entsprechen,
auf welche die Zusammensetzung von logischen Operatoren angewendet
wird; und
- d) die umgesetzten Bilder gemäß einer Zusammensetzung von
graphischen Operatoren, die der Zusammensetzung von logischen Operatoren
entspricht, graphisch kombinieren.
-
Gemäß speziellen
Ausführungsformen
umfasst das Verfahren eine oder mehrere der folgenden Eigenschaften:
- – der
Schritt b) des Definierens einer Zusammensetzung von logischen Operatoren
umfasst einen rekursiven Schritt zum Vergleichen eines Vektors der
Matrix und eines Vektorergebnisses, das aus einem vorherigen Vergleich
erhalten wurde;
- – der
Schritt b) des Definierens einer Zusammensetzung von logischen Operatoren
umfasst die Ausarbeitung eines Zweigs, dessen Knoten aus den Ergebnissen
der ausgeführten
Vergleiche gebildet werden;
- – der
Satz von Vektoren ist ein Satz von binären Vektoren, wobei die Koeffizienten
für den
logischen Zustand des damit verbundenen Schaltungselements repräsentativ
sind;
- – der
Satz von Vektoren ist ein Satz von ternären Vektoren, wobei die Koeffizienten
für eine Änderung
des logischen Zustands des damit verbundenen Schaltungselements
repräsentativ
sind; und
- – es
enthält
vor dem Schritt b) des Definierens einer Zusammensetzung von logischen
Operatoren einen Klassifizierungsschrift für die Vektoren, um ihre Vielfalt
zu erhöhen.
-
Gegenstand
der Erfindung ist ferner eine Vorrichtung zur Individualisierung
eines Elements einer integrierten Schaltung, dadurch gekennzeichnet,
dass sie Folgendes umfasst:
- – Mittel,
um auf der Basis eines Schaltungsmodells einen Satz von Vektoren
festzulegen, von denen jeder einem theoretischen Funktionszeitpunkt
der Schaltung während
der Anwendung einer vorgegebenen Testsequenz entspricht, wobei die
Koeffizienten jedes Vektors für
den Zustand eines gleichen Satzes von Elementen der Schaltung repräsentativ
sind, zu denen das zu individualisierende Element gehört;
- – Mittel,
um ausgehend von einem Vergleich der Vektoren eine Zusammensetzung
von logischen Operatoren zu definieren, die auf die Vektoren angewendet
werden und es ermöglichen,
den Koeffizienten zu extrahieren, der den zu individualisierenden
Elementen entspricht;
- – Mittel,
um Bilder der Schaltung während
des Betriebs in den Augenblicken umzusetzen, die den Vektoren entsprechen,
auf welche die Zusammensetzung von logischen Operatoren angewendet
wird; und
- – Mittel,
um die umgesetzten Bilder gemäß einer
Zusammensetzung von graphischen Operatoren, die der Zusammensetzung
von logischen Operatoren entspricht, graphisch zu kombinieren.
-
Die
Erfindung ist mit Hilfe der folgenden Beschreibung, die nur als
Beispiel angeführt
wird und sich auf die folgenden Zeichnungen bezieht, besser verständlich,
in denen:
-
1 ein
Organigramm des Verfahrens zur Individualisierung eines Elements
einer integrierten Schaltung gemäß der Erfindung
ist;
-
2 eine
Darstellung eines binären
Zweigs ist, der im Lauf der Umsetzung des Algorithmus erhalten wird,
der im Organigramm der 1 dargestellt ist;
-
3 eine
Darstellung eines binären
Zweigs ist, der die umzusetzenden Bildkombinationen zum Individualisieren
der verschiedenen Elemente einer integrierten Schaltung darstellt;
-
4 eine
Draufsicht eines Teils einer integrierten Schaltung ist;
-
5 bis 15 zu 4 analoge
Ansichten während
der Anwendung von verschiedenen Testvektoren an den Eingängen der
Schaltung sind;
-
16 ein
Organigramm der ersten Schritte des Verfahrens zur Individualisierung
eines Elements einer integrierten Schaltung, ausgehend von einer
ternären
Matrix ist;
-
17 eine
Darstellung eines Zweigs ist, der durch Umsetzen des erfindungsgemäßen Verfahrens ausgehend
von einer ternären
Matrix erhalten wird; und
-
18 ein
Satz von verarbeiteten Bildern eines gleichen Teils einer integrierten
Schaltung ist.
-
Das
erfindungsgemäße Verfahren
ermöglicht
es, auf einer vorhandenen integrierten Schaltung die exakte Position
eines Elements der Schaltung aufzufinden, wie beispielsweise eine
Bahn, ohne dass die exakte Auslegung der integrierten Schaltung
bekannt ist. Die Auslegung der Schaltung wird im Allgemeinen mit
dem englischen Begriff "Layout" bezeichnet.
-
Für die Umsetzung
des Algorithmus ist es erforderlich, den elektrischen Schaltplan
der integrierten Schaltung oder wenigstens den logischen Zustand
der verschiedenen Bahnen der Schaltung in Abhängigkeit von einer vorgegebenen
Testsequenz zu kennen, die auf den Eingang der Schaltung angewendet
wird.
-
Das
Auffinden des fehlerhaften Elements erfolgt über ein Bild der Schaltung
oder eines Teils des Schaltung. Dieses Bild wird verarbeitet, so
dass nur das gesuchte Element gezeigt wird, indem dieses in Bezug auf
die anderen Elemente, die normalerweise auf dem Bild der Schaltung
zu sehen sind, individualisiert wird. Nachdem das gesuchte Element
so auf einem Bild der Schaltung individualisiert ist, ist es ausgehend
von den Koordinaten des Elements auf dem Bild möglich, die Position dieses
Elements auf der eigentlichen integrierten Schaltung aufzufinden
und damit eine Messvorrichtung exakt auf dem so identifizierten
Element der Schaltung anzusetzen.
-
Das
erfindungsgemäße Verfahren,
dessen Algorithmus in 1 angegeben ist, umfasst drei
aufeinander folgende Phasen.
-
Die
erste Phase 1 besteht daraus, ausgehend von der theoretischen
Auslegung der integrierten Schaltung eine Datenstruktur aufzubauen,
die für
die theoretische Funktion der Schaltung in Abhängigkeit von einer vorgegebenen
Testsequenz repräsentativ
ist. Vorteilhafterweise weist diese Datenstruktur die Form einer
Matrix M auf, deren Koeffizienten für den logischen Zustand eines
Satzes von bestimmten Elementen der Schaltung während des Anwendens der vorgegebenen
Testsequenz charakteristisch sind.
-
Diese
erste Phase integriert vorher an der Matrix M ausgeführte Verarbeitungsvorgänge. Sie
ermöglichen
die Optimierung der Umsetzung der folgenden Phasen.
-
Die
zweite Phase 2 besteht daraus, einen Zweig zu erhalten,
dessen Struktur repräsentativ
für die
Verarbeitung ist, die an einem Satz von Bildern der in Betrieb befindlichen
Schaltung ausgeführt
werden muss, um eine Individualisierung eines vorgegebenen Elements
der Schaltung auf einem verarbeiteten Bild zu erhalten, das durch
Vergleichen gewisser Bilder der in Betrieb befindlichen Schaltung
erhalten wurde.
-
Die
dritte Phase 3 besteht daraus, Bilder der in Betrieb befindlichen
integrierten Schaltung zu bestimmten Zeitpunkten umzusetzen, die
von der vorgegebenen Testsequenz identifiziert werden, und diese
Bilder gemäß einer
Sequenz zu kombinieren, die von der Struktur des vorher erstellten
Zweigs in Abhängigkeit
von dem Element der Schaltung bereitgestellt wird, dessen Individualisierung
gewünscht
wird.
-
Der
Algorithmus der 1 wird im Folgenden detailliert
und in der Anwendung auf ein Beispiel, das jeden der Schritte veranschaulicht,
beschrieben.
-
Während des
ersten Schritts 10 der Phase 1 wird ein Satz von
Elementen der integrierten Schaltung definiert, die potenziell auf
einem Bild einer in Betrieb befindlichen Schaltung zu sehen sind.
In dem hier betrachteten, sehr vereinfachenden Beispiel wird angenommen,
dass zehn Elemente vorhanden sind und dass sie durch Bahnen gebildet
sind, die in dem supraleitfähigen
Material angeordnet sind. Diese Bahnen sind mit a1 bis
a10 bezeichnet.
-
In
der Praxis ist die gesamte Oberfläche der Schaltung in benachbarte
Zonen aufgeteilt, die beispielsweise aus quadratischen benachbarten
Oberflächen
gebildet sind, die durch ein Raster begrenzt werden. Die so erhaltenen
Bilder von nur einem Teil der integrierten Schaltung enthalten eine
reduzierte Anzahl von potenziell sichtbaren Elementen. Diese Anzahl
liegt bevorzugt zwischen 50 und 100 Elementen pro Bild.
-
Ausgehend
vom elektrischen Schaltplan der Schaltung wird eine Computer-Simulation
ihres Betriebs in Schritt 12 ausgeführt, um die logischen Zustände der
Elemente a1 bis a10 während der
Anwendung einer vorgegebenen Testsequenz auf den Eingang der integrierten
Schaltung zu ermitteln.
-
Diese
Testsequenz besteht darin, vorgegebene Eingangswerte gemäß einer
ebenfalls vorgegebenen Abfolge anzuwenden. Zu jedem Zeitpunkt im
Laufe des Betriebs der Schaltung, wie er durch das Computermodell
simuliert wird, werden die logischen Zustände der Elemente a1 bis
a10 in den Vektoren gespeichert, die mit
b1 bis b10 bezeichnet
sind. Jeder Vektor entspricht einem vorgegebenen Testzeitpunkt und
seine Koeffizienten sind die logischen Zustände der Elemente a1 bis
a10 zu diesem Zeitpunkt.
-
In
dem betrachteten Beispiel werden nur zehn Vektoren b1 bis
b10 berücksichtigt,
die zehn Zeitpunkten von aufeinander folgenden Tests entsprechen.
In der Praxis liegt die Zahl der berücksichtigten Testzeitpunkte zwischen
500 und 1000.
-
Am
Ende der Umsetzung des Schritts 12 ermöglicht es die Computer-Simulation,
eine binäre
Matrix M zu erhalten, wie sie im Folgenden definiert ist.
-
-
In
dieser Matrix werden die Vektoren b1 bis
b10 in Zeilen dargestellt. Als Koeffizienten
umfasst jeder von ihnen Koeffizienten, die für den logischen Zustand der
Elemente a1 bis a10 repräsentativ
sind.
-
Nach
der Definition dieser Matrix M wird ein fakultativer Schritt 14 zum
Umwandeln der binären
Matrix in eine ternäre
Matrix in Abhängigkeit
vom Analysevorrichtungs-Typ
umgesetzt, der für
die Beobachtung der integrierten Schaltung im Betrieb verwendet
werden muss.
-
Wenn
die Analyse-Ausrüstung
aus einem Lichtemissions-Mikroskop
besteht, wird die ursprünglich
gebildete binäre
Matrix in diesem Zustand belassen, so dass der Schritt 14 ausgelassen
wird. Wenn im Gegensatz dazu die Analyse-Ausrüstung
aus einem Raster-Elektronenmikroskop besteht, wird aus der ursprünglich erstellten
binären
Matrix eine ternäre
Matrix gebildet.
-
Für die folgende
Beschreibung des Algorithmus wird angenommen, dass ein Lichtemissions-Mikroskop
verwendet wird, so dass die binäre
Matrix nicht in eine ternäre
Matrix umgewandelt werden muss. Die Umsetzung des Schritts 14 wird
am Ende der vollständigen
Beschreibung des Algorithmus separat beschrieben.
-
In
den folgenden Schritten 16 bis 20, mit welchen
die Phase 1 abgeschlossen wird, werden im Vorfeld Verarbeitungen
an der Matrix M vorgenommen, um die Geschwindigkeit der Umsetzung
des Algorithmus zu erhöhen.
-
Insbesondere
werden in Schritt 16 die Elemente, die in einem Bild des
betrachteten Bereichs der Schaltung nicht präsent sind, unterdrückt. Dazu
werden die Spalten, die potenziell nicht sichtbaren Elementen in
dem betrachteten Bild entsprechen, unterdrückt. Beispielsweise werden
während
der Analyse mit einem Raster-Elektronenmikroskop nur die nicht sichtbaren
Elemente berücksichtigt,
die den verdeckten Metallbahnen entsprechen. Um festzustellen, ob
ein Element sichtbar ist, wird die Entsprechung zwischen den Bezeichnungen
der Elemente des elektrischen Schaltplans und den Nummern der entsprechenden
Vielecke in dem "Layout" verwendet, vorausgesetzt,
dass dieses zur Verfügung
steht.
-
Wenn
für ein
gesuchtes Element kein oberes Vieleck aus Metall mit der entsprechenden "Layout"-Nummer vorhanden
ist, wird die Spalte ausgeschlossen. In Schritt 18 werden
die Zeilen und Spalten der Matrix miteinander verglichen. Die Zeilen
oder identischen Spalten werden unterdrückt, um spätere unnötige Verarbeitungen zu vermeiden.
-
Im
folgenden Schritt 20 werden die Vektoren, die den verschiedenen
Testzeitpunkten entsprechen, so klassifiziert, dass ihre Vielfalt
erhöht
wird. Diese Klassifizierung mit dem Ziel, die Vielfalt zu erhöhen, besteht aus
Permutationen zwischen den verschiedenen Zeilen der Matrix. Diese
Vielfalt wird erhalten, indem die Vektoren in der Reihenfolge von
der stärksten
Gewichtung zur schwächsten
Gewichtung klassifiziert werden, und anschließend die Vektoren reorganisiert
werden, indem die Vektoren mit der stärksten Gewichtung und die Vektoren
mit der schwächsten
Gewichtung abgewechselt werden.
-
In
dem betrachteten Beispiel zur Veranschaulichung der Umsetzung des
Algorithmus wird angenommen, dass alle berücksichtigten Elemente potenziell
in dem Bild vorhanden sind, so dass die Umsetzung des Schritts 16 problemlos
erfolgt.
-
Die
Schritte 16 bis 20 sind fakultativ. Hier wurden
die Schritte 18 und 20 ausgelassen.
-
Am
Ende der Phase 1 zum Definieren der Matrix M wird die Phase 2 zum
Erstellen des binären
Zweigs begonnen.
-
Während dieser
Phase wird ein Satz von Ergebnisvektoren gebildet, die mit rj bezeichnet sind. Diese Vektoren bilden
die Knoten eines binären
Zweigs, der in 2 dargestellt ist. Sie werden
jeweils aus dem Ergebnis des Vergleichs gebildet, der zwischen einem
Vektor bi der Matrix M und einem anderen
Ergebnisvektor rj ausgeführt wird, welcher bereits erhalten
wurde. Der Vergleich der Vektoren erfolgt Koeffizient für Koeffizient durch
die Anwendung von zwei logischen Operatoren, die mit compa0 und
compa1 bezeichnet sind. Die Wahrheitstabellen der zwei Operatoren
compa0 und compa1 sind im Folgenden angegeben.
-
-
-
Für jede der
Wahrheitstabellen sind die möglichen
Werte für
einen ersten Operanden X in der ersten Spalte angegeben, die möglichen
Werte für
einen zweiten Operanden Y sind in der zweiten Spalte angegeben, während das
Ergebnis des logischen Operators, der auf die zwei betrachteten
Operanden angewendet wird, in der letzten Spalte angegeben ist.
-
Die
während
der Umsetzung des Algorithmus erstellten Ergebnisvektoren werden
durch Anwendung des einen oder des anderen der logischen Operatoren
compa0 und compa1 auf einen der vorherigen Ergebnisvektoren rj und auf einen der Vektoren b1 der
vorher gebildeten Matrix M erhalten. Daher weisen die Ergebnisvektoren
rj die gleiche Anzahl von Koeffizienten
auf wie die Vektoren b1 bis b10 der
Matrix.
-
Jeder
Ergebnisvektor rj entspricht einem verarbeiteten
Bild des betrachteten Bereichs der Schaltung. Dieses verarbeitete
Bild wird erhalten durch eine Kombination von realen Bildern, die
von dem betrachteten Bereich der Schaltung zu verschiedenen Funktionszeitpunkten
während
der Anwendung der Testsequenz aufgenommen werden. Diese Bilder werden
gemäß einer
Sequenz kombiniert, die der Sequenz zum Erhalten des damit verbundenen
Ergebnisvektors entspricht, und deren Beschreibung durch die Struktur
des Zweigs angegeben wird.
-
Die
Ergebnisvektoren werden durch die Umsetzung eines rekursiven Algorithmus
erstellt, in dessen Verlauf jeder Ergebnisvektor mit einem Vektor
der Matrix verglichen wird durch Anwendung des einen und des anderen
der logischen Operatoren compa0 und compa1, und zwar so lange das
so erhaltene Ergebnis sich von dem vorherigen Ergebnisvektor unterscheidet,
auf den der logische Operator angewendet wird, und noch nicht betrachtete
Vektoren in der Matrix M übrig
sind.
-
Im
Laufe ihrer Erstellung werden die Ergebnisvektoren rj in
dem binären
Zweig angeordnet, in dem jeder neue berechnete Ergebnisvektor von
dem Vektor abstammt, der als Operand für seine Berechnung gedient hat.
-
Der
Zweig, der von der Matrix M ausgehend konstruiert wird, die als
Beispiel angegeben ist, ist in 2 dargestellt.
Für die
Erstellung dieses Zweigs wird die rekursive Prozedur in Schritt 22 (1)
initiiert, in dem ein erster Ergebnisvektor, der mit r0 bezeichnet
ist, aufgenommen wird, wobei alle seine Koeffizienten gleich 1 sind.
-
Die
Berechnung der anderen Ergebnisvektoren erfolgt rekursiv in Schritt 24 und
zwar, bis der Satz der Vektoren der Matrix M betrachtet worden ist,
oder jeder der erhaltenen Ergebnisvektoren nicht mehr mit einem der
Vektoren der Matrix verglichen werden kann mit einem Ergebnis, das
sich von dem im Vergleich betrachteten Ergebnisvektor unterscheidet.
Ein Abschlusstest für
die Berechnung der Ergebnisvektoren wird daher in Schritt 26 ausgeführt.
-
Mit
der als Beispiel betrachteten Matrix M wird der Algorithmus in folgender
Weise angewendet.
-
Der
Ergebnisvektor r0 wird zunächst mit
dem Vektor b1 durch Anwendung der zwei logischen
Operatoren compa1 und compa0 verglichen, um jeweils die Ergebnisvektoren
r1 und r2 zu erhalten.
-
Die
Werte von r1 und r2 werden
in der folgenden Tabelle 1 angegeben.
-
Aus
Gründen
der Anschaulichkeit werden in der gesamten folgenden Beschreibung
die Koeffizienten jedes Ergebnisvektors ri,
die nicht gleich Null sind, willkürlich mit dem Ganzen i verbunden,
das als Index des Ergebnisvektors verwendet wird. In den Tabellen
wird der angewendete logische Operator in der letzten Spalte angegeben.
-
-
Die
Anwendung der logischen Operatoren compa0 und compa1 auf die Vektoren
r0 und b1 ermöglicht es,
die zwei Knoten des Zweigs zu erhalten, die von der Wurzel r0 abhängen.
Jeder Zweig des Zweigs ist mit einem der logischen Operatoren compa0
und compa1 verbunden, wie in 2 dargestellt.
-
Zum
Erstellen der zweiten Ebene des Zweigs werden die Ergebnisvektoren
r1 und r2 mit dem
folgenden Vektor der Matrix M, das heißt mit dem Vektor b2, durch Anwendung der zwei logischen Operatoren
compa0 und compa1 verglichen. Damit werden die Knoten des Zweigs
erstellt, die den Ergebnisvektoren r3 und
r4 entsprechen und die mit dem Knoten verbunden
sind, der dem Ergebnisvektor r1 entspricht,
sowie die Knoten, die den Ergebnisvektoren r5 und
r6 entsprechen und die mit dem Knoten verbunden
sind, der dem Ergebnisvektor r2 entspricht.
-
Die
Werte der Ergebnisvektoren r3 bis r6 werden in den zwei folgenden Tabellen 2.1
und 2.2 angegeben. In diesen Tabellen wurden die Null-Koeffizienten
der Vektoren r1 und r2 aus
Gründen
der Anschaulichkeit weggelassen, da ungeachtet des Werts der Koeffizienten
des Vektors, mit dem sie verglichen werden, das Ergebnis des logischen
Operators nach der Definition der Operatoren compa0 und compa1 gleich
0 ist.
-
-
-
Für die Erstellung
der dritten Ebene des Zweigs setzt sich der Algorithmus mit dem
Vergleich des Ergebnisvektors r3 und des
Vektors b3 der Matrix fort. Allerdings,
und wie dies aus der im Folgenden dargestellten Tabelle 3.1 hervorgeht,
sind die Koeffizienten der Vektoren r3 und
b3 analog, so dass das Ergebnis ihres Vergleichs
nicht zu der Definition eines Ergebnisvektors führt, der nicht kollinear zu
einem Ergebnisvektor ist, der bereits in dem in Erstellung befindlichen
Zweig vorhanden ist.
-
-
Somit
wird der Vergleich zwischen den Vektoren r3 und
b3 ausgelassen. Der Vergleich zwischen dem Ergebnisvektor
r3 und dem folgenden Vektor b4 der
Matrix wird dann ausgeführt,
um die Ergebnisvektoren r7 und r8 zu erstellen, die jeweils durch Anwendung
der logischen Operatoren compa0 und compa1 erhalten werden.
-
Wie
in 2 dargestellt, sind die Knoten, die den Ergebnisvektoren
r7 und r8 entsprechen,
mit dem Knoten, der dem Ergebnisvektor r3 entspricht, über zwei
Zweige verbunden, die jeweils mit den logischen Operatoren compa0
und compa1 verbunden sind.
-
In
dem Maße,
in dem die Ergebnisvektoren r7 und r8 nur einen Koeffizienten ungleich Null aufweisen, müssen diese
Vektoren nicht mehr Gegenstand eines späteren Vergleichs sein, da das
Ergebnis des Vergleichs dieser Vektoren mit irgendeinem der Vektoren
der Matrix durch Anwendung des logischen Operators compa0 oder compa1
entweder zu einem Nullvektor oder zu einem identischen Vektor führen würde. Da
diese Vektoren den Blättern
des Zweigs entsprechen, ist es nicht mehr notwenig, sie mit einem
der Vektoren der Matrix M zu vergleichen.
-
Ausgehend
von den Ergebnisvektoren r4 und r5 und durch Vergleichen dieser zwei Ergebnisvektoren mit
dem Vektor b3 durch Anwendung der logischen
Operatoren compa0 und compa1 werden einerseits die Ergebnisvektoren
r9, r10 und andererseits
r11, r12 erhalten.
Die Details ihrer Berechnung werden in den folgenden Tabellen 3.2
und 3.3 angegeben.
-
-
-
In
diesen Tabellen 3.2 und 3.3 ist festzustellen, dass die Ergebnisvektoren
r9, r10 und r12 Blätter
des Zweigs bilden, während
der Ergebnisvektor r11 noch sachdienlich
mit einem der Vektoren der Matrix M verglichen werden kann, da der
Ergebnisvektor r11 noch zwei Koeffizienten
ungleich Null aufweist.
-
Um
schließlich
die dritte Ebene des Zweigs zu beenden, wird der Ergebnisvektor
r6 mit einem restlichen Vektor der Matrix
M verglichen. Wie deutlich aus der folgenden Tabelle 3.4 hervorgeht,
ist allerdings ungeachtet des restlichen Vektors der Matrix M, mit
dem der Ergebnisvektor r6 verglichen wird,
das Ergebnis des Vergleichs durch den logischen Operator compa1
identisch mit dem Ergebnisvektor r6. Daher
bildet der erhaltene Ergebnisvektor, der mit r13 bezeichnet
ist, ein Blatt des Zweigs, das mit dem Knoten verbunden ist, der dem
Ergebnisvektor r6 entspricht.
-
Diese
Situation hätte
mit der Umsetzung des Schritts 18 vermieden werden können, der
in dem betrachteten Beispiel ausgelassen worden ist.
-
-
Da
die Ergebnisvektoren r7, r8,
r9, r10, r12 und r13 Blätter des
Zweigs bilden, wird nur der Ergebnisvektor r11 mit
einem restlichen Vektor des Zweigs verglichen, um die Vektoren r14 und r15 zu erstellen,
die jeweils der Anwendung der logischen Operatoren compa1 und compa0
entsprechen.
-
Die
Werte der Vektoren r14 und r15 werden
in der folgenden Tabelle 4.1 angegeben.
-
-
Es
scheint, dass der Vergleich des Ergebnisvektors r11 mit
den Vektoren b5 bis b8 der
Matrix unwirksam ist, da diese Vektoren kollinear sind. Nur der
Vergleich des Vektors r11 mit dem Vektor
b9 ermöglicht
es, Vektoren r14 und r15 zu
erhalten, deren Koeffizienten sich von den Koeffizienten des Vektors
r11 unterscheiden.
-
Da
die Vektoren r14 und r15 nur
einen Koeffizienten haben, der nicht Null ist, bilden sie so Blätter des Zweigs,
dass die Vergleiche zwischen den Vektoren der Matrix M und den erstellten
Ergebnisvektoren ri beendet werden.
-
Am
Ende der Berechnung der Vektoren r1 bis
r13 wird ein Ergebnisvektor r in Schritt 28 erstellt.
Dieser Vektor hat als Koeffizienten die Koeffizienten ungleich Null
des Satzes von Ergebnisvektoren, welche Blätter des Zweigs bilden. Von
ihrer Konstruktion her weisen die Ergebnisvektoren ri tatsächlich alle
Koeffizienten ungleich Null an verschiedenen Positionen auf.
-
Der
Ergebnisvektor r erscheint in der letzten Zeile der folgenden Tabelle
5, in der die Ergebnisvektoren r7, r8, r9, r10,
r12, r13, r14 und r15, welche
Blätter
des Zweigs bilden, wieder aufgenommen werden.
-
-
Ausgehend
vom Ergebnisvektor r sowie dem Zweig, der in 2 dargestellt
ist, wird für
jedes Element der integrierten Schaltung eine Kombination von Bildern
abgeleitet, um seine Individualisierung auf einem verarbeiteten
Bild sicherzustellen. Diese Schritte sind Gegenstand der Phase 3 des
Algorithmus.
-
Die
Kombination von Bildern wird an Bildern der integrierten Schaltung
vorgenommen, die zu vorgegebenen Zeitpunkten der auf die Schaltung
angewendeten Testsequenz abgenommen werden.
-
Genauer
gesagt werden die Bilderkombinationen durch Anwendung von zwei graphischen
Operatoren splitby1 und splitby0 umgesetzt, die auf die Bilder wirken,
um deren pixelweisen Vergleich sicherzustellen.
-
Der
Operator splitby1, der auf zwei Bilder der Schaltung angewendet
wird, führt
zur Erstellung eines Ergebnisbilds, das durch Anwendung der UND-Funktion
auf die Pixel gebildet wird, die den zwei Bildern entsprechen. Dieser
Operator besteht physikalisch darin, die schwarzen Zonen eines Bilds
durch die entsprechenden weißen
Zonen des anderen Bilds abzudecken.
-
Der
auf zwei Bilder der Schaltung angewendete Operator splitby0 führt zur
Erstellung eines Ergebnisbilds, das durch Anwendung der ODER-Funktion
auf die entsprechenden Pixel der zwei Bildern gebildet wird. Dieser
Operator besteht physikalisch darin, die weißen Zonen eines Bilds durch
die entsprechenden schwarzen Zonen des anderen Bilds abzudecken.
-
Zum
Bestimmen der Bildvergleiche, die durchgeführt werden müssen, um
ein vorgegebenes Element ai zu individualisieren,
wird der Wert des Koeffizienten i des Vektors r ermittelt, und ausgehend
von dem in 2 dargestellten Zweig wird die
Kombination von logischen Operatoren berücksichtigt, die es ermöglichten, den
Ergebnisvektor ri zu erhalten.
-
Für jede der
logischen Operationen, die von der Wurzel des Zweigs bis zu dem
Blatt ausgeführt
worden ist, das dem Ergebnisvektor ri entspricht,
wird ein entsprechender graphischer Operator splitby0 oder splitby1
definiert. Auf diese Weise wird eine Zusammensetzung von graphischen
Operatoren erhalten, die mit einer umgekehrten Sequenz auf die Anwendungssequenz
der logischen Operatoren compa0 und compa1 von der Wurzel des Zweigs
bis zum betrachteten Blatt angewendet werden.
-
Der
graphische Operator splitby1 wird für die Bilder an Stelle des
logischen Operators compa1 verwendet, der auf die Vektoren angewendet
wird, und der graphische Operator splitby0 wird für die Bilder
an Stelle des logischen Operators compa0 verwendet, der auf die
Vektoren angewendet wird.
-
Während die
logischen Operatoren compa0 und compa1 auf die Vektoren bi der Matrix M und auf die Ergebnisvektoren
ri angewendet werden, werden die graphischen
Operatoren splitby0 und splitby1 auf die Bilder der in Betrieb befindlichen
Schaltung angewendet, welche zu vorgegebenen Zeitpunkten der Testsequenz abgenommen
werden, und auf die Bilder, die bereits durch Anwendung dieser graphischen
Operatoren verarbeitet worden sind.
-
Um
diese Transposition der auf die Vektoren angewendeten Operatoren
auf die auf die Bilder angewendeten Operatoren zu veranschaulichen,
ist in 3 ein binärer
Zweig dargestellt, der dem Zweig in 2 entspricht,
bei dem die logischen Operatoren compa0 und compa1 durch die graphischen
Operatoren splitby0 und splitby1 ersetzt worden sind. Die graphischen
Operatoren werden auf die Bilder der Schaltung angewendet, die zu
den Zeitpunkten aufgenommen worden sind, die den Vektoren bi der Matrix M entsprechen. Daher ist in 3 das
Bild, das zu dem Zeitpunkt aufgenommen wurde, der dem Vektor bi der Matrix M entspricht, mit Ibi bezeichnet.
-
In
dieser Figur entspricht der mit einem Punkt gekennzeichnete Operand
einem verarbeiteten Bild, das durch Anwendung des einen oder des
anderen der Operatoren erhalten wurde, betrachtet von der unteren Ebene
des Zweigs.
-
Die
Operatoren splitby1 und splitby0 werden gemäß der Durchlauf-Reihenfolge,
die durch den Zweig definiert wird, vom betrachteten Blatt ri bis zur Wurzel r0 kombiniert.
-
Um
daher beispielsweise das Element a2 zu isolieren,
wird die umgekehrte Sequenz in Bezug auf diejenige, die es ermöglicht hat,
den Ergebnisvektor r7 zu erhalten, auf die
Bilder angewendet. Tatsächlich
ist der zweite Koeffizient des Vektors r, der dem Element a2 entspricht, gleich 7.
-
Genauer
gesagt, und wie aus der 3 hervorgeht, wird zur Individualisierung
des Elements a2 die folgende logische Sequenz
definiert:
- – die Anwendung des graphischen
Operators splitby0 auf die Bilder Ib4 und
Ib2;
- – die
Anwendung des graphischen Operators splitby1 auf das vorher erhaltene
Bild und das Bild Ib1; anschließend
- – Anwendung
des graphischen Operators splitby1 auf das vorher erhaltene Bild
und das Bild Ib0.
-
Das
Bild Ib0 ist ein vollkommen schwarzes Bild,
das einem logischen Zustand gleich 1 für alle Knoten der Schaltung
entspricht.
-
Am
Ende des Schritts 30 zur Konstruktion der Sequenz von graphischen
Operatoren werden die Bilder, die für die Anwendung der vorher
definierten Operatoren erforderlich sind, um auf einem Bild ein
vorgegebenes Bild zu individualisieren, in Schritt 32 erhalten.
Während
dieses Schritts werden die Bilder des betreffenden Teils der Schaltung
während
der Anwendung der vorgegebenen Testsequenz gespeichert, und zwar
zu den Zeitpunkten, die den Vektoren bi entsprechen,
die für
die Berechnung des Ergebnisvektors verwendet werden, der dem zu
individualisierenden Element der Schaltung entspricht.
-
Während des
Schritts 34 werden die Bilder per Digitalisierung verarbeitet,
um ihre Farbebene auf zwei Farben zu reduzieren, und zwar schwarz
und weiß.
-
Im
weiteren Schritt 36 wird die Operatoren-Zusammensetzung splitby1 und splitby0
auf die Bilder angewendet, die in Schritt 32 erhalten wurden,
und in Schritt 34 verarbeitet.
-
In
Schritt 38 wird das durch Anwendung der Operatoren erhaltene
Bild angezeigt. Das zu individualisierende Element erscheint alleine
auf diesem Bild. Die auf diese Weise individualisierten Koordinaten
des Elements werden in Schritt 40 extrahiert.
-
Man
versteht, dass die Kombinationen der Bilder, die vorgenommen werden
und daraus bestehen, bestimmte Teile eines Bilds durch einen entsprechenden
Teil eines anderen Bilds mit anderer Farbe zu verdecken, es gestatten,
aus dem verarbeiteten endgültigen
Bild die nicht erwünschten
Elemente der Schaltung zu extrahieren und auf dem verarbeiteten
Bild nur das Element beizubehalten, dessen Individualisierung gewünscht wird.
-
Die
Ausrüstung
zur Beobachtung des Betriebs der Schaltung, das heißt in dem
betrachteten Fall ein Lichtemissions-Mikroskop, kann dann bis zu
den Koordinaten verschoben werden, die in dem Bild erfasst wurden,
um mit Präzision
den Betrieb der Schaltung in dem Bereich dieses Elements zu untersuchen.
-
Als
Variante, und insbesondere bei der Verwendung eines Rasterelektronenmikroskops
zur Beobachtung der integrierten Schaltung im Betrieb, wird ein
fakultativer Schritt 14 zur Umwandlung der binären Matrix der
logischen Zustände
der Schaltung in eine ternäre
Matrix ausgeführt.
Die Koeffizienten dieser ternären
Matrix können
drei verschiedene Werte annehmen, die drei Zuständen der Schaltung entsprechen,
so, wie sie von dem Rasterelektronenmikroskops beobachtet werden.
-
Zu
diesem Zweck werden beim Übergang
der binären
Matrix in die ternäre
Matrix die Koeffizienten der ternären Matrix wie folgt festgelegt:
N
(schwarz), wenn der logische Zustand des betrachteten Elements von
0 auf 1 übergeht;
B
(weiß),
wenn der logische Zustand des betrachteten Elements von 1 auf 0 übergeht;
und
G (grau), wenn der Zustand des betrachteten Element zwischen
zwei aufeinander folgenden Zeitpunkten unverändert bleibt.
-
Die
folgende Tabelle gibt ein Beispiel für eine Matrix mit binären Zuständen an,
die für
eine Testsequenz von 24 Vektoren erhalten wird. Die 22 Elemente
der Schaltung sind mit den Buchstaben A bis W bezeichnet.
-
-
-
In 4 wird
ein Bild der Schaltung gezeigt, auf der die 22 Bahnen entweder in
weißer
Farbe oder in schwarzer Farbe zu sehen sind. Die Bahnen sind mit
den Buchstaben A bis W bezeichnet.
-
In 5 bis 15 sind
die Bilder der in Betrieb befindlichen Schaltung so dargestellt,
wie sie von einem elektronischen Raster-Mikroskop nach einer digitalen
Behandlung erzeugt werden, die darauf abzielt, die Anzahl der Farbnuancen
auf drei zu reduzieren, und zwar schwarz, weiß und grau.
-
Die
Bilder in 5 bis 15 sind
jeweils Bilder der Schaltung, so wie sie zu den entsprechenden Zeitpunkten,
die den 11 ersten Zeilen der ternären Matrix entsprechen, zu
sehen ist, welche im Folgenden dargestellt ist.
-
Gemäß den vorher
definierten Regeln wird durch die Umwandlung der Matrix der binären logischen Zustände in eine
ternäre
Matrix die unten dargestellte Matrix erhalten.
-
-
-
Ausgehend
von dieser Matrix wird ein ternärer
Zweig erstellt, in dem die Knoten des Zweigs Ergebnisvektoren entsprechen,
die durch Vergleich eines vorherigen Ergebnisvektors mit einem der
Vektoren der ternären
Matrix durch Anwendung eines von drei logischen Operatoren compaN,
compaB, compaG erhalten werden, wobei jeder dieser Operatoren nach
dem Modell der Operatoren compa1 und compa0 aufgebaut ist.
-
Die
Wahrheitstabellen der drei logischen Operatoren sind im Folgenden
angegeben:
-
-
In 16 ist
in vereinfachter Form das Organigramm des Erstellungs-Algorithmus
des ternären Zweigs
durch Anwendung der logischen Operatoren compaN, compaB und compaG
dargestellt.
-
Zu
Beginn wird in Schritt 100 der Vektor 1 der ternären Matrix
betrachtet. Der Vektor 1 wird in Schritt 102 mit
einem ersten Ergebnisvektor R0 verglichen, bei dem alle Koeffizienten
gleich N (bzw. B) durch Anwendung der logischen Operatoren compaN
(bzw. compaB) angenommen werden. Die Vektoren R1 und R2 werden so
in 104 und 106 erstellt.
-
Eine
rekursive Prozedur wird dann in 108 ausgeführt, um
die Vergleiche der vorher erstellten Vektoren mit den anderen Vektoren
der Matrix vorzunehmen, indem jeder der Operatoren compaN, compaB
und compaG angewendet wird. Diese Prozedur wird in 16 durch
eine Schleife dargestellt.
-
Ausgehend
von dem so erhaltenen ternären
Zweig wird zum Individualisieren eines bestimmten Elements der Schaltung eine
Bilderkombination ausgeführt
durch Anwendung einer Zusammensetzung von graphischen Operatoren
splitbyN, splitbyB und splitbyG, wobei diese Operatoren jeweils
den logischen Operatoren compaN, compaB und compaG entsprechen.
-
Die
graphischen Operatoren splitbyN, splitbyB und splitbyG stellen in
den Bildern mit drei Farbebenen (schwarz, weiß und grau) die Kombination
von zwei Bildern Pixel für
Pixel für
die jeweils schwarzen, weißen und
grauen Elemente sicher.
-
Man
versteht, dass die korrekt ermittelte Bilderkombination, die durch
pixelweises Vergleichen der Bilder ausgeführt wird, es ermöglicht,
aus dem verarbeiteten endgültigen
Bild den Hauptteil der unerwünschten Schaltungselemente
verschwinden zu lassen, wodurch auf dem Bild das gewünschte Schaltungselement
individualisiert wird.
-
Als
Beispiel werden die ersten Phasen der Umsetzung des Algorithmus,
die das Individualisieren der Elemente A und B ermöglichen,
im Folgenden explizit erläutert.
-
Der
durch die Umsetzung des Algorithmus erstellte Zweig ist in 17 dargestellt,
während
die mit den Hauptknoten des Zweigs verbundenen Bilder in 18 angegeben
sind.
-
Durch
die Umsetzung des Verfahrens wird der Vektor 1 zunächst mit
dem Vektor R0 verglichen durch die Anwendung der logischen Operatoren
compaN und compaB, um die Ergebnisvektoren R1 und R2 zu ergeben.
Die Berechnung dieser Vektoren ist in der Tabelle 6 angegeben, die
am Ende der Beschreibung zu finden ist.
-
Die
Bilder, die den Ergebnisvektoren R1 und R2 entsprechen, die durch
die jeweilige Anwendung der Operatoren splitbyN und splitbyB auf
das Bild in 5 erstellt wurden, sind in 18 angegeben,
in der sie mit den Bezugszeichen 202 und 204 bezeichnet
sind.
-
Ausgehend
vom Ergebnisvektor R1 werden neue Vergleiche vorgenommen, um die
Ergebnisvektoren höherer
Ebene R11, R12 und R13 zu bilden, wie in Tabelle 7.1 erläutert wird,
die am Ende der Beschreibung zu finden ist.
-
Das
Bild, das dem Ergebnisvektor R11 entspricht, ist in 18 dargestellt,
in der es mit dem Bezugszeichen 206 bezeichnet ist. Dieses
Bild wird durch Anwendung des graphischen Operators splitbyB auf
das Bild 202 und das Bild in 6 gebildet,
das dem Vektor 2 entspricht.
-
Analog
werden ausgehend vom Ergebnisvektor R2 die Ergebnisvektoren höherer Ebene
R21, R22 und R23 gebildet, wie in Tabelle 7.2 erläutert wird,
die am Ende der Beschreibung zu finden ist.
-
Das
Bild, das dem Ergebnisvektor R21 entspricht, ist in 18 dargestellt,
in der es mit dem Bezugszeichen 208 bezeichnet ist.
-
Dieses
Bild wird durch Anwendung des graphischen Operators splitbyN auf
das Bild 204 und das Bild in 6 gebildet,
das dem Vektor 2 entspricht.
-
In
Bild 208 ist nur das Element B vorhanden, weil, wie dies
aus der Tabelle 7.2 hervorgeht, die einzige Komponente ungleich
Null des Ergebnisvektors R21 diejenige ist, die sich in der Spalte
befindet, die dem Element B entspricht.
-
Da
der Ergebnisvektor R12 noch geteilt werden kann, werden neue Vergleichsschritte
auf der Basis dieses Vektors durchgeführt, um die Ergebnisvektoren
höherer
Ebene R121, R122 und R123 zu bilden, wie in Tabelle 8 gezeigt.
-
Die
Ergebnisvektoren werden ausgehend vom Vergleich des Vektors 3 und
des Ergebnisvektors R12 durch Anwendung der drei logischen Operatoren
gebildet.
-
Das
dem Vektor R123 entsprechende Bild ist in 18 dargestellt
und ist mit dem Bezugszeichen 210 bezeichnet.
-
Dieses
Bild wird durch Anwendung des graphischen Operators splitbyG auf
das Bild 208 und das Bild in 7 gebildet,
das dem Vektor 3 entspricht.
-
In
Bild 210 ist nur das Element A vorhanden, weil die einzige
Komponenten ungleich Null des Ergebnisvektors R123 diejenige ist,
die sich in der ersten Spalte befindet, die dem Element A entspricht.
-
Man
versteht, dass bei fortgesetzter Umsetzung des Algorithmus jedes
der Elemente der Schaltung individualisiert werden kann.
-
-