Symulacja układów cyfrowych w środowisku Xilinx ISE

Wpis w kategorii [ Układy programowalne ]

Masz własną stronę WWW (prywatną lub firmową)? Dodaj ją do katalogu stron związanych z elektroniką. Wpis jest całkowicie darmowy!

ISE

Projekty tworzone w języku Verilog mogą być bardzo proste (oparte o 1-2 moduły), a do sprawdzenia ich poprawności, najczęściej wystarczy pozytywny wynik kompilacji. W przypadku bardziej złożonych projektów, poprawna składnia nie gwarantuje działania układu zgodnie z oczekiwaniem projektanta. Wymagane są testy oraz weryfikacja projektu.

Pamiętaj: 60-70% czasu przeznaczonego na projektowanie układów cyfrowych, poświęcone jest testowaniu i weryfikacji jego działania.

Testowanie układów opisanych w języku Verilog przeprowadza się za pomocą symulacji na komputerze. W naszym przypadku wykorzystamy darmowe oprogramowanie ISE WebPACK firmy Xilinx dostępne na stronie http://www.xilinx.com/tools/webpack.htm (przed pobraniem wymagana jest rejestracja). Istnieje szereg innych narzędzi służących temu celowi (niejednokrotnie lepszych), jednak są to programy płatne. W każdym bądź razie ISE WebPACK jest narzędziem wystarczającym do nauki i tworzenia średnio skomplikowanych układów.

Jako przykład posłuży nam kod, który został przedstawiony we wpisie Verilog - start w jeden dzień. Warto się z nim zapoznać, aby dobrze zrozumieć zasady symulacji układów opisanych w języku HDL.

Jak uruchomić symulację?

Na początku musimy zainstalować i uruchomić środowisko ISE. Gdy już się z tym uporamy (instalacja niestety trwa dość długo), możemy przystąpić do pracy.

1. Utworzenie nowego projektu

Z menu wybieramy File->New Project…

ISE - utworzenie nowego projektu - krok 1

ISE - utworzenie nowego projektu - krok 1

W okienku, które się otworzy wpisujemy nazwę projektu (Project name), wskazujemy gdzie mają być przechowywane pliki projektu (Project location) oraz wybieramy typ modułu głównego (Top-level source type). Tą ostatnią opcję ustawiamy na HDL, która oznacza język opisu sprzętu.

ISE - utworzenie nowego projektu - krok 2

ISE - utworzenie nowego projektu - krok 2

Po kliknięciu w przycisk Next ujrzymy kolejne okienko, w którym należy wybrać układ FPGA, dla którego przygotowana będzie implementacja projektu. Ustawimy tutaj także preferowane narzędzia do syntezy i symulacji oraz język w jakim opiszemy nasz układ.

Jeśli nasz projekt nie ma jeszcze określonego docelowego układu scalonego, lub tworzymy układ tylko do symulacji i nie wykorzystujemy bloków dostępnych tylko w danej jednostce, to wybór układu FPGA jest właściwie dowolny. Warto jednak wybrać układ o słabszych parametrach, co później pozytywnie przełoży się na czas potrzebny na syntezę projektu. Przykładowe wartości pokazane są na poniższym rysunku.

ISE - utworzenie nowego projektu - krok 3

ISE - utworzenie nowego projektu - krok 3

Gdy wszystkie parametry będą już ustawione klikamy w przycisk Next i przechodzimy do następnego okienka. W tym kroku możemy zdefiniować nowe pliki wchodzące w skład projektu. Można to również uczynić w późniejszym etapie i tak właśnie postąpimy w tym przykładzie.

ISE - utworzenie nowego projektu - krok 4

ISE - utworzenie nowego projektu - krok 4

Kolejne okienko pozwala dodać do projektu pliki już istniejące. W naszym przypadku po prostu klikamy Next.

ISE - utworzenie nowego projektu - krok 5

ISE - utworzenie nowego projektu - krok 5

Ujrzymy podsumowanie. Jeśli coś się nie zgadza możemy wrócić i dokonać stosownych zmian. Gdy klikniemy w przycisk Finish, projekt zostanie utworzony.

ISE - utworzenie nowego projektu - krok 6

ISE - utworzenie nowego projektu - krok 6

2. Dodawanie plików do projektu

Gdy projekt jest już utworzony, możemy dodać do niego potrzebne pliki: opis układu oraz testbench.

Rozpoczynamy klikając w opcję Create New Source w zakładce Processes. W otwartym okienku wybieramy Verilog Module oraz wpisujemy nazwę naszego modułu (File name). Plik z opisem układu nazwiemy leds_effect, natomiast testbench - leds_effect_tb.

ISE - dodawanie plików do projektu - krok 1

ISE - dodawanie plików do projektu - krok 1

W następnym okienku możemy zdefiniować porty dostępne w naszym module. Osobiście jednak nigdy nie korzystam z tego formularza. Uważam, że znacznie wygodniej oraz elastyczniej jest definiować porty ręcznie.

ISE - dodawanie plików do projektu - krok 2

ISE - dodawanie plików do projektu - krok 2

Po kliknięciu w Next ujrzymy krótkie podsumowanie.

ISE - dodawanie plików do projektu - krok 3

ISE - dodawanie plików do projektu - krok 3

Kilkamy Finish i plik zostaje dołączony do projektu. Będzie on zawierał zadeklarowany pusty moduł. My w jego miejsce wkleimy kod z czwartej części kursu języka Verilog.

ISE - dodawanie plików do projektu - krok 4

ISE - dodawanie plików do projektu - krok 4

Analogicznie należy postąpić dla drugiego pliku tj. leds_effect_tb.

3. Symulacja behawioralna

Gdy pliki są już dodane do projektu, możemy rozpocząć symulację. W pierwszym kroku należy zmienić Sources for: Implementation na Sources for: Behavioral Simulation w zakładce Sources.

ISE - Symulacja behawioralna - krok 1

ISE - Symulacja behawioralna - krok 1

Gdy już zobaczymy pliki symulacji, musimy zaznaczyć leds_effect_tb w zakładce Sources. Dzięki temu w zakładce Processes pojawią się opcje dostępne dla pliku z testbenchem. Pozwoli to nam uruchomić symulację klikając w opcję Simulate Behavioral Model (dostępna po rozwinięciu Xilnx ISE Simulator).

ISE - Symulacja behawioralna - krok 2

ISE - Symulacja behawioralna - krok 2

Efektem uruchomienia powyższej opcji będzie wygenerowanie i rozpoczęcie symulacji, czyli osiągnięcie naszego celu.

ISE - symulacja behawioralna - krok 3

ISE - symulacja behawioralna - krok 3

Ujrzymy pierwsze 1000ns symulacji. Do wygenerowania następnych danych służy niebieski przycisk play dostępny na górnej listwie z ikonami.

I to by było na tyle. Zachęcam do eksperymentowania z symulatorem i poznania szerzej jego możliwości.

Oceń ten wpis:
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (Nikt jeszcze nie ocenił tego wpisu)
Loading ... Loading ...
Wyświetleń: 1,815
dodajdo

Podobne artykuły

Możesz śledzić komentarze do tego wpisu poprzez kanał RSS 2.0. Możesz także dodać własny komentarz, lub trackback z własnej strony WWW.

Dodaj komentarz