View
7
Download
0
Category
Preview:
Citation preview
05.12.2017
1
W13 – Testowanie układów cyfrowych
Henryk Maciejewski
Jacek Jarnicki
Jarosław Sugier
www.zsk.iiar.pwr.edu.pl
1. Modele błędów w układach cyfrowych
2. Generowanie wektorów testowych dla układów kombinacyjnych• Metody tablicowa
• Metoda różnic boolowskich
• Metoda pobudzenia ścieżek
B. Wilkinson, Układy cyfrowe, WKŁ.
Uszkodzenia i modele błędów
05.12.2017
2
Rozważamy uszkodzenia prowadzące do błędów logicznych układu.
Zakładamy model: pojedynczy błąd „sklejenia”:
stuck-at-0, stuct-at-1
Lokalizacje błędów: każdy sygnał wejściowy, wewnętrzny, wyjściowy
Modele błędów w układach cyfrowych
Rozważamy układ: 𝑧 = 𝐹 𝑥1, 𝑥2, 𝑥3, 𝑥4 = (𝑥1 + 𝑥2𝑥3)(𝑥2𝑥3 + 𝑥4)
uszkodzenie = s-a-0 na wejściu x4
z = wartość funkcji bez uszkodzenia
z = wartość funkcji z uszkodzeniem
Generowanie wektorów testowych -metoda tablicowa
05.12.2017
3
Rozważamy układ: 𝑧 = 𝐹 𝑥1, 𝑥2, 𝑥3, 𝑥4 = (𝑥1 + 𝑥2𝑥3)(𝑥2𝑥3 + 𝑥4)
Uszkodzenie wykrywajątesty:𝑥1 = 1,0,0,1 = 𝑥1 𝑥2 𝑥3 𝑥4𝑥2 = 1,0,1,1 = 𝑥1 𝑥2 𝑥3 𝑥4𝑥3 = 1,1,0,1 = 𝑥1 𝑥2 𝑥3 𝑥4
Generowanie wektorów testowych -metoda tablicowa
x1 x2 x3 x4 z z xor(z, z)
0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 0 1 1 0 0 0
0 1 0 0 0 0 0
0 1 0 1 0 0 0
0 1 1 0 0 0 0
0 1 1 1 0 0 0
1 0 0 0 1 1 0
1 0 0 1 0 1 1
1 0 1 0 1 1 0
1 0 1 1 0 1 1
1 1 0 0 1 1 0
1 1 0 1 0 1 1
1 1 1 0 0 0 0
1 1 1 1 0 0 0
Różnica boolowska funkcji 𝐹 𝑥1, 𝑥2, … , 𝑥𝑛 względem zmiennej 𝑥𝑗, 1 ≤ 𝑗 ≤𝑛 :
𝜕𝐹
𝜕𝑥𝑗= 𝐹 𝑥1, 𝑥2, … , , 0,… , 𝑥𝑛 ⨁𝐹 𝑥1, 𝑥2, … , , 1,… , 𝑥𝑛 = 𝐹𝑥𝑗⨁𝐹𝑥𝑗
• Funkcja n-1 zmiennych
•𝜕𝐹
𝜕𝑥𝑗= 1 dla danego wektora wejściowego 𝑥𝑖 , 𝑖 ≠ 𝑗 wartość F zależy
od zmiennej xj
•𝜕𝐹
𝜕𝑥𝑗= 0 dla danego wektora wejściowego 𝑥𝑖 , 𝑖 ≠ 𝑗 wartość F nie
zależy od xj
Metoda różnic boolowskich (booleandifference)
05.12.2017
4
Poprzedni przykład: 𝑧 = 𝐹 𝑥1, 𝑥2, 𝑥3, 𝑥4 = (𝑥1 + 𝑥2𝑥3)(𝑥2𝑥3 + 𝑥4)
𝐹𝑥4 = 𝑥1 + 𝑥2𝑥3 𝑥2𝑥3 + 1 = 0
𝐹𝑥4 = 𝑥1 + 𝑥2𝑥3 𝑥2𝑥3 + 0 = 𝑥1 + 𝑥2𝑥3 𝑥2𝑥3 = 𝑥1𝑥2𝑥3
𝜕𝐹
𝜕𝑥4= 𝐹𝑥4⨁𝐹𝑥4 = 𝑥1𝑥2𝑥3
stąd wektory testowe, uwzględniając warunek, aby x4 odróżniało się od uszkodzenia
Metoda różnic boolowskich (booleandifference)
Wynik metody tablicowej: 𝑥1 = 1,0,0,1 = 𝑥1 𝑥2 𝑥3 𝑥4𝑥2 = 1,0,1,1 = 𝑥1 𝑥2 𝑥3 𝑥4𝑥3 = 1,1,0,1 = 𝑥1 𝑥2 𝑥3 𝑥4
𝜕𝐹
𝜕𝑥4= 𝐹𝑥4⨁𝐹𝑥4 = 𝑥1𝑥2𝑥3 = 𝑥1 𝑥2 + 𝑥3 = 𝑥1𝑥2 𝑥3 + 𝑥3 + 𝑥1𝑥3 𝑥2 + 𝑥2
= 𝑥1𝑥2𝑥3 + 𝑥1𝑥2 𝑥3 + 𝑥1𝑥2𝑥3
stąd wektory testowe (przy x4 = 1, aby odróżniało się od uszkodzenia )𝑥1 = 𝑥1 𝑥2 𝑥3 𝑥4 = 1,0,0,1𝑥2 = 𝑥1 𝑥2 𝑥3 𝑥4 = 1,0,1,1𝑥3 = 𝑥1 𝑥2 𝑥3 𝑥4 = 1,1,0,1
Wektory testowe dla błędów @ xj uzyskuje się jako:
𝑥𝑗𝜕𝐹
𝜕𝑥𝑗dla s-a-0 ഥ𝑥𝑗
𝜕𝐹
𝜕𝑥𝑗dla s-a-1
05.12.2017
5
Test = activate + propagate
Activate: wymuszamy w danym punkcie układu wartość przeciwną do błędu badanego w tym punkcie(np. wymuszamy 1, gdy badamy s-a-0)
Propagate: ustawiamy wartości sygnałów na pozostałych bramkach w układzie tak żeby spowodować propagację błędu uszkodzenia do wyjścia.
Metoda pobudzenia ścieżek (pathsensitization)
Aktywowanie podstawowych bramek
Symbol D:
𝐷: sygnał przy niewystępowaniu błędu ma mieć wartość 1ഥ𝐷 : sygnał przy niewystępowaniu błędu ma mieć wartość 0
:
05.12.2017
6
Propagowanie sygnału 𝐷 / ഥ𝐷 do wyjścia układu
Bramki XOR i XNOR zawsze propagują 𝐷 (jako 𝐷 albo ഥ𝐷)
Przykład𝑓 = 𝐷
Activate
𝑥0 + 𝑥1 = 1 𝑥0, 𝑥1 ∈ 01,10,11
Propagate
𝑎 = 𝑥2 ∙ 𝑥3 = 1 𝑥2 = 𝑥3 = 1
𝑏 = 0 𝑥4 = 1
𝑐 = 0 𝑥5 = 0
Stąd zbiór testów wykrywających uszkodzenie:
(0,1,1,1,1,0)
(1,0,1,1,1,0)
(1,1,1,1,1,0)
Recommended