Programowanie układów FPGA w Altium Designer. Weryfikowanie projektu

Programowanie układów FPGA w Altium Designer. Weryfikowanie projektu
Pobierz PDF Download icon
Altium Innovation Station to zintegrowane środowisko składające się z oprogramowania Altium Designer oraz płyty uruchomieniowej NanoBoard. Zapewnia ono komplet narzędzi i technologii potrzebnych do projektowania, implementowania, testowania i uruchamiania projektów FPGA. Co ważne, uruchamianie i testowanie odbywa się w czasie rzeczywistym. Uprzednio wykonaliśmy projekt licznika rewersyjnego, teraz zweryfikujemy go a następnie skonfigurujemy.

Rysunek 1. Ustawienia kompilatora. Zakładki Error Reporting i Connection Matrix

Zanim zaczniemy syntezę i implementowanie projektu powinniśmy wykonać jego weryfikację. Altium Designer daje nam do tego zaawansowane narzędzie.

W środowisku Altium Designer proces kompilowania jest integralną częścią tworzenia net listy, tj. pliku, w którym zawarte są m. in. informacje na temat połączeń modułów. W trakcie tego procesu jest sprawdzany zakres połączeń elektrycznych oraz błędy schematu, zgodnie z opcjami zdefiniowanymi w zakładkach Error Reporting oraz Connection Matrix z okna Options for FPGA Project (Project -> Project Options; rysunek 1).

Uwaga: dla tego projektu ustawienia domyślne są poprawne i nie wymagają zmiany.

  • Mając otwarty schemat należy wybrać Project -> Compile FPGA Project Simple_Counter.PrjFpg. Zostanie uruchomiony proces kompilowania projektu.
  • Wszelkie Ostrzeżenia (Warnings), błędy (Errors) oraz błędy krytyczne (Fatal Errors) zostaną wyświetlone na panelu Messages. Jeżeli pojawią się w projekcie podczas kompilacji jakieś błędy lub błędy krytyczne okno Messages zostanie wyświetlone automatycznie. Jeżeli są tylko ostrzeżenia, możesz otworzyć ten panel ręcznie – klikając zakładkę System znajdującą się na pasku statusu Status Bar w prawym dolnym rogu pod arkuszem edytora schematu, następnie wybierając okno Messages. Podwójne kliknięcie na wiadomości (ostrzeżeniu lub błędzie) wyświetli szczegółowe informację odnośnie tego komunikatu na panelu Compile Errors. Jednocześnie miejsce powstania potencjalnego problemu zostanie na schemacie powiększone i zaznaczone.
  • Na naszym schemacie (licznik_rewersyjny.SchDoc) połączenia są poprawne, należy zwrócić uwagę na kilka ostrzeżeń które widnieją w panelu Messages – informują one o braku podłączeń wyjść magistrali SQ[7...0]. Dzieje się tak dlatego, że z magistrali SQ wykorzystujemy linię SQ0, natomiast pozostałe linie SQ1...SQ7 są nieużywane (rysunek 2). Jeżeli w panelu Messages został wyświetlony komunikat o błędzie, to należy zlokalizować miejsce występowania problemu, poprawić schemat i ponownie skompilować projekt.
  • Zapisać pliki schematu oraz cały projekt.

Konfigurowanie projektu

Rysunek 2. Okno z komunikatami kompilatora

Kolejnym etapem będzie określenie, w którym układzie FPGA mamy zamiar zaimplementować nasz projekt, aby ostatecznie móc sprawdzić jego działanie. W tym wypadku wybierzemy płytę dostarczaną przez Altium Designer – NanoBoard 3000 z układem FPGA typu XC3S1400AN.

Proces mapowania czyli powiązania portów układu FPGA ze światem zewnętrznym odbywa się za pośrednictwem tak zwanych plików ograniczeń. Pliki te zawierają minimum informacji projekcie pozwalających na syntezę i implementację projektu. Takimi podstawowymi informacjami są: specyfikacja układu FPGA, mapowanie portów do fizycznych wyprowadzeń układu FPGA, definicja standardu I/O, ograniczenia związane z wartością częstotliwości sygnałów zegarowych, zależności czasowe.

Rysunek 3. Widok poprawnie rozpoznanej przez środowisko Altium płyty NanoBoard

Zestaw jednego lub więcej plików ograniczeń w zależności od złożoności projektu składa się na konfigurację projektu – innymi słowy konfiguracją projektu nazywamy listę plików ograniczeń wchodzących w skład tego projektu.

W odniesieniu do uniwersalnej płyty uruchomieniowej możemy podzielić pliki ograniczeń na:

  • Określające połączenia – mapowanie pinów odnoszące się do danej płyty bazowej jak i wchodzącej w jej skład różnego rodzaju adapterów, przejściówek( połączenia pomiędzy FPGA czy innymi układami peryferyjnymi, a ich złączami połączeniowymi).
  • Określające połączenia pomiędzy płytą bazową a wchodzącymi w jej skład różnego rodzaju adapterów, przejściówek (połączenia złącze – złącze). Projekt FPGA uruchamiany na płycie Nano- Board można skonfigurować ręcznie przez dodanie odpowiednich plików konfiguracyjnych lecz środowisko Altium Designer dostarcza nam narzędzia do automatycznej konfiguracji projektu.

Rysunek 4. Autokonfiguracja w widoku urządzenia (Devices)

Kluczem do wykonania autokonfiguracji projektu jest zdolność systemu do automatycznej identyfikacji zasobów sprzętowych. Identyfikacja jest możliwa dzięki umieszczeniu na płycie i na wszystkich pozostałych modułach układów scalonych tzw. "elektronicznych numerów seryjnych" połączonych magistralą 1-Wire.

Użycie tej cechy pozwoli na wykonanie konfiguracji automatycznie. Potrzebne pliki ograniczeń są automatycznie wybierane i dodawane do konfiguracji w zależności od tego jaki sprzęt został zidentyfikowany (płyta bazowa, adaptery).

Uwaga: Starsze adaptery mające dwa złącza mogą być co prawda używane w płytach Nano- Board (np. na NB2DSK01), lecz nie jest możliwe ich wykrycie w procesie auto-konfiguracji, ponieważ nie mają układów identyfikacyjnych.

Rysunek 5. Autokonfiguracja z okna widoku płyty.

Przejdźmy do konfiguracji naszego projektu.

  • Przed rozpoczęciem korzystania z funkcji automatycznej konfiguracji należy upewnić się, że płyta NanoBoard jest połączona z komputerem za pomocą interfejsu USB.
  • Otworzyć widok urządzeń Devices (View -> Devices View). Zaznaczyć opcję Live i poczekać, aż wskaźnik Connected zmieni kolor na zielony (rysunek 3).
  • Proces autokonfiguracji można przeprowadzić na dwa sposoby. Na potrzeby tego artykułu pokażemy obie metody. Natomiast w rzeczywistości należy wykonać autokonfigurację jedną wybraną metodą.

* Metoda 1: Kliknąć na płycie NanoBoard prawym klawiszem i z menu kontekstowego wybrać Configure Fpga Project -> Prosty_licznik_rewersyjny. PrjFpg (rysunek 4).

* Metoda 2: Kliknij dwukrotnie na płycie Nano-Board aby otworzyć panel NanoBoard – narzędzie konfiguracyjne płytę NanoBoard. Następnie kliknij przycisk View button aby otworzyć okno dialogowe NanoBoard Configuration. Następnie rozwiń listę Auto Configure FPGA Project i wybierz Prosty_licznik_ rewersyjny.PrjFpg (rysunek 5).

Proces autokonfiguracji będzie postępował w kolejnych etapach:

  • Zostanie otworzone okno menadżera konfiguracji dodany Prosty_licznik_rewersyjny. Określenie nazwy konfiguracji jest zależne od wersji Twojej płyty NanoBoard i ewentualnie użytych adapterów. Ogólnie na format nazwy konfiguracji składają się wersja płyty bazowej oraz wersja adaptera do niej dołączonego: motherboard code_revision_daughter board code_revision. Dla przykładu dla płyty NanoBoard NB2DSK01 (wersja 8), i adaptera Xilinx Spartan-3 oznaczenie DB30 (wersja 6), zostanie wygenerowana konfiguracja NB2DSK01_08_DB30_06.
  • Rysunek 6. Menadżer konfiguracji dla projektu Prosty_licznik_rewersyjny

  • Do konfiguracji zostaną dodane pliki ograniczeń – do płyty, i każdego z adapterów. Liki źródłowe znajdują się w katalogu LibraryFpgaNB3000 Constraint Files. W każdym przypadku użyte pliki są zależne od użytego w projekcie sprzętu i jego wersji. Dla przykładu jeżeli w projekcie jest użyty Xilinx Spartan- 3 oznaczenie DB30 (wersja 6), wtedy plik który zostanie pobrany i dodany do konfiguracji to DB30.06.Constraint.
  • Pliki ograniczeń definiujące połączenia między poszczególnymi modułami a płytą bazową są tworzone na "w locie" i dodawane do konfiguracji. Nazwa takich plików składa się z nazwy konfiguracji oraz dodatkowego sufiksu _Board- Mapping (np. NB2DSK01_08_DB30_06_ BoardMapping.Constraint). Pliki te zostaną zapisane w tej samej lokalizacji co plik projektu (Prosty_licznik_ rewersyjny.PrjFpg).
  • Konfiguracja i przypisane do niej pliki widnieją w oknie menadżera konfiguracji (Configuration Manager), jak pokazano na rysunku 6.

Rysunek 7. Pliki ograniczeń dodane do projektu - Zapamiętać plik projektu

Po kliknięciu OK, a katalog Settings zostanie dodany do projektu (rysunek 7), a następnie pojawi się na panelu Projects. Pliki ograniczeń zostaną wyświetlone w katalogu Constraint Files. Mała ikonka (zaznaczona na rysunku) wskazuje, że plik jest zlinkowany z projektem, czyli jego żródła znajdują się poza katalogiem projektu.

Podsumowanie

Na obecnym etapie mamy skonfigurowany projekt, kolejnym etapem będzie wykonanie syntezy a następnie jego implementacja.

Wojciech Pietrasina
Evatronix SA

Artykuł ukazał się w
Styczeń 2013
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów