Laboratorium 1
Transkrypt
Laboratorium 1
Laboratorium 1 Temat: Przygotowanie środowiska projektowego. Poznanie edytora i symulatora. Kompilacja i symulacja przykładowego kodu. 1. Przygotowanie środowiska projektowego a) zajęcia prowadzone będą w oparciu o środowisko projektowe Active VHDL v. 3.1 b) przed uruchomieniem programu należy utworzyć katalog z numerem swojego albumu w katalogu f:\vhdl\ 2. Uruchomienie edytora, tworzenie nowego projektu a) uruchomić środowisko projektowe wybierając z menu głównego program Active-VHDL lub skrót z pulpitu. b) w oknie Getting Started wybrać istniejący projekt (open existing design) lub stworzyć nowy (create new design) c) w przypadku tworzenia nowego projektu w pierwszym oknie New Design Wizard wpisać nazwę nowego projektu (Type the design name), wybrać miejsce przechowywania folderu z nowo tworzonym projektem - f:\vhdl\nr_albumu (select the location of the design folder) d) w kolejnym oknie New Design Wizard wybrać Create an empty design e) dodać nowy plik dwukrotnie klikając na Add New File: a następnie w oknie Add New File wybierając Create Empty VHDL Source File: 3. Kompilacja przykładowego kodu a) stwórz nowy projekt i dodaj do niego pusty plik (Add New File -> Create Empty VHDL Source File) Projektowanie układów VLSI © 2005 Copyright by Tomasz Fałat b) w oknie edytora wpisz następujący kod (realizacja 2-wej. bramki AND) library IEEE; use IEEE.std_logic_1164.all; entity bramka is port( x, y z ); end bramka; : in std_logic; : out std_logic -- wejscia -- wyjscie architecture bramka_a of bramka is begin z <= x and y; end bramka_a; c) zapisz bieżący plik (ctrl+s) jako np.: bramka.vhd w katalogu : f:\vhdl\nr_albumu\nazwa_projektu\src\ d) skompiluj plik Compile (F11) dodając go do bieżącego projektu (Would you like to add this file to current design? -> Tak) e) dodaj kolejny pusty plik (Add New File -> Create Empty VHDL Source File) f) w oknie edytora wpisz następujący kod (jednostka testowa [ang. testbench] układu zrealizowanego w pierwszym pliku - bramka.vhd) library IEEE; use IEEE.std_logic_1164.all; entity bramka_tb is end bramka_tb; architecture bramka_tb_a of bramka_tb is component bramka is port( x, y : in std_logic; z : out std_logic ); end component; signal s_x , s_y, s_z -- wejscia -- wyjscie : std_logic; begin lut: bramka port map(x=>s_x, y=>s_y, z=>s_z); film: process begin s_x <= '0'; s_y <= '0'; wait for 10 ns; s_x <= '0'; s_y <= '1'; wait for 10 ns; s_x <= '1'; s_y <= '0'; wait for 10 ns; s_x <= '1'; s_y <= '1'; wait for 10 ns; assert false severity failure; end process film; end bramka_tb_a; g)zapisz bieżący plik (ctrl+s) jako np.: bramka_tb.vhd w katalogu : Projektowanie układów VLSI © 2005 Copyright by Tomasz Fałat f:\vhdl\nr_albumu\nazwa_projektu\src\ h) skompiluj plik Compile (F11) dodając go do bieżącego projektu (Would you like to add this file to current design? -> Tak), a następnie skompiluj ponownie całość projektu (Compile All) 4. Symulacja przykładowego kodu a) ustawić nadrzędną architekturę (testbench): design -> settings -> top-level selection -> entity/architecture -> bramka_tb (testbench) b) otworzyć nowe okno przebiegów czasowych New Waveform c) zainicjalizuj symulację: Simulation -> Initialize Simulation d) przenieś (drag & drop) wybrane sygnały do okna przebiegów e) uruchom symulację: Simulation -> Run, sprawdź poprawność działania zaprojektowanego układu 5. Zadania do realizacji a) przerobić przykładowy kod aby realizował 3-wejściową bramkę OR. b) wykonać symulację Projektowanie układów VLSI © 2005 Copyright by Tomasz Fałat