Testování sekvenčních obvodů Simulace poruch, minimalizace testu

Podobné dokumenty
Testování kombinačních obvodů Intuitivní zcitlivění cesty, D-algoritmus

Testování sekvenčních obvodů Scan návrh

Vestavěné diagnostické prostředky 1 (BIST)

Testování pamětí (Memory BIST)

Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů

Úvod Terminologie, typy defektů, poruch

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

Struktura a architektura počítačů (BI-SAP) 3

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

SEKVENČNÍ LOGICKÉ OBVODY

Hardwarová realizace konečných automatů

Sekvenční logické obvody

3. Sekvenční logické obvody

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Návrh asynchronního automatu

7. Popis konečného automatu

Struktura a architektura počítačů (BI-SAP) 4

5. Sekvenční logické obvody

Pohled do nitra mikroprocesoru Josef Horálek

Struktura a architektura počítačů (BI-SAP) 10

LOGICKÉ OBVODY X36LOB

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

10. Techniky formální verifikace a validace

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR


SYSTÉMY NAČIPU MI-SOC

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

BDIO - Digitální obvody

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1

Základy umělé inteligence

Sekvenční logické obvody

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

PROGRAMOVATELNÉ LOGICKÉ OBVODY

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

Dynamické programování

GENERÁTOR HLÍDACÍCH OBVODŮ PRO KOMUNIKAČNÍ PROTOKOLY XILINX FPGA

Datové struktury 2: Rozptylovací tabulky

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů.

Třídy složitosti P a NP, NP-úplnost

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Návrh čítače jako automatu

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

9. Praktická verifikace

Struktura a architektura počítačů (BI-SAP) 11

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych.

Praktické úlohy- 2.oblast zaměření

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

2. Synchronní číslicové systémy


Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Boundary scan Testování SoC a NoC

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Vestavné systémy BI-VES Přednáška 5

Návrh synchronního čítače

Příklady popisu základních obvodů ve VHDL

ANALYTICKÉ PROGRAMOVÁNÍ

Konvolučníkódy. MI-AAK(Aritmetika a kódy)

Kvantové algoritmy a bezpečnost. Václav Potoček

Schmittův klopný obvod

VYHLEDÁNÍ NEJDELŠÍHO SHODNÉHO PREFIXU V FPGA

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

Odečítání pozadí a sledování lidí z nehybné kamery. Ondřej Šerý

AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU

4. Elektronické logické členy. Elektronické obvody pro logické členy

Představení diagnostiky počítačů

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Simulace pohybu chodců pomocí celulárních modelů

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

APLIKACE HLÍDACÍCH OBVODŮ V ARCHITEKTURÁCH ODOLNÝCH PROTI PORUCHÁM

Paralelní grafové algoritmy

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Způsoby realizace této funkce:

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Číslicové obvody základní pojmy

Datové struktury 1: Základní datové struktury

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Obsah DÍL 1. Předmluva 11

Algebra blokových schémat Osnova kurzu

Logické řízení. Náplň výuky

Paralelní programování

Témata profilové maturitní zkoušky

Vývoj řízený testy Test Driven Development

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Transkript:

Testování sekvenčních obvodů Simulace poruch, minimalizace testu Testování a spolehlivost ZS 2011/2012, 4. 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-4, ČVUT FIT, Petr Fišer, 2011 1

Testování sekvenčních obvodů Testování kombinačních obvodů Přivedu na PI takové hodnoty, které excitují a propagují poruchu Test = ohodnocení PO Složitost O(2 n ), n je počet PI Testování sekvenčních obvodů Pojem stavu. Stav = ohodnocení některých signálů nestačí přivést příslušné hodnoty na PI, musím se nacházet ve správném stavu Test = sekvence ohodnocení PI Složitost nejméně O(2 n+q ), n je počet PI, q počet stavů Výpočetně velice náročné, v praxi se používá jen pro velice malé obvody MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 2

Testování sekvenčních obvodů Možné přístupy: Funkcionální přístup - test automatu Testuji všechny přechody v přechodové tabulce Strukturní přístup rozbalím sekvenční obvod Převedu na kombinační obvod složený z časových rámců sekvenčního obvodu Přístupy založené na simulaci Různé avantgardní přístupy Genetické algoritmy Použití DFT obvod navrhuji tak, aby bylo možné oddělit kombinační část a registry scan buňky MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 3

Test automatu Princip: Snažím se projít všechny přechody přechodové tabulky a ověřit správnost výsledku Na začátku musím obvod uvést do známého stavu 1. Synchronizační sekvence (synchronizing sequence) Přivede automat z libovolného stavu do známého stavu 2. Nastavovací sekvence (homing sequence) Přivede automat do daného stavu 3. Rozlišovací sekvence (distinguishing sequence) Podle odezvy na PO zjistím, v jakém stavu se nacházím 4. Převodní sekvence (transition sequence) Převádí automat z jednoho stavu do druhého MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 4

Test automatu Synchronizační sekvence (synchronizing sequence) Přivede automat z libovolného stavu do známého stavu Start: nevím (mohu se nacházet v libovolném stavu) Cíl: jednoznačný stav Jak: vytvářím strom, listy = jednoznačné stavy Nemusí vždy existovat MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 5

Test automatu Převodní sekvence (transition sequence) Převádí automat z jednoho stavu do druhého Daná popisem FSM dle přechodové tabulky Nemusí vždy existovat MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 6

Test automatu Rozlišovací sekvence (distinguishing sequence) Podle odezvy na PO zjistím, v jakém stavu se nacházím Start: nevím (mohu se nacházet v libovolném stavu) Cíl: jednoznačná výstupní sekvence, identifikující daný stav Jak: vytvářím strom, listy = jednoznačné stavy Nemusí vždy existovat MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 7

Rozbalování časových rámců Princip: rozbalím sekvenční obvod do časových rámců (timeframes) vznikne kombinační obvod aplikuji D-algoritmus nezasahuji do struktury (rozbalení je jen myšlenkové) PI PPI Komb. obvod DFF PPO PO PI PO PI PO PI PO Komb. obvod Komb. obvod Komb. obvod Časový rámec 0 Časový rámec 1 Časový rámec 2 MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 8

Rozbalování časových rámců [Putzolu 71] Algoritmus: 1. Vyber poruchu 2. Vytvořím kopii kombinační části pro časový rámec 0 (t = 0) 3. Vygeneruji testovací vektor (např. pomocí D-algoritmu) 4. Propaguje-li se porucha (D) na PO a je excitována, konec 5. Propaguje-li se porucha pouze na PPO (vstupy DFF), vytvoř další kopii obvodu (časový rámec t + 1) 6. Excituje-li se porucha z DFF, vytvoř předchozí časový rámec (t - 1) 7. Jdi na 3 MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 9

Rozbalování časových rámců Problém: Pětihodnotová D-logika neuvažuje opakovaný vliv poruchy (v různých časových rámcích) může nastat konflikt pětihodnotová logika je slabá (moc silné omezení) algoritmus není úplný (ne vždy nalezne test, i když existuje) Řešení: Devítihodnotová logika [Muth 76] 0, 1, X, 0/1, 1/0, 0/X, 1/X, X/0, X/1 (= bezporuchový / poruchový) Např. 1/0 = D oproti 5-hodnotové logice zavedena X hodnota pro poruchový nebo bezporuchový obvod (jeden z nich) MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 10

Rozbalování časových rámců Shrnutí S použitím 9-hodnotové logiky je modifikovaný D-algoritmus úplný V průběhu algoritmu musím expandovat časové rámce dopředu i dozadu může se zacyklit (ale lze detekovat) Počet expandovaných časových rámců může být neúnosný O(9 #FF ) Složitost algoritmu: O(2 #PI.9 #FF ) použitelné jen pro obvody s malým počtem klopných obvodů MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 11

Metody založené na simulaci Vlastnosti Jednoduše implementovatelné Je možné použít i pro asynchronní obvody Malé pokrytí poruch Nelze identifikovat nedetekovatelné poruchy Těžko detekovatelné poruchy je těžké detekovat Test má daleko k minimalitě silně redundantní testy MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 12

Motivace Generování testu pomocí genetických algoritmů Generování testu pro sekvenční obvody je velice obtížné Deterministicky špatně řešitelné... vlastně nevím, jak na to Princip Populace: zkusím to jinak Testovací vektor Sekvence testovacích vektorů Fitness: Schopnost vektoru inicializovat nebo detekovat poruchu Pokrytí poruch Operace: Křížení Mutace MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 13

Simulace poruch a.k.a. poruchová simulace, (fault simulation) = jaké poruchy jsou detekované daným testovacím vektorem? Je dáno: Obvod Test (testovací vektor, sekvence vektorů) Poruchový model Výstup: Poruchový výstup Detekované / nedetekované poruchy Pokrytí poruch MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 14

Simulace poruch Praktické aplikace (kde se používá): 1. Vyřazení detekovaných poruch ze seznamu poruch Jaké poruchy detekuje daný testovací vektor? po vygenerování testovacího vektoru odsimuluji, které poruchy detekuje takto se implicitně řeší dominance Viz ATPG algoritmus 2. Řízení generování testu Viz předchozí 3. Slovník poruch Jaké poruše odpovídá jaká chybná odezva? MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 15

Simulace poruch n počet PI G počet hradel F počet poruch FF... počet klopných obvodů Kombinační ATPG: O(G 2 n F) Sekvenční ATPG: O(G 2 n 2 FF F) Simulace poruch (pro jeden vektor): O(G F) Simulace se vyplatí! MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 16

Simulace poruch Základní strategie Základní triviální přístup (serial simulation) Podobné klasické logické simulaci Pro daný testovací vektor simuluji bezporuchový obvod a obvod s poruchou Paralelní simulace Využit paralelizmus na úrovni strojového slova Deduktivní simulace Urychlující techniky, podobné učení v ATPG Souběžná (concurrent) simulace MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 17

Sériová simulace poruch Triviální přístup, založený pouze na logické simulaci Princip: Plusy: Mínusy: Odsimuluj bezporuchový obvod Pro každou poruchu modifikuj obvod (injekce poruch) a odsimuluj Porovnej poruchové odezvy s bezporuchovou Jednoduchá implementace, stačí použít obyčejný logický simulátor Vždy mohu simulovat libovolnou poruchu pod daným poruchovým modelem To nejpomalejší, co je MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 18

Paralelní simulace Založená na paralelizmu na úrovni strojového slova Vše, co provádím, jsou logické operace Možnosti: jde to snadno 1. Simuluji více poruch najednou 2. Simuluji více vektorů najednou MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 19

Paralelní simulace 1. Simuluji více poruch najednou (Single Pattern Parallel Fault Propagation, SPPFP) [Seshu 65] Pro každý vektor simuluji w-1 poruch najednou (w je šířka strojového slova) teoreticky w-1 rychlejší, než sériová simulace (simuluji bezporuchový obvod + w-1 poruch najednou) MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 20

Paralelní simulace 1. Simuluji více poruch najednou Není možné simulaci včas zastavit Nevím, kde narazím na poruchu musím simulovat až ke všem PO Problém s vícehodnotovou logikou Každý signál může nabývat 3 hodnot (0, 1, X) 2 bity na signál při dnešních architekturách mohou nastat problémy s cache MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 21

Paralelní simulace 2. Simuluji více vektorů najednou (Parallel Pattern Single Fault Propagation, PPSFP) [Waicukauski 86] Nejprve odsimuluji bezporuchový obvod Pak pro každou poruchu simuluji w vektorů najednou (w je šířka strojového slova) teoreticky w rychlejší, než sériová simulace MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 22

Paralelní simulace 2. Simuluji více vektorů najednou Mohu zastavit simulaci, pokud se porucha nepropaguje Od bodu, kde se hodnoty bezporuchového a poruchového obvodu neliší, nemusím poruchu simulovat (pro žádný vektor) Jakmile zjistím, že se porucha nepropaguje na žádný PO (pro žádný vektor), mohu simulaci ukončit Problém s vícehodnotovou logikou Každý signál může nabývat 3 hodnot (0, 1, X) 2 bity na signál při dnešních architekturách mohou nastat problémy s cache MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 23

Deduktivní simulace [Armstrong 72] Hlavní princip: V podstatě není poruchová simulace, spíše dedukce Simuluji pouze bezporuchový obvod... a simuluji všechny poruchy jedním průchodem Každý signál má přiřazen seznam poruch, které se přes něj mohou propagovat / je možné je detekovat Seznam detekovaných poruch za každým hradlem se odvozuje ze vstupních seznamů poruch a funkce (resp. monotonicity) hradla Seznam se dynamicky vytváří a aktualizuje při simulaci každého vektoru může být neefektivní (zbytečné operace navíc) seznam poruch se může během simulace dosti zvětšovat paměťově náročné MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 24

Deduktivní simulace Vytváření seznamu poruch Každý signál (výstup hradla z) má přiřazený seznam poruch L z Budiž: I... množina všech vstupů hradla C... množina vstupů hradla, na nichž je řídící hodnota (např. 0 pro AND) val... hodnota výstupu, když na žádném vstupu není řídící hodnota Pokud C = (tj. na žádném vstupu není řídící hodnota): Jinak: L Z = L i i I z/val L Z = L i i I L i i I C z/val MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 25

Kompakce testu = už hotový test chci zmenšit zredukovat počet vektorů Jak? Některé vektory mohou dominovat jiným Pro každý vektor zjistím masku poruch. Dominované vektory odstraním Kombinace některých vektorů pokrývá všechny poruchy, které pokrývá jiný vektor problém unátního pokrytí (UCP) NP-těžké [Gary&Johnson] Dospecifikování některých bitů neúplně určených vektorů bitům, které zůstaly neurčené, přiřadím hodnotu náhodně, deterministicky, aby pokrývaly co nejvíce poruch pak lze aplikovat dominance, atd. Takto lze vektory i spojit statická kompakce... ale také NP-těžké [Gary&Johnson] MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 26

Statická kompakce testu Princip: Vektory vygenerované ATPG obsahují DC (nespecifikované bity) Pospojuji vektory, kde to jde Neuvažuje se pokrytí poruch, pouze vektory NP-těžké používají se jednoduché heuristiky Příklad: 01X 0X0 010 0X1 001 X01 MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 27

Dynamická kompakce testu Princip: Vektory vygenerované ATPG obsahují DC (nespecifikované bity) Čím více DC ve vektoru, tím méně poruch pokrývá Dosazením konkrétních hodnot za X se snažím pokrýt co nejvíce dalších poruch poruchová simulace (oproti statické kompakci) opět NP-těžké Dynamická protože se provádí již při vytváření testu, ne až na konci MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 28

Literatura G. R. Putzolu and T. P. Roth, "A Heuristic Algorithm for the Testing of Asynchronous Circuits", IEEE Trans. Computers, pp. 639-647, June 1971. P. Muth, "A Nine-Valued Circuit Model for Test Generation", IEEE Trans. Computers, pp. 630-636, June 1976. S. Seshu and D. N. Freeman, On improved diagnosis program, IEEE Trans. Electron. Comput, EC-14(1), 76-79, 1965 J.A. Waicukauski, E. Lindbloom, V.S. Iyengar, and B.K. Rosen, "Transition Fault Simulation by Parallel Pattern Single Fault Propagation", in Proc. ITC, 1986 V. D. Agrawal, K. T. Cheng, and P. Agrawal, "A Directed Search Method for Test Generation Using a Concurrent Simulator", IEEE Trans. CAD, pp. 131-138, Feb. 1989. P. Goel and B. C. Rosales, "Test generation and dynamic compaction of tests, in Proc. 1979 Annu. Test Conf, Cherry Hill, NJ. D. B. Armstrong, A Deductive Method for Simulating Faults in Logic Circuits, IEEE Trans. on Computers, Vol. C- 21, No. 5, May 1972. E. G. Ulrich and T. Baker, "Concurrent simulation of nearly identical digital networks", Computer, vol. 7, pp.39-44, 1974. W.T. Cheng and M.L. Yu., Differential fault simulation - a fast method using minimal memory. In Proceedings of the 26th ACM/IEEE Design Automation Conference (DAC '89). ACM, New York, NY, USA, 424-428. M. Abramovici, P. R. Menon, and D. T. Miller. Critical path tracing - an alternative to fault simulation. In Proceedings of the 20th Design Automation Conference (DAC '83). IEEE Press, Piscataway, NJ, USA, 214-220. MI-TSP-4, ČVUT FIT, Petr Fišer, 2011 29