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