Úvod Terminologie, typy defektů, poruch Testování a spolehlivost ZS 2011/2012, 1. přednáška Ing. Petr Fišer, Ph.D. Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
1
Osnova předmětu 1. 2. 3. 4.
5. 6. 7. 8. 9. 10. 11. 12.
Úvod, typy defektů, poruch, testování Generování testu pro kombinační obvody Algoritmy pro automatické generování testu (ATPG) Testování sekvenčních obvodů Testovatelný návrh (DFT) DFT pro sekvenční obvody – „scan“ Testování systémů na čipu a NoC Prostředky vestavěné diagnostiky (BIST) 1 Prostředky vestavěné diagnostiky (BIST) 2 Testování pamětí Spolehlivost, spolehlivostní modely Systémy odolné proti poruchám
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
2
Motivace - proč testovat? Co chceme
Bezchybný návrh = výstup odpovídá specifikaci, bez chyb návrhářů
Bezchybnou výrobu = nedojde k výrobním chybám
Spolehlivé zařízení = během provozu se nevyskytnou chyby
Co musíme zaplatit
Větší plocha Nižší taktovací frekvence Pomalejší (a nákladnější) vývoj Pomalejší (a nákladnější) výroba Vyhození pár čipů
Co získáme
Zisk (yield)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
3
Proč testovat? Pravidlo deseti Cena za to (na poruchu)
$1 000,0
$500,0
$100,0
$50,0
$10,0
$1,0
$5,0
$0,5
$0,1 Test čipu
Test desky
Test systému
Záruční oprava
Porucha objevena MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
4
Proč testovat? Nedokonalý návrh
Dělají to lidé
Nedokonalá výrobní technologie
Submikronové procesy, nelze zaručit přesnost Kvantové chování – obtížná konstrukce masek
Stárnutí
Elektromigrace, mechanické opotřebování
SEU – problémy z vesmíru
Kosmické záření Začínáme mít problémy jako ve vesmíru
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
5
Kdy testovat? Základní dva typy: Off-line – zařízení během testu nevykonává svojí funkci
Testování před zapouzdřením Testování po zapouzdření Testování po osazení desky Testování celého systému před expedicí Pravidelná údržba
On-line – zařízení se testuje během normální operace
Bezpečnostní kódy (parita, Hammingovy kódy, …) Redundance (duplex, TMR) Kontrolní obvody (checkers)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
6
Jak testovat? Základní dva typy: Funkční test
Testuje se funkce = zařízení dělá to, co má Tj. nejníže na úrovni chyb (errors) Není nutné znát strukturu Je nutné znát chování a mít jej popsané
Strukturní test
Testuje se, zda se někde nevyskytla porucha Tj. nejníže na úrovni poruch (faults) Není nutné znát chování Je nutné znát strukturu a poruchový model
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
7
Jak testovat? Funkční test
Nutné odsimulovat všechny možné situace, které mohou nastat
tj. např. všechny možné sekvence instrukcí (programy) pro otestování CPU většinou neúnosné
… ale někdy je funkční test kratší, než strukturní
např. násobičky
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
8
Jak testovat? Strukturní test
Znám strukturu
strukturu CMOS hradla schéma na logické úrovni popis na RTL úrovni …
Mám zvolený poruchový model
tj. co všechno se může stát
slabý poruchový model
zásadní vliv na kvalitu testu malé pokrytí, některé poruchy mohou utéct
příliš silný poruchový model
tzv. „overtesting“ – testuji poruchy, které nemohou nastat vyhodím čip, který by fungoval správně ztráta zisku (yield loss)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
9
Jak testovat? Ostatní – např. IDDQ test
Vím, že „proražený“ tranzistor způsobí zkrat
Použitelné pro jakýkoliv obvod
nárůst proudu nemusím znát strukturu ani funkci
Ale malá citlivost, detekuje velice malé množství poruch
použitelné pouze jako doplňková technika
1
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
10
Testování – na jaké úrovni abstrakce? Na úrovni tranzistorů
IDDQ – pozná se „odpálený“ tranzistor
Na úrovni hradel
Strukturní testy
Na RTL úrovni
Funkční testy Bezpečnostní kódy
Na nejvyšší úrovni
Funkční testy Hlásiče podezřelého chování
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
11
Testování – na jaké úrovni abstrakce? Anebo na úrovni:
částí čipu (jádra) celého čipu waferu (více čipů) zapouzdřeného čipu desky systému (celý počítač, letadlo) … (cluster počítačů)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
12
Mechanizmus Defekt (defect)
Na fyzikální úrovni
Porucha (fault)
Na logické úrovni
Chyba (error) Selhání (failure) MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
Reálný projev (špatně sečtená čísla)
Reálný projev (spade počítač)
13
Defekt Defekt = fyzikální událost Na čipu
Smetí zkrat mezi vodiči (whisker) Zkrat mezi metalickými vrstvami (hillock) Pasivace prohlubní a trhlin Porušení vrstvy SiO2 v MOS tranzistoru (izolant) Nedokovená propojka Migrace iontů
Na desce
Rozpojený vodič Špatné leptání – neodleptaná / příliš odleptaná měď Nedokovená propojka Špatné pájení („studeňák“)
V systému
Vadný konektor
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
14
Porucha Porucha (fault) = model defektu na logické úrovni Trvalé poruchy (permanent faults)
trvalá 1 (stuck-at-one), trvalá 0 (stuck-at-zero) zkrat (bridging fault, shorts) zpoždění (delay fault)
Přechodné poruchy (transient faults)
jednorázové naštvání - SEU (single-event upset) jednorázový přechod - SET (single-event transition) Překlopení bitu v paměti (bit-flip)
Občasné poruchy (intermittent faults)
Způsobené degradací parametrů Projeví se po delší době, jen občas Často časem přecházejí v trvalé
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
15
Porucha Porucha (fault) = model defektu na logické úrovni
Defekty
Poruchy
OK
Defekty, které nejsou pokryté poruchovým modelem nedostatečné otestování možnost akceptace vadného čipu MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
Poruchy, které nemohou nastat „overtesting” ztráta zisku (vyhodím funkční čipy) 16
Typy poruch Trvalá 1 (stuck-at-one), trvalá 0 (stuck-at-zero) (t0, t1, s-a-0, s-a-1) Signál je trvale připojen na konstantní 1 nebo 0 Nejběžněji používaný model … i když asi nejméně realistický
Pokrývá většinu defektů Jednoduchý na testování
s-a-1 &
Pro každý signál je jedna porucha t0 a jedna t1
… ale dnes již nestačí. Je zapotřebí testovat poruchy zpoždění (delay faults, transition faults)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
17
Typy poruch Zkrat (bridging fault, short)
Propojení dvou vodičů Může způsobit sekvenční chování Chování poruchového obvodu obecně záleží na povaze zkratu Obtížné zjistit, které poruchy mohou nastat
Možné zkraty lze zjistit až podle finálního rozmístění na čipu
Většinou je detekován s-a modelem
&
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
18
Typy poruch Poruchy zpoždění (delay faults)
Signál se propaguje déle, než je očekáváno
Poruchy přechodu (transition faults)
Přechod 01 nebo 10 trvá déle, než je očekáváno (slow-to-rise, slow-to-fall)
Pro obojí platí:
Většinou způsobeno zvýšenou rezistancí nebo kapacitou (na hradlech, na spojích) Obtížnější testování, než pro s-a
Nutné dva vektory pro otestování jedné poruchy
Nutné testování při plné rychlosti („at-speed”)
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
19
Typy poruch Přechodné poruchy (transient faults)
Způsobené vnějšími vlivy
Kosmické záření EMC (elektromagnetické rušení) Výkyvy teploty přes únosnou mez
Mohou způsobit náhlé, náhodné a neopakované změny
Změna hodnoty signálu Změna hodnoty v paměti
může např. zrekonfigurovat FPGA
Nutnost testování on-line … anebo odolnost proti poruchám
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
20
Chyba Chyba (error) = obvod se chová špatně Porucha nemusí vyvolat chybu V důsledku trvalých poruch
Obvod vůbec nefunguje
Výsledek je vždy špatný
Výsledek může být někdy špatný
V důsledku přechodných poruch
Dočasně špatný výstup
Změna dat v paměti
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
21
Selhání Selhání (failure) = to, co pocítíme na vlastní kůži Chyba nemusí vyvolat selhání
Vypadne pixel na obrazovce Kalkulačka vypočítá špatný výsledek Spadne počítač Vykolejí vlak Spadne letadlo Odpálí se jaderná hlavice …
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
Různá závažnost
Třídy spolehlivosti
22
Literatura Hlavička, J. ‚“Diagnostika a spolehlivost“, ČVUT, 1998. Hlavička, J. ‚“Diagnostika a spolehlivost: cvičení“, ČVUT, 1998. Novák, O., Gramatová, E., Ubar, R. ''Handbook of testing electronic systems''. Publishing House of CTU, 2005.
MI-TSP-1, ČVUT FIT, © Petr Fišer, 2011
23