6. Testowanie i testowalność układów scalonych

6.4. Modele uszkodzeń

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.

W przypadku układu cyfrowego model uszkodzenia określany jest w odniesieniu do funkcji logicznej wykonywanej przez układ, tj. określa, jak zmienia się funkcja logiczna pod wpływem 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 powinien 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, ale w żadnym z węzłów nie panuje na stałe stan „0” ani stan „1”. Spotyka się defekty, w wyniku których układ kombinacyjny staje się układem z pamięcią (tj. odpowiedź układu zależy nie tylko do aktualnych stanów wejść, ale i od historii zmian stanów). Spotyka się też defekty, w wyniku których w jakimś węźle układu panuje napięcie nie będące ani prawidłowym stanem „0”, ani „1”. 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. Dalej zobaczymy, w jaki sposób model „SA0/SA1” jest wykorzystywany do otrzymywania zestawów testów dla układów cyfrowych.

Istnieją inne, bliższe rzeczywistości fizycznej modele uszkodzeń. Drogą odpowiednich symulacji komputerowych można na przykład przewidzieć możliwe defekty strukturalne w danej bramce, obliczyć ich prawdopodobieństwo, a następnie określić, jaką funkcję logiczną będzie wykonywać bramka z każdym z tych defektów. W ten sposób uzyskuje się szczegółową informację o rodzajach i prawdopodobieństwie uszkodzeń w danej bramce. Informację tę można potem wykorzystać do określenia najlepszego zestawu testów dla układu zawierającego tak scharakteryzowane bramki. Wadą takiego podejścia jest konieczność brania pod uwagę konkretnej struktury fizycznej układu - topografii bramek i połączeń między nimi. Od tej topografii zależy bowiem prawdopodobieństwo wystąpienia różnych rodzajów defektów strukturalnych. Na przykład prawdopodobieństwo wystąpienia zwarcia między ścieżkami połączeń zależy od ich wzajemnej odległości. Chociaż sposób testowania wychodzący od realnych uszkodzeń i ich prawdopodobieństwa daje możliwość otrzymania lepszych zestawów testów, to jednak konieczność znajomości konkretnej struktury fizycznej układu oraz duża złożoność symulacji, które trzeba wykonać, powodują, że ten sposób otrzymywania zestawów testów nie znalazł dotąd zastosowania praktycznego.

Dalej będzie używany model „SA0/SA1”.