TESTOWANIE UKŁADÓW KOMBINACYJNYCH 1. WPROWADZENIE

Podobne dokumenty
Elementy cyfrowe i układy logiczne

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

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

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

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Synteza strukturalna automatów Moore'a i Mealy

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów. Grupa ćwiczeniowa: Poniedziałek 8.

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Wstęp do Techniki Cyfrowej... Teoria automatów

Zwykle układ scalony jest zamknięty w hermetycznej obudowie metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.

Minimalizacja form boolowskich

Statyczne badanie przerzutników - ćwiczenie 3

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Synteza układów kombinacyjnych

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

Laboratorium podstaw elektroniki

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

x x

dwójkę liczącą Licznikiem Podział liczników:

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Ćwiczenie 24 Temat: Układy bramek logicznych pomiar napięcia i prądu. Cel ćwiczenia

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

Wstęp. Przygotowanie teoretyczne

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Algebra Boole a i jej zastosowania

Metoda Karnaugh. B A BC A

Podstawowe układy cyfrowe

Tranzystor JFET i MOSFET zas. działania

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ

Badanie działania bramki NAND wykonanej w technologii TTL oraz układów zbudowanych w oparciu o tę bramkę.

Katedra Przyrządów Półprzewodnikowych i Optoelektronicznych Laboratorium Przyrządów Półprzewodnikowych. Ćwiczenie 4

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

Algorytmy sztucznej inteligencji

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

LICZNIKI PODZIAŁ I PARAMETRY

Laboratorium podstaw elektroniki

Errata do książki Multisim. Technika cyfrowa w przykładach.

Systemy cyfrowe z podstawami elektroniki i miernictwa Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne)

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Synteza strukturalna automatu Moore'a i Mealy

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Komputerowa symulacja bramek w technice TTL i CMOS

Logiczne układy bistabilne przerzutniki.

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

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

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

Ćw. 8 Bramki logiczne

W ujęciu abstrakcyjnym automat parametryczny <A> można wyrazić następującą "ósemką":

Układy cyfrowe w technologii CMOS

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia

Część 2. Funkcje logiczne układy kombinacyjne

Podstawy Automatyki. Człowiek- najlepsza inwestycja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

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

Bramki TTL i CMOS 7400, 74S00, 74HC00, 74HCT00, 7403, 74132

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

Komputerowa symulacja bramek w technice TTL i CMOS

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Automatyzacja i robotyzacja procesów produkcyjnych

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

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

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

LABORATORIUM TECHNIKA CYFROWA BRAMKI. Rev.1.0

Ćwiczenie 1 Program Electronics Workbench

dr inż. Małgorzata Langer Architektura komputerów

UKŁADY KOMBINACYJNE (BRAMKI: AND, OR, NAND, NOR, NOT)

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

3. Funktory CMOS cz.1

Arytmetyka liczb binarnych

Diagnostyka i naprawa obwodów wyposażenia elektrycznego samochodu.

INSTRUKCJA DO ĆWICZENIA BADANIE STANDARDOWEJ BRAMKI NAND TTL (UCY 7400)

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Zapoznanie się z podstawowymi strukturami funktorów logicznych realizowanymi w technice RTL (Resistor Transistor Logic) oraz zasadą ich działania.

Podstawy elektroniki cz. 2 Wykład 2

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

GENERATOR AUDIO. Rys. 1 Schemat ideowy generatora

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Państwowa Wyższa Szkoła Zawodowa

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO

Spis elementów aplikacji i przyrządów pomiarowych:

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Oszacowanie niezawodności elektronicznych układów bezpieczeństwa funkcjonalnego

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

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

OPROGRAMOWANIE DEFSIM2

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Transkrypt:

TESTOWANIE UKŁADÓW KOMBINACYJNYCH 1. WPROWADZENIE Nie wszystkie wyprodukowane układy są sprawne. W układach mogą występować różnorodne defekty produkcyjne, toteż konieczne jest przetestowanie każdego egzemplarza układu, zanim zostanie on użyty. W przypadku dużych układów cyfrowych jest to bardzo trudne zadanie. Konstruktor układów powinien w czasie projektowania planować również sposób testowania układu i uwzględniać to w projekcie, ponieważ układ, którego nie można przetestować, jest bezużyteczny. 2. DEFEKTY, USZKODZENIA I ICH MODELE O układzie scalonym, który nie spełnia wymagań technicznych, mówimy że jest uszkodzony. Uszkodzenia w układach scalonych można podzielić na dwie grupy: uszkodzenia parametryczne i uszkodzenia katastroficzne. Z uszkodzeniem parametrycznym mamy do czynienia wtedy, gdy układ wykonuje swoją funkcję, ale jego parametry elektryczne (w przypadku układów cyfrowych np. maksymalna częstotliwość zegara czy też pobór mocy) są poza dopuszczalnymi granicami. Uszkodzenie katastroficzne to takie, gdy układ w ogóle nie działa - nie wykonuje swej funkcji. Uszkodzenia parametryczne są powodowane przez nadmiernie duże rozrzuty parametrów elementów układu. Uszkodzenia katastroficzne są spowodowane defektami w strukturze układu, na przykład przerwami lub zwarciami. Typowe bramki cyfrowe CMOS, a zwłaszcza bramki statyczne, są mało wrażliwe na parametry tranzystorów. Dlatego uszkodzenia parametryczne nie są w przypadku układów cyfrowych często spotykane. W układach cyfrowych CMOS najczęściej obserwujemy uszkodzenia katastroficzne, a ich przyczyną są zwykle defekty strukturalne. Przykład takiego defektu - cząstki przewodzącej, która zwiera ścieżki przewodzące - pokazuje zdjęcie. Najpospolitsze są defekty powodujące zmiany w połączeniach w układzie: zwarcia ścieżek oraz przerwy w ścieżkach. Zdarzają się też inne defekty, jak na przykład "dziury" w cienkim dielektryku bramkowym tranzystorów MOS powodujące połączenie elektryczne bramki z kanałem i całkowicie zniekształcające charakterystyki uszkodzonego tranzystora. Aby móc opracować testy dla układu cyfrowego, musimy wiedzieć, jak wpływają defekty w układzie na wykonywane przez ten układ funkcje. Opis działania układu uszkodzonego, tj. zawierającego defekt, nazywamy modelem uszkodzenia. Najprostszym modelem uszkodzenia jest model znany pod nazwą "stałe zero/stała jedynka" (lub niekiedy

"sklejenie do zera/sklejenie do jedynki", w jęz. angielskim "stuck at 0/stuck at 1"). Będziemy go w skrócie oznaczać symbolem "SA0/SA1".! Model uszkodzenia "SA0/SA1" polega na założeniu, że każdy defekt w układzie prowadzi do tego, że w jakimś jego węźle stan logiczny nie zmienia się - zawsze jest tam stan "0" lub stan "1". Chodzi tu oczywiście o te węzły w układzie, w których w prawidłowo działającym układzie stan logiczny zmienia się. Model "SA0/SA1" nie ma żadnego uzasadnienia teoretycznego, a symulacje komputerowe i praktyka pokazują, że nie więcej niż kilkanaście procent wszystkich defektów strukturalnych daje w efekcie uszkodzenie typu "SA0/SA1". Znacznie częściej spotyka się uszkodzenia polegające na tym, że zmienia się funkcja logiczna wykonywana przez bramkę czy też blok, w którym wystąpił defekt. Mimo to model "SA0/SA1" jest powszechnie i niemal wyłącznie stosowany w teorii i praktyce testowania układów cyfrowych. Wieloletnia praktyka pokazała bowiem, że jest to model skuteczny. Otrzymywane przy użyciu tego modelu zestawy testów dla układów cyfrowych pozwalają przetestować te układy z dostateczną dla celów praktycznych wiarygodnością. Wielką zaletą modelu "SA0/SA1" jest jego prostota, a przede wszystkim niezależność od struktury fizycznej układu. Dla stosowania w praktyce tego modelu wystarczy znać schemat logiczny projektowanego układu. Nie jest konieczna znajomość schematu elektrycznego ani topografii układu. Istnieją też inne, bliższe rzeczywistości fizycznej modele uszkodzeń, są one jednak rzadko stosowane. 3. PODSTAWOWE POJĘCIA Układem redundancyjnym nazywa się układ, w którym istnieje taki funktor lub takie połączenie między funktorami, które można usunąć bez zmiany funkcji realizowanej przez układ. Układ, w którym nie ma takich elementów lub połączeń jest układem nieredundancyjnym. Oczywiście układ nierendundacyjny nie musi być układem mminimalnym ( w sensie ilości funktorów), natomiast każdy układ minimalny będzie układem nieredundacyjnym. Jeżeli w układzie kombinacyjnym nieredundacyjnym wystąpi uszkodzenie, to spowoduje ono zmianę jednej lub więcej funkcji logicznych realizowanych przez ten układ. Czyli dla pewnych kombinacji wejściowych wartości niektórych wyjść będą różne od wartości normalnych, tj. w układzie bez uszkodzeń. Każda taka kombinacja wejściowa, która daje błędny sygnał wyjściowy dla danego uszkodzenia jest testem wykrywającym to uszkodzenie. Istnienie tego uszkodzenia można wykryć poprzez podanie kombinacji na wejście i obserwowanie wyjść. Oczywiście dowolny układ kombinacyjny o n wejściach może być w zupełności przetestowany poprzez podanie 2 n kombinacji wejściowych. Przy wzrastającym n szybko rośnie liczba kombinacji wejściowych i takie testowanie staje się bardzo niedogodne. Zwykle do wykrycia wszystkich prawdopodobnych uszkodzeń układu wystarczy mniejszy zbiór testów. Dlatego istotne jest, szczególnie dla układów o dużej liczbie wejść, problem wyszukiwania minimalnego zbioru testów wykrywających uszkodzenia. Drugim istotnym problemem związanym z testowaniem jest problem lokalizacji uszkodzenia, z dokładnością do konkretnego przewodu, funktora lub wymiennego modułu. Jest to problem diagnozy. Bardzo ważnym zagadnieniem jest również znalezienie efek tywnego zbioru testów dla lokalizacji uszkodzeń (testów diagnostycznych). Testowanie automatów może być prowadzone dwoma sposobami: - bezwarunkowo, tj. gdy testy ustalone przed eksperymentem, przykładane są w dowolnej

kolejności, niezależnie od wyników testowania, - adaptacyjnie, gdy wybór kolejnego testu zależy od wyników uzyskanych przy przykładaniu testów poprzednich. Jak wcześniej wspomniano, najczęściej występującymi uszkodzeniami w układach logicznych są: 1) występowanie stałego 0 na danym przewodzie - oznaczamy je jako s-0; 2) występowanie stałej 1 na przewodzie, co oznaczamy s-1. Przyczynami takich uszkodzeń mogą być odpowiednio: zwarcie przewodu z masą lub z przewodem zasilania, zwarcie lub przerwa w tranzystorze końcowym funktora. Zauważmy, że przerwa przewodu da uszkodzenie s-0 albo s-1 w zależności od technologii wykonania szeregu logicznego. W elementach typu TTL i CMOS najczęściej występującymi uszkodzeniami są: a) oberwanie przewodu wejściowego - czyli s-1 na wejściu elementu, b) zwarcie wyjścia z masą - czyli s-0 na wyjściu, c) zwarcie wyjścia z zasilaniem, czyli s-1 na wyjściu. Dla tych możliwych uszkodzeń będziemy poszukiwać testów wykrywających uszkodzenie oraz lokalizujących je. Założymy przy tym, że w danej chwili może wystąpić w układzie tylko jedno uszkodzenie (możliwe uszkodzenia jednokrotne). 4. METODY WYSZUKIWANIA TESTÓW WYKRYWAJ ĄCYCH USZKODZENIE Aby znaleźć minimalny zbiór testów wykrywających uszkodzenia w układzie, trzeba znać pełne zbiory testów wykrywających każde uszkodzenie. Warunki konieczne i dostateczne na to, aby dany test wykrył uszkodzenie' typu s-0 i s-1 są następujące: 1) wartość sygnału w miejscu uszkodzenia powinna być przeciwna do tej, która jest spowodowana przez uszkodzenie, 2) dowolna zmiana sygnału w miejscu uszkodzenia powinna powodować zmianę przynajmniej na jednym wyjściu układu. Podana teraz zostanie metoda pozwalająca wyznaczyć pełne zbiory testów dla wszystkich dla wszystkich uszkodzeń w układzie typu s-0 i s-1. 4.1. METODA POBUDZANIA ŚCIEŻEK Metoda pobudzania ścieżek pozwala wyznaczyć pełny zbiór testów wykrywających dane uszkodzenie bezpośrednio ze schematu układu. Polega ona na wyznaczeniu warunków propagacji zmiany na zadanym przewodzie układu do wyjścia wzdłuż pewnej drogi (ścieżki). Realizuje się to przez określenie wartości wejściowych każdej bramki wzdłuż wybranej drogi, tak aby jej wyjście było uzależnione tylko od wejścia wchodzącego w skład ścieżki. Warunki konieczne i dostateczne do tego, aby zmiana jednego z wejść powodowała zmianę na jej wyjściu są uzależnione od rodzaju bramki. I tak n wejściowy element NAND realizuje funkcję f(x 1, x 2,..., x n ) = (x 1 x 2,..., x n ) Aby wyjście zależało tylko od wybranego wejścia x i pozostałe wejścia muszą być równe 1, bo tylko wtedy f(x 1,... x i,..., x n ) = (1... x i... 1) = (x i ) Rozumując podobnie dojdziemy do wniosku, że dla elementów NAND oraz I trzeba aby

wszystkie wejścia z wyjątkiem zmieniającego się miały sygnał 1, a dla funktorów, LUB i NOR sygnał 0. Po ustaleniu warunków propagacji uszkodzenia i przypisaniu przewodowi uszkodzonemu wartości przeciwnej do założonej błędnej należy określić wartości wejściowe układu realizujące te warunki. P r z y k ł a d 1 Dla układu z rys. 1 poszukamy testu wykrywającego uszkodzenie h s-1. Przypisujemy przewodowi h wartość 0 i pobudzamy ścieżkę h p - r. Aby spełnione były warunki propagacji musi być j = 1, l = 1, dla funktora D oraz m = 1, n = 1 dla funktora E. Z tego otrzymujemy natychmiast wartości wejść y = 1, z = 1. Ponieważ, jeżeli j = 1, to i = 1, więc aby m = 1 musi być w = 0, co daje też j = 1. Aby h =0, musi być x = 1. Czyli testem wykrywającym uszkodzenie h s-1 jest 0111. x a w y A d c e h B w g y Rysunek 1. Schemat układu Poszukamy jeszcze testu wykrywającego uszkodzenie g s-0, Można pobudzić tu dwie ścieżki do wyjścia g - i - m - r lub g - j p - r. Warunki propagacji dla pierwszej z nich są następujące: k = 1, n = 1, p = 1, ma być też g = 1. Mamy więc natychmiast w = 1, oraz z = 1. Aby było p = 1 musi być y = 0 lub x = 0 lub j = 0, j = 0 jest niemożliwe, ponieważ g = 1, ale y = 0 lub x = 1 dają konieczne warunki na propagację uszkodzenia. Znaleźliśmy więc testy 1001, 1101, 1111. Przez pobudzenie drugiej ścieżki znajdziemy test 0011 i te wszystkie testy stanowią pełny zbiór testów wykrywających uszkodzenie g s-0. Procedura wyszukiwania testów metodą pobudzania ścieżek jest więc następująca: 1) przewodowi z uszkodzeniem przypisuje się wartość przeciwną do uszkodzenia, to znaczy wartość 1 należy przypisać przewodowi z uszkodzeniem s-0, a 0 z uszkodzeniem s-1, 2) wybiera się drogę (ścieżkę) od miejsca uszkodzenia do wyjścia układu, 3) pobudza się wybraną ścieżkę, to znaczy wejściom funktorów wzdłuż ścieżki przypisuje się takie wartości, które pozwalają na propagację zmian spowodowanych uszkodzeniem wzdłuż ścieżki do wyjścia układu. 4) określa się wejścia układu, które dają żądane wartości na wejściach funktorów wzdłuż pobudzonej ścieżki. Otrzymuje się w ten sposób jeden lub kilka testów wykrywających rozpatrywane uszkodzenie, 5) w przypadku gdy w czasie określania wejść układu natrafi się na sprzeczność, należy pobudzić inną ścieżkę. Jeżeli pobudzenie jednej ścieżki nie daje rezultatów to trzeba pobudzić jednocześnie dwie lub więcej ścieżek, 6) przy szukaniu pełnego zbioru te stów należy pobudzić kolejno wszystkie możliwe ścieżki. Przy realizacji punktu 4 algorytmu, korzystne jest określenie funkcji realizowanych k i j l C z D n p m E r f

przez każdą bramkę, np. w postaci tablic Karnaugha. Warunki propagacji dają zespół warunków na wartości wyjściowe funktorów. Znając funkcje na wyjściach funktorów można łatwo określić wejścia układu dające odpowiednie wartości przez wymnożenie odpowiednich funkcji. P r z y k ł a d 2 Mamy określić pełny zbiór testów dla uszkodzenia c s-1w układzie z przykładu 1, (rys. 1). Od przewodu c do wyjścia prowadzą dwie ścieżki: c g i - m r oraz c - g - j p - r. Dla wykrycia c s-1 musi być w = 0, czyli ścieżki pierwszej nie da się pobudzić, ponieważ w = 0 zakazuje element C. Należy więc pobudzić ścieżkę drugą.. Warunki propagacji są następujące: y = 1, A = 1, z = 1, i C = 1 do nich oczywiście dochodzi warunek w = 0. Mamy więc w yz = 1, A = 1 i C = 1. Tylko jedna kombinacja wejściowa T= w x yz spełnia wszystkie warunki, czyli 0011 jest jedynym testem wykrywającym uszkodzenie c s-1. 4.2. MINIMALNY ZBIÓR TESTÓW WYKRYWAJĄCYCH USZKODZENIE Po znalezieniu pełnego zbioru testów dla każdego uszkodzenia można przystąpić do poszukiwania minimalnego zbioru testów wykrywających uszkodzenie w układzie. W tym celu zestawimy tabl cę uszkodzeń. Wiersze tablicy będą odpowiadały testom, a kolumny uszkodzeniom. W klatce a ij tablicy stawiamy 1, jeżeli test T i wykrywa uszkodzenie d j. Dla wykrycia wszystkich uszkodzeń d j jest konieczne i dostateczne, aby dla każdego uszkodzenia co najmniej jeden test wykrywający to uszkodzenie by zawarty w zbiorze testów. Czyli znalezienie minimalnego zbioru testów sprowadza się do znalezienia minimalnego pokrycia tablicy testów. Jest to ten sam problem, co znalezienie minimalnego pokrycia tablicy implikantów (metoda Quine a McCluskeya). Dla niewielkiej tablicy można bezpośrednio zastosować metodę Patricka. Większe tablice przed zastosowaniem metody Patricka można uprościć wykreślając wiersze odpowiadające zasadniczym testom i kolumny pokrywane przez te wiersze. Przypominamy, że jeżeli istnieje uszkodzenie wykrywane tylko przez jeden test, to test ten nazwiemy zasadniczym. Dalej tablicę można uproście stosując zasadę dominacji kolumn i wierszy. P r z y k ł a d 3 Wybierzemy minimalny zbiór testów wykrywających uszkodzenia układu z przykładu 2. Założymy, że funktory realizowane są w technice TTL i uwzględnimy tylko uszkodzenie typowe dla tej techniki: s-1 na wejściach bramki oraz s-1 i s-0 na wyjściu. Uszkodzenia oznaczamy następująco: a 0 - oznacza, że wystąpiło uszkodzenie s-0 na przewodzie a, a 1 -oznacza, że wystąpiło uszkodzenie s-1 na przewodzie a. Tablica 4.1 jest tablicą uszkodzeń badanego układu.

Testami zasadniczymi są: t1, t3, t7, t9, t11, i t15. Pokrywają one wszystkie kolumny (uszkodzenia) z wyjątkiem n1. Aby pokryć i tę kolumnę należy wziąć do minimalnego zbioru jeden z testów t0, t4, t6 lub t10. Czyli istnieją cztery minimalne zbiory testów wykrywających uszkodzenia w tym układzie. Jeden z nich: t0 = 0000 t1 = 0001 t3 = 0011 t7 = 0111 t9 = 1001 t11 = 1011 t15 = 1111 4.3. LOKALIZACJA USZKODZEŃ Ważnym zadaniem jest znalezienie takiego zbioru testów, który pozwoli na lokalizację uszkodzenia w układzie. Przy poszukiwaniu zbioru testów diagnostycznych posługujemy się zmodyfikowaną ta blicą uszkodzeń. Modyfikacja polega na zastąpieniu jednym testem (dowolnym) wszystkich testów, których,wiersze w tablicy uszkodzeń są identyczne. Podobnie łączymy wszystkie identyczne kolumny. Uszkodzenia odpowiadające tym kolumnom są nieodróżnialne, dają one identyczne zmiany na wyjściu układu. Znalezienie bezwarunkowego testu diagnostycznego wymaga stworzenia nowej tablicy diagnostycznej o wierszach odpowiadających testom jak w zmodyfikowanej tablicy uszkodzeń oraz o kolumnach odpowiadających wszystkim możliwym parom uszkodzeń rozróżnialnych. Tablicę wypełnia się według następujących reguł: 1) jeżeli test ti wykrywa oba uszkodzenia odpowiadające danej kolumnie, albo nie wykrywa obu tych uszkodzeń, to w wierszu odpowiadającym testowi ti w tej kolumnie wstawiamy 0, 2) jeżeli test ti wykrywa tylko jedno z tych uszkodzeń wstamy 1. Minimalny zbiór testów diagnostycznych otrzymamy z tej tablicy znajdując minimalne pokrycie wszystkich kolumn jedynkami. Przedstawiona procedura jest dość kłopotliwa ze względu na duży rozmiar tablicy diagnostycznej. Jeżeli zmodyfikowana tablica uszkodzeń ma n kolumn, to tablica diagnostyczna będzie miała n(n-1)/2 kolumn. W naszym układzie, gdzie jest 14 nieodróżnialnych uszkodzeń tablica diagnostyczna będzie miała więc 91 kolumn. Znacznie łatwiejsze jest uzyskanie adaptacyjnego testu diagnostycznego. Można go uzyskać bezpośrednio ze zmodyfikowanej tablicy uszkodzeń. Test będzie miał postać drzewa diagnostycznego (grafu). Konstrukcja drzewa zostanie wyjaśniona na przykładzie. P r z y k ł a d 4 Tablica 4.2 przedstawia zmodyfikowaną tablicę uszkodzeń otrzymaną z tablicy 4.1. Poszukujemy pierwszego testu. Pierwszy test dzieli uszkodzenia w zależności od odpowiedzi układu na te, które wykrywa (1 w tablicy uszkodzeń) oraz te, których nie wykrywa. Aby drzewo było możliwie rozgałęzione, należy tak dobrać test, aby ilość jedynek w odpowiadającym mu wierszu była najbliższa ilości wolnych pól. Jeżeli kilka testów kandyduje do wyboru - wybierzmy arbitralnie. W tablicy 4.2 takim testem jest t15 = 1111, będzie on pierwszym testem w drzewie. Dzielimy teraz tablicę na dwie części tak, że w jednej

Tablica 4.2 znajdują się kolumny odpowiadające uszkodzeniom wykrywalnym przez ten test (te, które mają w wybranym wierszu jedynki), a w drugiej pozostałe, pomijając już w nich wiersz, według którego dzielimy. W ten sposób z tablicy 4.2, otrzymamy dwie: tablicę 4.3a, którą nazwiemy T0 oraz tablicę 4.3b - T l. Tablica 4.3 a/ Tablica 4.3. b/

Z otrzymanymi tablicami postępujemy w identyczny sposób tak długo, aż w każdej tablicy zostanie jednia kolumna. Przy powstawaniu nowych tablic możemy opuszczać wiersze, w których są same jedynki lub puste pola. Z tablicy T1 wybierzemy arbitralnie test t3 = 0011 i dzieląc tę tablicę otrzymamy T10 i T11 (tablica 4.4a i 4.4b). Dalej to = 0000 dzieli ostatecznie tablicę T11. Oznacza to, że po przyłożeniu testów kolejno 1111 i uzyskaniu błędnego wyjścia, 0011 i uzyskaniu błędnego wyjścia oraz 0000, i uzyskaniu błędnego wyjścia, wykryliśmy w układzie uszkodzenie r0, a jeżeli w ostatnim przypadku uzyskalibyśmy dobry wynik, to w układzie byłoby uszkodzenie g0. Jednocześnie z dzieleniem tablic; możemy rysować drzewo diagnostyczne. Kolejnymi węzłami tego drzewa będą testy, według których dzieli się tablice. Powstawanie drzewa ilustruje rys.2. Literka z przy strzałce oznacza, że test dał wynik nieprawidłowy na wyjściu, a literka d oznacza występowanie prawidłowego sygnału wyjściowego przy danym teście. W nawiasach podane są odpowiednie wartości wyjścia układu. Dzieląc w przedstawiony sposób pozostałe tablice otrzymamy pełne drzewo diagnostyczne przedstawione na rys.2. Przy pomocy drzewa diagnostycznego można również, sprawdzić czy w układzie nie ma uszkodzeń. W przykładzie dobre wyniki testów w kolejności 1111, 1011, 0111, 1001, 0001, 0011, 0000 pozwalają stwierdzić brak uszkodzeń w układzie. UWAGA: Występowanie prawidłowego sygnału można określić mając zrobioną tablicę prawdy dla układu bez uszkodzeń. Tablicę prawdy układu bez uszkodzeń można łatwo otrzymać za pomocą konwertera wchodzącego w skład oprogramowania MULTISIM.

Tablica 4.4

Rysunek 2. Drzewo diagnostyczne do przykładu PYTANIA I PROBLEMY 1. Warunki konieczne i dostateczne na test aby wykrywał on uszkodzenie typu s-o lub s-1. 2. Sposoby testowania układów. 3. Omówić metodę pobudzania ścieżek. 4. Jakie są warunki propagacji błędu dla bramek, I, LUB, NAND i NOR? Uzasadnić. 5. W jaki sposób poszukuje się minimalnego zbioru test6w wykrywających uszkodzenia? 6. Co to są testy diagnostyczne? 7. Jak poszukuje się zbioru bezwarunkowych testów diagnostycznych? 8. Tworzenie i wykorzystanie drzewa diagnostycznego. Opracowano na podstawie: 1. W. Kuźmicz; Podstawy mikroelektroniki; http://reason.imio.pw.edu.pl/pmk/pmk_w9_1.html 2. M. Perkowski, A. Rydzewski, P. Misiurewicz: Teoria układów logicznych. Wydawnictwo P.W. 1977. 3. A. Friedmann, P. Menon: Wykrywanie uszkodzeń w układach cyfrowych. WNT 1974.