Simulazione di guasto Problemi e applicazioni Algoritmi Seriale Parallelo Deduttivo Concorrente Random Fault Sampling Sommario Problemi e Applicazioni Problema, dati: Un circuito Una sequenza di vettori di test Un modello di guasto Determina Copertura di guasti - frazione (o percentuale) di guasti modellati faults rivelati dai test Insieme di guasti non rivealti Applicazioni Determina la qualità dei test e quindi dei prodotti Trova i guasti non rivelati per migliorare i test Aiuta la generazione di vettori di collaudo 2
Simulatore di guasto nella progettazione di sistemi digitali Verified design netlist Verification input stimuli Fault simulator Test vectors Modeled fault list Remove tested faults Test compactor Delete vectors Fault Low coverage? Adequate Stop Test generator Add vectors 3 Simulazione di guasto Modello del circuito: mixed-level Gate level con switch-level per segnali ad alta impedenza e bidierezionali Modelli ad alto livello (memorie, etc.) con guasti sui pin Segnali: logico Due (, ) o tre (,, X) stati per circuiti logici Booleani Quattro stati (,, X, Z) per circuiti MOS sequenziali Bridging Temporizzazioni: Zero-delay per circuiti combinatori Unit-delay per circuiti sincroni Asincroni 4 2
Simulazione di guasto Guasti: Stuck-at singoli (non adeguati) Stuck-open, transition e path-delay Fault collapsing basato su relazioni di equivalenza Fault-dropping -- una volta che un guasto viene rivelato, non viene più simulato con i vettori di collaudo successivi, a meno che non servano informazioni sulla diagnosi Fault sampling -- si seleziona un campione casuale di guasti (5%) quando il circuito è grande 5 Algoritmi di simulazione di guasto Seriale Parallelo Deduttivo Concorrente Differenziale 6 3
Algoritmo Seriale Simula il circuito fault-free e salva le risposter. Ripete questi passi per i guasti nella fault list: Modifica la netlist iniettando un guasto Simula la rete modificata, vettore per vettore comparando le risposte con quelle salvate Se le risposte sono diverse, dichiara il guasto come rivelato e non simula ulteriori vettori Vantaggi: Facilità di implementazione, ridotta occupazione di memoria => sequenziali Possibilità di simulare una grande varietà di guasti 7 Svantaggi: Algoritmo Seriale Deve sempre risimulare il circuito anche se non serve, tempi di CPU proibitivi per circuiti VLSI Alternativa: Simulare diversi guasti insieme Test vectors Fault-free circuit Comparator f detected? Circuit with fault f Comparator f2 detected? Circuit with fault f2 Comparator fn detected? Circuit with fault fn 8 4
Simulazione di guasto Parallela Sfrutta il parallelismo inerente a livello bit delle operazioni logiche della ALU Memoria: una word per linea del circuito per simulazioni a due stati (,) A ciascun passo si simulano w- nuovi guasti, dove w è la lunghezza di parola macchina Speed up rispetto ai metodi seriali ~ w- Non adatto per simulazioni con ritardi non unitari o logica non Booleana (in parte) 9 Esempio Bit : fault-free circuit Bit : circuit with c s-a- Bit 2: circuit with f s-a- a b c s-a- e c s-a- detected g d f s-a- 5
Simulazione di guasto Deduttiva Simulazione in un singolo passo Ciascuna linea k contiene una lista L k di guasti rivelabili su k Dopo la simulazione fault-free di ciascun vettore, le liste di guasti delle uscite dei gate sono calcolate utilizzando semplici operazioni sugli insiemi, i valori dei segnali (nel circuito corretto) e le liste di guasti agli ingressi dei gate Le liste dei guasti ai PO forniscono i dati sulla fault detection Limitazioni: Regole sugli insiemi non utilizzabili per gate non Booleani Difficile da usare per i ritardi Esempio Notazione: L k è la lista di guasti per la linea k k n è un guasto s-a-n fault su k a b {a } {b, c } e {b } c d {b, d } L e = L a U L c U {e } = {a, b, c, e } f {b, d, f } g L g = (L e L f ) U {g } = {a, c, e, g } U Guasti rivelati 2 6
Simulazione di guasti concorrente Simulazione event-driven del circuito fault-free, poi vengono simulate solo quelle parti dei circuiti con i guasti che differiscono da quello privo di guasti. Per ciascun gate si tiene una lista con lo stato del gate in assenza di guasti e con gli stati del gate corrispondenti ai circuiti guasti per cui lo stato di tale gate è diverso da quello fault-free. Tutti gli eventi dei circuiti guasti uguali a quelli fault-free sono simulati implicitamente. I guasti possono essere simulati con gli stessi modelli e dettagli disponibili nella simulazione fault-free. Più veloce degli altri metodi, ma usa troppa memoria. 3 Esempio a b c d a b c e e f g a b c e b d f g f d 4 7
Fault Sampling Si simula solo un campione di guasti. La cui copertura è una stima di quella complessiva. Le dimesnioni del campione possono essere calcolate per ottenere una certa confidenza sui risultati. Vantaggi: minori risorse di calcolo. Svantaggi: dati limitati sui guasti non rivelati. 5 Modello di campionamento Detected fault Undetected fault Tutti i possibili guasti Random picking N p = numero totale di guasti C = copertura di guasti (non nota) N s = dimensioni del campione N s << N p c = copertura sul campione (variabile aleatoria) 6 8
Densità di probabilità della copertura sul campione,, c (x--c ) 2 -- ------------ 2σ 2 p (x ) = Prob(x < c < x +dx ) = -------------- e σ (2 ( π) /2 p (x ) C ( - C) Variance,, σ 2 = ------------ N s σ Mean = C σ Sampling error C -3σ C x C +3σ. Sample coverage x 7 Limiti sull errore C ( - C ) x - C = 3 [ -------------- ] /2 N s Risolvendo l equazione per C, si ottiene il valore che garantisce una confidenza pari a 3-sigma (99.7%) : 4.5 C 3σ = x ± ------- [ +.44 N s x ( - x )]/2 N s Dove N s rappresenta le simensioni del campione e x la sua copertura di guasti. Esempio: un circuito con 39,96 guasti ha una copertura critica del 87.%. La copertura misurata su un campione di, guasti 88.7%. La copertura da una stima di 88.7% ± 3%. Il tempo di CPU è pari al % di quello necessario per tutti i guasti. 8 9
Sommario La simulazione di guasto è fondamentale per valutare la qualità del test. La simulazione di guasti concorrente è la scelta migliore. Per alcuni circuiti (combinatori e sequenziali sincroni con solo gate elementari), la simulazione differenziale risulta più veloce e occupa meno memoria. L utilizzo di campioni di guasti riduce significativamente i costi delle simulazioni. 9