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
Plik z chomika:
aothunterpl
Inne pliki z tego folderu:
03.pdf
(3935 KB)
04.pdf
(1310 KB)
05.pdf
(2298 KB)
06.pdf
(1358 KB)
07.pdf
(830 KB)
Inne foldery tego chomika:
Sterownik programatora USB Blaster
Zgłoś jeśli
naruszono regulamin