JTAG - pogląd i sterowanie FPGA i procka DSP

cześć!

mam pytanie odnośnie standardu 1149.1. W naszym projekcie mamy mieć wykorzystane Cyclone Alterki oraz Blackfina DSP od Analoga. Nadmienię, że oba układy będą w "przyjaznej" obudowie BGA i lutowane na druku czterowarstwowym, ale mniejsza o szczegóły techniczne. Mój problem polegać będzie na przetestowaniu iluś tam połączeń pomiędzy tymi układami (magistral, sygnałów sterujących, ...) na kilkunastu takich zestawach, żeby wszystko było na 100% sprawdzone.

No coż, dostęp do wszystkich nóg w kościach z założenia niewykonalny, montaż dodatkowych złącz (pomijając sporą liczbę sygnałów) kłopotliwy i da nam po kosztach, które i tak nie gwarantują sprawdzenia połączenia pin-pin. Nie wspominam o możliwości x-ray (koszty, dodatkowy grat na stole, ...). Najlepiej ma to być sprawdzone elektrycznie.

Na szczęście oba układy mają dostępny JTAG, który teoretycznie umożliwia testowanie połączeń pomiędzy scalakami. Ale niestety Quartus Alterki posiada jedynie możliwość testowania analizatorem logicznym SignalTap komponentów wewnątrz PGA, a nie połączeń zewnętrznych. Jest opcja SignalProbe, ale pozwala ona jedynie na podgląd wewnętrznych sygnałów. Sprawa się komplikuje ponieważ DSP właściwie nie posiada żadnego wsparcia do testów.

Dlatego mam pytanie, w jaki sposób można wykorzystać JTAGa do testowania różnych układów scalonych. Jak można wystawić/odczytać sygnał na konkretnej nodze (np. 25) w FPGA i DSP?? Czy ktoś w was może wykorzystał JTAG do takich celów? Przeglądałem pdf-y Alterki, ale niestety nie ma o tym nic wspomniane:( Siedzę i myślę i do jasnej cholery żadna konstruktywna koncepcja prócz JTAGa mi jak do tej pory nie powstała:( A Wodzu życzyłby sobie najlepiej napisać mały soft, który ByteBlasterem wszystko pobada co i jak i wyrzuci gotowy wynik. Chyba za skomplikowane jak na jednego elektronika:((( W sieci raczej brak jakiegokolwiek softu do testowania cyfrówki. Pomóźcie!

Pozdro, Mirek

Reply to
mirek
Loading thread data ...

Szukaj w necie po słowie kluczowym "boundary scan". JTAG właśnie do tego służy co chcesz zrobić...

A tak w ogóle, sam będziesz lutował te BGA? Jeśli nie, to w firmie której zlecasz możesz zlecić też kontrolę x-rayem.

Reply to
Pszemol

Użytkownik "Pszemol" snipped-for-privacy@PolBox.com napisał w wiadomości news: snipped-for-privacy@poczta.onet.pl...

oki, już szukałem w ten sposób, pełno teorii owszem, ale co do przykładów, kodów źródłowych, aplikacji to niestety pusto....:(

montaz jest wykonywany u nas, poza tym jeśli testowanie przez JTAGa takiego pakietu byłoby możliwe z poziomu aplikacji to w przyszłości przy innych płytkach doświadczenia i stworzone środowisko testowe będzie jak znalazł.

Reply to
mirek

Niestety nie pomogę, bo my zlecamy płytki z BGA na zewnątrz... Oni testują je x-rayem i robią potem boundary scan... Nie mamy do tego narzędzi bo drogie są cholery, specjalistyczne.

Good luck. Napisz na grupie co się dowiesz w tej sprawie... sam jestem ciekawy.

Reply to
Pszemol

snipped-for-privacy@pl.misc.elektronika napisał:

Cześć Mirku!

Dziwię się że Blackfin Analoga nie ma wsparcia do testów skoro ADSP21065L który wykorzystałem w mojej pracy - takowe wsparcie posiada.. (jak również ta alterka wydaje mi się jakaś dziwna że nie obsługuje rozkazu EXTEST - czyli testowania zewnętrznego)

W łańcuchu w mej pracy znajduje się ispLSI5128VE oraz DSP , przy testach korzystam z programu MitouJTAG (darmowego), dostępnego ze strony

formatting link
Najprostsze interfejsy są oparte na LPT, i przez to najwolniejsze.. Najlepsze są urządzenia firmowe, najszybsze i posiadają wsparcie lepszego oprogramowania (oczywiście $$$$$$$ za hard i software)

Pozdrawiam i zycze udanego projektu!!

Reply to
=?

Michał snipped-for-privacy@pl.misc.elektronika napisał:

Jezeli myślisz o testowaniu tegoż sprzętu to poczytaj o standardzie plików SVF które mogą zawierać w sobie wszystkie rozkazy standardu

1149.3, czyli można za ich pomocą zaprogramować układ jak również przetestować go w różnych aplikacjach (wszystkie powinny go obsługiwać - standard)
Reply to
=?

Użytkownik "Michał Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisał w wiadomości news:cj1ue8$pl$ snipped-for-privacy@nemesis.news.tpi.pl...

chaich:)

jest tylko jedno ale... większość układów cyfrowych posiada boundary scan tylko w wersji podstawowej, czyli specyfikację 1149.1. Co do programowania/testowania to standardem jest ieee1532, natomiast 1149.3 i pliki SVF to raczej tylko firmowa modyfikacja normy, która nie wszędzie się przyjęła (choć mogę się mylić).

Reply to
mirek

Użytkownik "Michał Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisał w wiadomości news:cj1tpd$rir$ snipped-for-privacy@nemesis.news.tpi.pl...

ciach:)

chyba jednak się nie rozumiemy... ja już pisałem, Blackfinek (jak i wszystkie inne zmienneprzecinki analoga) posiada JTAG wg normy 1149.1 (ale tylko podstawowe trzy instrukcje), nawet w handbookach ładnie to jest opisane, natomiast BRAK wsparcia od strony programowej (pominę brak interfejsu PC - JTAG, który w Alterce spełnia fajny ByteBlaster).

eee, Michał coś bajki opowiadasz...!!! wszystkie FPGA posiadają JTAGa zgodnego ze standardem ścieżki krawędziowej wg standardu conajmniej 1149.1, czyli tego, który przewiduje podstawowe 3 instrukcje: sample/preload, EXTEST i bypass. Może niejasno się wyraziłem. Oba układy posiadają sprzętowe wsparcie testowania krawędziowego, natomiast brak jakiegokolwiek softu (choć mogę się mylić), który umożliwiłby skorzystanie z tych zasobów. Dziwne jest to, skoro normę 1149.1 wprowadzono kilkanaście lat temu to dlaczego nie korzysta się z tej opcji bardziej masowo. W sumie to by bardzo ułatwiło i skróciło czas testów i debuggowania sprzętu (jak w opisanym tutaj projekcie). Zlecanie komuś tego przy wykonywaniu montażu jest sukcesem połowicznym, bowiem w późniejszym nanoszeniu poprawek przy uruchamianiu wartałoby wiedzieć co się dzieje nie tylko w układzie ale i na zewenątrz. Poza tym w przypadku naprawy takiego urządzenia najpierw należałoby sprawdzić nieszczęsne połączenia. Znowu wysyłać płytki gdzieś w świat?

oke, zaznajomie sie co i jak:)

w sumie to i tak na jedno wychodzi, dane i tak muszą przeleść szeregowo per JTAG, który z założenia jest ślamazarny ("tylko" 10Mbit)

Reply to
mirek

snipped-for-privacy@pl.misc.elektronika napisał:

Ok, mój błąd, nie doczytałem/zrozumiałem dobrze Twego posta :-)

Jednak jest znaczna różnica, gdyż nowoczesne sprzętowe rozwiązania umożliwiają osiągnięcie prędkości nawet kilkadziesiąt MBit (i mają superwygodny interfejs USB!! ) Ale jakiego hobbystę na to stać :)

BTW. ADSP21065L nie obsługuje np. instrukcji IDCODE, co uniemożliwia np. obsługę łańcucha w programie lattice'a ispVMSystem który tejże wymaga!!! :( (by zaprogramować CPLD muszę go odizolować)

Reply to
=?

snipped-for-privacy@pl.misc.elektronika napisał:

Hm, może, jednak już dwa programy z których korzystałem miały wbudowaną obsługę tychże plików, zaś ispVM System Lattice'a pozwalał nawet na debugowanie instrukcji w nich zawartych i obserwacje zachowania symulowanego TAP na grafie przejść :)

Reply to
=?

Użytkownik "Michał Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisał w wiadomości news:cj3fbf$hls$ snipped-for-privacy@nemesis.news.tpi.pl...

oki, programik mam zainstalowany. Tylko jakoś nie bardzo wiem jak plik "giveio.sys" ma być zainstalowany w systemie. Proste skopiowanie do folderu /system32 a także do katalogu macierzystego nie pomaga. Może to dlatego, że pod XP?

zwykłe LPT w stosunku do USB 1.1 jest jednak blisko 2x szybsze. Poza tym JTAG i tak nakłada ogranieczenia prędkościowe na transmisję (typowo do kilku, kilkunastu Mbd), dlatego "superwygodne" intefrejsy na USB 2.0 dla testowania/konfigurowania scalaków (jeśli oczywiście o takich tutaj mówimy) są chyba na wyrost. Nawet kilkaset kbit, które daje LPT to i tak całkiem sporo, zważywszy, że programowanie Flasha w CPLD lub konfiguratorów trwa znacznie dłużej, a testowanie stanu log. kilkuset pinów nie wymaga aż takich przepustowości.

procek tani, to i tnie się koszty gdzie popadnie:) w sumie to bez sensu, że IDCODE/USERCODE w ieee1149 było przewidziane jako opcja. A najciekawsze jest to, że wszystkie stałoprzecinkowce analoga do rodziny

218x włącznie (czyli nie tak wcale przestarzałe) nie posiadają wogóle JTAGa, natomiast adsp219x (czyli najbardziej rozbudowane okręty flagowe z teamu fixedpoint) mają wprawdzie zaimplementowany JTAG, ale cóż - bez możliwości boundary scan, czyli zero compatibile z ieee1149 (tylko dla emulation test). ot taka po prostu polityka producenta...
Reply to
mirek

Użytkownik "Michał Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisał w wiadomości news:cj1tpd$rir$ snipped-for-privacy@nemesis.news.tpi.pl...

chiach:)

aha, znalazłem jeszcze dwa podobne programiki (z ciut bardziej dopracowanym interfejsem i kilkoma fajnymi opcjami, jak możliwość podglądu na wirtualnych wskaźnikach 7seg LED stanu magistral, sygnałów... jednym słowem: super!!!)

formatting link
- w wersji trial
formatting link
niestety jak dotąd nie odnalazłem softu, który jednak umożlwiałby testy połączeń pomiędzy układami. Tak więc pole do popisu jest dla jakiegoś informatyka/elektronika:)

BTW w Xell journal w numerze 46 jest też krótki artykuł o tym zagadnieniu.

Reply to
mirek

snipped-for-privacy@pl.misc.elektronika napisał:

Odpowiedni pakiet wysłany na skrzynkę

Nie byłbym taki przekonany bo byćmoże porównałeś tutaj podawaną prędkość bajtową LPT-ka z prędkością bitową USB 1.1(12MBit jakby nie było) - a tu jest pewna różnica bo zazwyczaj przy LPT korzystamy jedynie z jednego pinu dla TDI/TDO więc prędkość bajtową LPT musisz podzielić przez 8. - Przy USB mamy jeszcze narzut protokołu - parę procent - ale i tak szybciej :)) Całkiem mozliwe że te z USB posiadają oprócz sprzętowego TAp-a jeszcze pamięć - wtedy prędkości nie ma co porównywać, tylko wygodę interfejsu

(pozatym myslalem ze LPT może osiągać prędkości rzędu 2Mbajtów max..)

Są jedynie wygodniejsze

Chyba że chcesz sobie zarejestrować przebiegi na wyjściu pinów ;) - oczywscie trzeba bylo wprowadzić pewne opóźnienia w programie :D

Szkoda, mam jeden 2191.. uruchamianie będzie trudniejsze następnym razem...

Reply to
=?

snipped-for-privacy@pl.misc.elektronika napisał:

Trzeba napisć/znaleźć (ja też tego poszukuje) program generatora wektorów testowych i zapisującego do pliku SVF - jak widać nawet te programy które podałeś mają obsługę SVF - i to by bylo rozwiązanie zautomatyzowanego testu twoich połączeń!

Reply to
=?

Michał snipped-for-privacy@pl.misc.elektronika napisał:

Poprawka - oczywicie chciałem napisać że prędkość bajtowa LPT jest równa liczbowo prędkości bitowej dla interfejsu JTAG ;)

Reply to
=?

Użytkownik "Michał Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisał w wiadomości news:cj5u87$cbm$ snipped-for-privacy@nemesis.news.tpi.pl...

na jtag.com jest sporo narzędzi do testowania przez magistrale JTAG, w jednym z PDFów piszą nawet, że jeden z programów ma możliwość wczytania schematu lub obwodu PCB i zlokalizowania na ekranie uszkodzenia. Szukaj coś na temat "Graphical Representation and ExplorationJTAG Visualizer" (JTAG_Unlocking the Power of boundary-scan_Brochure.pdf) Niestety nie ma co marzyć o trialu lub jakimś demku:( Wszystko za grube $$$$

Reply to
mirek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.