2 Obsługa edytora VHDL - symulator ModelSim

Transkrypt

2 Obsługa edytora VHDL - symulator ModelSim
WYŻSZA SZKOŁA BIZNESU W
DĄBROWIE GÓRNICZEJ
WYDZIAŁ ZARZĄDZANIA INFORMATYKI
I NAUK SPOŁECZNYCH
Instrukcja do laboratorium z przedmiotu:
Bezpieczeństwo informacji oparte o
kryptografię kwantową
Instrukcja nr 2
Adam Ziębiński
Dąbrowa Górnicza, 2010
INSTRUKCJA DO LABORATORIUM Z PRZEDMIOTU:
Bezpieczeństwo informacji oparte o kryptografię kwantową
I. Nr instrukcji: 2
Rok studiów.../ semestr....
II. Temat ćwiczenia: Obsługa edytora VHDL - symulator ModelSim
III. Cel ćwiczenia:
Głównym celem laboratorium jest zapoznanie studentów z projektowaniem układów cyfrowych
z wykorzystaniem układów reprogramowalnych z zastosowaniem aplikacji Xilinx ISE Foundation.
IV. Treść laboratorium:
Obsługa edytora VHDL w aplikacji Xilinx ISE Foundation oraz zapoznanie się z symulatorem w
aplikacji ModelSim.
Na zajęciach studenci zajmą się:
• wykonaniem prostego projektu układu cyfrowego w edytorze VHDL,
• łączeniem elementów bibliotecznych w VHDL,
• symulacją układu,
• podłączeniem projektu układu cyfrowego do wejść wyjść układu programowalnego,
• implementacją projektu dla określonego układu programowalnego.
• Testowanie i uruchamianie projektu z wykorzystaniem systemu uruchomieniowego.
V. Literatura i narzędzia:
Literatura podstawowa:
• Grzywak A, Ziębiński A.: Budowa i projektowanie systemów komputerowych. Skrypt Politechniki
Śląskiej Gliwice 2000.
• Łuba T., Zbierzchowski B., Jasiński K.: Programowalne moduły logiczne w syntezie układów
cyfrowych, WKŁ Warszawa 1992
• Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych WKŁ Warszawa 2000
• Łuba T., Zbierzchowski B., Jasiński K.: Specjalizowane układy cyfrowe w strukturach PLD i FPGA
WKŁ Warszawa 1997
• www.xilinx.com
Literatura uzupełniająca:
• Materiały w przygotowanej maszynie wirtualnej WSBXPXilinx
o C:\Xilinx\FPGA_BTC\Ksiazki
VHDL-Cookbook.pdf
vhdlref_Card.pdf
Programmable Logic Design Quick Start Handbook - pldqsh.pdf
o C:\Xilinx\FPGA_BTC\Dokumentacje
Dokumentacja systemu uruchomieniowego ZL6PLD
Narzędzia:
Przygotowana maszyna wirtualna WSBXPXilinx z zainstalowanym oprogramowaniem CAD
• Xilinx ISE Design Suite 11
o University ISE™ Foundation™ with ISE™ Simulator
o University System Generator + AccelDSP™
o University Embedded Development Kit (EDK)
o University ChipScope Pro™ Tool
• ModelSim XE
Systemy uruchomieniowe
• XUPV505-LX110T Xilinx University Program XUPV5-LX110T Development System
• ZL6PLD - zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx
VI. Wymagania:
Przed przystąpieniem do realizacji tego ćwiczenia student powinien zapoznać się z podstawowymi
zagadnieniami projektowania z wykorzystaniem VHDL.
VII. Zadania do wykonania:
Zaprojektować 16 bitowy licznikiem opisanym w VHDL .
VIII. Zadania szczegółowe:
• Zapoznać się z 10 bitowym licznikiem opisanym w VHDL
• Proszę wykonać symulację projektu i wprowadzić zmianę w liczniku umożliwiającą zliczane w
HEX do FFFF
• Następnie proszę wyprowadzić sygnał przeniesienia ovf i wyprowadzić na nim "1" po
1
•
•
przepełnieniu licznika podczas przejścia z FFFF na 0000.
Wykonać symulację elementu w programie ModelSim.
Wykonać implementację projektu i zaprogramować układ FPGA.
IX. Procedura wykonania zadania laboratoryjnego:
Zajęcia rozpoczynają się od uruchomienia aplikacji Xilinx ISE Design Suite 11 - ISE - Project
Navigator.
Następnie należy otworzyć projekt z katalogu C:\Xilinx\Projekty\BTCstart_sch\BTCstart_sch.xise i
otworzyć plik licznik.vhd. Projekt ten pozwala na zliczanie dziesiętnie do 9999
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity licznik is
Port (res, clk, ena: in std_logic; -- reset, zegar, wlaczenie
-- ovf: out std_logic; -- sygnal przeniesienia
q: out std_logic_vector(15 downto 0) -- wartosc zliczana
);
end licznik;
architecture a of licznik is
signal jedn: std_logic_vector(3 downto 0):="0000"; --przypisanie wartosci poczatkowej sygnalu
signal dzie: std_logic_vector(3 downto 0):="0000";
signal setk: std_logic_vector(3 downto 0):="0000";
signal tysi: std_logic_vector(3 downto 0):="0000";
begin
jedn_cnt: PROCESS (clk, res) BEGIN
IF (res='1') THEN jedn <= "0000";
ELSIF (clk='1' AND clk'EVENT) THEN
IF (ena='1') THEN
IF (jedn="1001") THEN jedn <= "0000";
ELSE jedn <= jedn + 1;
END IF;
END IF;
END IF;
END PROCESS jedn_cnt;
dz_cnt: PROCESS (clk, res) BEGIN
IF (res='1') THEN dzie <= "0000";
ELSIF (clk='1' AND clk'EVENT) THEN
IF (ena='1') THEN
IF (dzie="1001" and jedn="1001") THEN dzie<="0000";
ELSIF (jedn="1001") THEN dzie <= dzie + 1;
END IF;
END IF;
END IF;
END PROCESS dz_cnt;
set_cnt: PROCESS (clk, res) BEGIN
IF (res='1') THEN setk <= "0000";
ELSIF (clk='1' AND clk'EVENT) THEN
IF (ena='1') THEN
IF (setk="1001" AND dzie="1001" AND jedn="1001") THEN setk <= "0000";
ELSIF (dzie="1001" AND jedn="1001") THEN setk <= setk + 1;
END IF;
END IF;
END IF;
END PROCESS set_cnt;
tys_cnt: PROCESS (clk, res) BEGIN
IF (res='1') THEN tysi <= "0000";
ELSIF (clk='1' AND clk'EVENT) THEN
IF (ena='1') THEN
IF (tysi="1001" AND setk="1001" AND dzie="1001" AND jedn="1001" ) THEN
tysi<="0000";
ELSIF (setk="1001" AND dzie="1001" AND jedn="1001") THEN tysi
<= tysi + 1;
END IF;
2
END IF;
END IF;
END PROCESS tys_cnt;
-- ?? -- dołozyć możliwość liczenia w hex (A,B,..,F)
q <= tysi & setk & dzie & jedn;
end a;
Rys.3 Listing Licznik.vhd
Projektowanie
Proszę wykonać symulację projektu i wprowadzić zmianę w liczniku (Rys.1) umożliwiającą zliczane w
HEX do FFFF
Następnie proszę wyprowadzić sygnał przeniesienia ovf i wyprowadzić na nim "1" po przepełnieniu
licznika podczas przejścia z FFFF na 0000.
Symulacja
Aby przejść do symulacji należy przełączyć projekt z trybu Implementacji do Symulacji, uruchamiamy
ModelSim i wykonujemy symulację elementu Licznik.vhd (Rys.2).
Po uruchomieniu programu ModelSim ustawiamy wymuszenia na sygnałach wejściowych. Na wejściu
clk – ustawiamy generator zegara, natomiast na wejściu ena ustawiamy wartość „1”, a na wejściu res
ustawiamy wartość „0”. Po uruchomieniu symulacji licznik zaczyna zliczać impulsy.
Następnie uruchamiamy kolejne kroki symulacji
i obserwujemy symulowany element (rys.2).
Rys.2 Symulacja elementu Licznik.vhd w ModelSim
Implementacja – jak w instrukcji nr.1
Programowanie – jak w instrukcji nr.1
Sprawozdanie
Sprawozdanie powinno zawierać schemat i opis projektu wraz z wynikami symulacji wykonanej
w aplikacji w ModelSim.
3