Automatyczne testowanie w układach FPGA prof. dr hab. inż. Kazimierz Wiatr Katedra Elektroniki Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki AGH email: wiatr@uci.agh.edu.pl
ZAGADNIENIA: Potrzeba automatycznego testowania Testowanie wbudowane Standaryzacja sprzętu do testowania Sprzęg IEEE1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
POTRZEBA AUTOMATYCZNEGO TESTOWANIA Fazy testowania Metody klasyczne Koncepcja współpracy układu z testerem Testowanie wbudowane Standaryzacja sprzętu do testowania Sprzęg IEEE1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
FAZY TESTOWANIA UKŁADÓW ELEKTRONICZNYCH Powstawanie urządzenia: projekt logiczny implementacja i symulacje projekt technologii opracowanie testów wykonanie testowanie Użytkowanie urządzenia: testowanie OFF LINE testowanie ON LINE (czas rzeczywisty!!)
METODY KLASYCZNE TESTOWANIA UKŁADÓW CYFROWYCH Oscyloskop wielokanałowy Analizator stanów logicznych Pamięć diagnostyczna Emulatory Testery specjalizowane
WADY KLASYCZNYCH METOD TESTOWANIA Testowanie czasochłonne Badania bardzo drogie Długie ciągi słów testowych Długie ciągi słów z odpowiedzią Znaczny czas transmisji pomiędzy testerem a układem badanym
KONCEPCJA WSPÓŁPRACY TESTERA WBUDOWANEGO Z TESTEREM ZEWNĘTRZNYM
TESTOWANIE WBUDOWANE Potrzeba testowania wbudowanego Potrzeba automatycznego testowania TESTOWANIE WBUDOWANE Potrzeba testowania wbudowanego Wady testowania wbudowanego Metody projektowania dla testowania Wprowadzenie elementów nadmiarowych Podział na makrobloki Wybór punktów strategicznych Standaryzacja sprzętu do testowania Sprzęg IEEE1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
POTRZEBA TESTOWANIA WBUDOWANEGO BIST Built In System Testing Eliminacja drogich zewnętrznych narzędzi diagnostycznych Zmniejszenie czasu detekcji i lokalizacji uszkodzeń Zredukowanie czasu naprawy uszkodzonych układów Ograniczenie cennego czasu pracy specjalistów od testowania Eliminacja testowania ostrzowego Możliwość testowania ON LINE
WADY TESTOWANIA WBUDOWANEGO BIST Wzrost kosztu urządzenia o cenę wbudowanego testera Konieczność ograniczenia stopnia złożoności wbudowanego układu testującego Integracja procesu projektowania układu zasadniczego z projektowaniem testera wewnętrznego Spowolnienie pracy układu pierwotnego
METODY PROJEKTOWANIA DLA TESTOWANIA DFT Design For Testing Wprowadzenie nadmiarowych elementów TIE Test Interface Element Wyznaczenie strategicznych punktów sterujących Wyznaczenie strategicznych punktów obserwacyjnych Podział na makrobloki
WPROWADZENIE ELEMENTÓW NADMIAROWYCH TIE
PODZIAŁ NA MAKROBLOKI Ograniczenie wielkości dla automatycznych generatorów testów Poprawa sterowalności i obserwowalności Jednorodne bloki mają uproszczony model uszkodzeń Każdy makroblok: testowalny niezależnie dostępny z zewnątrz jednorodny funkcjonalnie rozłączny z innymi makroblokami
ELEMENTY TIE POMIĘDZY MAKROBLOKAMI
WYBÓR STRATEGICZNYCH PUNKTÓW STERUJĄCYCH I OBSERWACYJNYCH Przykładowe strategiczne punkty sterujące: Zegar, zerowanie przerzutników, liczników, itp Wejścia selekcji danych do multiplekserów itp Sterowanie trzecim stanem Wejścia zezwolenia/zatrzymania mikroprocesorów Linie magistral danych, adresów i sterowania Przykładowe strategiczne punkty obserwacyjne: Linie sterujące (kluczowe !!) niedostępne z zewnątrz Wyjścia przerzutników, liczników itp Wyjścia układów skupiania danych (kodery, multipleksery itp.) Węzły logicznej redundancji i linie o wysokiej obciążalności Ścieżki podstawowych sprzężeń zwrotnych
STANDARYZACJA SPRZĘTU DO TESTOWANIA Potrzeba automatycznego testowania Testowanie wbudowane STANDARYZACJA SPRZĘTU DO TESTOWANIA Cechy wbudowanego sprzęgu Ścieżka brzegowa sterująco-obserwacyjna Potrzeba standaryzacji Podzbiory magistrali IEEE1149 Tryby pracy sprzęgu JTAG Architektura interface’u Sprzęg IEEE1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
CECHY WBUDOWANEGO SPRZĘGU DO TESTOWANIA Wykorzystywanie minimalnej liczby dodatkowych wejść/wyjść Testowanie z zewnątrz połączeń struktury z obudową Testowanie z zewnątrz struktur na module Testowanie systemów wielomodułowych Współpraca testera zewnętrznego z testerem wewnętrznym
ŚCIEŻKA BRZEGOWA STERUJĄCO-OBSERWACYJNA BSCAN Boundary SCAN
POŁĄCZENIE KILKU UKŁADÓW ZE ŚCIEŻKĄ BSCAN
POTRZEBA STANDARYZACJI SPRZĘGU DO TESTOWANIA MAGISTRA TM-ETM Test and Maintenance; Element Test and Maintenance program militarny VHSIC Very High Speed Integrated Circuits MAGISTRALA TURINO T BUS firma Logical Solutions Technology MAGISTRALA JTAG BSCAN Boundary Scan Join Test Action Group IEEE 1149
PODZBIORY MAGISTRALI P1149
IDEA TESTOWANIA ZA POMOCĄ SPRZĘGU IEEE1149.1 - JTAG
TRYBY PRACY REJESTRU BSCAN W SPRZĘGU JTAG
RODZAJE TESTOWANIA SPRZĘGIEM JTAG
ARCHITEKTURA INTERFACE’U JTAG
SPRZĘG IEEE1149.1 W UKŁADACH FPGA Potrzeba automatycznego testowania Testowanie wbudowane Standaryzacja sprzętu do testowania SPRZĘG IEEE1149.1 W UKŁADACH FPGA Architektura sprzęgu dla FPGA Komórka sprzęgu dla jednego układu we/wy Implementacja w układach XC4000 Układy FPGA ze sprzęgiem JTAG Tryby pracy rejestrów sprzęgu JTAG Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
ARCHITEKTURA SPRZĘGU P1149.1 DLA UKŁADÓW FPGA
BLOK WE/WY UKŁADU XC4000
KOMÓRKA SPRZĘGU JTAG DLA JEDNEGO UKŁADU WE/WY
IMPLEMENTACJA SPRZĘGU JTAG W UKŁADACH XC4000
WYPROWADZENIA UKŁADU XC4003
ELEMENT BIBLIOTECZNY BNDSCAN UAKTYWNIAJĄCY WBUDOWANY SPRZĘG JTAG W UKŁADACH XC4000
INSTRUKCJE STANDARDU IEEE 1149.1 EXTEST OBOWIAZKOWA REJESTR BRZEGOWY DO/Z OTOCZENIA INTEST REJESTR BRZEGOWY DO/Z LOGIKI SAMPLE REJESTR BRZEGOWY DO/Z UKŁADY I/O BYPASS REJESTR OBEJŚCIOWY INCODE REJESTR IDENTYFIKACJI RUNBIST REJESTR BRZEGOWY-IZOLUJE SAMOTESTUJĄCY UKŁAD
UKŁADY FPGA Z ZAINSTALOWANYM SPRZĘGIEM IEEE1149.1 XILINX XILINX ALTERA ATMEL LUCENT INSTRUKCJA XC4000 VIRTEX FLEX8000 AT6000 ORCA EXTEST x x x x x SAMPLE x x x x x USER1 x x x USER2 x x x READBACK x x x CONFIGURE x x x BYPASS x x x x x INTEST x IDCODE x RUNBIST x
KONFIGUROWANIE UKŁADÓW FPGA W TRYBIE ISP In System Programming Z WYKORZYSTANIEM SPRZĘGU JTAG
TRYBY PRACY REJESTRÓW SPRZĘGU JTAG Potrzeba automatycznego testowania Testowanie wbudowane Standaryzacja sprzętu do testowania Sprzęg IEEE1149.1 w układach FPGA TRYBY PRACY REJESTRÓW SPRZĘGU JTAG Instrukcja BYPASS Instrukcja EXTEST Instrukcja INTEST Instrukcja SAMPLE Instrukcja USER Redukcja informacji w testowaniu układów cyfrowych Podsumowanie
AKTYWNY REJESTR BYPASS INSTRUKCJA BYPASS
BADANIE JEDNEGO WYBRANEGO UKŁADU
AKTYWNY REJESTR BSCAN INSTRUKCJA EXTEST TESTUJĄCA POŁĄCZENIA UKŁADU Z OBUDOWĄ
AKTYWNY REJESTR BSCAN INSTRUKCJA INTEST TESTUJĄCA LOGIKĘ Z POZIOMU REJESTRU BSCAN
AKTYWNY REJESTR BSCAN INSTRUKCJA SAMPLE PRZEPISUJĄCA STAN UKŁADÓW WE/WY DO REJESTRU BSCAN
AKTYWNE REJESTRY WEWNĘTRZNE TIE INSTRUKCJA USER TESTUJĄCA WNĘTRZE BLOKU LOGIKI
MAKROBLOKI LOGIKI UŻYTKOWEJ PRZEDZIELONE ŁAŃCUCHAMI REJESTRÓW TIE
PRZEBIEG SYGNAŁÓW DLA INSTRUKCJI SAMPLE
PRZEBIEG SYGNAŁÓW DLA INSTRUKCJI EXTEST
W TESTOWANIU UKŁADÓW CYFROWYCH Potrzeba automatycznego testowania Testowanie wbudowane Standaryzacja sprzętu do testowania Sprzęg IEEE1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG REDUKCJA INFORMACJI W TESTOWANIU UKŁADÓW CYFROWYCH Prosta metoda oscyloskopowa Zliczanie jedynek Zliczanie zboczy Analiza sygnatur Wbudowane analizatory sygnatur Podsumowanie
PROSTA METODA OSCYLOSKOPOWA
ZLICZANIE JEDYNEK W CIĄGACH SYGNAŁÓW
ZLICZANIE ZBOCZY W CIĄGACH SYGNAŁÓW
IDEA ZLICZANIA SYGNATURY W CIĄGACH SYGNAŁÓW
PRAKTYCZNY UKŁAD ANALIZATORA SYGNATUR Długość słowa 16 lub 32 bity Bardzo małe prawdopodobieństwo maskowania błędnych sekwencji Sprzężenia ze specjalnie wybranych bitów bity 7, 9, 12 i 15 poprzez EXOR na wejście dla analizatora 16 bitowego Redukcja informacji dla ciągu 10s x 200MHz =2x109 bitów do 16 bitów tj. 108 razy Wyposażone w układ startu i stopu oraz komparator do porównania z sygnaturą wzorcową, a analizatory stacjonarne w wyświetlacz i kod HP
ZASTOSOWANIE RÓWNOLEGŁEGO GENEROWANIA TESTÓW I CZYTANIA SYGNATUR ODPOWIEDZI
PODSUMOWANIE Potrzeba automatycznego testowania Redukcja informacji w testowaniu układów cyfrowych Testowanie wbudowane Standaryzacja sprzętu do testowania Sprzęg ieee1149.1 w układach FPGA Tryby pracy rejestrów sprzęgu JTAG PODSUMOWANIE
PODSUMOWANIE Automatyczne testowanie jest koniecznym składnikiem nowoczesnych systemów cyfrowych Umieszczenie elementów testujących wewnątrz układów pozwala na znaczne uproszczenie wektorów testujących i odczytywanych odpowiedzi Testowanie wbudowane zapewnia szybkie i w miarę tanie testowanie poszczególnych układów i całych systemów Wynikiem tego jest pełniejsze testowanie funkcjonalne oraz objęcie testowaniem wszystkich układów Testowanie wbudowane pozwala na testowanie układów i systemów w trybie ON LINE (czas rzeczywisty !!!)
Dziękuję za uwagę