Metody testowania Magistrala JTAG Zygmunt Kubiak 2012-02-20 ZKubiak 1
Testowanie i diagnostyka Test próba podejmowana, aby uzyskać odpowiedź na postawione pytanie Diagnostyka poch. z j. greckiego od diagnosis, które oznacza rozpoznawanie, rozróżnianie, osądzanie 2012-02-20 ZKubiak 2
Typowa strategia testowania Strukturalne testy alternatywne Automatyczne testy optyczne (AOI Automated Optical Inspection) Najczęściej pierwszy etap testowania po montażu Szukanie elementów brakujących i źle ustawionych Testowanie wewnątrzobwodowe (ICT, In-Circuit Testing) Pomiar wartości elementów biernych itp. Wymagany fizyczny dostęp do punktów lutowniczych Automatyczne testy promieniami rentgenowskimi (AXI Automated X-ray Inspection) Wykrywanie problemów lutowniczych 2012-02-20 ZKubiak 3
Typowa strategia testowania Najczęściej spotykane błędy Przerwy połączeń 48% Zwarcia połączeń 23% Niezawodność połączeń 17% Brak elementu 4% Ustawienie elementu 3% Niewłaściwy element Uszkodzony element Stig Oresjo, A Billion Solder Joints and Counting, Circuits Assembly Magazine, Feb 2001 2012-02-20 ZKubiak 4
Typowa strategia testowania W czasie tworzenia ścieżek sygnałowych, nakładania pasty lutowniczej, układania podzespołów oraz ich lutowania komponenty PCB mogą ulec uszkodzeniu lub s montowane nieprawidłowo 2012-02-20 ZKubiak 5
Typowa strategia testowania Przykład wykorzystania AOI do detekcji zwarcia między wyprowadzeniami (źródło: Retronix). Ponadto inspekcja tego typu pozwala na przykład zweryfikować polaryzację i położenie komponentów 2012-02-20 ZKubiak 6
Typowa strategia testowania Inspekcję AXI utrudni może zamontowanie komponentów po różnych stronach PCB w taki sposób, że na obrazie RTG będą one na siebie zachodzić 2012-02-20 ZKubiak 7
Typowa strategia testowania Przykład obrazu PCB w AXI. Inspekcja tego rodzaju jest szczególnie polecana do kontroli dokładności wykonania połączenia lutowanych oraz wykrywania zwarć 2012-02-20 ZKubiak 8
Typowa strategia testowania Przykład obrazu PCB w AXI. Inspekcja tego rodzaju jest szczególnie polecana do kontroli dokładności wykonania połączenia lutowanych oraz wykrywania zwarć 2012-02-20 ZKubiak 9
Typowa strategia testowania Projektując PCB pod kątem ICT, należy zapewni możliwość swobodnego przemieszczania s nad i pod płytką, a także odpowiednie odstępy na jej brzegach pozwalające na manipulowanie nią. Dotyczy to te projektowania z uwzględnieniem wymogów systemów AOI i AXI 2012-02-20 ZKubiak 10
Typowa strategia testowania HyperLynx Thermal oprogramowanie do analizy termicznej projektów 2012-02-20 ZKubiak 11
Typowa strategia testowania 2012-02-20 ZKubiak 12
Typowa strategia testowania 2012-02-20 ZKubiak 13
Typowa strategia testowania 2012-02-20 ZKubiak 14
Koncepcja testera łoże igłowe 2012-02-20 ZKubiak 15
Koncepcja testera łoże igłowe 2012-02-20 ZKubiak 16
Testowanie Rodzaje testów Testowanie funkcjonalne Testowanie wewnątrzobwodowe (łoże igłowe) 2012-02-20 ZKubiak 17
Testowanie Rodzaje testów Testowanie funkcjonalne Testowanie wewnątrzobwodowe (łoże igłowe) 2012-02-20 ZKubiak 18
Testowanie Rodzaje testów Testowanie funkcjonalne Testowanie wewnątrzobwodowe (łoże igłowe) 2012-02-20 ZKubiak 19
Testowanie 2012-02-20 ZKubiak 20
Testowanie 2012-02-20 ZKubiak 21
Testowanie Wzrost złożoności druku 2012-02-20 ZKubiak 22
Testowanie W 1985 roku powstaje organizacja pod nazwą Join Test Action Group stowarzyszająca około 200 producentów układów elektronicznych (JTAG) W 1990 roku rozwiązania wprowadzone do produkcji układów elektronicznych przez stowarzyszenie JTAG zostają uznane za międzynarodowy standard pod nazwą IEEE Std 1149.1 2012-02-20 ZKubiak 23
Testowanie TCK Test Clock Input Zegar jest niezależny od zegara systemowego TDI Test Data In Wejściowa linia danych magistrali JTAG TDO Test Data Out Wyjściowa linia danych magistrali JTAG TMS Test Mode Select Linia wyboru trybu pracy magistrali JTAG TRST Test Reset Input (active low) Asynchroniczna inicjalizacja kontrolera TAP 2012-02-20 ZKubiak 24
Testowanie metoda ścieżki brzegowej Architektura układów 2012-02-20 ZKubiak 25
Zastosowanie ścieżki brzegowej do testowania pakietów 2012-02-20 ZKubiak 26
Skanowanie struktury wewnętrznej 2012-02-20 ZKubiak 27
Skanowanie struktury wewnętrznej Skanowanie połączeń wewnętrznych 2012-02-20 ZKubiak 28
Skanowanie struktury wewnętrznej Skanowanie połączeń zewnętrznych Skanowanie klasterów 2012-02-20 ZKubiak 29
Skanowanie struktury wewnętrznej Skanowanie połączeń zewnętrznych Skanowanie klasterów Skanowanie pamięci 2012-02-20 ZKubiak 30
Metoda ścieżki brzegowej Bez ograniczeń na gęstość druku Metoda testowania wewnątrzobwodowego (incircuit) Minimalna odległość punktów lutowniczych 50 mil 2012-02-20 ZKubiak 31
2012-02-20 ZKubiak 32
Zintegrowane testy strukturalne: skanowanie brzegowe z testowaniem in-circuit Integracja z testami funkcjonalnymi Kombinacja z testami systemowymi 2012-02-20 ZKubiak 33
System testowania logicznego 2012-02-20 ZKubiak 34
Schemat komórki rejestru brzegowego Wejście Syganł TDO lub do następnej komórki Wyjście D D Sygnał TDI lub z poprzedniej komórki Zegar Uaktualnienie kopii Rodzaj pracy rejestru brzegowego Wpis przesuwania 2012-02-20 ZKubiak 35
Schemat komórki rejestru brzegowego 2012-02-20 ZKubiak 36
Graf stanów kontrolera TAP Komunikacja z rejestrem instrukcji Komunikacja z rejestrem danych 2012-02-20 ZKubiak 37
Instrukcja BYPASS Boundary Scan Register Włącza jednobitowy rejestr obejściowy zamiast rejestru brzegowego... CORE LOGIC TDI Device ID Bypass TDO TMS TCK TAP Instruction 2012-02-20 ZKubiak 38
Instrukcja BYPASS 2012-02-20 ZKubiak 39
Instrukcja SAMPLE Boundary Scan Register Próbkuje testowany układ na jego wyprowadzeniach. Stan sygnałów wejściowych i wyjściowych układu wpisuje do rejestru brzegowego. CORE LOGIC TDI Device ID Bypass TDO TMS TCK TAP Instruction 2012-02-20 ZKubiak 40
Instrukcja SAMPLE Próbkuje testowany układ na jego wyprowadzeniach. Stan sygnałów wejściowych i wyjściowych układu wpisuje do rejestru brzegowego. 2012-02-20 ZKubiak 41
Instrukcja INTEST Boundary Scan Register Test samego elementu; element został wyizolowany z otoczenia; informacje wejściowe są zadawane z rejestru brzegowego a informacje wyjściowe są zapisywane do komórek rejestru brzegowego. TDI CORE LOGIC Device ID TDO Bypass TMS TCK TAP Instruction 2012-02-20 ZKubiak 42
Instrukcja INTEST Test samego elementu; element został wyizolowany z otoczenia; informacje wejściowe są zadawane z rejestru brzegowego a informacje wyjściowe są zapisywane do komórek rejestru brzegowego. 2012-02-20 ZKubiak 43
Instrukcja EXTEST Boundary Scan Register Element jest wyizolowany z otoczenia, w tym jednak przypadku nie podlega testom; informacje wejściowe są wpisywane do rejestru brzegowego a z innych komórek rejestru brzegowego informacje wpisywane są na linie wyjściowe. TDI CORE LOGIC Device ID Bypass TDO TMS TCK TAP Instruction 2012-02-20 ZKubiak 44
Instrukcja EXTEST Element jest wyizolowany z otoczenia, w tym jednak przypadku nie podlega testom; informacje wejściowe są wpisywane do rejestru brzegowego a z innych komórek rejestru brzegowego informacje wpisywane są na linie wyjściowe. 2012-02-20 ZKubiak 45
Instrukcja RUNBIST Powodującą wykonanie autotestu elementu; element jest wyizolowany z otoczenia. Boundary Scan Register CORE LOGIC TDI GO/NO GO Device ID Bypass TDO TMS TCK TAP Instruction 2012-02-20 ZKubiak 46
Instrukcja IDCODE Przesłanie unikatowego 32-bitowego kodu elementu. Rejestr identyfikacji jest opcjonalny. Jego brak można określić badając pierwszy bit danych wysunięty z danego układu scalonego. Jeżeli bit ten przyjmuje wartość 1, to następne 31 bitów będzie zawartością rejestru identyfikacji, w przeciwnym razie w danym układzie scalonym nie zaimplementowano rejestru identyfikacji i instrukcja wybrała rejestr obejściowy. TDI TMS TCK Boundary Scan Register TAP CORE LOGIC Device ID Bypass Instruction TDO 2012-02-20 ZKubiak 47
SN74BCT8244A Testowanie IEEE 1149.1 Rysunek przedstawia element (SN74BCT8244A), który w dalszej części poddawany jest testom. Jest to typowy układ 8-miu buforów serii 244, dodatkowo wyposażony w obwody magistrali JTAG. 2012-02-20 ZKubiak 48
SN74BCT8244A Rysunek przedstawia element (SN74BCT8244A), który poddawany jest testom. 2012-02-20 ZKubiak 49
SN74BCT8244A Testowanie IEEE 1149.1 Instrukcje IEEE 1149.1 Instrukcja MSB LSB Tryb EXTEST X000 0000 Testowanie BYPASS X111 1111 Praca normalna SAMPLE/PRELOAD X000 0010 Praca normalna INTEST (opcjonalna) X000 0011 Testowanie 2012-02-20 ZKubiak 50
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 51
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 52
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 53
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 54
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 55
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 56
Emulator JTAG. Program ten pozwala na testowanie wirtualnego elementu SN74BCT8244A. Na slajdzie pokazano ekran startowy układu. Został on podzielony na cztery części: pulpit sterowniczy, pole badanego układu, diagram stanów sterownika TAP oraz stan wybranych rejestrów. Wszystkie akcje użytkownika są animowane na ekranie. 2012-02-20 ZKubiak 57
Na rysunku tym wszystkie przełączniki DIP ustawione są w pozycji 0, podobnie jak przełączniki TDI, TMS i TCK. Podświetlone pole stanu Test-Logic-Reset świadczy o tym, że symulacja przechodzenia przez poszczególne stany rozpocznie się właśnie od tego stanu. 2012-02-20 ZKubiak 58
Zainicjujemy teraz przejście ze stanu Test-Logic-Reset do stanu Run-Test/Idle, a więc przycisk TMS pozostaje w stanie 0, co odczytać możemy z wartości określonej przy strzałce, natomiast przycisk TCK przełączamy w stan 1. 2012-02-20 ZKubiak 59
Zauważymy, że pole stanu Test-Logic-Reset zmieniło kolor z białego na szary, następnie strzałka między tymi stanami zmieniła kolor na czerwony (co możemy zobaczyć w czasie działania programu), a po przejściu do stanu Run-Test/Idle kolor strzałki z powrotem zmienia się w zielony. Po przejściu do zadanego stanu kolor pola zmienia się z szarego na biały. W tym momencie stanem aktywnym jest stan Run-Test/Idle. 2012-02-20 ZKubiak 60
Teraz przejście do następnego stanu rozpatrujemy względem stanu podświetlonego czyli obecnie jest to Run-Test/Idle. By teraz dokonać przejścia do stanu Select-DR-Scan należy postępować podobnie jak poprzednio z tą różnicą, że sygnał TMS musi być 1. 2012-02-20 ZKubiak 61
Kolejny slajd pokazuje co dzieje się w elemencie SN74BCT8244A, gdy przejdziemy do stanu Shift-DR. Wejście TDI łączy się z wyjściem TDO przez rejestr obejściowy (BYPASS), a wskaźnik TDO zmienia swój pierwotny wizerunek. Takie ustawienie pozwala na pominięcie danego układu w łańcuchu układów powiązanych ścieżką brzegową. 2012-02-20 ZKubiak 62
Kolejna zmiana stanu zegara przy TDI = 1 i TMS = 0 spowoduje przejście przez rejestr obejściowy wprowadzając do niego wartość określoną przez TDI, a wartość z tego rejestru zapisana jest do bufora rejestru BYPASS. Stan ten przedstawia slajd. 2012-02-20 ZKubiak 63
Pole stanu Shift-DR pozostaje nadal aktywne (o kolorze białym), sygnał przy TMS = 0 kieruje się ponownie do tego stanu. Po przełączeniu w stan niski przełącznika TCK, wskaźnik TDO zmieni się symulując włączenie wskaźnika, a wartość umieszczona poniżej zmieni się na 1. 2012-02-20 ZKubiak 64
Dotychczas omówiona była komunikacja z rejestrem danych. Obecnie będziemy dążyć do zrealizowania komunikacji z rejestru instrukcji. W tym celu należy przejść przez pozostałe stany w rejestrze danych. Należy zwrócić szczególną uwagę gdy dojdziemy do stanu Update-DR, w którym to zerowany jest rejestr obejściowy. W tym momencie kierujemy się do stanu Select-IR-Scan poprzez odpowiednie ustawianie przełącznika TMS. 2012-02-20 ZKubiak 65
Gdy dojdziemy do stanu Select-IR-Scan ustawiamy TMS = 0, w ten sposób wybraliśmy komunikację z rejestrem instrukcji. Po dojściu do stanu Shift-IR uzyskamy połączenie podobne jak w stanie Shift-DR, tylko w tym przypadku połączenie zrealizowane będzie przez rejestr instrukcji, do której zostaje wpisana sekwencja 10000001. Przypadek ten został przedstawione na slajdzie. Widzimy tez zmianę TDO, który wykrył 1-kę w rejestrze instrukcji. 2012-02-20 ZKubiak 66
Następną czynnością jaką zrealizujemy będzie wpisanie do rejestru instrukcji samych 0, co umożliwi przejście sygnału z TDI do TDO przez rejestr brzegowy. Po wypełnieniu rejestru instrukcji zerami przechodzimy ponownie do komunikacji z rejestrem danych, a dokładnie do stanu Shift-DR. Należy też zwrócić uwagę na stan Update-IR, w którym stan rejestru instrukcji zostaje zapamiętany w kopii (zatrzasku) rejestru instrukcji. 2012-02-20 ZKubiak 67
Slajd ilustruje działanie rejestru brzegowego, który zostaje połączony z wejściem TDI i wyjściem TDO. Włączenie tego rejestru jest możliwe w momencie gdy w kopii rejestru instrukcji znajdują się same zera. Do rejestru brzegowego wpisać można dane szeregowo poprzez TDI lub równoległe z przełącznika DIP. 2012-02-20 ZKubiak 68
Sygnał TDI wprowadzany jest za każdym razem, gdy aktywny jest stan Shift-DR i włączone jest narastające zbocze TCK. Z przełącznika DIP dane wprowadzane są do rejestru brzegowego w momencie wyjścia ze stanu Capture-DR. 2012-02-20 ZKubiak 69
W tym momencie przepisywane są też dane z kopii wejściowego rejestru brzegowego do wyjściowego rejestru brzegowego. Przechodząc natomiast do stanu Update-DR, dane z rejestru brzegowego przepisywane są do kopii (zatrzasku) rejestru brzegowego. Na slajdzie przedstawiono także działanie diod wejściowych i wyjściowych. 2012-02-20 ZKubiak 70
Pokazują one zewnętrzne stany układu. Działanie diod wejściowych jest bardzo proste zapalają się, gdy włączymy odpowiadające im pozycje w przełączniku DIP. Diody wyjściowe działają w zależności od zawartości kopii rejestru instrukcji. Gdy kopia ta zawiera same 0 diody wyjściowe informują o stanie kopii wyjściowego rejestru brzegowego. 2012-02-20 ZKubiak 71
DC CW ZK_JTAG_Lab.ppt, sl17 2012-02-20 ZKubiak 72
Układy kontrolera TAP I TMS TDI TC K TDO TRST_N Chip TAP Core Controlle r O 2012-02-20 ZKubiak 73
Układy kontrolera TAP SI SO TDI TMS TCK TRST_N Bypass Reg. Instruction Register Finite State Machine Instruction Decode Various TAP Outputs: UpdateDR, CaptureDR, TriState, Etc. TDO 2012-02-20 ZKubiak 74
2012-02-20 ZKubiak 75 Testowanie IEEE 1149.1 TAP Select-DR-Scan Capture-DR Shift-DR Exit1-DR Pause-DR Exit2-DR Update-DR 0 0 1 0 1 1 Test-Logic-Reset Run-Test/Idle 0 0 1 0 1 0 0 Select-IR-Scan Capture-IR Shift-IR Exit1-IR Pause-IR Exit2-IR Update-IR 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1
Instrukcja BYPASS SI SO TDI Bypass Reg. Instruction Register TMS TCK TRST_N Finite State Machine Instruction Decode TDO 2012-02-20 ZKubiak 76