03.pdf

(3935 KB) Pobierz
Krok po kroku
Kursy EP
Pierwsze kroki z FPGA (3)
Szkoła MAXimatora – testowanie funkcjonalne
i weryfikacja działania projektu w środowisku Quartus
Prime z wykorzystaniem symulatora ModelSIM.
W  tej części artykułu przedstawimy krok-po-kroku symulację projektu licznika,
którego przygotowanie opisaliśmy miesiąc temu. Do  symulacji użyjemy
bezpłatnego symulatora ModelSIM oraz wbudowanego w  Quartus Prime
graficznego edytora przebiegów.
Środowisko projektowe Quartus Prime zostało wyposa-
żone przez producenta w  kilka narzędzi umożliwiają-
cych symulowanie funkcjonalne projektów implemen-
towanych w  FPGA. W  artykule pokażemy najprostszy
z  nich, wykorzystujący symulator wbudowany w  śro-
dowisko. Jego właściwości użytkowe są  wystarcza-
jące do  symulowania projektów implementowanych
w  bezpłatnej wersji programu Quartus Prime, bazuje
on na specjalnej, bezpłatnej wersji zewnętrznego symu-
latora ModelSIM firmy Mentor Graphics. Za edycję i pre-
zentację przebiegów będących wynikiem symulacji
odpowiada wygodny w użyciu
Waveform Editor.
Symulacja projektu wymaga przygotowania dla
aktualnie otwartego projektu pliku o  rozszerzeniu
vwf,
co wymaga wybrania w oknie
File
New,
w sek-
cji
Verification/Debugging Files,
opcji
University Pro-
gram VWF
(rysunek 
1).
Spowoduje to  otwarcie okna
edytora przebiegów
Waveform Editor,
które pokazano
na rysunku 2. Jak widać jest ono puste, musimy wpro-
wadzić do  opisu symulacji wszystkie linie wejściowe
i wyjściowe oraz sygnały (węzły) wewnętrzne, których
działanie chcemy uwzględnić w  testach. W  tym celu
stajemy myszką w lewej części okna edytora i klikamy
prawym przyciskiem myszy, co  spowoduje wyświetle-
nie menu kontekstowego (rysunek 3), z którego wybie-
ramy opcję
Insert Node or Bus…,
co spowoduje wyświe-
tlenie okna pokazanego na 
rysunku  4.
Żeby wyświe-
tlić wszystkie interesujące nas sygnały, linie wejściowe
i  wyjściowe, należy przycisnąć przycisk
Node Fin-
der…,
w  wyniku czego zostanie wyświetlone okno jak
na 
rysunku  5.
W  zależności od  tego, jakiego rodzaju
sygnały nas interesują, warto użyć preselektora (fil-
tru), który znajduje się w górnej prawej części wyświe-
tlonego okna (rysunek 
6),
przy czym trzeba pamiętać,
Poprzednie części kursu i dodatkowe materiały dostępne są na FTP:
ftp://ep.com.pl,
user:
86118,
pass:
8655327a
112
ELEKTRONIKA PRAKTYCZNA 6/2016
Krok po kroku
Kursy EP
Rysunek 1. Symulacja projektu wymaga przygotowania dla aktualnie otwartego projektu pliku o rozszerzeniu
vwf
że  po  ustaleniu trybu filtrowania trzeba każdorazowo
nacisnąć przycisk
List,
który odświeża listę wyświetlo-
nych sygnałów.
W  naszym przypadku skupimy się na  analizie zmian
stanów na  liniach wyjściowych w  zależności do  zmian
stanów na liniach wejściowych, więc filtr powinien być
ustawiony na 
Pins: all.
Listę znalezionych przez symu-
lator linii wejściowych i  wyjściowych widać na  rys.  5,
warto ją porównać z naszym projektem (rysunek 7) – jak
widać, w obydwu przypadkach nazwy linii wejściowych
i wyjściowych są identyczne.
Po wybraniu linii i/lub sygnałów, które będą uwzględ-
niane podczas symulacji (w  naszym przypadku będą
to wszystkie linie) przenosimy je do listy
Selected Nodes
(rysunek 
8).
Wybór zatwierdzamy przyciskiem
OK,
po  zatwierdzeniu w  kolejnym oknie także za pomocą
OK,
wybrane sygnały zostaną wyświetlone w  edytorze
przebiegów jak pokazano na 
rysunku  9.
Liniom wej-
ściowym domyślnie są przypisane stany logicznego „0”,
a wyjściom stany nieustalone.
Teraz musimy przypisać stany linii wejściowych,
na które będziemy badać reakcje wyjść zaprojektowanego
Poprzednie części kursu i dodatkowe materiały dostępne są na FTP:
ftp://ep.com.pl,
user:
86118,
pass:
8655327a
Rysunek 2. Okno edytora przebiegów
Waveform Editor
ELEKTRONIKA PRAKTYCZNA 6/2016
113
Krok po kroku
Kursy EP
Rysunek 7. Schemat projektu
Rysunek 3. Wyświetlenie menu kontekstowego
Rysunek 8. Przeniesienie sygnałów do Selected
Nodes
Rysunek 4. Okno
Insert Node or Bus
Rysunek 9. Wyświetlenie wybranych sygnałów w edytorze
przebiegów
Poprzednie części kursu i dodatkowe materiały dostępne są na FTP:
ftp://ep.com.pl,
user:
86118,
pass:
8655327a
Rysunek 5. Okno
Node Finder
Rysunek 10. Wybór opcji
Value
Count Value
z menu kontekstowego
Rysunek 6. Okno filtru (preselektora)
układu. Zaczniemy od  utworzenia na  wejściu CLKin
sygnału zegarowego, co wymaga ustawienia kursora myszki
w dowolnym miejscu edytowanego przebiegu i naciśnięcia
prawego przycisku myszki. Z  wyświetlonego menu kon-
tekstowego wybieramy opcje
Value
Count Value
(rysu-
nek 10),
co spowoduje wyświetlenie okna edycji przebiegu
zegarowego, które pokazano na 
rysunku  11.
W  pozy-
cji
Transitions Occur
można zdefiniować odstępy cza-
sowe pomiędzy zboczami sygnału zegarowego (dla war-
tości 10 ns okres przebiegu wynosi 20 ns).W wyniku opi-
sanego ciągu operacji uzyskaliśmy przebieg jak pokazano
na 
rysunku  12.
W  podobny sposób postępujemy z  pozo-
stałymi sygnałami wejściowymi, na rysunku 13
pokazano
przykładowe definicje przebiegów.
114
ELEKTRONIKA PRAKTYCZNA 6/2016
Krok po kroku
Kursy EP
Rysunek 11. Okno edycji przebiegu zegarowego
Rysunek 15. Grupowanie wybranych linii w magistrale
Rysunek 16. Wyświetlenie przebiegu na zgrupowanych
liniach
Rysunek 12. Wyświetlenie symulowanego przebiegu
Rysunek 13. Przykładowe definicje przebiegów
Rysunek 14. Wynik symulacji funkcjonalnej weryfikowanego układu
Symulator wbudowany w  Quartus Prime umożliwia
wykonanie dwóch rodzajów symulacji:
− Funkcjonalnej, podczas której brane są  pod uwagę
wyłącznie zależności logiczne pomiędzy sygnałami,
bez uwzględnienia wpływu czasów ich propagacji
na działanie układu.
− Czasowej, która jest bliższa realnym układom,
bowiem oprócz zależności logicznych brane są  pod
uwagę także zależności czasowe pomiędzy sygna-
łami. Na 
rysunku  14
pokazano wynik symulacji
funkcjonalnej weryfikowanego układu.
Edytor przebiegów wyposażono w  kilka mechani-
zmów, które ułatwiają przygotowanie symulacji projek-
tów o większej niż w przykładzie liczbie analizowanych
wejść i  wyjść. Można na  przykład grupować wybrane
Poprzednie części kursu i dodatkowe materiały dostępne są na FTP:
ftp://ep.com.pl,
user:
86118,
pass:
8655327a
Rysunek 17. Zmiana formatu wyświetlanych wartości
linie w magistrale (rysunki 15 i 16), można także zmie-
niać format wyświetlanych wartości w  zależności
od indywidualnych potrzeb (rysunek 17).
W  ten sposób przeszliśmy kompletną ścieżkę imple-
mentacji prostego projektu w FPGA. W kolejnym wyda-
niu EP skupimy się na  pokazaniu zaawansowanych
mechanizmów weryfikacji projektów implementowa-
nych w FPGA, koncepcyjnie zbliżonych do debugowania
programów uruchamianych na mikrokontrolerach.
Piotr Zbysiński, EP
http://
www.ep.com.pl/KAP
ELEKTRONIKA PRAKTYCZNA 6/2016
115
Zgłoś jeśli naruszono regulamin