Pierwsze kroki z FPGA (2)

Podobne dokumenty
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

TWORZENIE OD PODSTAW PROJEKTU W ŚRODOWISKU QUARTUS PRIME

ZL19PRG. Programator USB dla układów PLD firmy Altera

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

ZL10PLD. Moduł dippld z układem XC3S200

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

HELIOS pomoc społeczna

Bezpieczeństwo informacji oparte o kryptografię kwantową

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

Instalacja i opis podstawowych funkcji programu Dev-C++

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

Parametryzacja przetworników analogowocyfrowych

Projektowanie z użyciem procesora programowego Nios II

Aplikacja do podpisu cyfrowego npodpis

ZL8AVR. Płyta bazowa dla modułów dipavr

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

DEMERO Automation Systems

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

Instrukcja importu dokumentów z programu Fakt do programu Płatnik

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

dokument DOK wersja 1.0

Programowanie niskopoziomowe

Mazowiecki Elektroniczny Wniosek Aplikacyjny

8. Generowanie raportów

Opis szybkiego uruchomienia programu APBSoft

Instrukcja obsługi notowań koszykowych w M@klerPlus

Programowalne Układy Cyfrowe Laboratorium

MentorGraphics ModelSim

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Siła (w) pamięci Obsługa zewnętrznych pamięci SDRAM w układach Cyclone IV firmy Altera

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Konfiguracja pakietu CrossStudio for MSP

ZESTAW LABORATORYJNY I ZESTAW FARMACEUTYCZNY : Instrukcja instalacji

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

URLOPY BY CTI. Instrukcja obsługi

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

MAXimator. Zestaw startowy z układem FPGA z rodziny MAX10 (Altera) Partnerzy technologiczni projektu:

Instrukcja użytkownika aplikacji npodpis r.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Konfiguracja podglądu obrazu z kamery IP / rejestratora BCS przez sieć LAN.

Widok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku.

Programator procesorów rodziny AVR AVR-T910

Platforma szkoleniowa krok po kroku

Instalacja programu:

Przewodnik po Notowaniach Statica mdm 4

Tworzenie menu i authoring w programie DVDStyler

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

Instrukcja Instalacji

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Wstęp Architektura... 13

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

INTERFEJS LPG/CNG FTDI USB INSTRUKCJA INSTALACJI ORAZ KONFIGURACJI URZĄDZENIA

Ukªady Kombinacyjne - cz ± I

Electronic Infosystems

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Instrukcja NAWIGACJA MEDIATEC 7 CALI

Scalone układy programowalne FPGA.

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Podstawy programowania w środowisku Totally Integration Automation Portal

Instrukcja użytkowania oprogramowania SZOB LITE

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 wersja startowa dla słuchaczy studiów niestacjonarnych.

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Platforma szkoleniowa krok po kroku. Poradnik Kursanta

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Instrukcja obsługi. Miniaturowy wodoodporny rejestrator (data logger) temperatury TM-306U

Galileo v10 pierwszy program

MultiTool instrukcja użytkownika 2010 SFAR

Instrukcja dotycząca konwersji dokumentów LaTeX do plików w formacie RTF

Szanowni Państwo. Należy przy tym pamiętać, że zmiana stawek VAT obejmie dwie czynności:

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Ustawienia personalne

Podręczna pomoc Microsoft Power Point 2007

Transkrypt:

Pierwsze kroki z FPGA (2) Szkoła MAXimatora pierwszy projekt z edytorem schematów Projekt w FPGA 0000 D[3..0] Zerowanie (RES) LD Zmiana kierunku zliczania góra/dół U/DN Sygnał taktujący 10MHz CLK TTL74169 Rysunek 1. Schemat blokowy pierwszego projektu 108 Q[3..0] Do 4xLED Schemat blokowy pierwszego projektu, jaki zaimplementujemy w zestawie MAXimator, pokazano na rysunku 1. Jest on jak widać nieskomplikowany i podczas jego implementacji nie zużyjemy zbyt wielu zasobów FPGA. Ta prostota ułatwi nam skupienie uwagi na przebiegu realizacji projektu w środowisku Quartus Prime Lite z wykorzystaniem wbudowanego w nie edytora schematów. W implementowanym projekcie użyjemy 4-bitowego, binarnego, synchronicznego licznika znanego z rodziny TTL, oznaczonego symbolem 74169 (rysunek 2). Układ ten jest pozbawiony dedykowanego wejścia zerującego, dlatego do zerowania licznika użyjemy 4-bitowego W pierwszej części kursu przedstawiliśmy podstawowe informacje na temat tego skąd i jakie narzędzia programowe będą nam potrzebne do rozpoczęcia przygody z układami FPGA i zestawem MAXimator. W tej części pokażemy jak krok-po-kroku przygotować pierwszy projekt. Ze względu na dostępny w bezpłatnej wersji programu Quartus Prime zestaw bogato wyposażonych bibliotek oraz łatwość przygotowania projektu z wykorzystaniem edytora schematów, w naszych pierwszych krokach skupimy się na implementacji projektu bazującego na modelach znanych elektronikom modelach układów z biblioteki TTL-7400.

Quartus Prime i Windows 32? Quartus Prime w wersjach obsługujących układy MAX10 jest dostępny dla Windows wyłącznie 64-bitowych. wejścia równoległego D3 D0 (na którego liniach są przypisane stany 0000) i linii ładowania wartości początkowej LD. Licznik 74169 wyposażono w wejście zmiany kierunku zliczania U/DN, na którym stan logiczny określa czy stan licznika po każdym impulsie zegarowym ulega zwiększeniu czy zmniejszeniu o jeden. Do wejść LED i U/ DN są dołączone przyciski, które fizycznie są zamontowane na shieldzie wchodzącym w skład zestawu MAXimator. Wyjścia licznika 74169 dołączono do 4 LED będących elementem wyposażenia płytki bazowej MAXimator (fotografia 3). Służą one do monitorowania stanów wyjść licznika Q3 Q0, przy czym trzeba pamiętać, że ich katody są sterowane z wyjść FPGA co oznacza, że diody świecą wtedy, gdy na wyjściach FPGA są stany 0. Tworzenie projektu Pracę rozpoczniemy od utworzenia projektu za pomocą kreatora wbudowanego w oprogramowanie, co wymaga po uruchomieniu programu Quartus Prime Lite wybrania opcji w menu File>New Project Wizard (rysunek 4). Kolejno będą wyświetlane okna kolejnych kroków kreatora, w których musimy podać nazwę projektu (w przykładzie jako nazwę przyjęliśmy licznik_74169) i lokalizację plików wchodzących w jego skład (rysunek 5). W kolejnych krokach pomijamy możliwość modyfikowania domyślnych ustawień, dopiero w oknie Family & Device Settings wybieramy rodzinę MAX10 Rysunek 2. 4-bitowy, binarny licznik synchroniczny 74169 Fotografia 3. Wyjścia licznika dołączono do 4 LED będących elementem wyposażenia płytki bazowej MAXimator (rysunek 6) i typ docelowego układu 10M08DAF256C8GES (rysunek 7). Na tym kończymy wstępną konfigurację projektu i przechodzimy do utworzenia i edycji schematu. Rysowanie schematu W projekcie założonym według wcześniejszego opisu tworzymy planszę schematu, co wymaga wybrania w menu opcji File>New, w wyniku czego wyświetla się okno pokazane na rysunku 8. Wybieramy w nim opcję (w sekcji Design Files) Block Diagram/ Schematic File w wyniku czego do projektu licznik_74169 zostanie dodana czysta plansza schematu, jak pokazano na rysunku 9. Dwukrotne kliknięcie prawym przyciskiem myszy na planszy schematu powoduje otwarcie okna dostępu do predefiniowanych graficznych symboli bibliotecznych (rysunek 10), z których użyjemy element z biblioteki others>max2plus o nazwie 74169 (rysunek 11). Element wybrany z listy kładziemy na planszy schematu (rysunek 12), teraz obrysujemy go, wykonując lokalne połączenia, zgodnie z opisem na wstępie i dokumentacją licznika 74169. Potrzebny nam symbol masy (odpowiadający stanowi logicznemu 0 ) także pobieramy z biblioteki elementów graficznych, jest on dostępny w katalogu primitives>other (rysunek 13). Połączenia wykonujemy za pomocą narzędzia Orthogonal Node Tool, które jest dostępne w menu programu (rysunek 14). MAXimator zacznij przygodę z FPGA Zestaw MAXimator jest atrakcyjną propozycją nie tylko dla początkujących z FPGA. Jednym z jego poważnych atutów jest bardzo niska cena, co udało się producentowi uzyskać dzięki ścisłej współpracy z kilkoma firmami, które wsparły zamysł edukacyjny pomysłu. I tak: firmy Altera i EBV dostarczyły podzespoły do zestawu, firma NCAB wyprodukowała płytki drukowane zestawu, firma Semicon zmontowała elementy, a KAMAMI opracowała zestaw, stronę internetową, dokumentacje i materiały supportowe. Rysunek 4. Pracę rozpoczniemy od utworzenia projektu za pomocą kreatora wbudowanego w oprogramowanie Rysunek 5. Wskazanie lokalizacji plików Rysunek 6. Wybór rodziny MAX10 Rysunek 7. Wybór typu docelowego układu 10M08DAF256C8GES Rysunek 8. Tworzenie planszy schematu 109

Po narysowaniu linii połączeniowych przypisujemy do nich symbole wejść i wyjść, do czego służy narzędzie Pin Tool dostępne w menu (rysunek 15). Dostępne są w nim trzy opcje: wejście, wyjście i linia dwukierunkowa. Wybieramy typy właściwe dla poszczególnych linii, w razie wątpliwości kierując się opisem symbolu bibliotecznego (rysunek 16 kolumna Directions), który można wyświetlić klikając na symbol prawym przyciskiem myszy i wybierając opcję Properties>Ports. Na rysunku 17 pokazano planszę schematu z narysowanymi połączeniami i przypisanymi od nich symbolami wejść i wyjść zgodnie z kierunkami linii licznika 74169. W kolejnym kroku nadamy własne nazwy liniom I/O. W tym celu należy dwukrotnie kliknąć na symbolu linii lub naciskając prawy przycisk myszy wybrać opcję Properties, co spowoduje wyświetlenie okna pokazanego na rysunku 18. W linii Pin name(s) wprowadzamy nazwy poszczególnych linii, które powinny być łatwe do skojarzenia, są bowiem używane nie tylko podczas implementacji projektu w układzie FPGA, ale także analizie funkcjonalnej i czasowej projektu chodzi o to, aby nazwa wyraźnie sugerowała funkcję i pochodzenie sygnału. Na rysunku 19 pokazano proponowane nazwy sygnałów. Kolejnym krokiem jest wstępna kompilacja projektu, co jest niezbędne do weryfikacji poprawności Rysunek 9. Czysta plansza schematu Rysunek 10. Okno dostępu do predefiniowanych symboli Rysunek 11. Wybór komponentu 74169 Rysunek 12. Ułożenie komponentu na planszy Rysunek 13. Pobranie symbolu masy przygotowanego opisu, a także wygenerowaniu przez narzędzie do syntezy logicznej listy sygnałów oraz linii I/O. Jest ona nam niezbędna do ustalenia przypisań linii I/O do fizycznych wyprowadzeń układu FPGA. Kompilację uruchamia przycisk pokazany na rysunku 20. Przypisania linii I/O do fizycznych wyprowadzeń układu FPGA wykonuje się za pomocą specjalnego edytora o nazwie Pin Planner, który jest uruchamiany za pomocą dwukrotnego kliknięcia opcji Pin Planner (rysunek 21). Otwarte okno edytora przypisań pokazano na rysunku 22. Najważniejsza dla nas na tym etapie będzie tabela ulokowana w dolnej części okna, w której wylistowane są linie I/O, ich kierunkowość, przypisania do fizycznych wyprowadzeń zaproponowane wstępnie przez fitter (kolumna Fitter Location), domyślny standard napięciowy linii I/O, a także kilku innych parametrach mniej istotnych dla naszego projektu. Modyfikacje poszczególnych opcji są możliwe po dwukrotnym kliknięciu w wybrane okno tabeli. Zaczynamy od ustalenia standardu napięciowego linii, zmieniając w każdym wierszu domyślną wartość 2,5 V na 3,3-V LVTTL. Następnie w kolumnie Location przypisujemy wyprowadzenia implementowanego licznika w taki sposób, żeby wykorzystać przycisk zerujący oraz przycisk L (do zmiany kierunku zliczania) zamontowane na shieldzie, diody LED zamontowane na płytce MAXimatora do monitorowania stanów wyjść licznika, a sygnał zegarowy na jednej z wolnych linii I/O złącza Arduino. Ustalenie oznaczeń fizycznych linii FPGA, do których będą przypisane sygnały projektu ułatwi mapa wyprowadzeń (rysunek 23) dostępna do pobrania na stronie maximator-fpga.org. Przypisania ustalone dla projektu przedstawiono na rysunku 24. Dodanie przypisań do fizycznych wyprowadzeń FPGA po ich wprowadzeniu staje się także widoczne na schemacie, jak to widać na rysunku 25. Szukasz supportu? Projekty przykładowe, dokumentacje oraz filmy poświęcone MAXimatorowi są dostępne na stronie www.maximator-fpga.org. 110

Rysunek 20. Przycisk uruchamiający kompilator Rysunek 14. Połączenia wykonujemy za pomocą narzędzia Orthogonal Node Tool Rysunek 21. Uruchomienie edytora Pin Planner Po wprowadzeniu przypisani ponownie kompilujemy projekt (za pomocą przycisku pokazanego na rysunku 20) i w przyrysunek 15. Narzędzie Pin Tool padku poprawnego jej zakończenia możemy Rysunek 16. Wybieramy typy zaprogramować układ FPGA z zestawie właściwe dla poszczególnych MAXimator. W tym celu musimy mieć dołąlinii czony do komputera programator USB Blaster (wchodzący w skład zestawu MAXimator przypominam o tym, że zazwyczaj konieczne jest ręczne wskazanie systemowi ścieżki do driverów programatora, co zostało opisane w EP4/2016), a sam programator za pomocą 10-żyłowego przewodu złącza JTAG do płytki MAXimator z dołączonym zasilaniem. Program obsługujący programator jest uruchamiany za pomocą ikony w menu pokazanej na rysunku 26. Jego okno pokazano na rysunku 27. Jeżeli programator USB Blaster nie zostanie samoczynnie wykryty przez Rysunek 17. Plansza schematu z narysowanymi połączeniami pakiet Quartus, klikamy przycisk Hardware i przypisanymi od nich symbolami wejść i wyjść Setup i w wyświetlonym oknie, w zakładce Hardware Settings wybieramy w oknie wyboru Currently selected hardware aktywny programator (rysunek 28). W kolejnym kroku naciskamy w oknie obsługującym programator przycisk Add File (rysunek 29) i w wyświetlonym oknie wskazujemy plik wynikowy, który użyjemy do programowania FPGA. Pliki wynikowe są domyślnie ulokowane w podkatalogu o nazwie \output_files ulokowanym w katalogu projektu. Quartus domyślnie generuje dwa rodzaje plików: o rozszerzeniu nazwy sof, który jest używany do bezpośredniej konfiguracji pamięci RAM w FPGA. Jego użycie zalecamy podczas eksperymentów z implerysunek 18. Okno Properties mentacją projektów, częsta modyfikacja zawartości RAM nie wpływa na żywotność pamięci konfiguracji Flash, o rozszerzeniu nazwy pof, który służy do zapisania konfiguracji projektu w nieulotnej pamięci konfiguracji typu Flash. Jego użycie zalecamy do zaprogramowania FPGA ostateczną wersją implementowanego projektu. Dodanie pliku sof powoduje wyświetlenie symbolu układu w oknie programu obsługurysunek 19. Proponowane nazwy sygnałów jącego programator (rysunek 30) z domyślnie 111

Rysunek 26. Uruchomienie programatora Rysunek 22. Otwarte okno edytora przypisań Rysunek 27. Okno programatora Rysunek 23. Ustalenie oznaczeń fizycznych linii FPGA Rysunek 28. Wybranie aktywnego programatora Rysunek 29. Wskazanie pliku do programowania FPGA Rysunek 24. Przypisania ustalone dla projektu Rysunek 30. Dodanie pliku sof powoduje wyświetlenie aktywną opcją Program/Configure, co umożliwia szybkie symbolu układu w oknie programu obsługującego zapisanie konfiguracji do pamięci RAM FPGA. W przyprogramator padku wybrania pliku pof dostępne opcje są nieco inne (rysunek 31), omówimy je w kolejnych odcinkach kursu. do wartości >200 Hz, co umożliwi obserwację pracy Przygotowanie i zapisanie do pamięci konfiguracji licznika bez konieczności stosowania dodatkowego FPGA projektu przygotowanego według opisu gwarangeneratora sygnału zegarowego temu poświęcamy nasz tuje jego poprawne działanie, przy czym należy pamiękonkurs. tać o dostarczeniu do linii D13 (C16) sygnału zegaropiotr Zbysiński, EP wego o częstotliwości kilknastu kilkuset Hz, który umożliwi obserwację na LED pracy licznika. Zestaw MAXimator jest wyposażony w dwa własne źródła sygnałów zegarowych (generator kwarcowy 10 MHz i wewnętrzny generator zegarowy wbudowany w układ FPGA MAX10), ale częstotliwości generowanych przez nie sygnałów są zbyt duże, żeby można było zaobserwować zmiany stanów LED. Można zastosować preskaler dzielący czę- Rysunek 31. W przypadku wybrania pliku pof dostępne opcje są nieco stotliwość sygnału generatora kwarcowego inne 112 Rysunek 25. Dodanie przypisań do fizycznych wyprowadzeń FPGA