Vestavěné diagnostické prostředky 1 (BIST) Testování a spolehlivost ZS 2011/2012, 8. 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-8, ČVUT FIT, Petr Fišer, 2011 1
Prostředky vestavěné diagnostiky (BIST) Externí testování (ATE) - problémy: Počet vstupů a výstupů CUT Není možné, aby čip měl tisíce pinů Řešení: scan-chain (test-per-scan) Doba testování Délka testu = #vektorů * délka scan-chainu Doba testování stojí peníze Částečné řešení: multiple scan Délka testu, který je uložený v ATE Testovacích vektorů, které jsou uložené v ATE, je mnoho Paměť ATE je velice drahá Řešení: BIST, komprese testu Často nemožné testování při plné frekvenci at-speed testing Nutné pro testování poruch zpoždění ATE nemusí doručovat testovací vektory plnou frekvencí Řešení: BIST, komprese testu CUT MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 2
Prostředky vestavěné diagnostiky (BIST) Built-in Self-Test (BIST) Princip BISTu - obecně Přidaná logika na čipu, která jej testuje Výhody BISTu Čip se testuje sám není nutné aplikovat testovací vektory zvenku není potřeba ATE (ideální případ)... anebo aspoň ušetřím ATE paměť Není problém s přístupem k vnitřnostem např. test-per-clock zde již není nemožný Možnost at-speed testing Lze testovat paralelně více částí není nutná komunikace testovaných částí s okolím MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 3
Prostředky vestavěné diagnostiky (BIST) Built-in Self-Test (BIST) Nevýhody BISTu Nadbytečná logika (area overhead) ztráta zisku (yield loss) Nadbytečné zpoždění Více logiky = více poruch potenciální snížení spolehlivosti Vždy kompromis mezi pokrytím poruch a nárůstem plochy čím více plochy, tím více poruch, tím více testovacích vektorů, tím více plochy, MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 4
Off-line BIST Strukturní Znám strukturu obvodu Možné přístupy aplikuji test pro daný poruchový model Funkční Neznám strukturu obvodu testuji funkčnost obvodu On-line BIST Concurrent Testuji při plné funkci obvodu detekuji chyby Non-concurrent Testuji momentálně spící jádra MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 5
Off-line BIST Možné přístupy Při testování obvod nevykonává svojí funkci Provádí se V továrně, před zapouzdřením možnost dedikovaného čipu na waferu možnost vyřazení BIST logiky snížení statické spotřeby V továrně, po zapouzdření Pravidelné kontroly během provozu Servisní kontrola POST Výhody: Malá plocha BISTu Nevýhody: Poruchu, která vznikne za provozu, nemusím odhalit MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 6
On-line BIST Možné přístupy Obvod se testuje při vykonávání své funkce Provádí se Neustále V diagnostickém režimu obvodu (jádra) Výhody: Poruchu (chybu) odhalím okamžitě po jejím výskytu Mohu se omezit pouze na poruchy (chyby), které vznikají při běžném provozu Pro testování není nutné odstavit obvod Nevýhody Často velká plocha (duplex, TMR) Drastické zvýšení spotřeby Možný nárůst zpoždění MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 7
Off-Line BIST Off-line BIST základní princip Test Mode Generátor testu Test Patterns Generator (TPG) Řadič BISTu (BIST controller) Testovaný obvod Circuit under Test (CUT) PI / PO CLK Pass / Fail Vyhodnocení odezvy Output Response Analyzer (ORA) MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 8
Off-Line BIST Generátor testu (TPG) možné přístupy 1. Triviální testování (Exhaustive testing) Vygeneruji všech 2 n vektorů funkční test zaručeno 100% pokrytí poruch + Jednoduchá implementace + Velice malý nárůst plochy - Neúnosně náročné na dobu testování 2. Pseudotriviální testování (Pseudoexhaustive testing) Obvod rozdělím na menší (protínající se) bloky, ty testuji triviálně stále funkční test zaručeno 100% pokrytí poruch + Jednoduchá implementace, velice malý nárůst plochy + Podstatně kratší testy -... ale pro větší obvody stále neúnosné MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 9
Off-Line BIST Generátor testu (TPG) možné přístupy 3. Uložení deterministického testu v ROM + Jednoduchá implementace + Rychlé - Neúnosně náročné na plochu 4. Pseudonáhodné testování Integruji generátor pseudonáhodné sekvence (čítač, LFSR, CA) + Velice malá plocha - Malé pokrytí (anebo dlouhá doba testu) 5. Kombinace mixed-mode BIST Integruji generátor pseudonáhodné sekvence (čítač, LFSR) Nedetekované poruchy pokryji deterministickým testem uloženým v ROM externě aplikované vektory z ATE anebo deterministicky ovlivňuji TPG komprese testu MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 10
Pseudonáhodné generátory testu Pseudo-Random Patterns Generator (PRPG) Čítač Může generovat až 2 n vektorů Relativně velká kombinační logika Lineární zpětnovazebný registr (LZPR, LFSR) Může generovat až 2 n -1 vektorů Minimum kombinační logiky (od 1 XOR hradla) Vektory jsou dostatečně náhodné Celulární automat (CA) Může generovat až 2 n -1 vektorů, většinou méně Minimum kombinační logiky Vektory jsou dostatečně náhodné Vlastnosti vektorů lze ovlivnit strukturou CA Generování váženého testu (weighted patterns)... MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 11
Lineární zpětnovazebný registr (LZPR) Linear Feedback Shift Register (LFSR) Příklad Generovaná sekvence: 1000 1100 1110 1111 0111 1011 0101 1010 1101 0110 0011 1001 0100 0010 0001... a znova MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 12
Lineární zpětnovazebný registr (LZPR) Linear Feedback Shift Register (LFSR) Sekvence, kterou produkuje, je dána generujícím (charakteristickým) polynomem nad GF(2) g(x) = x n + c n-1 x n-1 + c n-2 x n-2 +... + c 1 x 1 + 1 Tímto polynomem v každém kroku dělí aktuální stav LFSR Je-li polynom primitivní, LFSR generuje 2 n -1 vektorů primitivní = ireducibilní (nedělitelný jiným polynomem), dělí 2 n+1 + 1 když není primitivní, LFSR má více (disjunktních) period Počáteční stav seed Příklad g(x) = x 4 + x 3 + 1 Je primitivní MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 13
Lineární zpětnovazebný registr (LZPR) Generující polynom: g(x) = x n + c n-1 x n-1 + c n-2 x n-2 +... + c 1 x 1 + 1 Typy LFSR: Typ 1 (externí XOR) Typ 2 (interní XORy) MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 14
Obecně: Celulární automaty (CA) řetěz DFF před vstupem každého DFF může být XOR CA buňka XOR může mít libovolný počet vstupů každý vstup XORu může být připojen na libovolný výstup DFF Praxe: okolí omezené na vzdálenost 1 max. 3-vstupé XORy MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 15
Celulární automaty (CA) Příklad buňka je T-klopný obvod 000 000... Generované sekvence: 111 000 000... 100 110 101 011 110... 001 101 011 110 101... 010 011 110 101 011... 110 101 MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 16 100 011 010 001 111 000
Celulární automaty (CA) Popis buňky pravidla Každá buňka je popsána pravidlem Pravidlo se odvodí z pravdivostní tabulky chování buňky Příklady X c-1 X c X c+1 Pravidlo 111 110 101 100 011 010 001 000 X c-1 X c 0 0 1 1 1 1 0 0 60 X c X c+1 0 1 1 0 0 1 1 0 102 X c-1 X c+1 0 1 0 1 1 0 1 0 90 X c-1 X c X c+1 1 0 0 1 0 1 1 0 150 10010110 2 = 150 10 MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 17
Celulární automaty (CA) Popis buňky charakteristická matice Zobecnění pro libovolně velké okolí Každá buňka je popsána binární maticí, rozměr = počet buněk T[i, j] = 1, pokud stav i-té buňky závisí (XOR) na stavu j-té buňky Příklad: Všechny buňky mají pravidlo 90: T = 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 18
Celulární automaty (CA) Hybridní CA CA s více pravidly Oblíbená je kombinace 90 + 150 (střídavě) Výhody CA oproti LFSR Pouze lokální zpětné vazby (ne přes celý obvod, jako u LFSR) Rychlejší Generovaná sekvence je více náhodná Nevýhody CA oproti LFSR Větší plocha (více XORů) Menší perioda Složitý výpočet struktury a seedu pro generování požadované sekvence MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 19
Pseudonáhodné generátory testu Testování pomocí PRPG generátorů Test-per-clock model Šířka PRPG (počet DFF) = počet PI + PPI Tj. v praxi dosti velká Výhody Perioda je dostatečně velká, i pro neprimitivní polynomy Jeden takt = jeden testovací vektor Nevýhody Velká plocha Obtížné propojování (?) Na čipu nelze fyzicky oddělit BIST od obvodu PRPG CUT ORA MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 20
Pseudonáhodné generátory testu Testování pomocí PRPG generátorů Test-per-scan model Šířka PRPG (počet DFF) je libovolná resp. taková, aby byla zaručena požadovaná délka periody Výhody Malá plocha Na čipu lze fyzicky oddělit BIST od obvodu možnost modulárního návrhu na úrovni layoutu Nevýhody Doba testování PRPG Scan-chain ORA Komb. logika MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 21
Pseudonáhodné generátory testu Jednoduché PRPG (LFSR, CA): Výhody: Často generují dostatečně náhodnou sekvenci vektorů Malá plocha Jednoduchá implementace Nevýhody: Pro některé obvody malé pokrytí poruch obtížně detekovatelné poruchy (RPRFs) počet a povaha RPRF se liší obvod od obvodu Neúnosně malé pokrytí nebo neúnosně dlouhý test (doba aplikace) MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 22
Pseudonáhodné generátory testu Řešení problémů jednoduchých PRPG Vylepšování PRPG Vážené testování (weighted pattern testing) Transformace pseudonáhodných vektorů Bit-flipping, bit-fixing, column-matching, Mixed-mode BIST Kombinace pseudonáhodného a deterministického testu 1. ovlivňování PRPG zvenku 2. dekódování PRPG vektorů MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 23
Vážené PRPG Weighted Pattern Testing [Wunderlich 88], [Waicukauski 89] Pozorování Někdy je výhodné, aby některé PI byly častěji nastaveny na 1 nebo 0 Řešení snažím se vygenerovat pseudonáhodné vektory s danou pravděpodobností výskytu 1, resp. 0 na daných vstupech 1. LFSR + malá kombinační logika na výstupech Předpoklad: pravděpodobnost výskytu 0 a 1 na každém z výstupů LFSR je 0.5 AND dvou výstupů LFSR vytvoří výstup, kde pravděpodobnost výskytu 1 bude 0.25 OR dvou výstupů LFSR vytvoří výstup, kde pravděpodobnost výskytu 1 bude 0.75 2. CA Výstupy CA jsou oproti LFSR rozvážené MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 24
Literatura H.J. Wunderlich. Multiple Distributions for Biased Random Test Patterns, Proc. of International Test Conference, pp. 236-244, 1988. J.A. Waicukauski, E. Lindbloom, E.B. Eichelberger, O.P. Forlenza: "A Method for Generating Weighted Random Test Patterns", IBM Journal of Research and Development, vol.33, no.2, pp. 149-161, March 1989 MI-TSP-8, ČVUT FIT, Petr Fišer, 2011 25