Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałKrzysztof Gołąb Został zmieniony 11 lat temu
1
Materiały pomocnicze do obsługi wybranych funkcji Quartus II
W prezentacji omówiono wybrane elementy obsługi procesu przygotowania projektów układów PLD na platformie Quartus II. Szersze omówienie poszczególnych modułów programu zostanie przedwstawione na kolejnych wykładach z przedmiotu Synteza Układów Cyfrowych. Istnieje kilka ścieżek (ciągu kolejnych czynności) przygotowania projektu PLD pod systemem Quartus. Zależy to od złożoności projektu, zastosowanych form opisu oraz konfiguracji interfejsu graficznego programu. Użytkownik może dość dowolnie konfigurować układ interfejsu graficznego. Omówiona metodyka projektowania dotyczy ustawienia domyślnego przeznaczonego dla wcześniejszych użytkowników Max Plus II, stosowanego na zajęciach. Wszystkie projekty na zajęciach laboratoryjnych będą uruchamiane w modelu opartym na układzie rodziny Cyclone II firmy Altera typu EP2C35F672C6. Plik .csv przypisań nr pinów układu Cyclone II do portów pliku top-level projektu zlokalizowany jest w laboratorium w katalogu domyślnym projektu, tzn. ...\quartus . Inną lokalizację plików projektu użytkownik podejmuje na własną odpowiedzialność, licząc się z niewłaściwą pracą programu z tego wynikającą.
2
Hierarchia projektu w Quartus II
Projekt w Quartus II stanowi zespół plików opisujących strukturę układu, sposób opisu jego funkcji, połączenia z otoczeniem, pliki źródłowe, wyniki symulacji oraz pliki programatora. Projekt zazwyczaj jest kojarzony z głównym plikiem typu .qpf znajdującym się w katalogu roboczym projektu. Nie należy lokować innych plików składowych projektu w innych katalogach niż w roboczy projektu. Żeby można było wykonać podstawowe operacje na projekcie takie jak: kompilacja, symulacja lub programowanie struktury PLD, w katalogu roboczym musi znajdować się podstawowy plik opisujący funkcjonowanie układu oraz jego połączenia z otoczeniem. Jest to tzw. plik top-level, w formacie programu w VHDL (plik typu .vhd ) lub plik graficzny (schemat typu .bdf).
3
Hierarchia projektu w Quartus II przykład
4
Struktura projektu w Quartus II
Nazwy portów pliku top-level kojarzone są w procesie przypisania pinów z numerami wyprowadzeń obudowy układu PLD. Nazwa właściwa pliku top-level (.vhd lub .bdf) musi być identyczna z nazwą projektu (.qpf). Niespełnienie tego warunku jest częstym błędem popełnianym przez początkujących projektantów – efektem czego jest nieuwzględnianie przez kompilator zmian nanoszonych na schematach lub w kodzie VHDL, gdyż kompilacja dotyczy zupełnie innego projektu. Nazwa projektu i nazwa pliku są widoczne w pierwszym wierszu górnej części ekranu. Sytuację ilustrują następne przypadki szczególne. Poprawna relacja nazw właściwych pliku top-level (graficznego) oraz projektu – nazwy są identyczne.
5
Struktura projektu w Quartus II c.d.
Poprawna relacja nazw właściwych pliku top-level (kodu VHDL) oraz projektu – nazwy są identyczne.
6
Struktura projektu w Quartus II c.d.
Błędna relacja nazw właściwych pliku top-level (kodu VHDL) oraz projektu – nazwy różnią się. Wszelkie operacje typu kompilacja czy programowanie będą dotyczyć projektu o nazwie test0. Wynik kompilacji może być poprawny, jeżeli projekt nie zawiera błędów, mimo wprowadzanych zmian i ewidentnych błędów schematu w pliku moj_proj_1. Dowolna zmiana schematu nie powoduje reakcji kompilatora. Należy zauważyć również, iż plik schematu i plik projektu znajdują się w różnych katalogach – częsty przypadek na zajęciach gdy niektórzy studenci usiłują twórczość intelektualną kolegi „sprzedać” jako własną, otwierając plik z PenDrive’a.
7
Struktura projektu w Quartus II c.d.
Przypadek zbliżony do poprzedniego. W tym przypadku nazwa Vhdl1 pliku top-level różni się od nazwy test0 projektu. Tym razem oba pliki znajdują się w tym samym katalogu roboczym projektu. Skutki kompilacji będą podobne do poprzednio opisanego przypadku. Co więcej, w pliku Vhdl1.vhd nazwa jednostki projektowej (po dyrektywie entity) test0 różni się od nazwy właściwej pliku w której jest zapisana. Będzie to skutkować dodatkowym błędem kompilacji.
8
Struktura projektu w Quartus II c.d.
W przedstawionym przypadku występuje plik top-level o nazwie test0.vhd, który nie jest związany z żadnym aktywnym projektem (projekt nie został otwarty lub zdefiniowany). W efekcie nie można uruchomić kompilatora, który jest nieaktywny. Jest to częsty przypadek gdy początkujący projektanci nie dostrzegają różnicy pomiędzy projektem a plikiem źródłowym (w tym top-level) oraz różnicy pomiędzy poleceniami „File New/Open” a „New Project Wizard/Open Project”.
9
Przebieg procesu projektowania w Quartus II
Proces projektowania w Quartus II rozpoczyna się od opisu schematycznego, opisu w języku VHDL lub opisu mieszanego w postaci struktury hierarchicznej. Stanowi to początkową fazę po której następuje synteza. Celem syntezy jest dekompozycja początkowej formy opisu projektu do struktury opisowej złożonej z listy elementów logicznych zawartych w FPGA. Ten etap składa się z kilku kroków, z których najważniejszym jest kompilacja. Kolejnym krokiem jest funkcjonalna symulacja, której zadaniem przeprowadzenie testów sprawdzających, czy układ otrzymany w wyniku syntezy spełnia zakładane funkcje. Ten rodzaj weryfikacji projektu nie sprawdza wymagań i zależności czasowych występujących w układzie rzeczywistym.
10
Przebieg procesu projektowania w Quartus II c.d.
Jeżeli w wyniku symulacji funkconalne stwierdzi się, iż projekt nie spełnia wymagań (No), proces projektowania rozpoczyna się od początku. Jeżeli symulacja zakończyła się pozytwnie (Yes) następuje przejście do etapu dopasowania struktury. Celem dopasowania struktury jest przekształcenie listy połączeń z etapu syntezy do konkretnej topografii struktury FPGA wraz z wygenerowaniem mapy połączeń w strukturze pomiędzy elementami logicznymi. Na tym etepie musi być wybrany konkretny układ FPGA. Po tym etapie następuje analiza czasowa uwzględniająca wpływ czasów opóźnień wnoszonych przez połączenia w układzie. Symulacja czasowa sprawdza spełnienie zakładanych wymagań funkcjonalnych i czasowych projektu. Jeżeli symulacja
11
Przebieg procesu projektowania w Quartus II c.d.
zakończy się pozytywnie (Yes) następuje przejście do końcowego kroku jakim jest programowanie w przypadku układu CPLD lub konfiguracja w przypadku FPGA. Jeżeli weryfikacja będzie negatywna należy dokonać poprawek na etapie dopasowania struktury, wybierając np. inny układ lub na początek do zmiany założeń projektowych. W systemie projektowym Quartus II układ podanych etapów projektowania jest nieco inny i wpleciony jest w ciąg czynności modułów projektowych takich jak: edytor graficzny, edytor tekstowy, kompilator, symulator opóźnień, symulator funkcjonalny, symulator czasowy, moduł przypisywania pinów i programator.
12
Metodyka przygotowywania opisu projektów w Quartus II
Zgodnie ze schematem obok, istnieją dwie ścieżki opisywania projektów: - top-down – najpierw definiujemy projekt a potem tworzymy pliki opisu, - bottom-up – najpierw tworzymy pliki opisujące a potem definiujemy projekt. Obie ścieżki projektowania zostaną omówione w dalszej części opracowania. Na zajęciach laboratoryjnych, w początkowym etapie, stosowana jest ścieżka bottom-up. Pierwszym etapem jest przygotowanie i sprawdzenie elementu bibliotecznego, opisanego kodem VHDL. Możliwe są dwa sposoby rozpoczynania przygotowania elementu bibliotecznego: najpierw projekt potem plik w VHDL, najpierw plik w VHDL potem projekt.
13
Ścieżka bottom-top, najpierw projekt potem plik - start
Po uruchomieniu programu widok ekranu jest jak wyżej.
14
Ścieżka bottom-top, projekt plik – otwarcie projektu
Wybieramy górną funkcję „File” a następnie opcję „New Project Wizard”
15
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
Na następnym ekranie wybieramy opcję „Next”
16
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
W pierwszym wierszu widoczne jest dumyślne położenie katalogu projektu W wierszu „What is the name of this project?” należy wpisać nazwę właściwą pliku projektu, która zostanie powtórzona jako nazwa pliku top-level w następnym wierszu. Wprowadzone poprawki należy zatwierdzić „Next”.
17
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
W następnym ekranie wybieramy opcję „Next” jako, że nie został utworzony żaden plik źródłowy.
18
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
Na laboratorium w następnym ekranie wybieramy rodzinę FPGA typu „Cyclone II” a w ramach niej układ „EP2C35F672C6” i zatwierdzamy kluczem „Next”.
19
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
W następnym ekranie wybieramy opcję „Next” gdyż, nie będzie dołączony żaden inny system projektowy.
20
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
Ostatni ekran, podsumowujący proces tworzenia projektu zatwierdzamy „Finish”.
21
Ścieżka bottom-top, projekt plik – otwarcie projektu c.d.
Po utworzeniu nowego projektu widok górnego wiersza ekranu jest następujący:
22
Ścieżka bottom-top, projekt plik – otwarcie nowego pliku VHDL
Otwarcie nowego pliku rozpoczyna wybranie funkcji „File” (1) a następnie „New” (2) lub systemowej ikony nowego pliku (3).
23
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
W nowym oknie należy wybrać opcję w pierwszej grupie, tzn. „VHDL File”.
24
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
Widok okna edytora jest przedstawiony poniżej. Nazwa pliku przyjęła domyślną wartość „Vhdl1.vhd”.
25
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
W tym miejscu należy wpisać treść programu.
26
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
Pisanie programu ułatwia wstawianie szablonów konstrukcji (np. instrukcji if w przykładzie) do kodu programu ikoną (1) lub myszką za pomocą funkcji „Insert Template”.
27
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
Plik zapisujemy nie zmieniajac sugerowanej nazwy ani katalogu roboczego.
28
Ścieżka bottom-top, projekt plik – nowy plik VHDL c.d.
Po zapisaniu pliku pierwszy wiersz ekranu przyjmuje postać przedstawioną na rysunku:
29
Ścieżka bottom-top, projekt plik c.d.
W poprzednich slajdach przedstawiono mechanizm tworzenia nowego projektu i związanego z nim pliku top-level w języku VHDL. Jeżeli projekt i plik zostały wcześniej utworzone przed rozpoczęciem kompilacji należy je otworzyć w następującej kolejności: 1. Otwieramy projekt ciągiem poleceń: File Open Project wskazć plik projektu i wykonać polecenie „Otwórz” 2. Otwieramy plik graficzny lub tekstowy VHDL w sposób następujący: wykonujemy ciąg polecń: File Open nazwa pliku i „Otwórz” lub wskazujemy systemową ikonę „Open” z menu głównego. Po utworzeniu nowego pliku graficznego lub w kodzie VHDL a także po jakiejkolwiek aktualizacji istniejacego pliku należy przeprowadzić kompilację projektu.
30
Ścieżka bottom-top, projekt plik – kompilacja pliku VHDL c.d.
Moduł uruchamia się przy pomocy poniższego polecenia lub wskazania jednej z ikon menu głównego: MAX+PLUS II Compiler – uruchamia kompilator, -- uruchamia kompilator j.w. -- zapisuje aktualnie zmieniony projekt/plik i uruchamia kompilator. Następnie ukazuje się okno w którym należy wybrać „Start”
31
Ścieżka bottom-top, projekt plik – kompilacja pliku VHDL c.d.
Proces kompilacji wykorzystuje następujące moduły: Analysis and Synthesis - moduł analizy i syntezy, Fitter moduł dopasowujący, Assembler moduł kodu programującego, Timing Analyzer moduł analizatora czasowego. Moduł analizy i syntezy wykrywa błędy połączeń schematu i składni języka VHDL, tworzy bazę zasobów projektowych, optymalizuje projekt pod kątem określonej struktury PLD, odwzorowuje technologicznie projekt logiczny. Fitter dopasowuje projekt do zasobów wybranej struktury programowalnej, rozmieszcza zasoby i wyznacza połączenia między nimi. Assembler generuje kody programujące PLD w postaci plików: Programmer Object File (.pof), SRAM Output File (.sof), Hexadecimal (Intel-Format) Output File (.hexout), Tabular Text File (.ttf), Raw Binary File (.rbf), Jam™ STAPL Byte Code 2.0 File (.jbc), JEDEC STAPL Format File (.jam). Timing Analyzer analizuje propagację sygnałów zegarowych w strukturze, wyznacza dopuszczalną częstotliwość pracy układu oraz opóźnienia wynikające z czasów propagacji. Szczegółowe informacje zostaną podane w wykładach poświęconych poszczególnym modułom Quartus II.
32
Ścieżka bottom-top, projekt plik – kompilacja pliku VHDL c.d.
Jeżeli proces kompilacji zakończy się bezbłędnie pojawia się komunikat przedstawiony niżej – należy potwierdzić OK.
33
Ścieżka bottom-top, projekt plik – kompilacja pliku VHDL c.d.
Następnie można przeanalizować przedstawione niżej raporty kompilacji lub zamknąć okno kompilatora.
34
Ścieżka b.-t., proj. plik – jeżeli wystąpią błędy kompilacji ...
W przypadku błędów kompilacji pojawia się komunikat – potwierdzić OK i przejść do ich analizy.
35
Ścieżka b.-t., proj. plik – jeżeli wystąpią błędy kompilacji c.d.
W tym celu należy powiększyć okno raportu procesu kompilacji: W raporcie można wyróżnić komunikaty: - informacyjne w kolorze zielonym, nie wpływające na dalsze bieg projektowania, - ostrzeżenia w kolorze niebieskim sygnalizujące potencjalną możliwość złej pracy układu lub brak ustawień, można je zignorować lub naprawić, - błędy kompilacji w kolorze czerwonym, bezwzględnie przerywające kompilację, wymagające poprawy opisu projektu.
36
Ścieżka b.-t., proj. plik – jeżeli wystąpią błędy kompilacji c.d.
Obsługa błędów jest następująca: - wskazujemy pierwszy błąd na liście, pozostałe komunikaty o błędach są często konsekwencją pierwszego komunikatu, - jeżeli rozumiemy jego opis w raporcie, dwukrotnie klikamy nań i program przechodzi do pliku zawierającego błąd – pokazując wiersz z błędem w VHDL lub w przypadku schematy odpowiedni element lub połączenie, wówczas poprawiamy błąd i ponownie kompilujemy układ do skutku aż nie wystąpią błędy, - jeżeli nie rozumiemy błędu wciskamy prawy klawisz myszki i z menu wybieramy Help z szerszą interpretacją błędu. Sytuację pokazano na następnym slajdzie.
37
Ścieżka b.-t., proj. plik – jeżeli wystąpią błędy kompilacji c.d.
38
Ścieżka bottom-top, projekt plik – symbol biblioteczny VHDL
W przypadku kompilacji projektu z plikiem top-level w kodzie VHDL należy utworzyć z poziomu aktywnego pliku symbol graficzny związany z kodem. W tym celu z menu funkcyjnego wykonujemy polecenie: File Create/Update Create Symbol Files for Current File
39
Przebieg procesu projektowania w Quartus II c.d.
W przypadku zajęć laboratoryjnych, po utworzeniu symbolu bibliotecznego kodu w języku VHDL, należy pozamykać wszystkie pliki i utworzyć nowy projekt. Utworzony projekt powinien posiadać inną nazwę niż nazwa projektu zwiazanego z kompilowanym poprzednio plikiem top-level w VHDL. W utworzonym projekcie należy otworzyć związany z nim plik graficzny top-level o tej samej nazwie właściwej co projekt. Czyli należy wykonać ciąg czynności: File New Project Wizard ... powtórzyć ciąg czynności jak w VHDL, File New Bloc Diagram/Schematic File Nagłówek strony mógłby (w sensie nazw pliku i projektu) wyglądać jak niżej:
40
Ścieżka bottom-top, projekt plik – plik graficzny
W następnej kolejności należy wykonać: - polecenie Edit Insert Symbol lub wskazać ikonę bramki (krok 1), - rozwinąć bibliotekę Project, - wybrać wczesniej utworzony element biblioteczny. Element biblioteczny należy przenieść w pole rysunkowe i dołączyć porty weiściowe i wyjściowe.
41
Ścieżka bottom-top, projekt plik – plik graficzny c.d.
Należy zwrócić uwagę na zastosowanie odpowiedniego nazewnictwa portów zgodnie z konwencją przypisań pinów w pliku DE2_pin_assignments.csv. Stosowanie do nazewnictwa dołączonych portów należy przypisać etykiety magistralom, klikając jednokrotnie na poziomym odcinku magistrali oraz wpisując etykietę z klawiatury. Projekt należy skompilować, sprawdzając czy wybrano właściwy układ FPGA. Następnie należy przypisać portom pliku top-level numery pinów struktury programowalnej.
42
Ścieżka bottom-top, projekt plik – plik graficzny c.d.
W celu importu przypisania pinów wykonujemy polecenie: Assignments Import Assignments wybrać katalog i wskazać plik .csv. Na zajęciach plik DE2_pin_assignments.csv znajduje się w katalogu \altera\72sp1\quartus, po przypisaniu schemat wygląda jak niżej.
43
Ścieżka bottom-top, projekt plik – plik graficzny c.d.
Po przypisaniu pinów należy dokonać ponownej kompilacji i skonfigurować FPGA. Po kompilacji programujemy układ wydając ciąg poleceń: - MAX+PLUS II Programer lub wslazać ikonę , - i wybrać opcję Start.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.