Wskazówki Design-For-Testability (DFT)

Pobierz w formacie PDF

Projektowanie płytek drukowanych – wskazówki dla projektantów

Wstęp

Poniższy rozdział zawiera pewne wskazówki, dla projektantów płytek drukowanych, dotyczących poprawienia testowalności płytek drukowanych z wykorzystaniem systemu XJTAG. Poniższe zalecenia nie powinny stanowić sztywnych i twardych wskazań ale powinny być traktowane jako sugestie. Projektowanie dla poprawienia testowalności nie powinno być jedynym wyznacznikiem w tworzeniu produktu ale stanowić jako jeden z pozostałych warunków, które są brane pod uwagę podczas projektowania. Są to: funkcjonalność, koszty elementów, wielkość płytki oraz poziom skomplikowania.

Wykorzystanie układów JTAG

System XJTAG umożliwia testowanie układów typu non-JTAG, ale pomimo tej możliwości, najlepiej jest wykorzystywać układy typu JTAG, gdzie tylko jest to możliwe. Im większa ilość zastosowanych układów JTAG, tym większa ilość węzłów sieci JTAG znajduję się na płytce. Wówczas obszar testowania płytki zwiększa się a czas potrzebny na przygotowanie procedury testowej znacznie się skraca.

Sprawdzanie plików BSDL dla układów JTAG

Układy JTAG wymagają plików BSDL (Boundary Scan Description Language) i powinny być dostępne dla każdego układu JTAG. Pliki te zawierają opis struktury łańcucha JTAG Boundary Scan. Należy wcześniej się upewnić się czy pliki BSDL są dostępne, najczęściej na stronie producenta oraz czy plik BSDL jest aktualny i zgodny ze standardem. Składnia oraz poprawność pliku BSDL jest sprawdzana przez system XJTAG.

Upewnić się czy łańcuch JTAG jest poprawnie zaprojektowany i wyprowadzony na zewnątrz

Należy się upewnić czy wszystkie układy JTAG mają poprawnie wyprowadzone sygnały z wewnętrznego kontrolera TAP. Preferuję się aby sygnały JTAG poprowadzone zostały z dala od innych aktywnych sygnałów oraz odseparowane za pomocą linii zasilających (VCC lub GND). Należy również stosować odpowiednio dopasowane (standardowe) konektory aby umożliwić łatwy dostęp do sygnałów JTAG.

Ensure JTAG chains are correctly designed and laid out

Odpowiednie zakończenie sygnałów JTAG

Sygnał TCK powinien być zakończony rezystorem 68 Ω podpiętym szeregowo oraz zwarty do masy kondensatorem 100 pF. Sygnały TDI oraz TMS powinny być podciągnięte do linii zasilających za pomocą rezystora 10 kΩ. Sygnał TDO również podciąga się do zasilania rezystorem 10 kΩ oraz dodatkowo podłącza się szeregowo rezystory 22 Ω przy wyprowadzeniu z ostatniego układu w łańcuchu. Również linia nTRST wymaga podpięcia do masy rezystorem aby zapobiec wejściowym upływom. Wartość rezystora powinna być indywidualnie dobrana.

Use correct termination for all TAP signals

Testowanie układów synchronicznych

Układy synchroniczne, również mogą być testowane przez system XJTAG, pod warunkiem, że możliwa jest kontrola nad sygnałem zegarowym. Na przykład: pamięć SDRAM podłączona do układu FPGA może być testowana w momencie kiedy sygnał zegarowy będzie kontrolowany przez układ JTAG. Jeżeli natomiast pamięć SDRAM będzie taktowana samodzielnym zegarem, wówczas XJTAG nie będzie mógł synchronizować wektory testujące wysyłane do SDRAM w czasie rzeczywistym.

Jeżeli możliwe jest aktywowanie łańcucha boundary scan w układzie CPLD lub FPGA, który będzie sterował pamięcią SDRAM, należy samodzielny sygnał zegarowy poprowadzić przez ten układ sterujący. Dodatkowo można zastosować bufor.

Clock to synchronous devices

Uwaga na Watchdog’a

Jeżeli projekt zawiera watchdog, należy upewnić się że układ ten może być wyłączony podczas przeprowadzania testów. Watchdog’a można wyłączyć wykorzystując obejście sygnałów watchdog’a. Drugie rozwiązanie to sterowanie układem watchdog za pomocą JTAG’a. Nieokreślone skutki mogą się pojawić gdy układ watchdog’a wyśle sygnały resetujące podczas testów. Alternatywnym rozwiązaniem jest upewnienie się, że czas programowy watchdog’a jest dłuższy od czasu przeprowadzenia testów.

Zabezpieczenie przez niebezpieczeństwem wystąpienia przesłuchu pomiędzy liniami JTAG

Bardzo ważne jest aby przeprowadzone operacje odbyły się poprawnie, bez przekłamań na liniach JTAG. Szczególnie dotyczy to linii TCK oraz TMS, ponieważ to one są odpowiedzialne za kontrolowanie łańcucha. Dodatkowo długość linii oraz pojemność pasożytnicza powinna być równa dla każdej z linii.

Buforowanie sygnałów TAP

Jeżeli to możliwe, należy buforować sygnały JTAG aby minimalizować szum, niedopasowanie impedancji oraz aby poprawić obciążalność wyjściową.

Ensure JTAG chains are correctly designed and laid out

Zapasowe wyprowadzenia pinów układów JTAG

Dodatkowe wyprowadzenia sygnałów z nieużywanych pinów układów JTAG umożliwiają w niektórych sytuacjach, monitorowanie dodatkowych obszarów na płytce pod warunkiem, że nie będą wchodziły w konflikt z normalnymi operacjami układów. Procedura ta może znacznie poszerzyć obszar testowalności.

W pełni wykorzystać wyprowadzenia I/O układów JTAG

W przypadku gdy układ JTAG połączony jest z układem non-JTAG, należy wykorzystać piny układu JTAG aby przeprowadzić komunikację pomiędzy tymi układami. W tym celu wysyłamy odpowiednią sekwencję danych do układu non-JTAG a następnie odczytujemy odpowiedź.

Obejście układu opcjonalnego

Bypassed optionally fitted 1149.x compliant devices

Jeżeli na płytce znajduję się układ JTAG, którego obecność jego jest opcjonalna, należy zapewnić. odpowiednio obejście linii danych. W momencie gdy opcjonalny układ będzie nie wykorzystany (nie zamontowany) wówczas należy odpowiednio połączyć linie danych.

Dodatkowa opcjonalna płyta zewnętrzna

Jeżeli do płyty głównej dołączona jest dodatkowa płyta zewnętrzna, wówczas możemy do niej również poprowadzić łańcuch JTAG. Należy jedynie pamiętać, aby wykonać odpowiedni układ logiczny do detekcji płytki aby zapewnić odpowiednie poprowadzenie linii danych w momencie gdy płytka nie będzie podłączona.

Add-on and option boards included in the 1149.x chain

Układy typu ASIC

Jeżeli na płytce będą znajdować się układy ASIC, projektant powinien wziąć pod uwagę połączenia go z układem JTAG.

Dostęp do programowalnych układów

Jeżeli płytka wymaga zastosowania układów programowalnych (EEPROM, Flash, FPGA, CPLD) a układy te nie mają implementacji JTAG, wówczas dostęp do wszystkich pinów jest możliwy za pośrednictwem pinów układu JTAG.

Programmable parts accessible from the 1149.x chain

Czasami wykorzystuje się krótkie rozgałęzienie łańcucha JTAG aby kontrolować wyprowadzenie układów, którego stan często zmienia się (sygnał nWE układu pamięci Flash). Takie rozwiązanie skraca długość łańcucha oraz poprawia oraz zapewnia lepszą kontrolę.

Pogrupowane układy logiczne

Jeżeli płytka będzie zawierała kilka układów logicznych typu non-JTAG to należy je pogrupować w taki sposób aby tworzyły klaster zakleszczony pomiedzy układami JTAG. Wówczas można kontrolować sygnały wejściowe oraz monitorować sygnały wyjściowe. Należy się upewnić, że ilość węzłów łańcucha JTAG jest wystarczająca aby przeprowadzić pełne testy. Jeżeli liczba węzłów jest niewystarczająca oraz jeżeli to możliwe należy dodać kolejny układ JTAG.

Logic clusters surrounded with JTAG devices

Testowanie układów peryferyjnych I/O

Testowanie wyjściowych układów peryferyjnych oraz złączy możliwe jest kiedy połączone są z układem JTAG. Poszerzenie testowalności układów zewnętrznych najlepiej wykonać za pomocą zewnętrznej płytki XJIO. Jeżeli testowanie zewnętrznych układów nie jest możliwe tym sposobem można zastosować pętle zwrotną.

1149.x testing extended through connectors

Testowanie wielu płyt jednocześnie

Jeżeli projekt składa się z kilku płytek to należy rozważyć przeprowadzenie testów całego złożonego układu. Wówczas należy pamiętać aby poprowadzić sygnały zasilania oraz JTAG przez wszystkie testowane płytki.

Testing multi-board panels as one unit

Układy analogowe

Technika JTAG Boundary Scan najlepiej sprawdza się testując układy cyfrowe, natomiast w przypadku układów analogowych należy znacznie dokładniej zaprojektować procedurę testowania. Można do układów JTAG doprowadzić sygnały wejściowe lub wyjściowe i odpowiednio przetworzyć. Jednym z dobrych rozwiązań jest dołączenie przetworników ADC oraz DAC. Dodatkowe przetworniki umożliwiają komunikację z układami analogowymi za pomocą interfejsów cyfrowych.

Ostrożnie z układami peryferyjnymi podłączonymi do układów programowalnych

Przykładowo, jeżeli do układu programowalnego podłączony jest inny układ na szynie IIC, wówczas trudne a czasami niemożliwe jest wykonać testy tego układu za pomocą XJTAG. Należy wówczas wyprowadzenia szyny IIC z tego układu wyprowadzić na zewnątrz płytki. Wówczas wykonanie testów będzie możliwe.

Wykorzystać w pełni inteligentne układy na płytce oraz zaawansowane właściwości XJTAG

Jeżeli na płytce znajdują się układy, których nie można przetestować należy umiejętnie wykorzystać możliwości XJTAG jakie daje tworzenie procedur testowych z wykorzystaniem języka wysokiego poziomu XJEase Language. Jeżeli wykonanie testu bezpośrednio jest nie możliwe, można wykorzystać inteligentne układy. Na przykład: mały program może być załadowany do pamięci Flash na płytce lub do układu CPLD, który będzie aktywował układ FPGA, CPLD lub mikrokontroler, a następnie wykona testy niedostępnych układów non-JTAG.

Wykorzystanie nieulotnej pamięci do przechowywania konfiguracji

Można użyć nieulotnej pamięci znajdującej się na płytce aby przechować dane potrzebne do przeprowadzenia operacji testowania np.: opcje testowania, numery seryjne, numery MAC itp.

Glossary

ADC Analog to Digital Converter
ASIC Application Specific Integrated Circuit
BSDL Boundary Scan Description Language
CPLD Complex Programmable Logic Device
DAC Digital to Analog Converter
DFT Design for Test(ability)
EEPROM Electrically Erasable and Programmable Read Only Memory
FPGA Field Programmable Gate Array
IEEE Institute of Electrical and Electronics Engineers
1149.1 IEEE Standard 1149.x:
1149.1: Test Access Port and boundary scan architecture
1149.6: AC coupled and differential signals (see www.ieee.org)
IIC Inter-Integrated Circuit (I2C)
I/O Input / Output
JTAG Joint Test Action Group
NTRST Test Reset (Active low TAP Signal)
PCB Printed Circuit Board
STAPL Standard Test And Programming Language
SVF Serial Vector Format
TAP Test Access Port (the 4- or 5-wire interface to a boundary scan device)
TCK Test Clock (TAP Signal)
TDI Test Data Input (TAP signal)
TDO Test Data Output (TAP Signal)
TMS Test Mode Select (TAP Signal)
XJTAG A suite of tools aiding the development and test of electronic systems

Want to be the first to know of new eBooks and JTAG Resources?

Find out how XJTAG can help you test your PCB faster
From Prototype To Manufacture