Zwiększanie wiarygodności systemów wykorzystujących układy programowalne



Podobne dokumenty
Język opisu sprzętu VHDL

Elementy cyfrowe i układy logiczne

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

5.3. Analiza maskowania przez kompaktory IED-MISR oraz IET-MISR wybranych uszkodzeń sieci połączeń Podsumowanie rozdziału

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Automatyczne testowanie w układach FPGA

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Metody samotestowania specjalizowanych urządzeń sterowania ruchem drogowym

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Krótkie wprowadzenie do ModelSim i Quartus2

Elektronika i techniki mikroprocesorowe

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Maciej Oleksy Zenon Matuszyk

Technologie Informacyjne

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

On new class of test points and their applications

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

WBUDOWANE SAMOTESTOWANIE RUCHEM DROGOWYM

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

PRACA DOKTORSKA. Wydziaª Elektroniki. Metody syntezy ukªadów realizuj cych funkcje symetryczne i progowe testowalnych dla uszkodze«typu opó¹nienia

Bezpieczeństwo informacji oparte o kryptografię kwantową

Opis przedmiotu zamówienia

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROJEKTOWANIE UKŁADÓW VLSI

Testowanie i walidacja oprogramowania

Układy kryptograficzne z uŝyciem rejestrów LFSR

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Podział układów cyfrowych. rkijanka

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Szybkie prototypowanie w projektowaniu mechatronicznym

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Programowalne układy logiczne

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

ZL10PLD. Moduł dippld z układem XC3S200

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

Projektowanie Systemów Wbudowanych

Asynchroniczne statyczne układy sekwencyjne

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

KARTA PRZEDMIOTU. Podstawy elektroniki cyfrowej B6. Fundamentals of digital electronic

Katedra Mikroelektroniki i Technik Informatycznych

Bezpieczeństwo informacji oparte o kryptografię kwantową

Opisy efektów kształcenia dla modułu

Opis przedmiotu zamówienia CZĘŚĆ 1

Tranzystor JFET i MOSFET zas. działania

Sterowniki Programowalne (SP)

Zasady organizacji projektów informatycznych

Niezawodność i diagnostyka projekt

Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Układy sekwencyjne przerzutniki 2/18. Przerzutnikiem nazywamy elementarny układ sekwencyjny, wyposaŝony w n wejść informacyjnych (x 1.

Laboratorium przedmiotu Technika Cyfrowa

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Układy kombinacyjne - przypomnienie

Jakość w procesie wytwarzania oprogramowania

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Testowanie systemów informatycznych Kod przedmiotu

Sławomir Kulesza. Projektowanie automatów synchronicznych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Programowalne Układy Cyfrowe Laboratorium

Układy sekwencyjne - wiadomości podstawowe - wykład 4

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

LICZNIKI PODZIAŁ I PARAMETRY

Niezawodność i diagnostyka projekt. Jacek Jarnicki

Testowanie oprogramowania. Piotr Ciskowski

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Tworzenie przypadków testowych

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Ukªady Kombinacyjne - cz ± I

Systemy zabezpieczeń

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

TESTING DIGITAL INTEGRATED CIRCUITS WITH

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Pakiet edukacyjny DefSim Personal. Analiza prądowa IDDQ

Układy logiczne układy cyfrowe

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Wygląd okna aplikacji Project Navigator.

Układy programowalne. Wykład z ptc część 5

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Transkrypt:

Zwiększanie wiarygodności systemów wykorzystujących układy programowalne Andrzej Kraśniewski PRUS, 17 stycznia 2013 r.

wiarygodność (dependability) niezawodność bezpieczeństwo działania (safety) Wiarygodność zabezpieczenie przed nieuprawnionym użyciem dostępność (availability) testowalność łatwość naprawy łatwość utrzymania (maintainability) zapewnienie odpowiedniej wiarygodności = przeciwdziałanie szeroko rozumianym uszkodzeniom/błędom (faults) 2

Uszkodzenia/błędy błędy projektowe Uszkodzenia/błędy defekty fizyczne wynikające z niedoskonałości procesu wytwarzania zakłócenia elektromagnetyczne występujące podczas użytkowania systemu umyślne bądź przypadkowe zakłócenia działania systemu przez człowieka... 3

Przeciwdziałanie uszkodzeniom/błędom usuwanie uszkodzeń/błędów (fault removal) weryfikacja - wykrywanie błędów projektowania testowanie (fizycznej realizacji) - wykrywanie uszkodzeń będących efektem niedoskonałości procesu wytwarzania tolerowanie uszkodzeń/błędów w trakcie normalnej pracy (fault tolerance) 4

Testowanie a inne metody przeciwdziałania błędom Testowanie 5

Testowanie cel sprawdzenie, czy system zachowuje się poprawnie, tzn. zgodnie ze specyfikacją (specyfikacją projektu) 6

Czynności związane z testowaniem PRZYGOTOWANIE TESTOWANIA wyznaczanie testów (test pattern generation) ocena testów (test pattern evaluation) zaprogramowanie testera (test program development) 7

Wyznaczanie testów metody Wektor wejściowy x jest testem dla uszkodzenia f, jeżeli odpowiedź układu z uszkodzeniem różni się od odpowiedzi układu sprawnego, tzn. jeżeli y f (x) y(x) metody oparte na modelu strukturalnym (structure-oriented approach) układ reprezentowany przez zbiór elementów i połączeń; uszkodzenia - związane z elementami i połączeniami metody oparte na modelu funkcjonalnym (function, behaviororiented approach) układ traktowany jako "czarna skrzynka" realizująca określoną funkcję (ogólna struktura może być wykorzystana); uszkodzenia - zmiany funkcji układu 8

Model funkcjonalny n układ kombinacyjny m testowanie wyczerpujące (sprawdzenie tablicy prawdy) 2 n testów (wektorów wejściowych) realizowalność? 9

Model strukturalny uszkodzenie np. s-a-0, s-a-1 n układ kombinacyjny m test (wektor testowy) (a) pobudzenie uszkodzenia (fault sensitization, fault excitation) (b) propagacja uszkodzenia (fault propagation) wyznaczenie testu dla zadanego uszkodzenia - problem NP-zupełny 10

Model strukturalny np. SSL single stuck-at line procedury ATPG np. algorytm D symulacja uszkodzeń (fault simulation) pokrycie uszkodzeń (fault coverage) 11

Testowanie losowe (pseudolosowe) obserwacja każdy wektor wyznaczony jako test danego uszkodzenia wykrywa pewną liczbę innych uszkodzeń losowo wygenerowany wektor wykrywa pewną liczbę uszkodzeń przykład: układ kombinacyjny o 20 wejściach testowanie wyczerpujące (FC = 1.0): liczba wektorów = 2 20 10 6 testowanie losowe 12

Model funkcjonalny n m blok kombinacyjny m rejestr stanu układ sekwencyjny testowanie wyczerpujące (sprawdzenie tablicy przejść-wyjść) 2 n+m testów (wektorów wejściowych) przy założeniu, że można ustawić dowolną zawartość rejestru stanu realizowalność? m 13

Model strukturalny uszkodzenie np. s-a-0, s-a-1 n m m rejestr stanu układ sekwencyjny m istnieją procedury wyznaczania testów, ale dla dużych układów trudno osiągnąć zadowalające pokrycie uszkodzeń 14

Koszt testowania koszt tranzystora w mikroprocesorze koszt testowania wkrótce przekroczy koszt zaprojektowania/wytworzenia źródło: Saluja, 2012 źródło: ITR-Semiconductor (SIA Silicon Industry Association) 15

Cost of Manufacturing Testing in 2010 Koszt testowania 0.5-1.0 GHz, analog instruments,1024 digital pins: ATE purchase price = $4.0M + 1,024 x $5,000 = $9.12M Running cost (five-year linear depreciation) = Depreciation + Maintenance + Operation = $1.80M + $0.185M + $1.5M = $3.485M/year Test cost (24 hour ATE operation) = $3.485M/(365 x 24 x 3,600) = 11.05 cents/second źródło: Saluja, 2012 problem testowania trzeba rozwiązywać na etapie projektowania układu 16

Problemy z testowaniem a projektowanie proste reguły "dobrego" projektowania unikaj logiki asynchronicznej używaj regularnych struktur logicznych zapewnij możliwość inicjalizacji logiki sekwencyjnej... metody specjalne PROJEKTOWANIE UŁATWIAJĄCE TESTOWANIE (Design for Testability) poprawa testowalności kosztem dodatkowej logiki dodatkowa logika nie ma wpływu na realizację funkcji układu w trybie 17

Projektowanie ułatwiające testowanie idea poprawić sterowalność (łatwość wymuszenia określonej wartości logicznej w wyniku zmian na wejściu układu) obserwowalność (łatwość określenia w wyniku obserwacji wyjścia układu stanu logicznego węzła) wewnętrznych węzłów logicznych podzielić układ na niezależnie testowalne fragmenty 18

Dodatkowe doprowadzenia 19

Dodatkowe doprowadzenia 20

Scan Path ścieżka przesuwająca ścieżka testująca ścieżka sterująco-obserwacyjna idea: UKŁAD SEKWENCYJNY przygotowanie testowania UKŁAD KOMBINACYJNY 21

koncepcja realizacji: prosty dostęp do elementów pamięci (przerzutników) Scan Path tryby pracy: a) normalny (SMS = 0) dodatkowa logika nie ma wpływu na działanie układu b) przesuwanie (SMS = 1) ustawianie/odczyt stanu przerzutników podczas testowania 22

Scan Path wejście wyjście blok kombinacyjny FF FF FF CLK 23

Scan Path wejście wyjście blok kombinacyjny SFF SFF SCAN_OUT SFF CLK SCAN_IN źródło: Agrawal&Bushnell, 2001 Scan Path standard JTAG (Joint Test Action Group) / IEEE 1149.1 24

Scan Path PROBLEMY znaczny koszt przygotowania testowania wątpliwa wiarygodność testowania (w przypadku korzystania z modelu SSL) testowanie losowe testowanie (pseudo)wyczerpujące duża objętość danych (pamięć testera) długi czas testowania brak możliwości testowania z normalną szybkością działania układu generacja testów i kompakcja odpowiedzi w układzie UKŁAD SAMOTESTOWALNY 25

Układ samotestowalny 26

Generator testów LFSR (z sekwencją o max. długości) automat komórkowy generator sekwencji deterministycznej Linear Feedback Shift Register (LFSR) źródło: Agrawal&Bushnell, 2001 27

Kompakcja odpowiedzi idea zmiana w strumieniu danych podlegających kompakcji będąca wynikiem uszkodzenia w układzie zmiana sygnatury (z dużym prawdopodobieństwem) 28

Kompaktor odpowiedzi oparty na LFSR (z sekwencją o max. długości) oparty na automacie komórkowym... źródło: Agrawal&Bushnell, 2001 29

Techniki samotestowania Techniki BIST (Built-In Self-Test) typy wbudowanych modułów zasady rozmieszczania modułów w strukturze układu procedura testowania Korzyści/zalety testowanie bez potrzeby użycia drogiego testera procedura przygotowania testowania nie obejmuje wyznaczania testów (ale bardziej skomplikowana ocena jakości) testowanie z normalną szybkością pracy układu (at-speed testing), co umożliwia wykrywanie uszkodzeń opóźnieniowych Wady znaczny nadmiar układowy (dodatkowy koszt) trudności w automatyzacji projektowania 30

Testowanie układów (re)programowalnych Specyfika testowania układów FPGA i CPLD dwa rodzaje testowania testowanie układu niezaprogramowanego (application-independent testing) testowanie układu zaprogramowanego (application-dependent testing) duża wariancja parametrów związanych z programowanymi połączeniami potrzeba testowania uszkodzeń opóźnieniowych 31

Testowanie układów (re)programowalnych idea: rekonfiguracja na czas testowania (samo)testowanie fragmentu FPGA przy użyciu generatorów testów i kompaktorów odpowiedzi utworzonych z pozostałych modułów FPGA nie wymaga nadmiaru układowego!!! testowanie z normalną szybkością (at-speed) zastosowanie testowanie układu niezaprogramowanego podstawowe funkcje PLB, matryce połączeń testowanie układu zaprogramowanego w warunkach bliskich normalnemu działaniu 32

PWSC Projektowanie Wiarygodnych Systemów Cyfrowych zakres tematyczny testowanie i projektowanie układów łatwo i samotestowalnych projektowanie układów i systemów odpornych na uszkodzenia/błędy pojawiające się w trakcie normalnej pracy (tolerujących uszkodzenia) naturalne, nieintencjonalne wprowadzane celowo (np. w celu złamania kryptosystemu) projekty - rozwiązania w strukturach FPGA system komputerowo-wspomaganego projektowania Quartus2 Web Edition i/lub ModelSim-Altera Starter Edition stanowiska laboratoryjne wyposażone m.in. w płytki DE2 firmy Altera z układem Cyclone2, płytki Spartan 3E-Starter firmy Xilinx i inne 33