Education
Advertisement

Układy kombinacyjne[]

Diagnostyka układów cyfrowych obejmuje sprawdzenie stanu sieci logicznej pod kątem występowania niesprawności oraz lokalizację niesprawności. Wyróżnia się niesprawności typu "sklejenie z 0" i "sklejenie z 1", podstawowym problemem jest tu znalezienie testu kontrolnego (kombinacji wejść, dla której po wystąpieniu danego uszkodzenia odpowiedź sieci różni się jednoznacznie od prawidłowej).

Metody wyznaczania testu kontrolnego (dla układów nieredundancyjnych, z pojedynczym uszkodzeniem):

  • Metoda tablic funkcji - polega na porównaniu tabel prawdy układu działającego prawidłowo oraz uszkodzonego. Dany wektor wejściowy jest testem kontrolnym wtedy i tylko wtedy, gdy odpowiadające sobie wyjścia w obu tabelach różnią się (czyli gdy ich suma modulo jest równa 1). Metoda dogodna dla małych układów oraz do przetwarzania komputerowego.
  • Pobudzanie ścieżek - znajdowanie warunków powodujących propagację uszkodzenia do wyjścia układu - obejmuje określenie ścieżki propagacji od miejsca wystąpienia uszkodzenia (etap 1) oraz kombinacji sygnałów wejściowych zapewniających przejście błędnego sygnału (etap 2). W rezultacie otrzymujemy test (lub zestaw testów) dla konkretnego uszkodzenia. Błąd jest wykrywalny jeżeli któreś z wyjść układu jest funkcją sygnału błędu. W przypadku wystąpienia redundancji wynik mogą okazać się sprzeczne.
  • Metoda różnic boole'owskich - metoda formalna, zakłada, że jeśli rozpatrywana linia jest pobudzona stanem przeciwnym do uszkodzenia (warunek aktywacji) oraz ścieżka przesłania błędu do wyjścia jest drożna (warunek propagacji), to uszkodzenie może zostać wykryte. Definiuje się tu funkcję czułości, której pochodna jest równa "1" w przypadku spełnienia powyższych warunków. Uproszczenie procedury testowania uzyskuje się na podstawie właściwości propagacji sygnałów przez bramki logiczne.
  • Algorytm D - podstawą tej metody jest spostrzeżenie, że błąd może być traktowany jako dodatkowa zmienna D. Znalezienie testu dla pojedynczego uszkodzenia sprowadza się do znalezienia kombinacji pobudzeń, dla której wyście układu jest funkcją błędu D. Formalna procedura algorytmu polega na opisie tworzenia i przemieszczania sygnału D w układzie.

Układy sekwencyjne[]

Układy sekwencyjne wymagają innej metodologii testów, osobnej dla automatów synchronicznych i asynchronicznych (niezwykle trudnych w analizie). W celu wykrycia uszkodzeń konieczne jest wyznaczenie ciągu pobudzeń prowadzącego do błędnego wyniku. Ciąg taki składa się z sekwencji wymuszającej zerowy stan początkowy (ułatwieniem jest tu wejście resetujące automat), oraz właściwej sekwencji testującej. Używane metody:

  • Metoda drzew diagnostycznych - budowanie drzewa opisującego przejścia w układzie sprawnym i uszkodzonym, przedstawiającego alternatywne ścieżki działania automatu. Niepraktyczna w przypadku skomplikowanych układów.
  • Metoda Huffmana - zakłada rozdzielenie testowania rejestrów pamiętających oraz części kombinacyjnej, możliwa do wykonania w układach podatnych na rekonfigurację.
  • Sekwencyjny algorytm D - modyfikacja wersji kombinacyjnej, wzbogacona o możliwość resetowania układu. Wykorzystuje drzewa diagnostyczne.

Testowanie pamięci[]

(To tak w ramach systemów komputerowych)

Wyróżnia się 3 poziomy testowania pamięci komputerowej - parametryczne stałoprądowe (pomiar napięć etc.), parametryczne zmiennoprądowe (np. czas utrzymania cyklu) oraz funkcjonalne (wiarygodność odczytu i zapisu). Testy funkcjonalne powinny być dostosowane do typu rozpatrywanego układu, w przypadku pamięci wykonuje się m.in. następujące operacje:

  • sprawdzanie wykonalności zapisu 1 i 0 w każdej komórce
  • weryfikacja skutków pobudzeń w topograficznie sąsiednich komórkach
  • weryfikacja skutków pobudzeń losowych komórek

Przetestowanie wszystkich możliwych kombinacji zawartości komórek jest w praktyce niewykonalne, trzeba więc dobierać testy maksymalizujące szanse na lokalizację uszkodzeń.

Literatura[]

Advertisement