Upload
kevin-baecker
View
223
Download
1
Embed Size (px)
Citation preview
Datentechnik 1Kapitel 4: Test-Generatoren
Testen hochintegrierter Schaltungen
Kapitel 4. Test-Erzeugung
(für kombinatorische Schaltkreise)
Ralph Weper
Datentechnik 2Kapitel 4: Test-Generatoren
Übersicht
Motivation
Modellierung
• Nützliche Definitionen und Datenstrukturen
• Klassifikation von ATPG-Algorithmen
D-Algorithmus von Roth
• Definitionen und Operationen
• Struktur des Algorithmus
• Beispiele
Datentechnik 3Kapitel 4: Test-Generatoren
Motivation: 64-bit Addierer
64
64
64A B Cin
SummeÜ
funktional
• 2129 Eingabemuster
• 265 Ausgabemuster
• ATE mit 1 GHz benötigt ca. 2,2 * 1022 Jahre
Datentechnik 4Kapitel 4: Test-Generatoren
Motivation: 64-bit Addierer
strukturell
• 10 Fehlerklassen für S
• 17 Fehlerklassen für Ü
• 64 * 27 = 1728 Testmuster
• ATE mit 1 GHz benötigt ca. 0,000002 Sekunden
Ai
Bi
Ci
Si= 1
= 1
X
X
X
XXsa0,1
sa0,1
sa0,1
sa0,1
sa0,1
Ai
Bi
Ci
&
&
&
≥ 1 Ci+1
XX
X X
XX
XX
XX
X
X X
sa0,1
sa0
sa1sa0,1
Summe
Übertrag
XX
X X
XX
XX
XX
X
X X
sa0,1
sa0,1
sa0,1sa0,1
10 Fehlerklassen
Datentechnik 5Kapitel 4: Test-Generatoren
Motivation
ATPG: Automatic Test Pattern Generator• Prozess, generiert Muster zum Testen eines Schaltkreises
• Auffinden redundanter Logik (RID)
• Äquivalenz von Schaltungen
• Schaltkreis durch Netzliste beschrieben
• Verwendung eines Fehler-Generators
Datentechnik 8Kapitel 4: Test-Generatoren
ATPG Algebren
Boolesche Notation einer Menge
Gleichzeitige Darstellung Good vs. Bad Machine
Roth: 5-wertige Logik {D, D’, 0, 1, X}• D = (1/0): (Gute Maschine = 1 / Fehlerhafte Maschine = 0)
• D’ = (0/1)
• 0 = (0/0)
• 1 = (1/1)
• X = (X/X)
Muth: zusätzlich G0 = (0/X), G1 = (1,X), F0 = (X,0), F1 = (X,1)
Datentechnik 9Kapitel 4: Test-Generatoren
Definitionen
Fault Cone (Fehler-Kegel): Bauelemente einer Schaltung, auf die sich ein Fehler auswirkt.
D-Grenze: Menge aller Gatter mit Eingabe D bzw. D’ am Eingang und X am Ausgang.
D-Grenze teilt den Schaltkreis in fehlerbehafteten (D und D’) und fehlerfreien Teil.
Datentechnik 10Kapitel 4: Test-Generatoren
Definitionen
Vorwärts-Implikation: Aus der Eingangsbelegung eines Gatters kann eindeutig auf die Ausgangsbele- gung geschlossen werden.
&a
bz
D0
0
&a
bz
D’1
D’
&a
bz
D’D
0
0 1 X D D’
0 0 0 0 0 0
1 0 1 X D D’
X 0 X X X X
D 0 D X D 0
D’ 0 D’ X 0 D’
a
b
≥ 1a
bz
D0
D
≥ 1a
bz
D1
1
≥ 1a
bz
D’D
1
a zD D’
=1a
bz
D
1a
bz
D’
0
D’
D
1
Datentechnik 11Kapitel 4: Test-Generatoren
Definitionen
Rückwärts-Implikation: Eindeutige Bestimmung der Eingangssignale eines Gatters bei gegebener Ausgabe und evtl. einiger Eingangssignale.
a zD D’
D1
a
bz0
D’=1
a
bz
01
1&a
bz
11
1
Datentechnik 12Kapitel 4: Test-Generatoren
Definitionen
Implication Stack: LIFO-Datenstruktur, die speichert, welches Signal eines Schaltkreises von dem ATPG- Algorithmus bereits gesetzt wurde und ob das komplementäre Signal bereits ausprobiert wurde.
Datentechnik 13Kapitel 4: Test-Generatoren
Definitionen
Backtracking: Rückverfolgung des ATPG-Algorithmus• D-Grenze ist die leere Menge, d.h. es gibt keine weitere
Möglichkeit, einen Fehler durch das Netz zu propagieren.
• Ein Signal muss gleichzeitig auf 0 und auf 1 gesetzt werden, um die Bedingungen des Testvektors zu erfüllen. Dies ist natürlich nicht erlaubt.
Beim Auftreten von Backtracking löscht der ATPG- Algorithmus eine oder mehrere Signalzuweisungen vom Implication-Stack und wählt die komplementäre Zuweisung für das auf dem Stack zugreifbare Signal.
Datentechnik 14Kapitel 4: Test-Generatoren
Definitionen
Backtrace• Strategie, um zu bestimmen, welche Eingangssignale
(Primary Inputs (PI)) gesetzt werden sollen, um eine bestimmte Zielvorgabe (z.B. setze Signal x auf 0) möglichst effizient zu erfüllen.
• Oftmals Verwendung des SCOAP Algorithmus
• Zielvorgaben werden durch den ATPG-Algorithmus vorgegeben; oftmals sind diese nicht gleich erfüllbar und erfordern Rückverfolgung (Backtracking).
Datentechnik 15Kapitel 4: Test-Generatoren
Beispiel
&
=1 ≥ 1
E
A
B
≥ 1J=1
C
D
(3,3) (5,2)
(2,3)
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
Zielvorgabe
Setze J = 1 beiminimalem Aufwand
SCOAP-Algorithmus liefert (CC0,CC1)
Gesucht: Minimaler Wert CC1 am Eingang des abschließenden OR-Gatters
Verfolge Signal J zurück und finde minimale Eingabe, die J = 1 bewirkt
D = 1 hat minimale Kosten
Datentechnik 16Kapitel 4: Test-Generatoren
Beispiel
&
=1 ≥ 1
E
A
B
≥ 1J=0
C
D
(3,3) (5,2)
(2,3)
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
Zielvorgabe
Setze J = 0
Verfolge zunächst den schwierigsten Weg für CC0: A = 1, B = 1, E = 0
Gesucht: Minimale Kosten, so dass alle Eingänge des OR-Gatters = 0
Dies verlangt C = 0, da B = 1
D = 0 trivialerweise
0
0
0
0
0
0
11
0
1
Datentechnik 17Kapitel 4: Test-Generatoren
Klassifikation von Algorithmen
Vollständige Mustergenerierung• n Eingaben erfordern 2n Eingabemuster
• Vorteil: 100% Fehlerüberdeckung
• Nur sinnvoll, wenn sich die Schaltung in Segmente (Kegel) mit jeweils weniger als 16 Eingaben partitionieren lässt
Zufällige Mustergenerierung• Fehlersimulator wählt sinnvolle Muster aus
• Oftmals nur 60-80% Fehlerabdeckung erreichbar
• Gewichtete Zufallsmuster: P(0) bzw. P(1) ≠ 0,5
Datentechnik 18Kapitel 4: Test-Generatoren
Zufällige Mustergenerierung
start initialisiereW’keiten
Fehler-Simulation
generiereZufalls-vektor
ändereW’keiten
stoppÜber-
deckungok ?
p(0) = 0,5p(1) = 0,5
nein
ja
Keine neuenFehler getestet, d.h.Vektor verwerfen
Datentechnik 19Kapitel 4: Test-Generatoren
Klassifikation von Algorithmen
Symbolische Mustergenerierung • Boolesche Differenz bzw. partielle Ableitung
• Expansionstheorem von Shannon
• F(X1,..,Xi,..,Xn) = Xi F(X1,..,1,..,Xn) + X’i F(X1,..,0,..,Xn)
• Stelle Fehler dar als Funktion g = G(X1,..,Xi,..,Xn)
• Stelle Ausgabe dar als Funktionswert fj = Fj(g,X1,..,Xi,..,Xn)
• Bilde ∂fj / ∂g = Fj(1,X1,..,Xi,..,Xn) Fj(0,X1,..,Xi,..,Xn)
• Sehr aufwändig, daher ungeeignet für große Schaltkreise
Datentechnik 20Kapitel 4: Test-Generatoren
Beispiel
&
&
≥ 1 f
x
y
z
e
c
b
a
d
g
h
f = xy + yz
•Testmuster für a: ∂f/∂x = yz y = yz’ yz = 10
•Testmuster für g: f = g + xy ∂f/∂g = 1 xy = (xy)’ x’+ y’ Testen von g/0 g = 1 anlegen
• aus g = yz folgt: y = z = 1• Testmuster: xyz = 011
Datentechnik 21Kapitel 4: Test-Generatoren
Klassifikation von Algorithmen
Methoden der Pfad-Sensibilisierung 1. Fehler-Sensibilisierung (auch Aktivierung, Anregung)
• Aktiviere Haftfehler, indem Signale gesetzt werden,die den komplementären Wert an der betreffenden Stelle erzeugen
• Notwendig für Unterscheidung gute vs. böse Maschine
2. Fehler-Propagation (eigentliche Pfad-Sensibilisierung)• Progagiere den aktivierten Fehler auf einem oder mehreren Pfaden
bis zu einem Ausgabesignal (primary output (PO))• i.A. exponentielles Wachstum #Pfade abhg. von #Gatter
3. Signal-Anpassung• Einstellen der Eingabewerte zur Erzeugung der gewünschten internen
Signale bzw. Fehlereffekte
Mögliche Konflikte in Phase 2 und 3 fordern evtl. Backtracking
Datentechnik 22Kapitel 4: Test-Generatoren
Beispiel
&
&
≥ 1k
A
B
C
h
g
f
i j
&
E
LX
sa0
Test für sa0 für B
2. Fehler-Propagation• a) Pfad f - h - k - L• b) Pfad g - i - j - k - L• c) gleichzeitig a) und b)
1. Fehler-Anregung• setze B = 1• f = D (nach Roth)• g = D
Pfad f - h - k - L
Setze alle nicht auf dem Pfad liegendenGattereingänge auf nicht-kontrollierende Werted.h. A = 1, E = 1, j = 0
1
10
1
3. Signal-Anpassung
1
aus j = 0 folgt i = 1
D
D
unvereinbar mit g = D für sa0
Datentechnik 23Kapitel 4: Test-Generatoren
Beispiel
&
&
≥ 1k
A
B
C
h
g
f
i j
&
E
LX
sa0
Test für sa0 für B
2. Fehler-Propagation• a) Pfad f - h - k - L• b) Pfad g - i - j - k - L• c) gleichzeitig a) und b)
1. Fehler-Anregung• setze B = 1• f = D (nach Roth)• g = D
Setze alle nicht auf dem Pfad liegendenGattereingänge auf nicht-kontrollierende Werted.h. A = 1, C = 1, E = 1
1
1
1
3. Signal-Anpassung
D
Vorwärtspropagation von g und f: h = D, i = D, j = D’
D
D
D-Front endet bei Signal k Fehler erreicht nicht die Ausgabe
1
D’
DD + D’ = 1
1
D-FrontFehler-Kegel
Datentechnik 24Kapitel 4: Test-Generatoren
Beispiel
&
&
≥ 1k
A
B
C
h
g
f
i j
&
E
LX
sa0
Test für sa0 für B
2. Fehler-Propagation• a) Pfad f - h - k - L• b) Pfad g - i - j - k - L• c) gleichzeitig a) und b)
1. Fehler-Anregung• setze B = 1• f = D (nach Roth)• g = D
Setze alle nicht auf dem Pfad liegendenGattereingänge auf nicht-kontrollierende Werted.h. C = 1, E = 1, h = 0
1
1
01
3. Signal-Anpassung
aus h = 0 folgt A = 0
D
D
0
(A, B, C, E) = (0, 1, 1, 1) erkennt sa0 für B mit L = D’
Datentechnik 25Kapitel 4: Test-Generatoren
D-Kalkül: Definitionen
Singular Cover: Minimale Anzahl Eingangsbelegungen eines Logik-Gatters, um dessen vollständige Wahrheitstabelle darzustellen.
D-Würfel: Komprimierte Wahrheitstafel eines Logik- Gatters in D-Notation
AND a b out
0 X 0
X 0 0
1 1 1
Beispiel AND: (Gut/Böse)
Böse
Gut
1 0 D
1 X 1
1 0 DNeue Tafel durch Vertauschen von a und b
Datentechnik 26Kapitel 4: Test-Generatoren
D-Kalkül: Definitionen
Singular Cover: Minimale Anzahl Eingangsbelegungen eines Logik-Gatters, um dessen vollständige Wahrheitstabelle darzustellen.
D-Würfel: Komprimierte Wahrheitstafel eines Logik- Gatters in D-Notation
AND b a out
X 0 0
0 X 0
1 1 1
Beispiel AND: (Gut/Böse)
Böse
Gut
1 0 D
1 X 1
1 0 DNeue Tafel durch Vertauschen von a und b
1 X 1
1 0 D
1 0 D
T1 T2
Weitere Tafeln: T1 AND T2 = (D D D) bzw. ersetze D durch D’
Datentechnik 27Kapitel 4: Test-Generatoren
D-Kalkül: Definitionen
D-Durchschnitt: Gibt an, ob verschiedene Würfel gleich- zeitig für einen Schaltkreis existieren können
Regeln:
• 0 0 = 0 X = X 0 = 0
• 1 1 = 1 X = X 1 = 1
• X X = X
Beispiel:
• (0, X, X) (1, X, X) =
0 1 X D D’
0 0 0
1 1 1
X 0 1 X D D’
D D
D’ D’
, : undefiniertFalls und : undefiniert: D D = D; D’ D’ = D’: DD’; D’D; dann
Datentechnik 28Kapitel 4: Test-Generatoren
D-Kalkül: Definitionen
Primitive D-Cubes of Failure (PDF) modelliert• Haftfehler
• Kurzschlüsse
• Änderungen des Schaltverhaltens von Gattern
1. Konstruiere Mengen von Würfeln mit der Ausgabe der guten (0, 1) und bösen (0, 1) Maschine sei 0 bzw 1
2. Ändere die Ausgabe aller 1-Würfel auf 0 und bilde den D-Durchschnitt mit jedem 0-Würfel. Für jeden Schnitt- Würfel setze dessen Ausgabe auf D.
3. Ändere die Ausgabe aller 0-Würfel auf 1 und bilde den D-Durchschnitt mit jedem 1-Würfel. Für jeden Schnitt- Würfel setze dessen Ausgabe auf D’.
Datentechnik 29Kapitel 4: Test-Generatoren
D-Kalkül: Definitionen
Implikation: Prozedur des D-Algorithmus• Fehlermodellierung mittels geeigneter PDF
• Propagiert Fehler durch das Netz (Prozedur D-drive)
• Versucht, interne Signale durch singulare Überdeckungen einzustellen (Prozedur consistency)
• Auswahl der PDF und Überdeckungen ziemlich willkürlich
• Falls D-Durchschnitt fehl schlägt, backtracking bis zu der letzten Auswahl eines Würfels. Dann neue Wahl und weiter gehts …..
Datentechnik 30Kapitel 4: Test-Generatoren
D-Algorithmus
1. Benenne alle (internen) Signale von PIs bis POs
2. Wähle PDF als Testwürfel aus und bilde D-Front für Gatter, deren Ausgaben von D bzw. D’ abhängen
3. Call D-drive /* Propagiere Fehler bis zu PO */
4. Call Consistency /* Einstellen interner Signale */1. Ruft ggf. erneut Prozedur D-drive auf
2. Ruft Prozedur Backtrack bei Inkonsistenzen
5. ENDE
Datentechnik 31Kapitel 4: Test-Generatoren
Beispiel 1
A
B
C
&d
&e
F≥ 1
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 0 0 0 1 0 0 0 0
Wahrheitstabelle
A B C d e F
1 1 1
0 0
0 0
1 1 0
0 1
0 1
1 0
1 0
0 0 1
SinguläreÜberdeckung
Datentechnik 32Kapitel 4: Test-Generatoren
Beispiel 1
A
B
C
&d
&e
F≥ 1
A B C d e F
1 1 1
0 X 0
X 0 0
1 1 0
0 X 1
X 0 1
X 1 0
1 X 0
0 0 1
A B C d e F
D 1 D
1 D D
D D D
D 1 D’
1 D D’
D D D’
D 0 D’
0 D D’
D D D’
SinguläreÜberdeckung
D-WürfelPropagation
111
0X0
D1D
=
111
X00
1DD
=
DDD
=1DD
D1D
&
Vertausche A und B
Datentechnik 33Kapitel 4: Test-Generatoren
Beispiel 1
A
B
C
&d
&e
F≥ 1
A B C d e F
1 1 1
0 X 0
X 0 0
1 1 0
0 X 1
X 0 1
X 1 0
1 X 0
0 0 1
A B C d e F
D 1 D
1 D D
D D D
D 1 D’
1 D D’
D D D’
D 0 D’
0 D D’
D D D’
SinguläreÜberdeckung
D-WürfelPropagation
1X0
001
D0D’
=
Datentechnik 34Kapitel 4: Test-Generatoren
Beispiel 1
A
B
C
&d
&e
F≥ 1
A B C e d F
1 1 1
0 X 0
X 0 0
1 1 0
0 X 1
X 0 1
1 X 0
X 1 0
0 0 1
A B C d e F
D 1 D
1 D D
D D D
D 1 D’
1 D D’
D D D’
D 0 D’
0 D D’
D’ D’ D
SinguläreÜberdeckung
D-WürfelPropagation
1X0
001
D0D’
=
X10
001
0DD’
=
D’D’D
=0DD’
D0D’
NOR =1,00,00,1
0,01,00,1
NOR
Datentechnik 35Kapitel 4: Test-Generatoren
Beispiel 2
≥ 1
= 1& &
D
≥ 1CBA
Le
f g
h
k
AND
A B e
X 0 0
0 X 0
1 1 1
OR C e f
X 1 1
1 X 1
0 0 0
NOT
f g
1 0
0 1
XOR
A f h
1 0 1
0 1 1
0 0 0
1 1 0
OR D g k
X 1 1
1 X 1
0 0 0
NAND k h L
X 0 1
0 X 1
1 1 0
Überdeckungen
Datentechnik 36Kapitel 4: Test-Generatoren
Beispiel 2
≥ 1
= 1& &
D
≥ 1CBA
Le
f g
h
k
X
sa0 A B C D e f g h k L
D 1 D
1 D D
D 0 D
0 D D
D D’
D 0 D
D 1 D’
0 D D
1 D D’
D 0 D
0 D D
D 1 D’
1 D D’
Wie kann Fehler propagiert werden ?
1. Kette AefhL
D0
D
0
D
D’D
D 1
Datentechnik 37Kapitel 4: Test-Generatoren
Beispiel 2
≥ 1
= 1& &
D
≥ 1CBA
Le
f g
h
k
X
sa0 A B C D e f g h k L
D 1 D
1 D D
D 0 D
0 D D
D D’
D 0 D
D 1 D’
0 D D
1 D D’
D 0 D
0 D D
D 1 D’
1 D D’
Wie kann Fehler propagiert werden ?
1. Kette AefhL
2. Kette AhL
DD
D’0
1
Datentechnik 38Kapitel 4: Test-Generatoren
Beispiel 2
≥ 1
= 1& &
D
≥ 1CBA
Le
f g
h
k
X
sa0
A B C D e f g h k L
1. Benenne interne Signale
2. Wähle Fehler, bilde D-Front
3. Call D-Drive
D
Schritt 1: D
Schritt 2: D 0 D
Schritt 3: D 0 D 0 D 1 D’ = D 0 D 1 D’
D
1
D’0
Datentechnik 39Kapitel 4: Test-Generatoren
Beispiel 2
≥ 1
= 1& &
D
≥ 1CBA
Le
f g
h
k
X
sa0
A B C D e f g h k L
1. Benenne interne Signale
2. Wähle Fehler, bilde D-Front
3. Call D-Drive
4. Call Consistency
D
Schritt 3: D 0 D 1 D’
Schritt 4: 1 1
Schritt 5: 0 1
D
1
D’0
100
0
Schritt 6: 0 0 0
Schritt 7: 0 0
0
Testmuster: D 0 0 X D’
Datentechnik 40Kapitel 4: Test-Generatoren
Beispiel 3
≥ 1
AB
C
X
&
= 1
&= 1
e
&d
= 1
h
g
k
f
l
m
n
p q
r
st
u
v
Y
Z
sa1 X
1
(9,9)
(1,1)
(1,1)
(1,1)
(2,3)(4,4)
(7,7)
(2,3)
(5,5)
(11,3)
(15,2)
(13,6)
sa1 @ u
SCOAP
A B C d m q r u v X Y Z
1 1 D’
2 0 1 D’ D
3 0 1 1 1 D’ D D’
4 0 1 1 1 1 D’ D D’
1
Propagiere D via v
D’D
0
0
Propagiere D’ zu PO Z
1 1
1
D’
Versuche d = 1 für r als Abdeckung
1
Datentechnik 41Kapitel 4: Test-Generatoren
Beispiel 3
≥ 1
AB
C
X
&
= 1
&= 1
e
&d
= 1
h
g
k
f
l
m
n
p q
r
st
u
v
Y
Z
sa1 X
0
(9,9)
(1,1)
(1,1)
(1,1)
(2,3)(4,4)
(7,7)
(2,3)
(5,5)
(11,3)
(15,2)
(13,6)
sa1 @ u
A B C d m q r u v X Y Z
1 1 D’
2 0 1 D’ D
3 0 1 1 1 D’ D D’
4 0 1 0 1 1 D’ D D’
1
Propagiere D via v
D’D
0
0
Propagiere D’ zu PO Z
1 1
1
D’
Versuche Alternative d = 0
0
Backtracking
Datentechnik 42Kapitel 4: Test-Generatoren
Beispiel 3
≥ 1
AB
C
X
&
= 1
&= 1
e
&d
= 1
h
g
k
f
l
m
n
p q
r
st
u
v
Y
Z
sa1 X
1
(9,9)
(1,1)
(1,1)
(1,1)
(2,3)(4,4)
(7,7)
(2,3)
(5,5)
(11,3)
(15,2)
(13,6)
sa1 @ u
A B C d m q r u v X Y Z
1 1 D’
2’ 1 1 1 1 D’ D’ D
3’ 1 1 1 1 D’ D’ D
4’ 1 1 1 1 1 1 D’ D’ D
1
Propagiere D’ via v, D zu Z
D’D’
1
1
Abdeckung für r
1 1
1
D
Abdeckung für A
1
Backtracking
1