1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Podobne dokumenty
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Krótkie wprowadzenie do ModelSim i Quartus2

Bezpieczeństwo informacji oparte o kryptografię kwantową

Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Systemy Czasu Rzeczywistego FPGA

Projektowanie Urządzeń Cyfrowych

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

Sposoby projektowania systemów w cyfrowych

Języki opisu sprzętu VHDL Mariusz Rawski

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Układy reprogramowalne i SoC Implementacja w układach FPGA

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Technika Cyfrowa Wprowadzenie do laboratorium komputerowego

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Projekt prostego procesora

Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie. Technika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

Technika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Projektowanie hierarchiczne Mariusz Rawski

Układy reprogramowalne i SoC Język VHDL (część 4)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

Wygląd okna aplikacji Project Navigator.

Systemy Czasu Rzeczywistego FPGA

Specyfika projektowania Mariusz Rawski

MentorGraphics ModelSim

Systemy Czasu Rzeczywistego FPGA

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Quartus. Rafał Walkowiak IIn PP Wer

Projektowanie układów na schemacie

Bezpieczeństwo informacji oparte o kryptografię kwantową

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL

Modelowanie złożonych układów cyfrowych (1)

Programowalne układy logiczne

Projektowania Układów Elektronicznych CAD Laboratorium

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH

Projektowanie automatów z użyciem VHDL

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Magistrale na schematach

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Programowalne układy logiczne

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

Laboratorium Układów Programowalnych System projektowy WebPack ISE 8.2i

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Modelowanie obiektowe - Ćw. 1.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Scalone układy programowalne FPGA.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

CoDeSys 3 programowanie w języku FBD

Symulacje inwertera CMOS

CoDeSys 3 programowanie w języku drabinkowym LD

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

Środowisko Xilinx ISE i ModelSim XE Instrukcja laboratoryjna

Maszyna stanu State Machine

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

1. Uruchomić Aldec Actve-HDL 9.2 (skrót na pulpicie). Program uruchamia się dosyć długo cierpliwości.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Laboratorium 1. Wprowadzenie do środowiska GnuRadio. I. Wprowadzenie

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Instrukcja obsługi serwera FTP v

1. Przekrój poprzeczny tranzystora nmos. Uzupełnij rysunek odpowiednimi nazwami domieszek (n lub p). S G D

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Transkrypt:

1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project Navigator z grupy Xilinx ISE Design Suite 10.1 W menu File wybierz New Project... Wpisz nazwę projektu w Project name. Top-level source type wybierz HDL. Następnie kliknij Next. 1

Uzupełnij okno dialogowe tak, aby wyglądało jak poniżej, najważniejsze parametry to: XC3S500E, FG320, -5. Gdzie XC3S500E określa programowany układ, natomiast FG320 określa obudowę tego układu. 2

Klikaj Next dopóki nie pojawi się okno takie jak poniżej, gdzie należy kliknąć Finish. ISE WebPack 2. Język opisu sprzętu VHDL. Podczas laboratoriów należy się posługiwać językiem VHDL, który służy do opisu sprzętu. Poniżej opisany jest układ logiczny w języku VHDL oraz jego odpowiednik w postaci symbolu logicznego. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; 3

--use UNISIM.VComponents.all; entity sum is Port ( a : in STD_LOGIC; b : in STD_LOGIC; y : out STD_LOGIC); end sum; architecture Behavioral of sum is begin y <= a or b; end Behavioral; Krótki komentarz do wyżej zamieszczonego kodu. Na samym początku deklarowane jest użycie bibliotek standardu, w których zdefiniowane są podstawowe typy zmiennych oraz działania na nich wykonane. entity sum określa nazwę i deklarację modułu, w tym przypadku jest to sumator, więc wpisana została skrócona nazwa sum Port definiuje jakie sygnały są sygnałami wchodzącymi do układu(in), a jakie wychodzącymi(out), nazwy przed : to po prostu nazwy przypisane danym sygnałom architecture podaje rodzaj opisu jaki został wykorzystany czyli Behavioral dla układu sum, dalej następuje definicja tego układ, między begin, a end Behavioral. y<= a or b, oznacza wykonaj działanie a or b, czyli sumę logiczną dwóch bitów i prześlij jej wynik do sygnału y. Innymi podstawowymi operacjami na bitach jakie można użyć w kodzie VHDL są: not czyli negacja sposób użycia: y <= not a; and mnożenie logiczne y <= a and b; xor mnożenie logiczne y <= a xor b; 4

3. Budowa sumatora dwubitowego. Aby zbudować tak opisany układ, który by wykonał sumę logiczną kliknij w menu Project opcję New Source... Wybierz VHDL Module, w miejscu File name wpisz nazwę swojego układu. 5

Następnie w kolumnie Port name wpisz nazwy sygnałów wejściowych i wyjściowych użytych w układzie logicznym, w kolumnie Direction wybierz rodzaj sygnału, wejściowy(in) lub wyjściowy(out). Pozostałe opcje określają czy sygnał jest szyną danych oraz wyznaczają wielkość szyny. Po wypełnieniu tabeli kliknij Next. 6

W następnym menu kliknij Finish, aby wygenerować szablon jednostki logicznej. Zawartość wygenerowanego pliku powinna przypominać kod VHDL pokazany w punkcie 3 z tą różnicą, że brak w nim wpisu y <= a or b, między begin, a end Behavioral należy uzupełnić opis sprzętu o ten wpis. Dzięki temu uzyskano w pełni funkcjonalny sumator dwubitowy. 7

Aby sprawdzić poprawność składniową opisanego kodu w okienku Processes rozwiń opcję Synthesize XST i kliknij dwukrotnie Check Syntax. ISE WebPack 8

4. Symulacja Aby sprawdzić poprawność zaprojektowanego układu należy przeprowadzić symulację tego układu. Środowisko ISE WebPack ma wbudowany symulator. Przed przystąpieniem do symulacji należy zbudować tzw. Testbench, który określi wymuszenia testujące. Aby zbudować plik testujący należy w menu Project wybrać New Source...: W oknie wybrać VHDL Test Bench i wpisać nazwę pliku testującego w File name. W kolejnym oknie należy wybrać układ dla którego tworzony będzie plik testujący. Dalej kliknąć Next, następnie Finish. 9

Wynikiem tych działań będzie poniższy kod VHDL. LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.all; ENTITY TestBench IS END TestBench; ARCHITECTURE behavior OF TestBench IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT sum PORT( a : IN std_logic; b : IN std_logic; y : OUT std_logic ); END COMPONENT; --Inputs signal a : std_logic := '0'; signal b : std_logic := '0'; --Outputs signal y : std_logic; BEGIN 10

-- Instantiate the Unit Under Test (UUT) uut: sum PORT MAP ( a => a, b => b, y => y ); -- No clocks detected in port list. Replace <clock> below with -- appropriate port name constant <clock>_period := 1ns; <clock>_process :process begin <clock> <= '0'; wait for <clock>_period/2; <clock> <= '1'; wait for <clock>_period/2; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100ms. wait for 100ms; wait for <clock>_period*10; -- insert stimulus here wait; 11

end process; END; Wygenerowany plik zawiera nadmiarowe informacje, które z punktu widzenia tego przykładu są bezużyteczne. Ponadto uniemożliwi to działanie symulacji, bo symulator będzie generował błędy. Aby poprawić plik należy usunąć linijki zawierające: constant <clock>_period := 1ns; <clock>_process :process begin <clock> <= '0'; wait for <clock>_period/2; <clock> <= '1'; wait for <clock>_period/2; end process; Oraz wait for <clock>_period*10; 12

Teraz należy zadać sygnały wymuszające potrzebne do przeprowadzenia testu. Sygnały testujące zostaną nadane zgodnie z tabelą prawdziwości dla dwubitowego działania logicznego or, czyli: Wejścia Wyjście a b y 0 0 0 0 1 1 1 0 1 ISE WebPack 1 1 1 Aby zadać sygnały testujące wg powyżej tabelki proces stim_proc należy uzupełnić w następujący sposób: stim_proc: process begin -- hold reset state for 100ms. wait for 100ms; a <= '0'; b <= '0'; wait for 100ms; a <= '1'; b <= '0'; wait for 100ms; a <= '0'; b <= '1'; wait for 100ms; a <= '1'; 13

b <= '1'; wait for 100ms; -- insert stimulus here wait; end process; Działanie tego procesu jest proste. Zmienia on wartości przypisane do danych sygnałów co 100 ms. a<='0' oznacza przypisanie do sygnału a wartości bitowej '0'. wait for 100ms oznacza czekanie i zarazem podtrzymanie sygnału przez 100 ms. 14

Konfigurowanie i uruchamianie symulacji. W okienku Sources wybierz z Source for opcję Behavioral Simulation. Następnie z okienka Processes rozwiń Xilinx ISE Simulator prawym przyciskiem wybierz Simulate Behavioral Model i wybierz Properties... Tu ustaw Simulation Time na 600 ms, tak jak jest to pokazane poniżej. 15

Kliknij dwukrotnie lewym przyciskiem myszy na Simulate Behavioral Model. 16

Po chwili powinno pokazać się okno podobne do niżej przedstawionego, zawierające wynik symulacji. ISE WebPack Jak widać na przebiegu sygnałów pokazane są sygnały wymuszające a i b, widać, że a i b na początku są bitowymi zerami, następnie a staje się bitową jedynką, b pozostaje bez zmian... Poniżej widać sygnał y będący odpowiedzią układu na daną parę wymuszeń, dla a=0 i b=0 y=0, natomiast dla a=1 i b=0 odpowiedź y=1, zgodnie z tabelą prawdziwości. 17

5. Zadanie Na podstawie powyższych informacji i zebranego doświadczenia przedstaw poniższy schemat układu logicznego w postaci języka opisu sprzętu VHDL i przeprowadź jego symulację. Polecane kursy w internecie i literatura: http://home.elka.pw.edu.pl/~pkaleta/vhdl/kurs/index.html Józef Kalisz, Podstawy elektroniki cyfrowej 18