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)
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)
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
library
IEEE;
use
IEEE.std_logic_1164.
all
;
entity
bramka
is
port
(
x, y
:
in
std_logic;
-- wejscia
z
:
out
std_logic
-- wyjscie
);
end
bramka;
architecture
bramka_a
of
bramka
is
begin
z <= x
and
y;
end
bramka_a;
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;
-- wejscia
z
:
out
std_logic
-- wyjscie
);
end component
;
signal
s_x , s_y, s_z
: 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;
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