1 / 47

Test e design for testability

Test e design for testability. Tipi di Collaudo. Esistono vari tipi di collaudo: Verification test, characterization test Verifica la correttezza del progetto e delle procedure di collaudo – di solito richiede correzioni al progetto

coral
Télécharger la présentation

Test e design for testability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Test e design for testability

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

  3. 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

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

  5. Defect Level • Defect level (DL) è la parte di chip guastisulnumerototaledei chip chepassanoilcollaudo • DLsimisura in parti per milione(ppm). • DL è unamisuradellaefficienza del collaudoed è unafunzionedellasuacopertura (fault coverage) • Limiti: se la copertura è 100% il DL =0 se la copertura è 0 (non sicollauda) il DL = 1-Y (tuttiicomponentiguastivengonomessi in vendita) • DL è unamisuraquantitativadellaqualità del prodottofabbricato. Per chip VLSI commercialiDLmaggioredi 500 ppm non è accettabile.

  6. Copertura e DL

  7. 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à Automatic Test Pattern Generation Modellidiguasto

  8. stuck-at-0/1 • Stuck-open/close • Bridging • Delay fault • Guasti di tipo transistor stuck-closeo 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 Modelli di guasto

  9. 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

  10. Porta logica AND Guasti di tipo stuck-at A Out B

  11. Porta logica OR Guasti di tipo stuck-at A Out B

  12. A B Out Out /st-open note 0 0 1 Z Hi-Z 0 1 0 0 silent 1 0 0 0 silent 1 1 0 0 silent Vdd B Stuck open A Out B A • 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 GND 2 input Nor

  13. A B Out Out /st-close note 0 0 1 1 silent 0 1 0 X partitore resistivo 1 0 0 0 silent 1 1 0 0 silent Vdd B Stuck close A Out B A 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 GND 2 input Nor

  14. 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

  15. Bridging x’1 x1 Modello Dominant value x2 x’2 x1 dom x2: x’1 x1 x2 x’2 x2 dom x1: x’1 x1 x2 x’2

  16. Delay fault • 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

  17. 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

  18. A B C 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 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 C 3 B 2

  19. 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

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

  21. Fault Simulation • Scopodella Fault simulation : Dato • Un circuito • Unasequenzadivettoridi test • Un modellodiguasto Determinare • Coperturadiguasto (Fault coverage) - percentualedeiguastimodellizzatichesonorilevatidaivettoridi test • Insiemedeiguasti non rilevati • Motivazione • Determinare la qualità del test e consecutivamente la qualità del prodotto • Trovare I guastidifficilidarilevare per migliorareil test

  22. Algoritmo Seriale • Algoritmo: Simulare il circuito non guasto (fault-free) 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

  23. 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 Comparatore f1 rilevato? Circuito funzionante Circuito con guasto f1 Comparatore f2 rilevato? Circuito con guasto f2 Comparatore fn rilevato? Circuito con guasto fn

  24. Problema ATPG • ATPG: Automatic test pattern generation • Dato • Un circuito (disolito a livelloportelogiche) • Un modellodiguasto (disolito del tipo stuck-at) • Trovare • Un insiemediingressi per rilevaretutti I guastimodellati. • Problemaprincipale: Trovare un vettoredi test per un datoguasto. • Combinare la soluzionecalcolata con un simulatorediguasto in un sistema ATPG (per calcolare la ulteriorecopertura)

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

  26. L’ATPG è un problema di ricerca • Cercare nello spazio dei vettori di ingresso per trovare un vettore di test: • 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 Vector Space Vector Space Circuit Circuit X X X X 0 1 0/1 sa1 sa1 001 101

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

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

  29. D D D D D D Funzione di una porta NAND D 1/0 0/1 a b 1 c Input b

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

  31. 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

  32. 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

  33. 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)

  34. Inserzione dello scan • E’ unatecnicaampiamenteusata per il DFT • Si rimpiazzanotuttiglielementidimemoria con specialicelle per lo scan (scan cells) • Si connettono le scan cells in scan chains, procedura nota come stitching (letteralmentesutura) • Lo Scan ha tremodlità: • Modalitànormale (o mission mode) • Tuttiisegnalirelativiallo scan sonomessi a 0 • Il sistemafunziona in base allesuaconfigurazionefunzionaleoriginale. • Modalitàdiscansione (o shift mode) • Si inseriscono o siestraggonoidatidalle scan chains • Modalitàdicattura • Si cattura la risposta al test nellecatenedi scan  System on Chip Test Architectures, Wang, Stroud, Touba (ed.), Morgan Kaufmann, Burlington MA, 2008, ISBN: 978-0-12-373973-5

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

  36. Architetture per lo scan Si sostituiscono i Flip Flop FF1, FF2 ed FF3 con SFF1, SFF2 e SFF3. 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 Muxed-D Scan Design  System on Chip Test Architectures, Wang, Stroud, Touba (ed.), Morgan Kaufmann, Burlington MA, 2008, ISBN: 978-0-12-373973-5

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

  38. Vettori di Test Combinatorio I1 I2 Bit random o don’t care PI 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 O2 O1 PO SCANOUT N1 N2 Lunghezza sequenza= (ncomb + 1) nsff + ncomb clock periods ncomb = numero dei vettori combinatori nsff = numero dei flip flop di scan

  39. Registri di scan multipli • I Flip flop di scan possonoesseredistribuititrapiùregistridiscansione, ognunodeiquali ha un pin di scan in e scan out dedicato • La lunghezzadellasequenzadi test è determinatadallalunghezzadello shift register piùlungo. • E’ necessariosolo un pin di Scan Enable (SE) • I pin di I/O possonoessereusati per lo scan in modalitàdi test PI/SI PO/SO Combinational logic M U X SFF SFF SFF SE CK

  40. Parti in più dovute allo scan • Pin di IO : E’ necessario un pin • Area in più, nelcasodiMux-D ogni scan flip flop ha 4 portelogiche in piùdovuteall’aggiunta del multiplexer • Porte logiche= [4 nsff/ntot] x 100%, doventot= portelogichetotali; nff= numerodi flip flop; Esempio– ng= 100k gates, nsff = 2k flip-flops, overhead = 8%. • Unastimapiùaccuratadeveconsiderareanchel’impattodeicollegamentitrai flip flop nelle scan chain • Impattosulleprestazioni • Il ritardo del Multiplexer vieneaggiuntonelpercorsocombinatorio: approssimativamente in MuxDritardodi 2 portelogiche • Caricosulfanout del flip flop dovutoall’extrafanoutcheva verso lo SI dellaprossimacella.

  41. Disposizione dello Scan Ottimale X’ X SFF cell IO pad SCANIN Flip- flop cell Y’ Y SE SCAN OUT Routing channels Active areas: XY and X’Y’ Interconnects

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

  43. Considerazioni sulla inserzione dello scan • Lo Scan è la tecnicadi DFT piùusata: • Progettazionebasatasuregole • Inserzioneautomaticadell’hardwarerelativo • Permettel’usodi ATPG combinatorio • Vantaggi: • Progettazioneautomatica • Alta coperturaaiguasti, utile nelladiagnosi • Moduligerarchicidi scan possonoesserefacilmentecombinatiinsieme in progetticomplessi • Moderato overhead di area (~10%) e velocità (~5%) • Svantaggi: • Largo volume dei test data e lungo tempo di test • Essenzialmente è un test a bassavelocità se il clock vienecontrollatodai pin (non at- speed)

  44. 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 Pin Electronics CUT Test control logic CUT Test control HW/SW BIST Enable RA Stored responses Comparator hardware Go/No-go signature ATE

  45. D Q X2 D Q X1 Pattern Generator (PG) • Diversimodi per implementareilgeneratoredivettoridi test: • Una RAM o una ROM contenentevettorideterministici • Un contatore • Generatoredivettori pseudorandom • Feedback shift register RESET 100 001 000 010 110 D Q X0 101 111 011 CK LFSR: 1 + X + X3 RESET X2 X1 X0

  46. Response Analyzer (RA) • Si usa un generatoredicyclic redundancy check code (CRCC) (LFSR) come compattatoredellarisposta • Si trattanogli n bit didatodai PO del circuitochedevonoesserecompattati come icoefficientidiordinedecrescentedi un polinomiodigrado n-1 • CRCC divide ilpolinomioprovenientedal PO per ilsuopolinomiocaratteristico • Il restodelladivisionerimanenell’LFSR • Bisognainizializzarel’LFSR a un valorediseme (tipicamente 0) prima ditestare • Dopoil test sicomparailvaloredella firma nel LFSR con una firma precalcolata per ilcircuito non guasto

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

More Related