Modelowanie i symulacja systemów cyfrowych Laboratorium 3

Transkrypt

Modelowanie i symulacja systemów cyfrowych Laboratorium 3
Modelowanie i symulacja systemów cyfrowych
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Remigiusz Wiśniewski
dr inŜ. Arkadiusz Bukowiec
Laboratorium 3-4
Procesy w języku VHDL
CEL ĆWICZENIA
•
•
Zapoznanie ze sposobami wykorzystania procesów w języku VHDL,
Sposób opisu układów sekwencyjnych w języku VHDL.
PRZYGOTOWANIE DO ĆWICZENIA
•
•
Budowa i sposób działania podstawowych układów kombinacyjnych i sekwencyjnych,
Podstawowe składnie języka VHDL.
ZADANIA DO ZREALIZOWANIA
Zad. 1. Zaprojektuj i przeprowadź symulację bramki AND wykorzystując instrukcję process.
• Do realizacji zadania wykorzystaj następujący kod:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity bramka is
port(
a : in STD_LOGIC;
b : in STD_LOGIC;
y : out STD_LOGIC
);
end bramka;
architecture bramka_and of bramka is
begin
bramka_and_process: process (a,b)
begin
y<=a and b;
end process;
end bramka_and;
Zad. 2. Do układu z zadania 1 dodaj nowe architektury opisujące bramki NOT, OR, XOR, NOR,
NAND oraz XNOR. Do realizacji powyŜszych modeli wykorzystaj instrukcję process.
Zad. 3. Wykorzystując process oraz instrukcję IF zaprojektuj multiplekser
jednobitowy (2 na 1). W przypadku, gdy na wejściu S pojawi się inna
wartość niŜ ‘0’ lub ‘1’, na wyjściu Y powinna pojawić się wartość ‘Z’
(stan wysokiej impedancji). Przeprowadź symulację układu.
Zad. 4. Do układu z zadania 3 dodaj nową architekturę, wykorzystując
instrukcję CASE.
A
B
Y
S
mux
Modelowanie i symulacja systemów cyfrowych
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Remigiusz Wiśniewski
dr inŜ. Arkadiusz Bukowiec
Zad. 5. Zaprojektuj model przerzutnika D wyzwalany zboczem
narastającym. Układ powinien posiadać dwa wyjścia (Q oraz nQ)
oraz dwa wejścia: informacyjne D oraz zegarowe Clk.
Do realizacji zadania wykorzystaj poniŜszy kod:
D
Set
Q
Clk Reset
ffd
entity D_FF is
port (D,Clk : in BIT;
Q : out BIT := '0';
nQ : out BIT := '0'
);
end entity D_FF;
architecture opis_D_FF of D_FF is
begin
process_D_FF: process (Clk)
begin
if Clk = '1' and Clk'Event then
Q <= D;
NQ <= not D;
end if;
end process;
end architecture opis_D_FF;
Zad. 6. Do układu z zadania 5 dodaj synchroniczne wejście zerujące Set oraz asynchroniczne
wejście zerujące Reset.
Zad. 7. Napisać model sygnalizatora świetlnego dla samochodów. Układ powinien posiadać trzy
wyjścia (światła Red, Yellow, Green), wejście zegarowe, ustawiające oraz zerujące. Układ
powinien realizować funkcję sygnalizatora świetlnego (powinny zapalać się cyklicznie
światła: Red -> Red & Yellow -> Green -> Yellow).