Krótkie wprowadzenie do ModelSim i Quartus2



Podobne dokumenty
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

MentorGraphics ModelSim

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Układy Cyfrowe laboratorium

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Systemy Czasu Rzeczywistego FPGA

Bezpieczeństwo informacji oparte o kryptografię kwantową

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Metoda Newtona przyjmuje następujące założenia dla funkcji :

Specyfika projektowania Mariusz Rawski

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Sposoby projektowania systemów w cyfrowych

Systemy Czasu Rzeczywistego FPGA

Języki opisu sprzętu VHDL Mariusz Rawski

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Język opisu sprzętu VHDL

Quartus. Rafał Walkowiak IIn PP Wer

Modelowanie złożonych układów cyfrowych (1)

Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.

Programowalne układy logiczne

Projekt prostego procesora

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Układy reprogramowalne i SoC Implementacja w układach FPGA

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Układy reprogramowalne i SoC Język VHDL (część 4)

Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska,

Technika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II

Projektowanie automatów z użyciem VHDL

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Systemy Czasu Rzeczywistego FPGA

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Projektowanie hierarchiczne Mariusz Rawski

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Projektowanie Urządzeń Cyfrowych

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

PUCY Kolos 2: Reloaded

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie z użyciem procesora programowego Nios II

Modelowanie logiki rewersyjnej w języku VHDL

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Laboratorium Komputerowe Systemy Pomiarowe

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Workflow automatyczna kopia bazy danych

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Projektowanie baz danych za pomocą narzędzi CASE

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Bezpieczeństwo informacji oparte o kryptografię kwantową

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

CoDeSys 3 programowanie w języku FBD

Ukªady Kombinacyjne - cz ± I

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL

PROGRAMOWALNE STEROWNIKI LOGICZNE

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wyświetlacz siedmiosegmentowy

Programowalne układy logiczne

Projektowanie w VHDL

Elektronika i techniki mikroprocesorowe

Symulacje inwertera CMOS

1.Wstęp. 2.Generowanie systemu w EDK

REFERAT PRACY DYPLOMOWEJ

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Windows 10 - Jak uruchomić system w trybie

Konfigurowanie PPP dla Windows 7

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Układy kryptograficzne z uŝyciem rejestrów LFSR

Instrukcje sekwencyjne

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Instrukcja NAWIGACJA MEDIATEC 7 CALI

Przykład połączenie z bazą danych

Systemy Czasu Rzeczywistego FPGA

Informatyka I : Tworzenie projektu

Synteza strukturalna

CoDeSys 3 programowanie w języku drabinkowym LD

Podręcznik administratora Systemu SWD ST Instrukcja instalacji systemu

Makropolecenia w PowerPoint Spis treści

Transkrypt:

Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1

Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2

Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera Starter Edition (tutaj wersja 6.6c) Quartus2 Web Edition (tutaj wersja 10.1) 3

System ModelSim ModelSim jest zintegrowanym, graficznym środowiskiem do modelowania i symulacji modeli w językach V i Verilog Kompilacja sprawdzanie semantycznej poprawności plików, sprawdzanie hierarchii i związków pomiędzy portami i parametrami, poprawność odwołań do jednostek projektowych, funkcji i zadań Symulacja z linii komend lub za pomocą interfejsu graficznego 4

Weryfikacja Weryfikacja projektu zajmuje do 70% czasu tworzenia całego systemu cyfrowego Zazwyczaj projekt weryfikacji powstaje w innym zespole Problem: w systemie projektowania fpga po syntezie logicznej nie ma wszystkich węzłów logicznych Rozwiązanie: system do modelowania języka np. ModelSim Wada: wolne dla dużych systemów cyfrowych 5

Plik: bramka.vhd -- Model bramki i rejestru library ieee; use ieee.std_logic_1164.all; entity bramka is port ( a : in std_logic; b : in std_logic; clk : in std_logic; reset : in std_logic; y : out std_logic; ); end entity; architecture arch_bramka of bramka is signal rejestr : std_logic; signal bramka : std_logic; Begin b0: process (clk,reset) begin if(reset = '1') then rejestr <= '0'; elsif (rising_edge(clk)) then rejestr <= bramka; end if; end process; bramka <= a xor b; y <= rejestr; end arch_bramka; 6

Plik: bramka_tb.vhd library ieee; use ieee.std_logic_1164.all; entity bramka_tb is end entity; architecture arch_bramka_tb of bramka_tb is signal T_clock : std_logic ; signal T_reset : std_logic ; signal T_a : std_logic ; signal T_b : std_logic ; signal T_y : std_logic ; component bramka port ( y : out std_logic ; a : in std_logic ; clk : in std_logic ; b : in std_logic ; reset : in std_logic ); end component; begin process -- okres zegara 10ns begin T_clock <= '0'; wait for 5 ns; T_clock <= '1'; wait for 5 ns; end process; process -- sygnal reset begin wait for 10 ns; T_reset <= '1'; wait for 5 ns; T_reset <= '0'; wait; end process; process -- sygnaly testowe begin T_a <= '0'; T_b <= '0'; wait for 30 ns; T_a <= '0'; T_b <= '1'; wait for 20 ns; T_a <= '1'; T_b <= '0'; wait for 20 ns; T_a <= '1'; T_b <= '1'; wait; end process; UT : bramka -- testowany blok port map ( y => T_y, a => T_a, clk => T_clock, b => T_b, reset => T_reset ) ; end arch_bramka_tb; 7

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 8

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 9

Tworzenie projektu ModelSim Ustawiamy nazwę projektu Ustawiamy ścieżkę projektu odajemy pliki do projektu 10

Kompilacja projektu Kompilacja Status pliku:? nieskompilowany V skompilowany X błędy kompilacji 11

Kompilacja projektu i korekta kodu Poprawiamy błąd: usunąć na końcu linii 12 znak ; Klik Klik 12

Kompilacja projektu i korekta kodu Kompilacja wskazanego pliku Informacje w oknie konsoli 13

Kompilacja projektu Skompilowany plik w bibliotece work Zmieniamy zakładkę ibrary 14

Symulacja projektu Wybieramy Start Wybieramy bramka Alternatywa: klikamy na bramka ub: w oknie konsoli wpisujemy vsim work.bramka 15

Symulacja projektu Zaznaczamy bramka odajemy wszystkie sygnały do okna graficznego wave odane sygnały ub w linii komend: VSIM> add wave * 16

Symulacja wymuszenie wartości sygnałów Graficznie sygnał zegarowy clk o okresie 10 ns 17

Symulacja wymuszenie wartości sygnałów Graficznie sygnały wejściowe a i b ustalamy na 0 18

Symulacja wymuszenie wartości sygnałów Graficznie ustalamy krok symulacji na 10 ns Ustalamy krok Uruchamiamy symulację o zadany krok 19

Symulacja wymuszenie wartości sygnałów Ustalamy krok symulacji na 5 ns Ustalamy wartość 1 dla sygnału reset Wykonujemy krok symulacji (5 ns) Ustalamy wartość 0 dla sygnału reset 20

Symulacja wymuszenie wartości sygnałów z linii komend Z linii komend (1): Komendy można zapisać do pliku skryptu: test.do Z linii komend (2): VSIM>do test.do # Wyczyszczenie wartosci i okna wave restart -force nowave # Wymuszenie wartosci i symulacja add wave -r * force -freeze clk 0 0, 1 {5 ns} -r {10 ns} force -freeze a 0 0 force -freeze b 0 0 run 10 ns force -freeze reset 1 0 run 5 ns force -freeze reset 0 0 run 15 ns force -freeze b 1 0 run 20 ns force -freeze a 1 0 force -freeze b 0 0 run 20 ns force -freeze b 1 0 run 30 ns 21

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 22

Symulacja program testujący Po kompilacji, uruchamiamy symulator dla bramka_tb 23

Symulacja dodanie sygnałów o okna graficznego wave dodajemy sygnały: Wszystkie z jednostki projektowej: add wave sim:/bramka_tb/* Wszystkie z jednostki projektowej i zależnych: add wave -r sim:/bramka_tb/* Wszystkie z projektu: add wave -r /* Sygnały z jednostki bramka i bramka_tb 24

Symulacja bramka_tb VSIM>run 100 ns Moment charakterystyczny sygnału zegarowego Wyjście z bramki kombinacyjne Wyjście z bramki sekwencyjne 25

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 26

Projekt w Quartus2 27

Projekt w Quartus2 nazwa projektu Ustawiamy ścieżkę projektu Ustawiamy nazwę projektu omyślnie (ale nie musi) nazwa głównej jednostki projektowej jak nazwa projektu 28

Projekt w Quartus2 dodanie pliku bramka.vhd 29

Projekt w Quartus2 wybór układu fpga Wybieramy fpga: 1. z rodziny Cyclone2 2. układ EP2C35F672C6 (układ na płycie E2) 30

Projekt w Quartus2 ustawienia symulatora dla ModelSim 31

Projekt w Quartus2 ustawienia symulatora dla ModelSim 32

Projekt w Quartus2 ustawienia ścieżki do ModelSim Opcjonalnie, przy pierwszym uruchomieniu: sprawdzić czy poprawna ścieżka do aktualnej instalacji ModelSim-Altera Tools>Options: <install_path>/modelsim_ase/win32aloem 33

Projekt w Quartus2 kompilacja Kompilacja projektu 34

Projekt w Quartus2 kompilacja Postęp wykonania kolejnych etapów kompilacji 35

Projekt w Quartus2 symulacja funkcjonalna Wywołanie symulatora Uruchomienie symulacji z biblioteki rtl_work 36

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 37

Projekt w Quartus2 ustawienie testu Po kompilacji, konfigurujemy test 38

Projekt w Quartus2 ustawienie testu Wybór symulatora: ModelSim-Altera Wybór języka: V Ustawienia symulatora Ustawienia dla testu Wybór dla programu testowego 39

Projekt w Quartus2 utworzenie testu 40

Projekt w Quartus2 utworzenie testu Nazwa testu Nazwa głównej jednostki projektowej z bramka_tb Ustalenie czasu trwania testu odanie programu testującego z pliku bramka_tb.vhd 41

Projekt w Quartus2 symulacja funkcjonalna Wywołanie symulatora 42

Projekt w Quartus2 symulacja funkcjonalna W ModelSim-Altera automatycznie wykona się skrypt 43

Projekt w Quartus2 symulacja funkcjonalna Automatycznie dodany widok graficzny z dodanymi sygnałami z jednostki projektowej 44

Scenariusze użycia Projekt w ModelSim - symulacja z linii komend i za pomocą edytora graficznego Projekt w ModelSim symulacja programu testującego TestBench Projekt w Quartus + symulacja funkcjonalna w ModelSim Projekt w Quartus + symulacja funkcjonalna programu testującego w ModelSim Projekt w Quartus + symulacja czasowa programu testującego w ModelSim 45

Projekt w Quartus2 ustawienie testu Po kompilacji, konfigurujemy test 46

Projekt w Quartus2 ustawienie testu Wybór symulatora: ModelSim-Altera Wybór języka: V Ustawienia symulatora Ustawienia dla testu Wybór dla programu testowego 47

Projekt w Quartus2 utworzenie testu Nazwa testu Nazwa głównej jednostki projektowej z bramka_tb Zaznaczamy opcję dla symulacji czasowej Nazwa instancji testowanej UT w bramka_tb Ustalenie czasu trwania testu odanie programu testującego z pliku bramka_tb.vhd 48

Projekt w Quartus2 symulacja czasowa Wywołanie symulatora Wybór modelu symulacji Slow lub Fast 49

Projekt w Quartus2 symulacja czasowa Na symulacji czasowej widoczne opóźnienie między zmianą sygnału t_clock a wyjściem synchronicznym t_y wynosi ok. 5 ns 50