Testování pamětí (Memory BIST) Testování a spolehlivost ZS 2011/2012, 10. přednáška Ing. Petr Fišer, Ph.D. Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 1
Testování pamětí - motivace Paměti tvoří více než 50% plochy čipu Jiný poruchový model Časté shluky poruch Jeden bit ovlivňuje druhý Porucha je ovlivněna čtením bitu Dynamické chování nelze uvažovat model s jednou poruchou nelze testovat pouze každý bit Specializované algoritmy Nutno testovat poruchy: 1. V paměťové matici 2. V adresním dekodéru a zbytku logiky MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 2
Poruchový model - SRAM 1. Přerušení (open) 2. Sdružené kapacity (coupling capacitance) MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 3
Poruchový model - DRAM 1. Data retention fault 2. Refresh line stuck-at fault 3. Bit-line voltage imbalance fault 4. Coupling between word and bit line 5. Single-ended bit-line voltage shift 6. Precharge and decoder clock overlap MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 4
Redukovaný poruchový model 1. Stuck-at faults (SAF) 2. Transition faults (TF) 3. Coupling faults (CF) 4. Neighborhood Pattern Sensitive faults (NPSF) 5. Chyba adresového dekodéru (AF) MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 5
Stuck-at Faults Porucha: Buňka setrvává v log. 0 nebo 1 Jak testovat: Do všech buňek zapsat 0 a přečíst Do všech buňek zapsat 1 a přečíst Značení: < /0>, < /1> MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 6
Transition Faults Porucha: Buňka neprovede 0 1 nebo 1 0 přechod Jak testovat: Pro všechny buňky proveď 0 1 přechod a přečti Pro všechny buňky proveď 1 0 přechod a přečti Značení: < /0>, < /1> [Agrawal, Bushnell, 2005] MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 7
Coupling Faults Porucha: Zápis do jedné buňky (agresor, j) vyvolá změnu v jiné buňce (oběť, i) Případy: 2-coupling fault mezi dvěma buňkami k-coupling fault mezi k buňkami Inversion coupling fault dojde k nastavení opačné hodnoty Idempotent coupling fault dojde k nastavení stejné hodnoty State coupling fault zápis určité hodnoty do buňky agresora způsobí změnu hodnoty oběti Dynamic coupling fault čtení/zápis buňky agresora vyvolá nastavení oběti na 0 nebo 1 MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 8
Neighborhood Pattern Sensitive Faults Porucha: Obsah jedné buňky ovlivní možnost změny obsahu jiné buňky MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 9
Chyby adresového dekodéru Porucha: Jakákoliv porucha v adresovém dekodéru Adresový dekodér je obyčejný kombinační obvod lze testovat klasicky ale není nutno, Případy: U některých adres se buňka nenaadresuje U některých adres se nenaadresuje víc buňek Některé buňky nelze naadresovat Některé buňky lze adresovat více adresami Jak otestovat: viz dále MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 10
Testování pamětí - shrnutí Poruchy jsou jiného typu, než u běžné logiky Poruch je více nutno testovat jinak algoritmické testy MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 11
Pochodující testy March Tests Notace w0 zápis 0 w1 zápis 1 - postupně od adresy 0 do adresy n-1 - postupně od adresy n-1do adresy 0 - v libovolném pořadí MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 12
Pochodující testy March Tests Příklady Pochodující element (w0) for ( i = 0; i < n; i++ ) { A[i] = 0; } Pochodující element (r0, w1) for ( i = n-1; i <= 0; i++ ) { if ( A[i]!= 0 ) error(); A[i] = 1; } Pochodující element (r1, w0, r0) for ( i = 0; i < n; i++ ) { if ( A[i]!= 1 ) error(); A[i] = 0; if ( A[i]!= 0 ) error(); } MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 13
Pochodující testy March Tests Příklady konkrétních algoritmů MATS (Modified Algorithmic Test Sequence) MATS (w0), (r0; w1), (r1) MATS+ (w0), (r0; w1), (r1; w0) MATS++ (w0), (r0; w1), (r1; w0; r0) MARCH X MARCH Y MARCH C MARCH A MARCH B (w0), (r0; w1), (r1; w0), (r0) (w0), (r0; w1; r1), (r1; w0; r0), (r0) (w0), (r0; w1), (r1; w0); (r0), (r0; w1), (r1; w0), (r0) (w0), (r0; w1; w0; w1), (r1; w0; w1), (r1; w0; w1; w0), (r0; w1; w0) (w0), (r0; w1; r1; w0; r0; w1), (r1; w0; w1), (r1; w0; w1; w0), (r0; w1; w0) Marching 1/0 (w0), (r0; w1; r1), (r1; w0; r0), (w1), (r1; w0; r0), (r0; w1; r1) MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 14
Redukovaný poruchový model 1. Stuck-at faults (SAF) 2. Transition faults (TF) 3. Coupling faults (CF) 4. Neighborhood Pattern Sensitive faults (NPSF) 5. Chyba adresového dekodéru (AF) MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 15
Chyby adresového dekodéru Jak otestovat: Teorém: Všechny poruchy adresového dekodéru jsou otestovány, pokud pochodující test obsahuje: (wx), (rx,, wx ), (rx,, wx). MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 16
Pochodující testy March Tests Příklady konkrétních algoritmů MATS (Modified Algorithmic Test Sequence) Algoritmus Složitost SAF TF CF AF MATS 4n Y some MATS+ 5n Y Y MATS++ 6n Y Y Y MARCH X 6n Y Y some Y MARCH Y 8n Y Y some Y MARCH C 10n Y Y some Y MARCH A 15n Y Y some Y MARCH B 17n Y Y some Y Marching 1/0 14n Y Y Y MI-TSP-10, ČVUT FIT, Petr Fišer, 2011 17