[4] Pierwsze kroki z FPGA – szkoła MAXimatora – monitorowanie pracy projektu z użyciem debugera SignalTAP II

Po ustaleniu potrzebnej liczby wejść generujemy (wciskając Generate HDL…) pliki źródłowe debugera w wybranym języku HDL (Verilog lub VHDL). Późniejsze ewentualne modyfikacje parametrów modułu można wygodnie zmieniać otwierając plik TAP74169.qsys i po wprowadzeniu zmian ponownie generując pliki HDL. W tym momencie mamy wygenerowany opis HDL debugera, ale nie został on jeszcze dodany do projektu. Proces ten musimy wykonać ręcznie, co wymaga otwarcia pliku TAP74169.qip (znajduje on się katalogu sciezka_generacji_plikow-debugera\synthesis) i następnie dodania go do projektu (Project>Add Current File to Project).

Rys. 6. Ustawienie w menedżerze projektu pozwalające wyświetlić listę wszystkich plików w projekcie
Rys. 6. Ustawienie w menedżerze projektu pozwalające wyświetlić listę wszystkich plików w projekcie

Po wykonaniu tych czynności w nawigatorze projektu (Project Navigatorrysunek 6) wyświetlamy wszystkie pliki wchodzące w skład projektu i rozwijamy gałąź TAP74169/sythesis/ (rysunek 6), w której znajduje się plik HDL z opisem debugera (w przykładzie jest to plik w Verilogu). Klikamy w nazwę pliku prawym klawiszem myszki i wybieramy opcję Create Symbol Files for Current File (rysunek 7), co powoduje dodanie graficznego symbolu debugera do biblioteki projektu.

Żeby położyć symbol debugera na planszy schematu postępujemy tak jak w przypadku innych symboli – dwukrotnie klikamy w puste miejsce na planszy, co spowoduje wyświetlenie okna Symbol (rysunek 8), w którym dostępne są dwa symbole TAP74169. Jest to normalne zjawisko, wynikające z pewnych niekonsekwentnych rozwiązań w pakiecie Quartus, przy czym są one nieszkodliwe.

Rys. 8. Wygenerowany symbol graficzny – użyjemy go na schemacie
Rys. 8. Wygenerowany symbol graficzny – użyjemy go na schemacie

Wybieramy jeden z dostępnych symboli i opisujemy sposób dołączenia linii wejściowych oraz linii wyzwalającej do testowanej części projektu. Odbywa się to w taki sam sposób, jak w przypadku rysowania schematu rozwiązania implementowanego w ramach projektu.

Rys. 9. Przykładowy schemat z zastosowanym symbolem debugera
Rys. 9. Przykładowy schemat z zastosowanym symbolem debugera

Na rysunku 9 pokazano schemat połączeń układu testowego, w którym jedno z wejść debugera dołączono na stałe do logicznej „1”. Po wykonaniu wszystkich połączeń kompilujemy projekt, żeby wychwycić ewentualne błędy uniemożliwiające jego poprawną implementację. Jeżeli wszystko jest w porządku, możemy przejść do kolejnego kroku – przygotowania pliku debugera.

Rys. 10. Menu, z którego wybieramy plik zawierający opis konfiguracji debugera
Rys. 10. Menu, z którego wybieramy plik zawierający opis konfiguracji debugera

W tym celu wybieramy w menu File>New i w wyświetlonym oknie, w sekcji Verification/Debugging Files (rysunek 10), wybieramy SignalTap II Logic Analyzer File. Okno analizatora pokazano na rysunku 11.

Rys. 11. Zakładka konfiguracyjna SignalTAP II
Rys. 11. Zakładka konfiguracyjna SignalTAP II

Konfigurację tej części projektu zaczynamy od ustalenia listy monitorowanych sygnałów, co wymaga dwukrotnego kliknięcia w zakładce Setup, w wyniku czego wyświetli się okno Node Finder pokazane na rysunku 12.

Rys. 12. Lista sygnałów monitorowanych w FPGA, które będą wyświetlane w postaci przebiegów
Rys. 12. Lista sygnałów monitorowanych w FPGA, które będą wyświetlane w postaci przebiegów

O autorze