Test e design for testability

Documenti analoghi
Design for Testability (DFT): Scan

IC Test & Design for Testability

Collaudo (testing) dei sistemi digitali

Design For Testability (DFT) Alberto Scandurra

CORSO DI ELETTRONICA DEI SISTEMI DIGITALI

Simulazione di guasto

VLSI Testing. Motivazioni

Reti logiche (2) Circuiti sequenziali

Moduli combinatori Barbara Masucci

Elettronica dei Sistemi Digitali Il test nei sistemi elettronici: guasti catastrofici e modelli di guasto (parte II)

METODOLOGIE PROGETTUALI CMOS

PIANO DI LAVORO DEI DOCENTI

14. Verifica e Validazione

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

PROGRAMMA DI ELETTRONICA classe 3B a.s. 2014/15

Elettronica Digitale. 1. Sistema binario 2. Rappresentazione di numeri 3. Algebra Booleana 4. Assiomi A. Booleana 5. Porte Logiche OR AND NOT

Tecniche di Progettazione Digitale Logiche programmabili; standard cells; generazione automatica del layout: algoritmi di partitioning p.

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010

IL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi

PSPICE Circuiti sequenziali principali

senza stato una ed una sola

ESPERIMENTAZIONI DI FISICA 3. Traccia delle lezioni di Elettronica digitale M. De Vincenzi A.A:

PSPICE simulazione codificatori e decodificatori, MUX - DEMUX

Generazione di Impulsi Digitali. Antonio Affinito

Un linguaggio per la descrizione dello hardware: il VHDL

Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario

Reti Logiche (Nettuno) Test di autovalutazione del 19/5/94

ESAME DI ARCHITETTURA I COMPITO A

Contatore asincrono esadecimale

La tolleranza ai guasti. Concetti generali

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Livello logico digitale

I bistabili ed il register file

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

Esercitazione 2 Introduzione a GATESIM

Elettronica digitale: cenni

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

Flip flop: tempificazione latch ed edge-triggered

Il protocollo JTAG IEEE Lo standard industriale per il test di schede e circuiti integrati

Cos è il VHDL. Il VHDL è un linguaggio standard per la descrizione dell hardware

Componenti principali

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Elettronica Sistemi Digitali 09. Flip-Flop

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Circuiti sequenziali. Circuiti sequenziali e applicazioni

Flip-flop e loro applicazioni

Calcolatori Elettronici B a.a. 2006/2007

SISTEMI. impostazione SISTEMI. progettazione. Saper utilizzare modelli di circuiti combinatori

Microelettronica. Introduzione al progetto di un microprocessore. Stefano Salvatori. Università degli Studi Roma Tre.

Esercitazioni di Reti Logiche. Lezione 5

Sistemi di Elaborazione delle Informazioni

Antonio D'Amore I CIRCUITI DI COMMUTAZIONE

. Nota: le tensioni dono riferite all'ingresso ed all'uscita dello stesso circuito. G. Martines 1

Sistemi digitali. Sistema digitale

Transcript:

Test e design for testability

Tipi di Collaudo Esistono vari tipi di collaudo: 1.Verification test, characterization test Verifica la correttezza del progetto e delle procedure di collaudo di solito richiede correzioni al progetto 2.Manufacturing test Collaudo di fabbrica di tutti i chip prodotti per guasti parametrici e difetti casuali 3.Acceptance test (incoming inspection) Collaudo svolto dai clienti sui chip acquistati per verificarne la qualità

Manufacturing test La resa Y misura la qualità del processo produttivo Il manufacturing test è il mezzo con cui si viene a conoscere la resa Fatto tramite apparecchiature molto costose detti ATE (Automatic Test Equipment) Per collaudare i componenti gli ATE usano diverse tecniche: ATPG Automatic Test Pattern Generation IDDQ test Parametric testing etc Per poter usare ATPG i guasti devono essere modellati nei loro effetti funzionali, ovvero come cambiamenti delle funzioni booleane -> modelli di guasto stuck - at

Incoming inspection Problema: Il collaudo può essere imperfetto Parti buone marcate come guaste Parti guaste vendute ai clienti rende necessaria incoming inspection Good chips Prob(good) = y Prob(pass test) = high Mostly good chips Testing as Filter Process (Bushnell Agrawal) Fabricated chips Defective chips Prob(bad) = 1- y Prob(fail test) = high Mostly bad chips

Defect Level Defect level (DL) è la parte di chip guasti sul numero totale dei chip che passano il collaudo DL si misura in parti per milione (ppm). DL è una misura della efficienza del collaudo ed è una funzione della sua copertura (fault coverage) Limiti: se la copertura è 100% il DL =0 se la copertura è 0 (non si collauda) il DL = 1-Y (tutti i componenti guasti vengono messi in vendita) DL è una misura quantitativa della qualità del prodotto fabbricato. Per chip VLSI commerciali DL maggiore di 500 ppm non è accettabile.

0,07 0,06 0,05 0,04 0,03 0,02 0,01 0 Copertura e DL DL in funzione di T DL 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1

Automatic Test Pattern Generation Modelli di guasto Il primo passo per ATPG è la scelta del livello di descrizione del circuito e dei modelli di guasto da utilizzare Un modello di guasto deve essere in grado di rappresentare una vasta gamma di malfunzionamenti, anche molto diversi da un punto di vista fisico, pur mantenendo la massima semplicità

Modelli di guasto stuck-at-0/1 Stuck-open/close Bridging Delay fault Guasti di tipo transistor stuck-close o bridging possono dar luogo sia ad un incremento della corrente statica assorbita dal circuito, sia a valori di tensione sulle linee di segnale intermedi tra i livelli standard

Guasti di tipo stuck-at Il modello di guasto di tipo stuck-at è il più diffuso E possibile creare algoritmi per la generazione dei vettori di test mirati alla loro rilevazione Single stuck at model: un ingresso o l uscita di una porta logica è fissa a 0 (stuck at 0) o ad 1 (stuck at 1)

Guasti di tipo stuck-at Porta logica AND A Out B A B Z A SA0 ASA1 BSA0 BSA1 OutSA1 OUTSA0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0

Guasti di tipo stuck-at Porta logica OR A Out B A B Z A SA0 ASA1 BSA0 BSA1 OutSA1 OUTSA0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0

Stuck open B Vdd A B Out Out /stopen note 0 0 1 Z Hi-Z A 0 1 0 0 silent Out 1 0 0 0 silent 1 1 0 0 silent A GND 2 input Nor B Quando A=0 e B=0 Out è in alta impedenza La sequenza AB 01,00 permette di rilevare il guasto: AB 01, Out =0 AB 00, Out rimane 0 perché B non si accende

Stuck close B Vdd A B Out Out /stclose note 0 0 1 1 silent A 0 1 0 X partitore resistivo Out 1 0 0 0 silent 1 1 0 0 silent A GND 2 input Nor B Il valore dell uscita quando A=0 e B=1 è ignoto e dipende dal valore della resitenza parassita. Vout=Vdd*Ron/(2Ron+Rb) Si può rilevare una corrente parassita tramite Iddq testing

Bridging Il Bridge (ponte) è un collegamento resistivo tra nodi (ingressi o uscite) di due porte logiche del circuito che non dovrebbereo essere connesse La funzione associata al nodo dipende da una funzione di valori presenti tra i nodi connessi

Bridging Modello Dominant value x 1 x 1 x 1 dom x 2 : x 1 x 2 x 2 dom x 1 : x 1 x 2 x 1 x 2 x 1 x 2 x 2 x 2 Fault-free x 1 dom x 2 x 2 dom x 1 x 1 x 2 x 1 x 2 x 1 x 2 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1

Delay fault I difetti possono causare circuiti chiusi o I difetti possono causare circuiti chiusi o aperti (facilmente modellati dal modello stuck at) oppure dei guasti resistivi Guasti resistivi possono essere la presenza di percorsi resistivi spuri oppure l aumento della resistenza sulle linee: Modello di delay fault: il valore logico statico è corretto ma la propagazione sul circuito combinatorio è troppo lunga Si misura tra due componenti sequenziali

Delay fault Considerato T il periodo del clock I guasti sono modellati con: Slow to rise: il valore osservato al tempo T è 0 invece di 1 Slow to fall : il valore osservato osservato al tempo T è 1 invece di 0 Questi guasti vengono rilevati tramite l apposizione di 2 vettori di test in successione rapida detta at speed Fornire i vettori di test at speed su sistemi ad alte prestazioni richiede tester costosi A volte vengono introdotte tecniche di Design for Testability per creare vettori internamente al sistema

Delay fault - Esempio Guasto da rilevare: A, slow to rise Due vettori caricati sui flop 1 e 2 AB = 01 AB = 11 Dopo un tempo T pari a quello funzionale visto dall AND gate il flop cattura l effetto della transizione e viene rilevato il guasto poiché viene letto 0 invece di 1 1 A B C 2 A B C 3 A slow to rise note 0 0 0 0 slient 0 1 0 0 silent 1 0 0 0 silent 1 1 1 0 Con t<t

Simulazione dei guasti I sistemi per la generazione di vettori di test per un circuito combinatorio tramite Automatic Test Pattern Generation ha un tipico schema di funzionamento I vettori di test vengono generati in modo random Tramite fault simulation (simulazione di guasti) viene valutata la copertura del vettore Se il miglioramento della copetura non è sufficiente viene usato un algoritmo di test deterministico (Deterministic ATPG) Quando l aumento di copertura è suffciente i vettori di test vengono salvati Quando la copertura è sufficiente l operazione finisce e i vettori vengono salvati e compattati

Un sistema ATPG Random pattern generator Fault simulator yes Save patterns yes Fault coverage improved? no Random patterns effective? no Deterministic ATPG Compact vectors yes Coverage Sufficient? no

Fault Simulation Scopo della Fault simulation : Dato Un circuito Una sequenza di vettori di test Un modello di guasto Determinare Copertura di guasto (Fault coverage) - percentuale dei guasti modellizzati che sono rilevati dai vettori di test Insieme dei guasti non rilevati Motivazione Determinare la qualità del test e consecutivamente la qualità del prodotto Trovare I guasti difficili da rilevare per migliorare il test

Algoritmo Seriale Algoritmo: Simulare il circuito non guasto (faultfree) e salvare le risposte. Ripetere i passi seguenti per ogni guasto nella lista dei guasti: Modificare la netlist iniettando un guasto Simulare la netlist modificata vettore dopo vettore comparando le risposte a quelle salvate Se la risposta differisce riporta che il guasto è rilevato e sospendi la simulazione sui vettori rimasti Vantaggi: Facile da implementare; richiede solo un simulatore di valore vero, meno memoria La maggior parte dei guasti può essere simulata

Algoritmo seriale (Cont.) Svantaggio: Molta computazione ripetuta. I tempi di calcolo sono proibitivi in particolare per circuiti VLSI Alternativa: simulare molti circuiti in parallelo Vettori di collaudo Circuito funzionante Comparatore f1 rilevato? Circuito con guasto f1 Comparatore f2 rilevato? Circuito con guasto f2 Comparatore fn rilevato? Circuito con guasto fn

Problema ATPG ATPG: Automatic test pattern generation Dato Un circuito (di solito a livello porte logiche) Un modello di guasto (di solito del tipo stuck-at) Trovare Un insieme di ingressi per rilevare tutti I guasti modellati. Problema principale: Trovare un vettore di test per un dato guasto. Combinare la soluzione calcolata con un simulatore di guasto in un sistema ATPG (per calcolare la ulteriore copertura)

Che cosa è un test? Fault activation Fault effect Primary inputs (PI) X 1 0 0 1 0 1 X X Combinational circuit 1/0 1/0 Primary outputs (PO) Stuck-at-0 fault Path sensitization

L ATPG è un problema di ricerca Cercare nello spazio dei vettori di ingresso per trovare un vettore di test: Vector Space Inizializzare tutti i segnali allo stato sconosciuto (X) lo spazio vettoriale completo è il campo da gioco Attivare un dato guasto e sensitizzare il percorso verso i PO Circuit Vector Space Circuit X X X sa1 X 0 1 sa1 0/1 001 101

Bisogna gestire due copie del circuito Good circuit Same input X 0 1 X 0 Faulty circuit X 0 X Different outputs Alternativamente si può usare una logica a più valori per gestire Sia il circuito buono che quello guasto allo stesso tempo X 0 Circuit X 1 sa1 1 1 sa1 0/1

Algebra a valori multipli Simbolo Rappresentazione Alternativa Circuito Funzionante Circuito Guasto D D 0 1 X 1/0 0/1 0/0 1/1 X/X 1 0 0 1 X 0 1 0 1 X Algebra di Roth

Funzione di una porta NAND a b D 1/0 0/1 D 1 c Inp put b c Input a 0 1 X D D 0 1 1 1 1 1 1 1 0 X D D X 1 X X X X D 1 D X D 1 D 1 D X 1 D

Uso della notazione D Il valore 0/1 viene rimpiazzato da D e la sua propagazione avviene tramite le regole booleane descitte Circuit X X 0 1 sa1 0/1 Circuit X X 0 1 sa1 D

Algoritmi di ATPG La maggior parte degli algoritmi ATPG usa l algebra D il primo algoritmo proposto si chiama D algorithm ed è un algoritmo completo: Se esiste un vettore di test, lo trova oppure Determina che il guasto è ridondante (ovvero che non esiste un vettore di test per rilevarlo) La complessità cresce esponenzilamente con la dimensione del circuito Esistono altri algoritmi più veloci che sono stati proposti recentemente

Collaudo delle memorie Il collaudo delle memorie viene trattato in modo diverso dai circuiti combinatori Negli algoritmi di test viene sfruttata la modailtà di accesso dei dati creando sequenze di letture e scritture mirate alla rilevazione dei guasti E fondamentale che il numero di letture e scritture abbia una relazione lineare con la dimensione della memoria Tipicamente viene aggiunto un sistema di test on board chiamato Memory BIST (Built In Self Test) mirato ad applicare in modo automatico i suddetti algoritmi

Design for testability Design for Testability ovvero progettazione finalizzata al collaudo è l insieme delle tecniche di progettazione che vengono usate per rendere possibile o comunque migliorare il collaudo di un sistema. DFT è una parte importante del flusso di progetto e deve essere tenuto in considerazione fin dalle fasi iniziali della progettazione di un nuovo componente Le necessità cambiano con la complessità del sistema ma in generale una parte non trascurabile del silicio viene riservata ai circuiti di test Esempi di DFT Inserzione delle catene di scansione (scan chain) At-speed testing Compressione e decompressione dei vettori di test Circuiti di Built In Self Test (BIST) per le memorie (MBIST) o per la logica combinatoria (LBIST)

Inserzione dello scan E una tecnica ampiamente usata per il DFT Si rimpiazzano tutti gli elementi di memoria con speciali celle per lo scan (scan cells) Si connettono le scan cells in scan chains, procedura nota come stitching (letteralmente sutura) Lo Scan ha tre modlità: Modalità normale (o mission mode) Tutti i segnali relativi allo scan sono messi a 0 Il sistema funziona in base alle sua configurazione funzionale originale. Modalità di scansione (o shift mode) Si inseriscono o si estraggono i dati dalle scan chains Modalità di cattura Si cattura la risposta al test nelle catene di scan System on Chip Test Architectures, Wang, Stroud, Touba (ed.), Morgan Kaufmann, Burlington MA, 2008, ISBN: 978-0-12-373973-5

Architetture per lo scan DI SI 0 1 D Q Q/SO X 1 X 2 Y Combinational logic 1 Y X 2 3 SE CK Muxed-D Scan Cell CK D Q Il select del Multiplexer è Esempio di circuito sequenziale scan enable (SE) che permette di selezionare tra l input funzionale o dato in ingresso (DI) e l ingresso dello scan (SI). FF 1. FF 2 D Q. FF 3 D Q System on Chip Test Architectures, Wang, Stroud, Touba (ed.), Morgan Kaufmann, Burlington MA, 2008, ISBN: 978-0-12-373973-5

Architetture per lo scan PI PPI X 1 Y 1 X 2 X 3 Combinational logic Y 2 PPO Si sostituiscono i Flip PO Flop FF1, FF2 ed FF3 con SFF1, SFF2 e SFF3. SFF 1 SFF 2 SFF 3 DI. DI. DI. SI SI Q SI Q SI Q SO SE SE SE SE CK.... Muxed-D Scan Design System on Chip Test Architectures, Wang, Stroud, Touba (ed.), Morgan Kaufmann, Burlington MA, 2008, ISBN: 978-0-12-373973-5 Nella modalità,di shift SE è ad 1, e tutte le scan si comportano come un unico shift register Nella modalità di cattura SE è messo a 0, e le scan cells sono usate per catturare la risposta al test dalla logica combinatoria

Vettori di Test Combinatorio PI SI SE Present state I2 I1 O1 O2 S1 S2 Combinational logic N1 N2 PO SO Next state

Vettori di Test Combinatorio PI I1 I2 Bit random o don t care SCANIN S1 S2 SE 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 PO O1 O2 SCANOUT N1 N2 Lunghezza sequenza= (n comb + 1) n sff + n comb clock periods n comb = numero dei vettori combinatori n sff = numero dei flip flop di scan

Registri di scan multipli I Flip flop di scan possono essere distribuiti tra più registri di scansione, ognuno dei quali ha un pin di scan in e scan out dedicato La lunghezza della sequenza di test è determinata dalla lunghezza dello shift register più lungo. E necessario solo un pin di Scan Enable (SE) I pin di I/O possono essere usati per lo scan in modalità di test PI/SI Combinational logic SFF M U X PO/SO SFF SFF SE CK

Parti in più dovute allo scan Pin di IO : E necessario un pin Area in più, nel caso di Mux-D ogni scan flip flop ha 4 porte logiche in più dovute all aggiunta del multiplexer Porte logiche = [4 n sff /n tot ] x 100%, dove n tot = porte logiche totali; n ff = numero di flip flop; Esempio n g = 100k gates, n sff = 2k flip-flops, overhead = 8%. Una stima più accurata deve considerare anche l impatto dei collegamenti tra i flip flop nelle scan chain Impatto sulle prestazioni Il ritardo del Multiplexer viene aggiunto nel percorso combinatorio: approssimativamente in MuxD ritardo di 2 porte logiche Carico sul fanout del flip flop dovuto all extra fanout che va verso lo SI della prossima cella.

Disposizione dello Scan Ottimale X X IO pad SFF cell Flipflop cell Y Y SCAN IN SE SCAN OUT Routing channels Interconnects Active areas: XY and X Y

Progettazione automatica per lo Scan Rule violations Combinatio nal vectors Scan design rule audits Combinational ATPG Scan sequence and test program generation Test program Behavior, RTL, and logic Design and verification Gate-level netlist Scan chain order Design and test data for manufacturing Scan hardware insertion Scan netlist Chip layout: Scan- chain optimization, timing verification Mask data

Considerazioni sulla inserzione dello scan Lo Scan è la tecnica di DFT più usata: Progettazione basata su regole Inserzione automatica dell hardware relativo Permette l uso di ATPG combinatorio Vantaggi: Progettazione automatica Alta copertura ai guasti, utile nella diagnosi Moduli gerarchici di scan possono essere facilmente combinati insieme in progetti complessi Moderato overhead di area (~10%) e velocità (~5%) Svantaggi: Largo volume dei test data e lungo tempo di test Essenzialmente è un test a bassa velocità se il clock viene controllato dai pin (non at- speed)

Definizione di Built-In Self-Test Si implementano le funzionalità dell automatic test equipment (ATE) sul circuit under test (CUT). Hardware aggiunto al CUT: Pattern generation (PG) Response analysis (RA) Test controller CK PG Stored Test Patterns Stored responses Pin Electronics Test control HW/SW Comparator hardware CUT BIST Enable Test control logic CUT RA ATE Go/No-go signature

Pattern Generator (PG) Diversi modi per implementare il generatore di vettori di test: Una RAM o una ROM contenente vettori deterministici Un contatore Generatore di vettori pseudorandom Feedback shift register RESET 100 001 CK D Q D Q D Q X 2 X 1 X 0 000 110 111 011 101 010 RESET LFSR: 1 + X + X 3 X 2 X 1 X 0

Response Analyzer (RA) Si usa un generatore di cyclic redundancy check code (CRCC) (LFSR) come compattatore della risposta Si trattano gli n bit di dato dai PO del circuito che devono essere compattati come i coefficienti di ordine decrescente di un polinomio di grado n-1 CRCC divide il polinomio proveniente dal PO per il suo polinomio caratteristico Il resto della divisione rimane nell LFSR Bisogna inizializzare l LFSR a un valore di seme (tipicamente 0) prima di testare Dopo il test si compara il valore della firma nel LFSR con una firma precalcolata per il circuito non guasto

BIST e Scan chain PG Scan register Comb. logic Esempio con una sola scan chain Scan register BIST enable BIST Control logic Go/No-go signature Comb. logic Scan register Comb. logic RA Scan register