Automatyczne testowanie w układach FPGA

57
Automatyczne testowanie w układach FPGA prof. dr hab. inż. Kazimierz Wiatr Katedra Elektroniki Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki AGH email: [email protected]

description

Automatyczne testowanie w układach FPGA. prof. dr hab. inż. Kazimierz Wiatr Katedra Elektroniki Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki AGH email: [email protected]. ZAGADNIENIA:. Potrzeba automatycznego testowania Testowanie wbudowane - PowerPoint PPT Presentation

Transcript of Automatyczne testowanie w układach FPGA

Page 1: Automatyczne testowanie w układach FPGA

Automatyczne testowanie w układach FPGA

prof. dr hab. inż. Kazimierz Wiatr

Katedra Elektroniki

Wydział Elektrotechniki, Automatyki,

Informatyki i Elektroniki AGH

email: [email protected]

Page 2: Automatyczne testowanie w układach FPGA

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

Page 3: Automatyczne testowanie w układach FPGA

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

Page 4: Automatyczne testowanie w układach FPGA

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!!)

Page 5: Automatyczne testowanie w układach FPGA

METODY KLASYCZNE

TESTOWANIA UKŁADÓW CYFROWYCH

Oscyloskop wielokanałowy

Analizator stanów logicznych

Pamięć diagnostyczna

Emulatory

Testery specjalizowane

Page 6: Automatyczne testowanie w układach FPGA
Page 7: Automatyczne testowanie w układach FPGA
Page 8: Automatyczne testowanie w układach FPGA

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

Page 9: Automatyczne testowanie w układach FPGA

KONCEPCJA WSPÓŁPRACY

TESTERA WBUDOWANEGO Z TESTEREM ZEWNĘTRZNYM

Page 10: Automatyczne testowanie w układach FPGA

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

Page 11: Automatyczne testowanie w układach FPGA

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

Page 12: Automatyczne testowanie w układach FPGA

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

Page 13: Automatyczne testowanie w układach FPGA

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

Page 14: Automatyczne testowanie w układach FPGA

WPROWADZENIE ELEMENTÓW NADMIAROWYCH TIE

Page 15: Automatyczne testowanie w układach FPGA

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

Page 16: Automatyczne testowanie w układach FPGA

ELEMENTY TIE POMIĘDZY MAKROBLOKAMI

Page 17: Automatyczne testowanie w układach FPGA

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

Page 18: Automatyczne testowanie w układach FPGA

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

Page 19: Automatyczne testowanie w układach FPGA

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

Page 20: Automatyczne testowanie w układach FPGA

ŚCIEŻKA BRZEGOWA STERUJĄCO-OBSERWACYJNA BSCAN

Boundary SCAN

Page 21: Automatyczne testowanie w układach FPGA

POŁĄCZENIE KILKU UKŁADÓW ZE ŚCIEŻKĄ BSCAN

Page 22: Automatyczne testowanie w układach FPGA

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

Page 23: Automatyczne testowanie w układach FPGA

PODZBIORY MAGISTRALI P1149

Page 24: Automatyczne testowanie w układach FPGA

IDEA TESTOWANIA ZA POMOCĄ SPRZĘGU IEEE1149.1 - JTAG

Tester zewnętrzny

Testowany układ cyfrowy

Układ sterowania sprzęgu

Testerwewnętrzny

RWEB RWYBWe Wy

MUT Układ scalony

Page 25: Automatyczne testowanie w układach FPGA

TRYBY PRACY REJESTRU BSCAN W SPRZĘGU JTAG

Od-po-

wiedźTest GT

Od-po-

wiedź

SI

SO

D/Z

a) b) c) d) e) f)

Page 26: Automatyczne testowanie w układach FPGA

RODZAJE TESTOWANIA SPRZĘGIEM JTAG

Test TUCA

Od-po-

wiedźTest TUCA

Od-po-

wiedź

TUCA TestOd-po-

wiedź

TUCA TestOd-po-

wiedź

TUCA

Od-po-

wiedź

TUCA

Od-po-

wiedź

Od-po-

wiedź

Od-po-

wiedź

SI SO

TUSO

Układ scalony ASICUkład scalony ASIC

TUSO

TUSO

SI SO

TUSO

Układ scalony ASICUkład scalony ASIC

TUSO

TUSO

SI SO

TUSO

Układ scalony ASICUkład scalony ASIC

TUSO

TUSO

c)

b)

a)

Page 27: Automatyczne testowanie w układach FPGA

ARCHITEKTURA INTERFACE’U JTAG

Page 28: Automatyczne testowanie 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

Page 29: Automatyczne testowanie w układach FPGA

ARCHITEKTURA SPRZĘGU P1149.1 DLA UKŁADÓW FPGA

Page 30: Automatyczne testowanie w układach FPGA

BLOK WE/WY UKŁADU XC4000

Page 31: Automatyczne testowanie w układach FPGA

KOMÓRKA SPRZĘGU JTAG DLA JEDNEGO UKŁADU WE/WY

Page 32: Automatyczne testowanie w układach FPGA

IMPLEMENTACJA SPRZĘGU JTAG W UKŁADACH XC4000

Page 33: Automatyczne testowanie w układach FPGA

WYPROWADZENIA UKŁADU XC4003

Page 34: Automatyczne testowanie w układach FPGA

ELEMENT BIBLIOTECZNY BNDSCAN

UAKTYWNIAJĄCY WBUDOWANY SPRZĘG JTAG

W UKŁADACH XC4000

Page 35: Automatyczne testowanie w układach FPGA

INSTRUKCJE STANDARDU IEEE 1149.1 EXTEST

OBOWIAZKOWA REJESTR BRZEGOWY DO/Z OTOCZENIA

INTEST REJESTR BRZEGOWY DO/Z LOGIKI

SAMPLE OBOWIAZKOWA REJESTR BRZEGOWY DO/Z UKŁADY I/O

BYPASS OBOWIAZKOWA REJESTR OBEJŚCIOWY

INCODE REJESTR IDENTYFIKACJI

RUNBIST REJESTR BRZEGOWY-IZOLUJE SAMOTESTUJĄCY

UKŁAD

Page 36: Automatyczne testowanie w układach FPGA

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

Page 37: Automatyczne testowanie w układach FPGA

KONFIGUROWANIE UKŁADÓW FPGA W TRYBIE ISPIn System Programming

Z WYKORZYSTANIEM SPRZĘGU JTAG

Page 38: Automatyczne testowanie w układach FPGA

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

Page 39: Automatyczne testowanie w układach FPGA

AKTYWNY REJESTR BYPASS

INSTRUKCJA BYPASS

Page 40: Automatyczne testowanie w układach FPGA

BADANIE JEDNEGO WYBRANEGO UKŁADU

Page 41: Automatyczne testowanie w układach FPGA

AKTYWNY REJESTR BSCAN

INSTRUKCJA EXTESTTESTUJĄCA POŁĄCZENIA UKŁADU Z OBUDOWĄ

Page 42: Automatyczne testowanie w układach FPGA

AKTYWNY REJESTR BSCAN

INSTRUKCJA INTESTTESTUJĄCA LOGIKĘ Z POZIOMU REJESTRU BSCAN

Page 43: Automatyczne testowanie w układach FPGA

AKTYWNY REJESTR BSCAN

INSTRUKCJA SAMPLEPRZEPISUJĄCA STAN UKŁADÓW WE/WY DO REJESTRU BSCAN

Page 44: Automatyczne testowanie w układach FPGA

AKTYWNE REJESTRY WEWNĘTRZNE TIE

INSTRUKCJA USERTESTUJĄCA WNĘTRZE BLOKU LOGIKI

Page 45: Automatyczne testowanie w układach FPGA

MAKROBLOKI LOGIKI UŻYTKOWEJ PRZEDZIELONE ŁAŃCUCHAMI REJESTRÓW TIE

Page 46: Automatyczne testowanie w układach FPGA

PRZEBIEG SYGNAŁÓW DLA INSTRUKCJI SAMPLE

Page 47: Automatyczne testowanie w układach FPGA

PRZEBIEG SYGNAŁÓW DLA INSTRUKCJI EXTEST

Page 48: Automatyczne testowanie w układach FPGA

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

Page 49: Automatyczne testowanie w układach FPGA

PROSTA METODA OSCYLOSKOPOWA

Page 50: Automatyczne testowanie w układach FPGA

ZLICZANIE JEDYNEK W CIĄGACH SYGNAŁÓW

Page 51: Automatyczne testowanie w układach FPGA

ZLICZANIE ZBOCZY W CIĄGACH SYGNAŁÓW

Page 52: Automatyczne testowanie w układach FPGA

IDEA ZLICZANIA SYGNATURY W CIĄGACH SYGNAŁÓW

Page 53: Automatyczne testowanie w układach FPGA

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

Page 54: Automatyczne testowanie w układach FPGA

ZASTOSOWANIE RÓWNOLEGŁEGO GENEROWANIA TESTÓWI CZYTANIA SYGNATUR ODPOWIEDZI

Page 55: Automatyczne testowanie w układach FPGA

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

Page 56: Automatyczne testowanie w układach FPGA

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 !!!)

Page 57: Automatyczne testowanie w układach FPGA

Dziękuję za uwagę