Wprowadzenie do programu Altera Quartus II

Transkrypt

Wprowadzenie do programu Altera Quartus II
Wprowadzenie do programu
Altera Quartus II
Opracował: mgr inż. Leszek Ciopiński
W opracowaniu zostały użyte materiały pochodzące z plików pomocy
programu Altera Quartus II
Spis treści
1. Wprowadzenie..................................................................................................................................1
1.1. Czym jest środowisko Altera Quartus II?.................................................................................1
1.2. Jak uzyskać program Altera Quartus II?...................................................................................2
2. Wygląd środowiska..........................................................................................................................2
2.1. Struktura głównego okna..........................................................................................................2
2.2. Menu i pasek narzędzi..............................................................................................................3
2.3. Nawigator projektu...................................................................................................................3
2.4. Główne okno programu............................................................................................................3
2.5. Okno statusu kompilacji i testowania.......................................................................................3
2.6. Okno informacji........................................................................................................................3
3. Praca z środowiskiem.......................................................................................................................4
3.1. Tworzenie nowego projektu.....................................................................................................4
3.2. Tworzenie schematu blokowego..............................................................................................6
3.3. Kompilowanie Projektu............................................................................................................7
3.4. Timing Simulation....................................................................................................................8
4. Inne źródła informacji o programie Altera Qartus II......................................................................10
1. Wprowadzenie
1.1. Czym jest środowisko Altera Quartus II?
Altera Quartus II jest środowiskiem projektowania i syntezowania układów i systemów
cyfrowych. Posiada bogate możliwości, począwszy od projektowania prostych układów
w środowisku graficznym, poprzez wykorzystanie języków opisu układu, takich jak Verilog lub
VHDL, a na możliwości generowania struktur komputerowych kończąc (SOPC Builder). Do
środowiska dołączona jest duża biblioteka gotowych komponentów. Jeśli jednak nie zawiera
gotowego układu, możliwe jest jego zaprojektowanie i dołączenie do biblioteki. Dostępny jest
również kreator (Mega Function Wizard) niektórych komponentów, takich jak pamięć, który
pozwala na dostosowanie jej do potrzeb projektu.
Altera Quartus II umożliwia również umieszczenie wygenerowanej struktury na układach
FPGA firmy Altera. Przykładem takiego układu może być Cyclone II umieszczony na płycie DE2.
Opracował: mgr inż. Leszek Ciopiński
1
1.2. Jak uzyskać program Altera Quartus II?
Środowisko Quartus dostępne jest w dwóch wersjach:
• Quartus II Subscription Edition – jest to wersja płatna, przeznaczona głównie dla firm
zajmujących się projektowaniem układów cyfrowych. Posiada wsparcie techniczne firmy
Altera.
• Quartus II Web Edition – wersja ta przeznaczona jest dla każdego, kto chce posiadać to
środowisko z dowolnego powodu. Jest to wersja bezpłatna i można ją pobrać ze strony
producenta: www.altera.com . Jedynym warunkiem jest zarejestrowanie się na stronie
internetowej. Wersja ta posiada możliwość projektowania i syntezowania układów
cyfrowych, oraz ich umieszczania na układach FPGA. Nie posiada jednak wsparcia
technicznego, a część komponentów z bibliotek IP (Intellectual Property) nie jest dostępna,
lub dostępna jest na licencji ograniczonej czasowo (oprogramowany układ działa tylko
przez określony czas, można go jednak po tym czasie oprogramować ponownie – pozwala
to na przeprowadzenie badań z wykorzystaniem układu, ale uniemożliwia jego komercyjne
wykorzystanie).
2. Wygląd środowiska
2.1. Struktura głównego okna
Menu
i pasek
narzędzi
Nawigator
projektu
Główne
okno
programu
Okno
statusu
kompilacji
i testowania
Okno
informacji
Opracował: mgr inż. Leszek Ciopiński
2
2.2. Menu i pasek narzędzi
Menu zawiera bogaty zestaw narzędzi i funkcji. Aby przyspieszyć dostęp do najczęściej
używanych narzędzi umieszczone zostały do nich skróty w postaci paska. Do najbardziej istotnych
należą:
• Start compilation – przeprowadza pełny proces syntezy i kompilacji układu, oraz jego
dopasowanie do jednego z produkowanych przez firmę Altera układów FPGA.
• Start Analysis & Synthesis – jest to tylko pierwszy etap pełnej kompilacji. Użycie tej funkcji
jest przydatne, jeśli chcemy sprawdzić, czy utworzona przez nas struktura jest prawidłowo
wykonana. Jeśli projektant popełnił jakiekolwiek błędy przy tworzeniu struktury, zostaną
one wykryte na tym etapie kompilacji. Jeśli jednak zależy nam na uruchomieniu struktury na
układzie FPGA lub dokonanie symulacji, konieczne jest wykonanie pełnej kompilacji.
• Start simulation – służy do rozpoczęcia symulacji przebiegu sygnałów. Pierwszym etapem
tej symulacji jest utworzenie pliku waveform zawierającego opis sygnałów wejściowych. Po
użyciu „Start simulation” Quartus uzupełni stan dla sygnałów wyjściowych. Dokładny opis
tego narzędzia znajduje się w dalszej części instrukcji (3.4. Timing Simulation).
2.3. Nawigator projektu
Zawiera informację, na jaki układ FPGA ma zostać skompilowany dany projekt, oraz listę
plików projektu. Pliki mogą być ułożone hierarchicznie, kiedy w jednym z nich znajduje się
komponent używany w innym pliku.
2.4. Główne okno programu
Na załączonym rysunku w oknie głównym przedstawiony został raport kompilacji. W oknie
tym mogą znajdować się również pliki ze schematem układu lub jego opisem w języku
Verilog/VHDL. Okno to stanowi główne miejsce pracy nad projektem.
2.5. Okno statusu kompilacji i testowania
W trakcie wykonywania przez kompilator zadanego procesu, okno to prezentuje aktualny stan
wykonywanej pracy. Na przedstawionym obrazku widzimy zarówno stopień ukończenia całej
kompilacji, jak również danego jej etapu.
2.6. Okno informacji
W trakcie kompilacji w oknie tym pojawiają się cztery główne rodzaje informacji:
• Info – ogólne informacje, określające parametry ustawień, z jakimi odbywa się kompilacja.
• Warning – ostrzeżenie o podejrzeniu wystąpienia jakiegoś błędu, np.: przypisanie danemu
wejściu stałego sygnału, którego nie można zmienić.
• Critical Warning – ostrzeżenie o wystąpieniu poważnego błędu, który może mieć poważny
wpływ na funkcjonowanie układu. Nie powoduje on jednak wstrzymania procesu
kompilacji, a użytkownik sam musi ocenić, czy jego wystąpienie ma negatywny wpływ na
Opracował: mgr inż. Leszek Ciopiński
3
działanie generowanej struktury.
• Error – rodzaj błędu, który uniemożliwia przeprowadzenie dalszej kompilacji i konieczna
jest ingerencja użytkownika. Najczęstszym przydatkiem wystąpienia tego błędu jest błąd
użytkownika w projektowanej strukturze. Czasami zdarza się błąd braku odpowiedniej
pojemności układu FPGA na zaprojektowaną strukturę. W takim przypadku należy zmienić
układ na pojemniejszy albo zmniejszyć układ.
3. Praca z środowiskiem
3.1. Tworzenie nowego projektu
Pierwszym etapem jest utworzenie nowego projektu. Należy w tym celu wywołać polecenie
File | New Project Wizard . W pierwszym oknie „Introduction” należy wybrać polecenie
„Next”. W kolejnym oknie mamy trzy pola tekstowe.
W pierwszym z nich podajemy ścieżkę do katalogu roboczego projektu. W drugim z nich
wpisujemy nazwę projektu. Ostatnie pole służy do podania nazwy głównego elementu układu, czyli
tego, który nie jest wykorzystywany jako podukład w innej części projektu. Plik o nazwie takiej
samej jak w trzecim polu, jest plikiem wejściowym dla kompilacji. Pozostałe piki są kompilowane
dopiero wówczas, gdy kompilator znajdzie do nich odnośnik. Po podaniu tych danych
przechodzimy do kolejnego okna przyciskiem „Next”.
Opracował: mgr inż. Leszek Ciopiński
4
Służy ono do dodania do projektu gotowych plików. W naszym przypadku pozostawiamy to
okienko niewypełnione i przechodzimy do kolejnego przyciskiem „Next”:
Trzeci krok służy do wyboru układu FPGA, na którym osadzona będzie wygenerowana przez
nas struktura. W pierwszej kolejności przełączamy w części „Target Device” przełącznik na
„Specific device ...”. Spowoduje to, że podczas kompilacji „fitter” - czyli moduł odpowiedzialny za
sposób osadzenia struktury na układzie FPGA, nie będzie próbował dokonać optymalnego wyboru,
na którym układzie najlepiej osadzić układ, aby zmniejszyć koszt jego wdrożenia. W zamian
przygotuje model do osadzenia na wybranym układzie. Pierwsza z tych opcji przydatna jest jeśli nie
wiemy, jaki układ jest nam potrzebny, a mamy pełną dowolność wyboru. W naszym przypadku
przygotujemy projekt do osadzenia na płycie Terasic DE2. Wyposażona jest ona w układ Altera
Cyclone II EP2C35. Dlatego należy najpierw z listy Family wybrać rodzinę Cyclone II, a później z
Opracował: mgr inż. Leszek Ciopiński
5
listy „Available device” wpis EP2C35F672C6. Po wybraniu odpowiednich opcji przechodzimy
dalej przyciskając „Next”.
W ostatnim oknie znajduje się podsumowanie całego projektu. W celu jego utworzenia,
należy wybrać przycisk „Finish”.
3.2. Tworzenie schematu blokowego
W celu utworzenia nowego pliku ze strukturą należy wybrać polecenie File | New.
W nowo otwartym oknie należy wybrać pozycję Block Diagram/Schematic File.
Wybór potwierdzamy przyciskiem OK. Następstwem tego jest ukazanie się edytora schematu
Opracował: mgr inż. Leszek Ciopiński
6
w głównym oknie programu Quartus, co zaprezentowane zostało na poniższym obrazku.
Zalecane jest zapisanie takiego pliku pod odpowiednią nazwą, wykorzystując w tym celu
polecenie File | Save As … . Jeśli będzie to główny schemat układu należy pamiętać, aby
jego nazwa była taka sama, jak podczas tworzenia projektu.
W celu dodania nowego elementu do układu należy dwukrotnie kliknąć lewym przyciskiem
myszy w wolne miejsce. Otworzy się wówczas eksplorator symboli, gdzie możemy wybrać szukany
przez nas element poprzez wybranie go z drzewa katalogów lub wpisując jego nazwę.
Najważniejsze elementy to: and2, nand2, or2, xor2, input i output. Pierwsze z nich to odpowiednie
bramki logiczne. Podane przy nich liczby określają ilość wejść do układu. Elementy input i output
stanowią odpowiednio wejście i wyjście do i z układu. Umieszczenie tych elementów jest
konieczne, aby możliwe było komunikowanie się z układem. Oba te elementy mogą być przypisane
pod wybrany pin układu FPGA.
Elementy umieszczone w schemacie należy ze sobą połączyć za pomocą linii
symbolizujących przewody. W tym celu należy skierować kursor myszy do wyjścia z jednego
układu, a gdy zmieni on swój kształt, należy przycisnąć i przytrzymać lewy przycisk myszy, po
czym przeciągnąć do wejścia wybranego układu. Powstałą w ten sposób linię można modyfikować,
przesuwając ją. Jeśli operacja wykonana została prawidłowo linia będzie na stałe przytwierdzona do
układu i w przypadku jego przesunięcia będzie podążała za układem.
3.3. Kompilowanie Projektu
Aby skompilować projekt, należy zapisać wszystkie pliki projektu. Następnie wybieramy
polecenie Processing | Start Compilation. W oknie statusu rozpocznie się prezentacja
aktualnego stanu kompilacji, a w oknie informacji zaczną pojawiać się nowe wiadomości. W oknie
głównym zostanie wyświetlony raport kompilacji, który wraz z kolejnymi postępami kompilacji
będzie uzupełniany o kolejne informacje.
Opracował: mgr inż. Leszek Ciopiński
7
Jeśli kompilacja zostanie przerwana raportem błędu, konieczne będzie jego usunięcie. Należy
w tym celu przeczytać komunikat ze zrozumieniem i wprowadzić wymagane poprawki. Jeśli pełny
proces kompilacji przebiegł niezakłócony, to raport kompilacji zawiera wszystkie informacje na
temat jego przebiegu. Możliwe jest też przystąpienie do testowania układu lub jego umieszczania
w układzie FPGA.
3.4. Timing Simulation
Etap ten należy rozpocząć po pomyślnym ukończeniu pełnej kompilacji. Wywołujemy
polecenie File | New i w wyświetlonym oknie wybieramy opcję „Waveform file”.
Opracował: mgr inż. Leszek Ciopiński
8
Pasek menu
Podziałka
czasowa
Wartości
sygnałów
dla danych
wejść/wyjść
Lista
testowanych
pinów
(input
i output)
Pasek
narzędzi
Aby dodać nowe piny do edytora, należy kliknąć wolne miejsce na liście testowanych pinów.
Pojawi się wówczas poniższe okno, w którym wpisujemy nazwę żądanego pinu lub jeśli jej nie
znamy, klikamy przycisk „Node Finder...”.
W nowo otworzonym oknie uzyskamy dostęp do wszystkich wygenerowanych pinów
w układzie.
Opracował: mgr inż. Leszek Ciopiński
9
Pola „Named” i „Filter” służą do filtrowania listy pinów, ponieważ jest ich w bardziej
rozbudowanym układzie bardzo dużo. Wystarczy wspomnieć, że mamy możliwość podglądu
wartości sygnałów na niektórych liniach wewnętrznych. W takiej sytuacji pomocne jest użycie filtra
do odnalezienia określonego pinu. W naszych projektach, ponieważ jest mała ilość wejść i wyjść
parametr „filter” ustawiamy na „Pins: all” i klikamy przycisk „list”. Spowoduje to wypełnienie listy
„Nodes Found” nazwami pinów pasujących do wzorca. Zaznaczamy na niniejszej liście interesujące
nas piny i przyciskamy guzik „copy”, aby skopiować je do listy „Sected Nodes”. Wybór
zatwierdzamy przyciskiem OK. Powracamy wówczas do poprzedniego okna w którym również
potwierdzamy dokonanie wyboru przyciskiem OK. Nowe piny powinny pojawić się na liście
testowanych pinów.
Wartości X oznaczają, że nie znany jest stan danej linii. Jest to wartość typowa dla pinów
wyjścia, gdyż ich stan jest uzupełniany w trakcie procesu kompilacji. Na wejściach ustawiamy zaś
wartości 0 lub 1. Aby zmienić stan na danej linii, należy zaznaczyć w oknie wartości sygnałów
wybrany przedział czasowy, a z paska narzędzi wygrać przycisk z cyfrą 0 lub 1. Stan sygnału dla
danego zaznaczenia zostanie zmieniony. Należy jednak pamiętać, że w przypadku tej analizy
uwzględniany jest czas propagacji sygnału przez bramki. Oznacza to, że jeśli na wejściu bramki
zmienimy stan którejś linii, to efekt na wyjściu układu będzie zauważalny dopiero po pewnym
czasie. Dlatego testując kolejne kombinacje należy uwzględniać pewien czas przeznaczony na
ustabilizowanie sygnałów.
Po ustaleniu wszystkich wartości wejść należy zapisać plik pod taką samą nazwą, jak główny
element projektowanego układu. W celu przeprowadzenia symulacji należy wywołać polecenie
Processing | Start Simulation. Po zakończeniu procesu generowania symulacji jej
podgląd możemy zobaczyć wydając polecenie Processing | Simulation Report.
4. Inne źródła informacji o programie Altera Qartus II
Jednym z najlepszych źródeł informacji o tym programie jest Tutorial dołączony do pomocy
programu Quartus. Zachęcam wszystkie zainteresowane osoby do zapoznania się z niniejszym
źródłem, ponieważ oprócz informacji na dany temat zawiera również interaktywny moduł
treningowy. Cały tutorial opracowany jest w sposób łatwy, przejrzysty i czytelny, tak, że nawet
osoby które mają pewne problemy z językiem angielskim nie powinny mieć problemu z jego
użyciem.
Opracował: mgr inż. Leszek Ciopiński
10

Podobne dokumenty