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