De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

HAN-University Testen van Digitale Systemen De economische noodzaak van het testen Fouten modelleren: het single stuck at model Testpatroon generatie om.

Verwante presentaties


Presentatie over: "HAN-University Testen van Digitale Systemen De economische noodzaak van het testen Fouten modelleren: het single stuck at model Testpatroon generatie om."— Transcript van de presentatie:

1 HAN-University Testen van Digitale Systemen De economische noodzaak van het testen Fouten modelleren: het single stuck at model Testpatroon generatie om fouten te zoeken Fout simulatie: het verkrijgen van testvector en de bijbehorende fout(en) Fout simulatie in VHDL Digitaal Circuit Test Patronen 01010/ ? inputsoutputs

2 HAN-University 2 De economische noodzaak van het testen Kwaliteitsniveau houdt in:  Voldoet het product aan de specificatie  Uitval laag houden < voor een IC  Redelijke kost/kwaliteit verhouding, testen kost 25% van de productprijs. Het leveren van producten aan klanten onder een beheersbaar kwaliteitsniveau Voorkomen van producten met fouten, naar welke fouten zoeken we? Tijdens ontwerp zoek je naar fouten door verifiëren:  Definitie fouten  Functionele fouten  Routering problemen: power/timing Deze fouten zijn als het goed is opgelost tijdens het ontwikkeltraject van het ontwerp

3 HAN-University 3 Fabricage/productie fouten Particle defects: onzuiverheden en vervuiling van gebruikte materialen Geen/onjuiste onderdelen op PCB/slechte soldeerverbinding. Leidt tot: Early failures/Infant Mortality: vroege uitval tijdens eerste gebruik. Product levensduur Product uitval Veel defecten manifesteren zich als functionele fouten. Door het product te onderwerpen aan een test met testvectoren kun je een uitspraak doen over de betrouwbaarheid van het product. Digitaal Circuit Test Patronen 01010/ ? goedfout

4 HAN-University 4 Fouten modelleren: het single Stuck-At model Het gebruik van een foutmodel is noodzakelijk om het aantal te testen effecten die tot fouten kunnen leiden te reduceren. (onderbrekingen, kortsluiting, oxidatie, plaatselijke spanning, misalignment, onzuiverheden, latch-up, data corruption door alpha straling). Dynamische fouten: component buiten specificatie, timing failures: moeilijk een ontwerpstrategie voor te vinden. Statische fouten: kortsluitingen en onderbrekingen: met eenvoudige stuck-at foutmodel strategie te vinden. Het meest voorkomende model is het single stuck-at-one/stuck-at-zero foutmodel voor een verbinding (SSFM): Stuck At 1, SA1: de verbinding gedraagt zich alsof deze vast op ‘1’ zit: testvector ‘0/0’ Stuck At 0, SA0: de verbinding gedraagt zich alsof deze vast op ‘0’ zit: testvector ‘1/1’ Test Patronen 0/0 1/ ? 1 ? SA ? 1 ? SA0 Vdd

5 HAN-University 5 SA0/1 model op en AND poort Stel we hebben AND poort: Welke fouten test je met alle mogelijke inputvectoren? AND SA0 SA1 SA0SA1 SA0SA1 Q A B ABQ Stel AB=00 en de test geeft Q=1: dan betekent dit een SA1 op uitgang Q (of SA1 voor A en B: twee fouten tegelijk!) Stel AB=01 en de test geeft Q=1: dan betekent dit een SA1 op uitgang Q of een SA1 op A Stel AB=10 en de test geeft Q=1: dan betekent dit een SA1 op uitgang Q of een SA1 op B Stel AB=11 en de test geeft Q=0: dan betekent dit een SA0 op uitgang Q of een SA0 op A of een SA0 op B Conclusie als je een testvector op de ingangen zet en de uitgang evalueert: 1. Als het fout gaat weet je niet precies waar de fout zit: misschien kan een andere methode uitkomst bieden 2. Als het goed gaat zijn er 1 of meerdere SA1/0 fouten die niet voorkomen.

6 HAN-University 6 Het samenvallen van fouten binnen 1 testvector: fault collapsing Fault collapsing AND poort in tabel: Foutklasse: een groep van equivalente fouten voor 1 bepaalde testvector (binaire inputcombinatie) Bepalen van de noodzakelijke foutklassen mbv een tabel: Tabel bevat de uitgangswaarden indien de fout optreedt A0 = Stuck At zero op A B0 = Stuck At zero op B A1 = Stuck At one op A Wat is de reductie van het aantal testvectoren waarmee 100% testdekking kan worden behaald? Studenten maken OPDRACHT 1. AND SA0 SA1 SA0SA1 SA0SA1 Q A B Alle ingangscombin aties A0011 B0101 Correcte uitgangscombin atie Q0001 Opsomming van mogelijke SA fouten die kunnen optreden A0000* A10*01 B0000* B100*1 Q0000* Q1***1 * Te detecteren SA fout. Alle ingangscombin aties A0011 B0101 Correcte uitgangscombin atie Q0001 Opsomming van mogelijke SA fouten die kunnen optreden A0000* A10*01 B0000* B100*1 Q0000* Q1***1

7 HAN-University 7 Faultcollapsing op poortniveau: AND, NAND en OR AND Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 0001 Opsomming van mogelijke SA fouten die kunnen optreden A0 000* A1 0*01 B0 000* B1 00*1 Q0 000* Q1 ***1 NAND Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 1110 Opsomming van mogelijke SA fouten die kunnen optreden A0 111* A1 1*10 B0 111* B1 11*0 Q0 ***0 Q1 111* OR Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 0111 Opsomming van mogelijke SA fouten die kunnen optreden A0 01*1 A1 *111 B0 0*11 B1 *111 Q0 0*** Q1 *111

8 HAN-University 8 Faultcollapsing op poortniveau: NOR, EXOR, EXNOR en NOT NOR Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 1000 Opsomming van mogelijke SA fouten die kunnen optreden A0 10*0 A1 *000 B0 1*00 B1 *000 Q0 *000 Q1 1*** EXOR Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 0110 Opsomming van mogelijke SA fouten die kunnen optreden A0 01** A1 **10 B0 0*1* B1 *1*0 Q0 0**0 Q1 *11* EXNOR Alle ingangs combinaties A 0011 B 0101 Verwachte uitgangs combinatie Q 1001 Opsomming van mogelijke SA fouten die kunnen optreden A0 10** A1 **01 B0 1*0* B1 *0*1 Q0 *00* Q1 1**1 NOT Alle ingangs combinaties A 01 Verwachte uitgangs combinatie Q 10 Opsomming van mogelijke SA fouten die kunnen optreden A0 1* A1 *0 Q0 *0 Q1 1*

9 HAN-University 9 Gebruik Stuck-At model in een netwerk: Twee definities: 1. Fault activation: Aanbrengen van een testvector op de ingangen van een IC (Schakeling) om er voor te zorgen een bepaalde fout in een knooppunt te stimuleren met een signaal dat de inverse is van het fout niveau; Stel we hebben de onderstaande, gedeeltelijke, schakeling: Wat is de inputvector om een SA1 te testen op het knooppunt? AND OR NAND 1 SA1 2. Fault propagation/observation: Verandering op het knooppunt moet kunnen propageren naar een observeerbare output; OR NAND 2 SA1 Conclusie:onderzoek alle knooppunten en je hebt 100% testdekking voor SA1/0 onder twee voorwaarden: 1.geen redundancy 2. er mag slechts 1 fout in de schakeling zitten! Probleem: SA0 op uitgang AND en SA0 op uitgang NAND2 kan ook optreden! Dit zijn equivalente fouten. →“Ieder voordeel heb z’n nadeel”: faultcollapsing

10 HAN-University 10 Opdracht Fault collapsing: Bepaal de noodzakelijke testvectoren mbv een tabel met foutklassen van onderstaande schakeling. Gebruik een ‘*’ om aan te geven dat een SA- fout gedetecteerd kan worden. Tabel bevat de uitgangswaarden indien de fout optreedt Alle ingangs combinaties A B C D Alle interne signalen X Y Verwachte uitgangs combinatie Q Opsomming van mogelijke SA fouten die kunnen optreden A0 A1 B0 B1 C0 C1 D0 D1 X0 X1 Y0 Y1 Q0 Q1 NOR NAND NOR ABCDABCD X Y Q

11 HAN-University 11 Antwoord fault collapsing: Geef een testvectorset waarmee je alle SA- fouten afdekt. T1 = 1011 T2 = 0011 T3 = 0111 T4 = 0101 T5 = 0110 NOR NAND NOR ABCDABCD X Y Q Alle ingangs combinaties A B C D Alle interne signalen X Y Verwachte uitgangs combinatie Q Opsomming van mogelijke SA fouten die kunnen optreden A *0001 A1 000* B * B1 000* C *000*000* C *010*010*01 D *000*000* D *100*100*1 X0 000* X *000*000* Y0 0000***1***1***1 Y *000*000* Q *000*000* Q1 *******1***1***1

12 HAN-University 12 Conclusies: 1. Stuck-At model checked statische fouten. 2. Meerdere SA-fouten kunnen door 1 testvector afgedekt worden, dat noem je fault-collapsing. 3. De conclusie is gebaseerd op de aanname dat slechts 1 fout per testvector optreedt. 4. Door het samenvallen van SA-fouten onder 1 testvector heb je in de praktijk een beperkt aantal testvectoren nodig om een hoge (>99.9%) testdekking te krijgen. 5. Als je alle mogelijke testvectoren hebt kun je, willekeurig, de “ideale” testvector set bepalen. Hoe komen we nu op een gemakkelijke manier aan een zo’n testvector set?

13 HAN-University 13 Het genereren van testvectoren STEL: We zoeken naar alle SA1/0 fouten in een circuit: Alle combinaties ingangssignalen en elk knooppunt intern een keer hoog en een keer laag maken; Combinatorische schakeling: Hoeveel en hoe groot zijn de testvectoren voor n ingangen en m outputs? 2exp[n] testvectoren van lengte m+n Sequentiele schakeling: Hoeveel en hoe groot zijn de testvectoren voor n ingangen en m outputs en t geheugenelementen? 2exp[n]x2exp[t] testvectoren van lengte m+n Vraag: Als de tijd voor het testen met 1 testvector 1 μsec duurt en de schakeling heeft 20 ingangen, 10 uitgangen en 10 geheugenelementen, hoeveel testtijd hebben we nodig? Fault simulatie: technieken om de dekkingsgraad van testpatronen te bepalen door te beoordelen of een de aanwezigheid van een fout, bij een gegeven testvector, leidt tot een andere uitgangswaarde van het circuit als die in de foutvrije situatie.

14 HAN-University 14 Fault simulatie methoden: Seriele fault simulatie: Simuleer elke SA1/0 afzonderlijk → computer power/time Parallel fault simulation: reductie door gebruik te maken van parallelle rekencapaciteit van CPU → maakt geen gebruik van fault collapsing Concurrent fault simulation: Maakt gebruik van equivalente fouten door bijhouden van fout lijsten Fault simulation in VHDL model: o Fault injection o Transparent fault injection

15 HAN-University 15 Seriële foutsimulatie Modificeer het circuit voor elke Stuck-At fout en herhaal de simulatie voor alle mogelijke ingangscombinaties. Het single-stuck-at faultmodel suggereert dat er maar 1 fout tegelijk kan voorkomen en elk knooppunt in je schakeling kan Stuck-At 1 of Stuck-At 0 worden. Er zijn dus 2 maal zoveel simulaties nodig als en knooppunten zijn. Kost dus veel CPU-kracht en tijd. Hoeveel simulaties zijn nodig voor het onderstaande circuits? AND OR NAND or

16 HAN-University 16 Parallelle fault simulatie Principe: Maakt gebruik van de mogelijkheid dat een CPU de AND-, OR-, EXOR-, etc. operaties op vectoren kan uitvoeren. Stel het circuit hiernaast met een testvector A=1, B=1, C=0, D=0: 1. Map elk SA1 en SA0 van een knooppunt op twee bitlocaties 2. Bit 0 is het foutvrije circuit. 3. Geef de SA fouten aan 4. Voer bitwise operaties per kolom uit. 5. Vergelijk de uitgangswaarde met de foutvrije waarde. Nadelen: 1.Aantal fouten dat parallel gesimuleerd kan worden is beperkt tot CPU bitlengte 2.Als meer dan twee states per bit worden gebruikt neemt parallelle capaciteit ook af 3.Alle fouten worden berekend: ook de fouten die geen verandering opleveren! BitSAABCDEFG A * 2A B * 4B C C D D E * 10E F F G * 14G AND OR A=1 B=1 C=0 D=0 G E F

17 HAN-University 17 Opdracht: Parallelle fault simulatie BitSAABCDEFG 0 Fout vrij Detecteer baar 1A0` A B B C C D D E E F F G * 14G Principe: Maak gebruik van de mogelijkheid dat een CPU de AND-, OR-, EXOR-, etc. operaties op vectoren kan uitvoeren. Stel het onderstaande circuit met een testvector A=1, B=1, C=1, D=1: AND OR A=1 B=1 C=1 D=1 G E F Welke fouten zijn detecteerbaar?

18 HAN-University 18 Concurrent fault simulatie Principe: Alleen het verschil tussen een foutvrije- en foute simulatie wordt bijgehouden Er moet een lijst bijgehouden worden van de poorten die verschillende inputs/outputs hebben in het foute circuit ten opzichte van de equivalente poort in het foutvrije circuit Bewerken van de foutlijst is het evalueren van de input signalen op dezelfde manier als voor het foutvrije circuit. Stel het onderstaande circuit met een testvector A=1, B=1, C=0, D=0: AND OR A=1 B=1 C=0 D=0 G E F AND E1 1 SA1 op A B = 1 AND E2 1 A=1 SA1 op B AND E3 0 SA0 op A B = 1 AND E4 0 A=1 SA0 op B AND E0 E = 1 A = 1 B = 1 OR G0 G = 1 OR F0 C=0 D =0 F = 0 OR F1 1 SA1 op C D =0 OR F2 1 C=0 SA1 op D OR F4 0 C=0 SA0 op D OR F3 0 SA0 op C D =0 OR G1 0 SA0 op E F =0 OR G2 1 E=1 SA0 op F OR G4 1 SA1 op E F = 0 OR G3 SA0 op G E = 1 F = 0 OR G5 1 E = 1 SA1 op F OR G6 E=1 F=0 OR G8 0 E4 F = 0 OR G7 0 E3 F = 0 SA1 op G OR G9 1 E = 1 F1 OR G10 1 E = 1 F2 Nadeel: Veel list processing

19 HAN-University 19 Concurrent fault simulatie: opdracht Voer op basis van ABCD = 1100 de foutsimulatie voor ABCD= 0100 uit. Zet een / waar nodig AND OR A=1/0 B=1 C=0 D=0 G E F AND E1 1 SA1 op A B = 1 AND E2 1 A=1 SA1 op B AND E3 0 SA0 op A B = 1 AND E4 0 A=1 SA0 op B AND E0 E = 1 A = 1 / 0 B = 1 OR G0 G = 1 OR F0 C=0 D =0 F = 0 OR F1 1 SA1 op C D =0 OR F2 1 C=0 SA1 op D OR F4 0 C=0 SA0 op D OR F3 0 SA0 op C D =0 OR G1 0 SA0 op E F =0 OR G2 1 E=1 SA0 op F OR G4 1 SA1 op E F = 0 OR G3 SA0 op G E = 1 F = 0 OR G5 1 E = 1 SA1 op F OR G6 E=1 F=0 OR G8 0 E4 F = 0 OR G7 0 E3 F = 0 SA1 op G OR G9 1 E = 1 F1 OR G10 1 E = 1 F2 Nadeel: Veel list processing Set by step: 1)Label de gates van het foutvrije circuit met index 0 en de labelnaam van de output 2)Moduleer alle gates met mogelijke stuck-at fouten en geef als output de geëvalueerde waarde ** 3)Voeg de gates toe die een stuck-at fout kunnen propageren naar de tweede laag (OR met uitgang G) ** 4)Welke fouten zijn detecteerbaar? 5)Hoeveel berekeningen (gate evaluaties) zijn gedaan om alle detecteerbare stuck-at fouten van deze testvector vinden? 6) Neem nu de testvector ABCD = 0000 en herhaal de vragen a) t/m e) door bewerkingen te doen op de voor ABCD=0100 gemaakte ”lijst”. **door de poorten te tekenen.

20 HAN-University 20


Download ppt "HAN-University Testen van Digitale Systemen De economische noodzaak van het testen Fouten modelleren: het single stuck at model Testpatroon generatie om."

Verwante presentaties


Ads door Google