Symulacja funkcjonalna projektu

Najpierw należy utworzyć plik z testujący (testbench) dla testowanego układu. Pisząc testbench w języku VHDL lub Verilog – po prostu tworzymy nowy moduł/entity w języku HDL (bez portów – są nie potrzebne), nazywamy go np. testbench, a następnie osadzamy w nim symulowany układ. W pliku testbench za pomocą języka HDL generujemy także sygnały pobudzające.

1.      Dodajemy nowy plik testbench do projektu:

i wybieramy Add or create simulation sources:

2.      W następnym oknie wybieramy Create File:

i podajemy typ pliku (Verilog lub VHDL) oraz jego nazwę:

3.      Na koniec naciskamy Finish:

4.      System zapyta jeszcze, czy chcemy wprowadzić porty. Testbench nie musi posiadać portów, więc klikamy OK i potwierdzamy Yes:

 

5.      Po poprawnym napisaniu plików HDL, w projekcie powinniśmy zobaczyć prawidłową strukturę naszego kodu.

Do symulacji plik testbench powinien być wybrany jako "top", jego nazwa w hierarchii projektu powinna być wypisana pogrubioną czcionką. Zawsze możemy wybrać plik top naciskając na danym pliku prawym przyciskiem myszy:

6.      W pliku testbench powinny się znajdować pobudzenia. Przed uruchomieniem symulacji dobrze jest ustawić czas trwania symulacji, klikając prawym przyciskiem myszy na SIMULATION i wybierając Simulation Settings:

7.      Następnie w zakładce Simulation wprowadzamy, do kiedy ma trwać symulacja:

 

8.      Teraz można uruchomić symulację funkcjonalną: SIMULATION/Run Simulation/Run Behavioral Simulation:

Symulacja funkcjonalna (Behavioral) to symulacja samego kodu HDL, bez uwzględnienia np. opóźnień wynikających z połączeń w układzie FPGA oraz opóźnień rzeczywistych elementów cyfrowych. Jeśli wykonamy syntezę i implementację, to po każdym etapie można również wykonać inne symulacje, która będą uwzględniały więcej czynników związanych z syntezą i implementacją.

9.      Po wykonaniu symulacji, system przełączy się w tryb wyświetlania symulacji:

Wykonując gesty myszką, można zmienić widok, np.

·          przeciągając w lewo i w górę  = powiększamy

·          przeciągając w prawo i  górę  = pomniejszamy.

Możemy też dodać sygnały z innych modułów projektu: należy wybrać moduł i przeciągnąć sygnały myszką:

10.  Po dodaniu nowych sygnałów, przeważnie trzeba ponownie uruchomić symulację (Relaunch Simulation):