Arkadiusz Pantoł MATERIAŁY POMOCNICZE DO KURSU TWORZENIE OD PODSTAW PROJEKTU W ŚRODOWISKU QUARTUS PRIME Obsługa środowiska Quartus Prime może byd kłopotliwa, jeżeli chodzi o stworzenie samego projektu. Opis ten stanowi ułatwienie dla osób, które nie miały nigdy styczności z tego typu oprogramowaniem. Uruchamiamy oprogramowanie Quartus Prime. Pojawia się okno startowe (w nowszych wersjach może wyglądad ono nieco inaczej). Klikamy New Project Wizard w celu utworzenia nowego projektu.
Pojawia się wówczas okno kreatora:
W powyższym oknie zgodnie z opisem wpisujemy nazwę projektu oraz folder w którym ma zostad stworzony projekt. W kolejnym oknie wybieramy empty project : Kolejne okno służące do dodawania plików źródłowych na razie pomijamy. Pliki źródłowe będziemy tworzyli na bieżąco.
Kolejne okno jest bardzo ważne służy do wyboru układu, w którym ma zostad zaimplementowany układ cyfrowy. Niewłaściwe wybranie układu może doprowadzid do problemów przy wgrywaniu konfiguracji do pamięci ulotnej (lub nieulotnej) Tutaj wybieramy układ: 10M08DAF256C8GES Następnie wystarczy nacisnąd przycisk Finish. Kolejne kroki nie są niezbędne do prawidłowej pracy przy projekcie.
TWORZENIE SCHEMATU W PROGRAMIE QUARTUS PRIME Jedną z metod projektowania układów cyfrowych jest rysowanie schematu. Producent układów FPGA i CPLD firma Altera dostarcza rozbudowaną bibliotekę elementów, które mogą byd przeniesione na schemat i odpowiednio połączone, bez potrzeby tworzenia pliku źródłowego w językach Verilog/SystemVerilog/VHDL. Po utworzeniu projektu ukazuje się poniższe okno: Aby utworzyd plik schematu wybieramy File -> New. W nowo otwartym oknie wybieramy opcję Block Diagram/Schematic File i naciskamy OK.
Po prawidłowej konfiguracji okno główne programu powinno wyglądad tak: Załóżmy że chcemy zbudowad poniższy układ logiczny: W bibliotece programu Quartus zawarte są podstawowe elementy, które można wykorzystad do zbudowania powyższego układu. Klikamy prawym przyciskiem w obszarze schematu, wybieramy Insert -> Symbol. Ukazuje się okno wyboru, rozwijamy listę, przechodzimy do zakładki primitives a następnie do podfolderu logic
Następnie wybieramy interesujący nas element i klikamy OK. Kolejne elementy dodajemy w taki sam sposób. Okno graficzne powinno wyglądad w taki sposób: Umieszczone elementy należy połączyd ze sobą, natomiast wejścia i wyjście dołączyd do odpowiednich portów we/wy. W celu połączenia jednego wyprowadzenia z drugim należy najechad myszką na wyprowadzenie aż pojawi się symbol myszy dołączamy przewód do koocówki drugiego elementu.. Przytrzymując lewy przycisk Do połączenia pozostały także wyprowadzenia zewnętrzne czyli te, które mają byd podłączone do fizycznych pinów układu. Wykorzystamy narzędzie zwane pin tool, znajdujące się na górnym pasku pod ikonką schematu wejścia i wyjścia układu.. Ikonkę rozwijamy i klikając dodajemy do
Ze względu na to, iż na płytce ewaluacyjnej znajdują się tylko dwa przyciski do schematu dodano jedynie dwa porty wejścia i jeden port wyjścia. Wirtualnym pinom warto nadad unikalne nazwy, różne od domyślnych. Nazwę można zmienid w prosty sposób dwukrotnie klikając na port i zmieniając wartośd pola Pin name(s) Należy pamiętad o tym, że nazwy portów nie powinny zawierad w sobie nazw i oznaczeo wykorzystywanych w języku Verilog/VHDL a w szczególności output, input, wire, reg, Stworzony układ niestety jak na razie nie jest fizycznie połączony z pinami układu w trakcie procesu implementacji oprogramowanie Quartus nie będzie wiedziało do których pinów układu przypisad dane porty. Aby to było możliwe należy w pierwszej kolejności wykonad syntezę i analizę zaprojektowanego układu. Zatem w zakładce Tasks wybieramy Analysis & Synthesis. Wtedy wykonają się jedynie te operacje, które są częścią składową tej listy. Następnie oczekujemy na zakooczenie całego procesu. Powinniśmy uzyskad taki wynik: Oznacza to że zaprojektowany układ nie zawiera błędów. Po tej czynności można przystąpid do przypisania portów wejścia/wyjścia do konkretnych pinów układu FPGA.
Wybieramy zakładkę Assignments a następnie z menu rozwijalnego uruchamiamy narzędzie Pin Planner. W centralnej części okna znajduje się mapa, która przedstawia fizyczne położenie konkretnych wyprowadzeo układów FPGA wraz z ich dokładnym opisem. Układy te montowane są powierzchniowo, stąd też wiele pinów układu znajduje się pośrodku. W procesie syntezy i analizy porty są automatycznie dodawane do listy przypisao: W celu przypisania ich do konkretnych wyprowadzeo układu należy zmienid wartośd pola Location. W realizowanym zadaniu chcemy przypisad te porty do przycisków L i R znajdujących się na płytce rozszerzeniowej (MAXimator expander) oraz do jednej z diod LED znajdujących się na samej płytce MAXimator. Pomocne tutaj będą dwa dokumenty, zawierające niezbędne schematy elektryczne i przypisania konkretnych elementów płytek do poszczególnych pinów układu FPGA: http://dl.btc.pl/kamami_wa/maximator_expander.pdf http://maximator-fpga.org/wp-content/uploads/2016/04/maximator-pin-mapping_v1_2.pdf
Do obserwacji zmianu stanu wyjścia result wykorzystamy diodę LED0 znajdującą się na płytce MAXimator wartośd M16 wpisujemy w polu Location. Aby jednak przypisad przyciski do konkretnych wyprowadzeo układu FPGA należy w dokumentacji płytki rozszerzeo odnaleźd informację dotyczącą przycisków L i R: Po zamocowaniu płytki rozszerzeo na płycie ewaluacyjnej należy rozpoznad nazwy portów, do których są przypisane zaznaczone na rysunku piny (z dokumentacji płytki rozszerzającej) Zaznaczone piny odpowiadają wyprowadzeniom B15 oraz B16 stąd też należy te wartości przypisad do nazw in1 oraz in2.
Po przypisaniu nazw do fizycznych portów we/wy układu FPGA okno programu Pin Planner powinno wyglądad następująco: Jak można zauważyd wybrane piny zostały zaznaczone na fizycznej mapie układu FPGA. Zamykamy okno Pin Plannera. Na schemacie obok pinów wejściowych oraz wyjściowych powinny pokazad się nazwy przypisanych do nich portów: Układ zapisujemy kombinacją klawiszy ctrl + S a następnie uruchamiamy kompilację (synteza, implementacja, wygenerowanie pliku programującego (obrazu)). Dwukrotnie klikamy na Compile Design i oczekujemy na zakooczenie całego procesu. Po zakooczeniu etapu kompilacji podłączamy płytę ewaluacyjną do komputera poprzez port USB. Port USB na płycie ewaluacyjnej służy jedynie do zasilania układu, stąd też w celu zaprogramowania układu FPGA należy dodatkowo podłączyd programator zgodny z USB Blaster. Płytę ewaluacyjną oraz programator podłączamy do komputera. Po wykonaniu powyższych czynności należy dwukrotnie kliknąd na Program Device. W oknie programatora wybieramy Hardware Setup i w Currently selected hardware zaznaczamy USB Blaster
W następnym kroku należy wybrad plik, który ma byd zapisany w pamięci układu. W tym celu należy kliknąd Add File i wyszukad plik z rozszerzeniem *.sof. Można go odnaleźd w folderze output_files a następnie kliknąd start, co spowoduje rozpoczęcie procesu programowania układu. Oprogramowanie na podstawie informacji zapisanej w pliku konfiguracyjnym automatycznie wykryje typ wykorzystanego układu programowalnego. Następnie można przetestowad działanie zaprojektowanego układy cyfrowego przy pomocy przycisków orad diod LED. W przypadku pytao bądź niejasności związanych z powyższym przewodnikiem zapraszam do kontaktu mailowego apantol@hotmail.com Arkadiusz Pantoł