Testování a spolehlivost ZS 2011/2012 1. Laboratoř Poruchy v číslicových obvodech Martin Daňhel Katedra číslicového návrhu Fakulta informačních technologií ČVUT v PRaze Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti
Trocha teorie Poruchy jsou reprezentovány pomocí hodnot logických proměnných. To znamená, že ze všech možných poruch, tj. fyzikálních změn, způsobujících že výrobek nemůže dále vykonávat předepsanou funkci, vybereme pouze takové, které jsou pro daný systém v daných pracovních podmínkách nejpravděpodobnější. A zvolíme pro ně vhodnou reprezentaci právě pomocí hodnot logických proměnných. Model poruchy vždy představuje určité zjednodušení nelze dostatečně přesně popsat všechny fyzikální poruchy. Ale i pro logické poruchy nemusí existovat ve zvoleném systému jejich fyzikální interpretace. Budeme se zde zabývat nálesdujícími typy poruch: Porucha typu t porucha typu 0 a porucha typu 1 t 0 na vodič se přivede logická 0 t 1 na vodič se přivede logická 1 Porucha typu t je definována jako připojení zdroje poruchové úrovně v místě působení poruchy. Při takovéto poruše předpokládáme, že všechny logické členy pracují správně, ale signální vodič je odpojený od vstupu (výstupu) a na vstup je připojen zdroj poruchové úrovně napětí (zem či napájení). Porucha typu z zkraty Vykazuje chování fiktivního logického členu AND či OR Poruchy obvodů CMOS, přerušení Kromě poruch typu t je pro praxi významné modelování poruch obvodů CMOS. Při poruše může docházet k nastavení výstupu hradla do vysoké impedance. Pak se obvod s výstupovým hradlem chová jako paměťový člen. Tento typ poruch je nazván přerušení. Příklady Příklad 1 Na obrázku 1.1 je logický člen NAND, na jehož vstupu A je porucha t 0. Určete, jak se tato porucha projeví na výstupu C.
Obrázek 1.1: logický člen NAND s poruchou typu t 0 na vstupu A. Pro řešení si nejprve odvoďme tabulku chování pro člen NAND bez poruchy, viz tabulka 1.1: A B C 0 0 1 0 1 1 1 0 1 1 1 0 Tabulka 1.1: pravdivostní tabulka pro NAND. Nyní si odvoďme tabulku chování pro člen NAND s poruchou, dle obrázku 1.1, viz tabulka 1.2: A B C 0 0 1 0 1 1 1 0 1 1 1 1 Tabulka 1.2: pravdivostní tabulka pro NAND s poruchou. Jak to funguje? Do tabulky 1.2 se vždy zapíší všechny vstupní hodnoty podle tabulky 1.1, to že vodič A není schopen přenést hodnotu 1 (např. proto, že je zkratován na zem), je respektováno pouze hodnotami výstupu C. Příklad 2 Na vývodech součinového členu vznikl zkrat, který uzavírá zpětnou vazbu, viz obrázek 1.2. Nakreslete náhradní logické schéma a odvoďte chování obvodu pro případ, že zkrat je typu z 0.
Obrázek 1.2: Zkrat na součinovém členu. Obrázek 1.3: Náhradní schéma zapojení. Zkrat typu z 0 lze modelovat fiktivním logickým součinem, na jehož vstupy přivedeme zkratované vodiče. Tím vznikne náhradní zapojení dle obrázku 1.3. Obrázek 1.4: Výsledný obvod z náhradního zapojení. A B C 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 Tabulka 1.3: Tabulka stavů popisující chování tohoto obvodu.
Spojením obou součinových členů, které můžeme provést vyloučením vodiče D, vznikne výsledný obvod, který vidíme na obrázku 1.4. Jeho chování nelze popsat pravdivostní tabulkou, protože se jdná o sekvenční obvod s jednou vnitřní proměnnou C. Tabulka stavů, popisující chování tohoto obvodu je v tabulce 1.3. Z ní je zřejmé, že do stavu C = 1 se obvod může dostat jen bezprostředně po zapnutí sítě, byl-li vstupní vektor AB = (1, 1). Žádný z přechodů již do tohoto stavu nevede. Jestliže hledáme úplný test pro součinový člen, který by detekoval i popsanou poruchu z 0, můžeme použít minimální test ABC = (0, 1, 0), (1, 0, 0), (1, 1, 1), přičemž ze šesti možných pořadí kroků je nepřípustný každý takový, který začíná vstupním vektorem (1, 1). Trocha teorie - Zcitlivění cesty Intuitivní zcitlivění cesty je v podstatě opakování sekvence následujícího algoritmu, který popisuje jeden krok testu: 1. Volba poruchy, která má být detekována. 2. Přivedení hodnoty 0 do místa výskytu poruchy t 1, nebo hodnoty 1 do místa výskytu poruchy t 0. 3. Zcitlivění cesty z místa výskytu poruchy na primární výstup obvodu. 4. Odvození hodnot proměnných na primárních vstupech obvodu (operace konzistence) 5. Nalezení všech poruch, pokrytých sestaveným krokem testu. Metoda intuitivního zcitlivění cesty se počítá ručně (proto to slovo intuitivní). A výstup vypadá následovně: Sestavené kroky testu i poruchy, které jsou jimi pokryty, obvykle přehledně zapisujeme do tabulky. Každému vodiči, jehož porucha má být detekována je v ní vyhrazen jeden sloupec, každému kroku testu jeden řádek. Mezi následující příklady jsou namíchány obvody, které obsahují i redundantní součástky. (redundantní vodiče, logické členy). Redundantní a neredundantní obvody jsou vzájemně úmyslně promíchány, protože schopnost rozpoznat redundanci je nutná zejména při řešení praktických problémů diagnostiky. Při generování testů pro redundantní obvody se za správný výsledek považuje: Zjištění, že obvod obsahuje redundanci a výčet všech nedetekovatelných poruch. Sestavení testu, který je úplný vůči všem detekovatelným poruchám. Příklady Příklad 3 Metodou intuitiního zcitlivění cesty sestavte úplný test pro obvod dle obrázku 1.5.
Obázek 1.5: Jednoduchý obvod. Vyobrazený obvod obsahuje jeden bod větvení, takže kromě primárních vstupů A, B, C je třeba testovat též větve B1 a B2. Popsané větvení je rekonvergentní s různou paritou inverze ve větvích, takže při testování primárního vstupu B je třeba zamezit současnému zcitlivění cest B, B1, D, F a B, B2, E, F. Poruchy větví B1 a B2 je tedy třeba testovat odděleně. Postup odvození jedné varianty testu je společně s pokrytými poruchami zapsán do tabulky 1.4. Ve třetím a čtvrtém kroku jsou vstupní vektory voleny tak, aby byla zcitlivěna vždy jen jedna cesta z primárního vstupu B na výstup F. Tyto kroky tedy znovu detekují poruchy primárního vstupu. A B C F A B B1 B2 C 0 1 0 0 t1 t0 t0 1 0 1 0 t1 t1 t0 1 1 1 1 t0 t0 t0 0 0 0 1 t1 t1 t1 Tabulka 1.4: První varianta testu. Naproti tomu v druhé variantě testu, popsané v tabulce 1.5, jsou hodnotami C = 0 ve třetím kroku a A = 1 ve čtvrtém kroku zcitlivěny obě cesty z B na F. Protože tyto cesty jsou rekonvergentní s různou paritou inverze, nejsou v těchto krocích detekovány poruchy společné části obou cest, tedy vodiče B. Protože všeak tyto poruchy byly detekovány v prvních dvou krocích, není tato změna na závadu úplnosti testu. Vzhledem k tomu, že máme pro třetí i pro čtvrtý krok testu dvě alternativy, můžeme sestavit celkem čtyři testy s délkou 4. A B C F A B B1 B2 C 0 1 0 0 t1 t0 t0 1 0 1 0 t1 t1 t0
1 1 0 1 t0 t0 1 0 0 1 t1 t1 Tabulka 1.5: Druhá varianta testu. Úlohy Úloha 1 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.6. Obrázek 1.6: Obvod pro zcitlivění cesty. Úloha 2 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.7.
Obrázek 1.7: Obvod pro zcitlivění cesty. Úloha 3 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.8. Obrázek 1.8: Obvod pro zcitlivění cesty.
Úloha 4 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.9. Obrázek 1.9: Obvod pro zcitlivění cesty. Úloha 5 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.10.
Obrázek 1.10: Obvod pro zcitlivění cesty. Úloha 6 Metodou intuitivního zcitlivění cesty sestavte úplný test pro obvod na obrázku 1.11.
Obrázek 1.11: Obvod pro zcitlivění cesty. Úloha 7 Metodou intuitivního zcitlivění cesty cesty sestavte úplný test pro obvod na obrázku 1.12. Obrázek 1.12: Obvod pro zcitlivění cesty.
Literatura Diagnostika a spolehlivost, J. Hlavička Diagnostika a spolehlivost cvičení, J. Hlavička