Automatic Test Automatic Test-Pattern Generation

Automatic
Test
Automatic TestTestPattern
Test--Pattern
Generation
Generation (ATPG)
(ATPG) per
per reti
reti
combinatorie
combinatorie
■
■
■
■
■
■
■
Algoritmi e rappresentazioni
Test strutturali e funzionali
Definizioni
Spazio di ricerca
Completezza
Algebra
Tipi di algoritmi
1
Origini
Stuck
Origini degli
degli StuckStuckat
Stuck--at
■
■
■
■
Eldred (1959) – Primo utilizzo del collaudo
strutturale nel calcolatore Honeywell
Datamatic 1000 computer
Galey,
Galey, Norby,
Norby, Roth (1961) – Prima
pubblicazione dei guasti stuckstuck-atat-0 e
stuckstuck-atat-1
Seshu & Freeman (1962) – Utilizzo dei
guasti stuckstuck-at nella fault simulation
parallela
Poage (1963) – Analisi teorica degli stuckstuckat
2
1
ATPG
ATPG Funzionale
Funzionale e
e
Strutturale
Strutturale
3
Circuito
Circuito di
di Carry
Carry
4
2
Funzionale
Funzionale e
e Strutturale
Strutturale
(Continua)
(Continua)
■
■
ATPG funzionale – genera un test set completo per tytte
le combinazioni di ingressi e uscite
129 ingressi,
ingressi, 65 uscite:
uscite:
2129 = 680,564,733,841,876,926,926,749,
214,863,536,422,912 patterns
Utilizzando 1 GHz ATE, potrebbe richiedere 2.15 x 1022
anni
Test strutturali:
strutturali:
Adder senza hardware ridondante,
ridondante, 64 bit slices
Ciascuna con 27 guasti (fault equivalence)
Almeno 64 x 27 = 1728 faults (tests)
Richiede 0.000001728 s su un 1 GHz ATE
5
Definizione
Definizione di
di Automatic
Automatic
TestTest
TestPattern Generator
Generator
Test--Pattern
■
■
■
Operazioni su hardware digitale:
digitale:
Inietta i guasti in circuiti modellati in un computer
Usa vari modi per attivare e propagare gli effetti dei
guasti alle uscite del circuito
Uscite cambiano dal valore atteso a quello faulty
Electron--beam (E-beam) test osserva i segnali interni –
Electron
“picture”
picture” dei nodi caricati a 0 e 1 nei colori diversi
Troppo costoso
flip-flops
Scan design – aggiunge hardware di test a tutti i flipper trasformarli in grande shift register durante il test
Shifta lo stato in ingresso,
ingresso, e lo scansiona fuori
Largamente utilizzato – rende combinatorio un circuito
sequenzial
Costi:
Costi: 5 to 20% chip area, delay, extra pin, test
sequence più
più lunghe
6
3
Circuiti
Circuiti e
e alberi
alberi di
di
decisione
decisione binaria
binaria
7
Completezza
Completezza degli
degli
algoritmi
algoritmi
■
■
■
Definizione:
Definizione: algoritmi è completo se può
cercare l’intero binary decision tree per
generare un test
Guasto untestable – non esiste alcun test
anche ricercando l’intero albero
Circuito combinatorio i guasti non
testabili sono ridondanti mostrando la
presenza di hardware non necessario
8
4
Algebra:
Roth
5
Algebra: Roth’
Roth’
5Valori e
e
Roth’’ss 55--Valori
Muth’
Muth
Muth’
9--Valori
Valori
Muth’’ss 9
Failing
Good
SimboloSignificatoMachine Machine
0
D
1/0
1
1
D
0/1
0
Roth’’s
Roth
0
0
0/0
0
Algebra
1
1
1/1
1
X
X
X/X
X
X
G0
0/X
0
X
G1
1/X
1
Muth’
Muth’s
0 Addizioni
F0
X/0
X
1
F1
X/1
X
9
Roth’
Roth
Muth
Roth’
and Muth’
Muth’
Roth’’ss and
Muth’’ss
HigherHigher
HigherOrder Algebras
Algebras
Higher--Order
■
■
■
Rappresentano due macchine,
macchine, che sono simulate
contemporaneamente mediante un programma di
computer:
Good machine (1o valore)
valore)
Bad machine (2o valore)
valore)
Nell’
Nell’algebra si possono rappresentare entrambi:
entrambi:
L’ATPG risolve entrambi
I valori della macchina faultfault-free che precludono valori
della macchina guasta e viceversa di rivelano subito
I bisogni di un ATPG completo:
completo:
Combinatori:
Combinatori: MultiMulti-path sensitization, Roth Algebra
Sequenziali:
Sequenziali: Muth Algebra -- il circuito guasto può
essere inizializzato a valori diversi di quello faultfault-free
10
5
Algoritmo
Algoritmo Esaustivo
Esaustivo
■
■
■
Per un circuito a n-input, genera tutti i 2n
pattern
Test pseudoesaustivo
≤ a meno che il
Non è possibile utilizzarlo
circuito non sia partizionabile in coni di
logica con meno di 15 ingressi
ATPG esaustivo per ciascun cono
Perde i guasti che richiedono specifici
pattern di attivazione che coinvolgono
coni multipli
11
Generazione
pesata
Generazione casuale
casuale ((pesata)
pesata)
pesata))
■
■
Diagramma di
flusso
Usata per
collaudare il
6060-80% dei
guasti,
guasti, poi si
passa ad altri
ATPG
12
6
Differenze
Differenze Booleane
Booleane Metodo
Metodo
Simbolico
et al
al.)
.)
Simbolico (Sellers
(Sellers et
per il sito del guasto
g = G (X1, X2, …, Xn)
fj = Fj (g, X1, X2, …, Xn)
1 ≤ j ≤ m
Xi = 0 o 1 per 1 ≤ i ≤ n
13
Diffrenze
Diffrenze Booleane
Booleane
(Sellers,
Bearnson
(Sellers, Hsiao,
Hsiao, Bearnson)
Bearnson)
Bearnson))
■
Teorema di Shannon:
F (X1, X2, …, Xn) = X2 • F (X1, 1, …, Xn) + X2 • F (X1, 0, …, Xn)
■
■
Boolean Difference (derivate parziali):
parziali):
∂ Fj
∂g
= Fj (1, X1, X2, …, Xn)⊕ Fj (0, X1, …, Xn)
Requisiti per la rivelazione dei guasti:
guasti:
G (X1, X2, …, Xn) = 1/0
∂ Fj
∂g
= Fj (1, X1, X2, …, Xn) ⊕ Fj (0, X1, …, Xn) = 1
14
7
Sensibilizzazione
Sensibilizzazione di
di
cammini
cammini -- Esempio
Esempio
1 Fault Sensitization
2 Fault Propagation
3 Line Justification
15
Sensibilizzazione
Sensibilizzazione di
di
Cammini
Cammini -- esempio
esempio
Cammino f – h – k – L bloccato a j, perché
perché
non si può giustificare 1 su i
1
1
D
D
D
D
1
D
0
1
16
8
Sensibilizzazione
Sensibilizzazione di
di
cammini
cammini -- esempio
esempio
Cammini simultanei f – h – k – L e
g – i – j – k – L bloccato a k perché
perché
scompare la D-frontiera (D o D)
1
D
D
1
1
D
D
D
1
17
Sensibilizzazione
Sensibilizzazione di
di
cammini
cammini -- esempio
esempio
Cammino g – i – j – k – L – test!
0
0
1
D
D
D
D
D
1
1
18
9
Soddisfacibilità
Soddisfacibilit
Soddisfacibilità
à
Soddisfacibilità
Booleana
Booleana
■
2SAT: xi xj + xj xk + xl xm … = 0
.
.
.
xp xy + xr xs + xt xu … = 0
■
3SAT: xi xj xk + xj xk xl + xl xm xn … = 0
.
.
.
xp xy + xr xs xt + xt xu xv … = 0
19
Esempio
Esempio
■
■
■
■
Σ ak bk ck = 0
(non-tautologia) o
Π (ak + bk + ck) = 1 (soddisfacibilità)
AND relazioni fra segnali dei gate:
Cubi => Relazioni di errore:
errore:
Se a = 0, allora z = 0
Se b = 0, allora z = 0
Se z = 1, allora a = 1 AND b = 1
Se a = 1 AND b = 1, allora z = 1
Somma (1 in presenza di errori):
errori):
az+bz+abz=0
az
bz
z ab
abz
20
10
PseudoPseudo
PseudoBoolean e
e
Pseudo--Boolean
Funzioni
Funzioni Booleane
Booleane False
False
■
Funzioni PseudoPseudo-Boolean : utilizzano gli operatori
+ -- sugli interi
Complementazione di x rappresentata da 1 – x
Fpseudo—
pseudo—Bool = 2 z + a b – a z – b z – a b z = 0
■
Funzione di energia
■
Espressione Booleana falsa (condizioni di errore)
errore):
fAND (a, b, z) = z ⊕ (ab) = a z + b z + a b z
21
Grafo
Grafo di
di implicazione
implicazione di
di un
un AND
AND
Gate
Gate
■
■
■
■
■
Molto efficiente
Ogni variabile ha 2 nodi,
nodi, uno per ciascuna fase
La clausola If … then si rappresenta con un
arco dal letterale if a quello then
Lo transforma in un grafo di chiusura transitiva
Quando un nodo è vero,
vero, tutti gli stati
raggiungibili sono veri
Operarore ANDing
utilizzato per relazioni
3SAT
∧
∧
22
11
Complessità
Complessit
Complessità
à
Complessità
Computazionale
Computazionale
■
■
Ibarra e Sahni – NP
NP--Complete
(nessuna espressione polinomiale nel tempo di
calcolo è stata trovate,
trovate, si presume che il costo
sia esponenziale)
esponenziale)
Caso peggiore:
peggiore:
no_pi
combinazioni di ingreso
2
no_ff
4
stati iniziali dei flipflip-flop
(good machine 0 o 1 bad machine 0 o 1)
1)
lavoro per simulare n gate α n
Complessità
Complessità: O (n x 2 no_pi x 4 no_ff)
×
■
23
Incremento
Incremento delle
delle
prestazioni
prestazioni degli
degli ATPG
ATPG
Algorithm
Est. speedup over D-ALG Year
(normalized to D-ALG time)
D-ALG
1
1966
PODEM
7
1981
FAN
23
1983
TOPS
292
1987
SOCRATES
1574 † ATPG System
1988
Waicukauski et al. 2189 † ATPG System
1990
EST
8765 † ATPG System
1991
†
TRAN
3005
ATPG System
1993
Recursive learning 485
1995
Tafertshofer et al. 25057
1997
24
12
Analog
Analog Fault
Fault Modeling
Modeling
Impractical
Impractical for
for Logic
Logic ATPG
ATPG
■
■
■
Huge # of different possible analog faults
in digital circuit
Exponential complexity of ATPG algorithm
– a 20 flipflip-flop circuit can take days of
computing
Cannot afford to go to a lowerlower-level
model
Most testtest-pattern generators for digital
circuits cannot even model at the
transistor switch level (see textbook for 5
examples of switchswitch-level ATPG)
25
13