Technika Cyfrowa Wprowadzenie do laboratorium komputerowego
|
|
- Krystyna Kowalewska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział EAIiE Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego
2 1. Wstęp Celem niniejszego ćwiczenia jest zapoznanie z różnymi sposobami projektowania cyfrowych układów kombinacyjnych przy użyciu języków opisu sprzętu (Hardware Description Languages). Do tego celu wykorzystany zostanie język VHDL. Ponadto Uczestnicy kursu zostaną zapoznani z dedykowanym środowiskiem programistycznym firmy Xilinx narzędziem ISE oraz zaimplementują prostą funkcję logiczną w układzie Spartan 3, który stanowi serce systemu developerskiego Spartan-3 firmy Digilent. 2. Wprowadzenie do narzędzia ISE Web Pack Korzystając z Menu Start systemu Windows proszę uruchomić narzędzie ISE Project Navigator firmy Xilinx. Menu Start Xilinx ISE Design Suite 14.x ISE Design Tools Project Navigator Program można uruchomić alternatywnie korzystając z ikony znajdującej się na Pulpicie. 2
3 Otworzy się okno narzędzia ISE Project Navigator. W jego lewej górnej części znajduje się schierarchizowane drzewo aktualnie używanego projektu (1) oraz dwa dostępne widoki implementacji oraz symulacji (2). Poniżej znajduje się okienko pozwalające wybrać szereg działań dla aktualnie używanego projektu, np. jego syntezę i implementację (3). Poniżej okienka znajduje się pasek zakładek (4) sterujący widokiem drzewa projektu. Centralnie na dole umieszczono okno konsoli (5). Z prawej strony znajduje się natomiast główne okno programu (6)
4 Tworzenie nowego projektu sprowadza się do wyboru z zakładki File opcji New Project File New Project 4
5 W nowootwartym oknie czarodzieja proszę stosownie nazwać projekt, a następnie określić katalog, w którym zostanie on utworzony. UWAGA! Narzędzie ISE nie toleruje znaku spacji w ścieżce dostępu do katalogu roboczego projektu. Należy o tym każdorazowo pamiętać tworząc/przenosząc projekt na różnych maszynach. Name: Projekt1 Location: C:\MyXilinx\Projekt1 (przykładowo) Na koniec proszę kliknąć na przycisku Next. Next 5
6 W nastepnym oknie należy wybrac docelowy układ, w którym projekt ma zostać zaimplementowany. Ponieważ w trakcie kursu do celów implementacyjnych wykorzystywana będzie płytka Nexys3, toteż proszę wybrać układ docelowy taki, jaki znajduje się na płytce. Family Spartan3 Device XC3S200 Package FT256 Speed -5 Proszę dopilnować również, aby wybrane zostały stosowne (domyślne) narzędzia do syntezy i implmentacji. Synthesis Tool XST (VHDL/Verilog) Simulator ISim (VHDL/Verilog) Preferred Language VHDL VHDL Source Analysis Standard VHDL-93 Po wybraniu wszystkich opcji proszę kliknąc na przycisku Next. Next 6
7 Ostatnie okno czarodzieja stanowi podsumowanie nowoutworzonego projektu. Po zapoznaniu się z nim proszę kliknąć na przycisku Finish. 7
8 3. Funkcja dokładnie jeden z trzech Funkcja typu dokładnie jeden z N zwraca wartość 1 wtedy i tylko wtedy, gdy dokładnie jeden argument wejściowy przyjmuje wartość 1. Schemat ideowy kombinacyjnego układu cyfrowego o takiej funkcjonalności oraz jego tablicę prawdy przedstawiono poniżej. x 1 x 2 x 3 y Zmienne x 1, x 2 i x 3 z tablicy powyżej odpowiadają wejściom układu, podczas gdy zmienna y odpowiada jego wyjściu. Przystąpimy teraz do opisania trójargumentowej funkcji dokładnie jeden z trzech w języku VHDL na kilka różnych, równoważnych sposobów, tak by zaznajomić się z różnymi konstrukcjami tego języka Operatory boolowskie W języku VHDL wyróżnić można 6 następujących operatorów logiki dwuargumentowej (tzw. operatory boolowskie) AND, NAND, OR, NOR, XOR i XNOR oraz 1 operator jednoargumentowy NOT. Przy ich pomocy stworzymy element o funkcjonalności dokładnie jeden z trzech. Proszę kliknąć prawym przyciskiem myszy w oknie drzewa projektu i z menu kontekstowego wybrać opcję New Source New Source 8
9 W oknie czarodzieja proszę wybrać moduł VHDL, nazwać go stosownie i kliknąć przysick Next. VHDL Module File name: podejscie1 (przykładowo) Next Czarodziej pozwala na przyspieszenie etapu projektowania modułu poprzez zdefiniowanie wszystkich wejść i wyjść elementu. Z opcji tej można skorzystać (co też uczynimy teraz) lub pominąć ten etap klikająć Next. Proszę zdefiniować 3 porty wejściowe oraz jeden wejściowy, po czym kliknąć przycisk Next. Port Name: x1 in (przykładowo) x2 in (przykładowo) x3 in (przykładowo) y out (przykładowo) Next 9
10 Ostatnie okno czarodzieja stanowi podsumowanie stworzonego elementu. Po zapoznaniu się z nim proszę kliknąć przycisk Finish. W oknie głównym narzędzia ISE otwarta została zawartość pliku podejscie1.vhd, w którym wyróżnić można trzy główne partie deklarację dołączonych bibliotek (1); entity elementu (2), czyli definicję jego wejść i wyjść (interfejs komunikacyjny); architekturę elementu wraz z opisem jego funkcjonalności (3). Ta ostatnia część pozostaje na razie pusta. library IEEE; use IEEE.STD_LOGIC_1164.ALL; 1 entity podejscie1 is Port ( x1 : in STD_LOGIC; x2 : in STD_LOGIC; x3 : in STD_LOGIC; y : out STD_LOGIC); end podejscie1; 2 architecture Behavioral of podejscie1 is begin 3 end Behavioral; Proszę umieścić pomiędzy klauzulą begin, oznaczającą początek opisu działania elementu, a klauzulą end nazwa_architektury, kod opisujący działanie trójargumentowej funkkcji dokładnie jeden z N. UWAGA! Język VHDL nie należy do grupy języków case sensitive, co oznacza że wielkość liter nie odgrywa żadnego znaczenia. Proszę o tym pamiętać przy nazywaniu komponentów, portów, zmiennych, itp. Proszę zwrócić uwagę na konieczność użycia nawiasów w celu wskazania kolejności wykonywania działań. y <= ((not x1) and (x2 xor x3)) or (x1 and (x2 nor x3)); Plik po wprowadzeniu zmian proszę zapisać, a następnie wykonać syntezę elementu w celu sprawdzenia jego poprawności. Proszę kliknąć prawym przyciskiem myszy na opcji Synthesize XST i z menu kontekstowego wybrać opcję Run. Synthesize XST Run Syntezę można również przeprowadzić klikając dwukronie na opcji Syntesize XST. 10
11 Bezbędnie zakończona synteza objawia się stosownym komentarzem w oknie konsoli oraz zielonym znaczkiem obok opcji Synthesize XST 3.2. Konstrukcja with select Konstrukcja with select jest jednym z najbardziej podstawowych instrumentów opisu funkcjonalności układu cyfrowego z użyciem języka VHDL. Dobrze zaprojektowana, uwzględnia wszystkie możliwe do wystąpienia stany wejściowe i reakcję układu na nie. W sposób identyczny jak poprzednio proszę dodać do projektu nowy moduł. Powinien on posiadać 3 wejścia i 1 wyjście. Proszę go stosownie nazwać (np. podejscie2). Wewnątrz architektury nowego elementu, ale przed klauzulą begin proszę zadeklarować nowy sygnał pomocniczy tmp (1). Sygnał ten powinien być wektorem co oznacza, że składać się będzie z więcej niż jednego bitu. W tym konkretnym przypadku sygnał tmp powinien mieć szerokość 3 bitów. Po zadeklarowaniu sygnał jest gotowy do użycia. Zaraz po klauzuli begin proszę przypisać do sygnału tmp wektor składający się ze sklejonych ze sobą trzech danych wejściowych x 3, x 2 i x 1 (konkatenacja bitów). Do tego celu proszę wykorzystać operator & (2). Mając już przygotowany sygnał pomocniczy, przystąpmy do opisu układu przy użyciu tablicy prawdy. O stanie wyjścia y decyduje stan wejść x 1-3. Na wyjściu y powinien wystąpić stan 1, gdy w sygnale pomocniczym tmp wystąpi choć jedna wartość 1. Wykorzystując konstrukcję with select przypisujemy do wyjścia y wartość 1 wtedy, gdy w sygnale tmp pojawia się dokładnie jedna jedynka. W każdym innym przypadku wartość wyjścia y wynosi 0 (3). Oczywiście można zdefiniować wszystkich 8 warunków niezależnie, jednak znacznie prościej i szybciej ograniczyć się do zdefiniowania dokładnie tylko tych, których jest mniej (w naszym przypadku warunków wystąpienia 1 na wyjściu), a wszystkie pozostałe opisać przy użyciu dyrektywy when others. architecture Behavioral of podejscie2 is signal tmp : STD_LOGIC_VECTOR(2 downto 0); 1 begin tmp <= x3 & x2 & x1; with tmp select y <= '1' when "001", '1' when "010", '1' when "100", '0' when others; 2 3 end Behavioral; Czasami w literaturze anglosaskiej konstrukcja with select bywa nazywana tablicą prawdy (truth table), ze względu na są specyficzną budowę. Proszę zwrócić uwagę na sposób opisu funkcjonalności implementowanego w języku VHDL elementu. We wcześniejszym przypadku została użyta funkcja zawierająca 5 różnych operatorów boolowskich. Osiągnięta w ten sposób funkcjonalność była identyczna z zamierzoną. W przypadku konstrukcji when select wykorzystano postać kanoniczną, którą w prosty sposób można odczytać z tablicy prawdy przedstawionej na samym początku punktu 3. niniejszej instrukcji. W tym przypadku również osiągnięto funkcjonalność identyczną z zamierzoną. 11
12 Proszę kliknąć prawym przyciskiem myszy na nazwie pliku podejscie2 i z menu kontekstowego wybrać opcję Set as Top Module. Moduł o nazwie podejscie2 jest teraz modułem nadrzędnym i wszystkie operacje, które będziemy wykonywać w programie ISE, odnosić się będą właśnie do niego. Proszę wykonać syntezę elementu. podejscie2 Set as Top Module Pojawi się ostrzeżenie o utracie danych z syntezy w następstwie zmiany modułu nadrzędnego. Proszę je zignorować klikając przycisk Yes. Yes 3.3. Konstrukcja when else Konstrukcja when else ma zbliżoną budowę do poznanej poprzednio konstrukcji with select. Tak jak poprzednio proszę dodać do projektu nowy moduł składający się z 3 wejść i 1 wyjścia, a także stosownie go nazwać (np. podejscie3). Po klauzuli begin proszę umieścić konstrukcję jak poniżej. Opisuje ona warunek, dla jakiego wyjście y przyjmuje wartość logicznego 1. Dla wszystkich pozostałych przypadków wyjście przyjmuje wartość 0. y <= '1' when ((x1 and (x2 nor x3)) or (x2 and (x1 nor x3)) or (x3 and (x1 nor x2))) = '1' else '0'; Moduł proszę ustawić jako nadrzędny, po czym zweryfikować poprawność użytej składni poddając go operacji syntezy. 12
13 3.4. Instrukcja warunkowa if Instrukcja warunkowa if jest bodajże najczęściej stosowaną instrukcją języka VHDL. W przeciwieństwie do poprzednio poznanych klauzul, instrukcja if pojawić się może jedynie wewnątrz procesu. Poznane poprzednio klauzule należały do grupy tzw. concurent statements, tzn. w przypadku wystąpienia więcej niż jednej klauzuli concurent statement wewnątrz architektury modułu, każda z nich zostanie zsyntezowana jako osobny, niezależny od innych blok logiczny. Tylko wewnątrz procesu mogą wystąpić tzw. sequential statements, a wszystkie wykonujące się w nim instrukcje są uzależnione od zmiany stanu sygnału, od którego proces jest uzależniony. Identycznie jak uprzednio proszę utworzyć nowy moduł VHDL, który będzie opisywał trójargumentową funkcję dokładnie jeden z N, ale tym razem z wykorzystaniem funkcji procesu i instrukcji warunkowej if. Zaraz po pierwszej klauzuli begin (odnoszącej się do architektury) proszę zadeklarować nowy proces o nazwie main (1). Proces nie musi posiadać żadnej nazwy, jednak dobre nawyki programistyczne wymuszają nadawanie indywidualnych nazw poszczególnym procesom (bardziej przejrzysty i łatwiejszy w debugowaniu kod). Proces należy uzależnić od zmian stanów na portach x 1, x 2 i x 3. Proszę zdefiniować pierwszy warunek if (2), dla którego wartość na wyjściu y wyniesie 0. Następnie proszę przepisać kod wg poniższego wzorca. W kodzie specjalnie zdefiniowano jedynie 6, a nie 7 warunków. Proszę wykorzystać klauzulę elsif (3) będącą połączniem klauzul else i if. Listę warunków if kończy się klauzulą end if. Przed końcem opisu architektury pozostaje jeszcze tylko zakończyć proces main. Proszę zwrócić uwagę na fakt, że użycie nawiasów okazało się niezbędnym w celu wskazania poprawnej kolejności wykonania poszczególnych operacji. architecture Behavioral of podejscie4 is begin main : process(x1, x2, x3) begin if(((not x1) and (not x2) and (not x3)) = '1') then y <= '0'; elsif((x1 and (not x2) and (not x3)) = '1') then y <= '1'; elsif(((not x1) and x2 and (not x3)) = '1') then y <= '1'; elsif(((not x1) and (not x2) and x3) = '1') then y <= '1'; elsif((x1 and (not x2) and x3) = '1') then y <= '0'; elsif(((not x1) and x2 and x3) = '1') then y <= '0'; elsif((x1 and x2 and x3) = '1') then y <= '0'; end if; end process main; end Behavioral; W trakcie korzystania z instrukcji warunkowej if bardzo łatwo wygenerować tzw. latch (zatrzask). Zatrzask nigdy nie zostanie stworzony, jeśli tworząc listę instrukcji if uwzględni się 13
14 wszystkie możliwe do wystąpienia stany lub też (co prostsze) przypisze się pewną domyślną wartość dla wszystkich nieistotnych z punktu widzenia programisty stanów. Plik vhd proszę zapisać i zsyntezować. Przy opcji syntezy pojawi się znak ostrzeżenia, a w oknie konsoli komunikat o tym, że narzędzie do syntezy XST odnalazło 1 bitowy zatrzask na wyjściu y. Problemom jakie stwarza powstały zatrzask oraz sposobem jego eliminacji zajmiemy się później. W 90% przypadków zatrzask jest tworem niepożądanym i należy go eliminować, istnieją jednak takie przypadki, gdy jest on jak najbardziej upragniony (np. wyzwolenie jakiegoś modułu, który od chwili wyzwolenia powinien działać nieprzerwanie) Instrukcja warunkowa case Składnię zbliżoną do konstrukcji with select, ale zarezerwowaną jedynie dla procesu posiada klauzula case is. Tak jak poprzednio proszę dodać do projektu nowy moduł składający się z 3 wejść i 1 wyjścia, a także stosownie go nazwać (np. podejscie5). Po klauzuli begin proszę umieścić konstrukcję jak poniżej. W procesie main uzależnionym od stanu wejść x 1-3 proszę zdefiniować zmienną Q (variable) o szerokości bitowej równej 3 (1). W odróżnieniu od sygnałów, zmienne definiuje się i używa wewnątrz tylko jednego procesu. Poprzez analogię do innych języków programowania, signal należy traktować jako zmienną globalną, a variable jako zmienną lokalną. Różnic pomiędzy oboma jest oczywiście znacznie więcej. Następnie proszę utworzyć trójargumentowy wektor złożony z wejść x 1-3 i przypisać go do zmiennej Q (2). Proszę zdefiniować stan wyjścia y w zależności od stanu zmiennej Q, wykorzystując do tego instrukcję case (3). main : process(x1, x2, x3) variable Q : STD_LOGIC_VECTOR(2 downto 0); 1 begin Q := x1 & x2 & x3; case Q is when "001" => y <= '1'; when "010" => y <= '1'; when "100" => y <= '1'; when others => y <= '0'; end case; 2 3 end process main; Moduł proszę ustawić jako nadrzędny, po czym zweryfikować poprawność użytej składni poddając go operacji syntezy. 14
15 3.6. Schematic Tak jak poprzednio proszę dodać do projektu nowy plik schematic, a także stosownie go nazwać (np. podejscie6). Pojawią się dwa nowe okna. Po prawej stronie otworzyło się okno do edycji schematu (1). Po lewej stronie pojawiło się okno z listą dostępnych do wykorzystania symboli (2) 2 1 Z kategorii symboli należy wybrać logic, a wśród samych symboli należy wyszukać potrzebne do realizacji schematu bramki 15
16 Połączenia pomiędzy bramkami proszę zrealizować za pomocą ikonki (1). Za dodawanie wejść i wyjść odpowiada (2) 1 2 Nazwę odpowiedniego wejścia lub wyjścia nadajemy podpisując nazwę połączenia pomiędzy bramką a danym wejściem/ wyjściem. W tym celu proszę dwukrotnie kliknąć myszką na połączeniu. Pojawi się okno parametrów danego połączenia. 16
17 Schemat układu po połączeniu bramek i wejść i wyjścia przedstawia się jak na rysunku po prawej stronie. W celu zweryfikowania schematu proszę przeprowadzić syntezę. 4. Test bench Podstawowym krokiem poprzedzającym fizyczne uruchomienie modułu jest jego symulacja. W przypadku języków HDL takich jak VHDL i Verilog, symulacja poprawności ich działania sprowadza się do napisania tzw. test bencha. Test bench przygotowuje się również w którymś z tych języków. Wykorzystując czarodzieja proszę dodać do projektu plik nowego test bencha w języku VHDL, nazwać go stosownie, po czym kliknąć na przycisku Next. VHDL Test Bench File name: testb Location: C:\MyXilinx\Projekt1 (przykładowo) Next 17
18 W następnym oknie podejmuje się decyzję, z którym z modułów napisanym w języku VHDL skojarzony zostanie nowotworzony test bench. Proszę go skojarzyć z pierwszym z modułów po czym kliknąć na przycisku Next. podejscie4 Next Ostatnie okno stanowi podsumowanie do nowoutworzonego pliku test bencha. Po zapoznaniu się z nim proszę kliknąć na przycisku Finish. Nowoutworzony plik zostanie automatycznie otwarty w oknie głównym aplikacji ISE. Przed dokładniejszym zapoznaniem się z nim, proszę wpierw przełączyć widok drzewa projektu z widoku implementacji na widok symulacji. View: Simulation W widoku hierarchii drzewa projektu widoczne jest skojarzenie pliku test bencha z modułem podejscie4. Całość nazywa się uut (Unit Under Test). 18
19 Test bench wygenerowany przez czarodzieja powstaje w oparciu o uniwersalny szablon, przez co nie jest od razu gotowy do użycia. Należy go zatem dostosować do własnych potrzeb. Wzorzec przedstawiono poniżej. Test bench rozpoczyna się od deklaracji dołączonych bibliotek (1). Wewnątrz jego architektury (2) zdefiniowane zostają komponenty poddane symulacji, wejścia i wyjścia do test bencha oraz wielkości pomocnicze (jeśli takie są potrzebne). Następnie pojawia się mapa portów (3), czyli zestawienie połączeń pomiędzy portami używanych komponentów a sygnałami używanymi jako wejścia i wyjścia z test bencha. W procesie definiuje się wymuszenia oraz momenty ich wystąpienia (4). Korzystając z instrukcji wait for oraz występującego zaraz po niej czasu przez jaki wymuszenie ma trwać, proszę zadeklarować wewnątrz procesu symulacji wszystkich 8 możliwych do wystąpienia stanów wejściowych. LIBRARY ieee; USE ieee.std_logic_1164.all; 1 ENTITY testb IS END testb; ARCHITECTURE behavior OF testb IS 2 -- Component Declaration for the Unit Under Test (UUT) COMPONENT podejscie4 PORT( x1 : IN std_logic; x2 : IN std_logic; x3 : IN std_logic; y : OUT std_logic ); END COMPONENT; BEGIN --Inputs signal x1 : std_logic := '0'; signal x2 : std_logic := '0'; signal x3 : std_logic := '0'; --Outputs signal y : std_logic; constant period : time := 10 ns; -- Instantiate the Unit Under Test (UUT) uut: podejscie4 PORT MAP ( x1 => x1, x2 => x2, 3 x3 => x3, y => y ); -- Stimulus process stim_proc: process begin -- hold for 50 ns. wait for 50 ns; x1 <= '0'; x2 <= '0'; 4 19
20 END; x3 <= '0'; wait for period; x1 <= '1'; x2 <= '0'; x3 <= '0'; wait for period; x1 <= '0'; x2 <= '1'; x3 <= '0'; wait for period; x1 <= '1'; x2 <= '1'; x3 <= '0'; wait for period; x1 <= '0'; x2 <= '0'; x3 <= '1'; wait for period; x1 <= '1'; x2 <= '0'; x3 <= '1'; wait for period; x1 <= '0'; x2 <= '1'; x3 <= '1'; wait for period; x1 <= '1'; x2 <= '1'; x3 <= '1'; wait; end process; Po wprowadzeniu wszystkich zmian do pliku i zapisaniu go, proszę sprawdzić poprawność jego składni klikając prawym przyciskiem myszy na opcji Behavioral Chceck Synteax i wybierając z menu kontekstowego opcję Run. Behavioral Check Syntax Run Alternatywna forma uruchomienia checkera to dwukrotne kliknięcie myszką na opcji Behavioral Check Syntax. Jeśli wszystko zostało wpisane bezbłędnie, program nie wykryje żadnych błędów składni i można przejść do kolejnego kroku. 20
21 Przed uruchomieniem symulacji pozostaje jeszcze tylko ustawić poprawnie jej opcje. W tym celu proszę kliknąć prawym przyciskiem myszy na opcji Simulate Behavioral Model i z menu kontekstowego wybrać opcję Process Properties Simulate Behavioral Model Process Properties W oknie właściwości symulacji proszę zmienić czas trwania symulacji z domyślnej wartości 1000 [ns] na 150 [ns]. Simulation Run Time 150 ns Następnie proszę kolejno kliknąć na przyciskach Apply i OK. Apply OK 21
22 Proszę uruchomić symulację klikając na opcji Simulate Behavioral Model prawym przyciskiem myszy i wybierając z menu kontekstowego opcję Run. Simulate Behavioral Model Run Symulację można uruchomić alternatywnie poprzez dwukrotne kliknięcie myszą na opcji Simulate Behavioral Model. Otwarty zostanie symulator ISim. W jego dolnej części, centralnie pośrodku znajduje się okno konsoli Console (1). Z lewej strony znajdują się dwa małe okna (2) zawierające shierarchizowane drzewo procesów podlegających symulacji oraz listę wszystkich wejść, wyjść, sygnałów, stałych i zmiennych występujących w symulowanych komponentach. Z lewej strony widnieje okno główne symulatora ISim (3)
23 W oknie głównym ISim widoczne będą przebiegi zadeklarowanych przez nas wymuszeń dla portów wejściowych oraz odpowiedź na te wymuszenia dla portu wyjściowego. Przebiegi są zazwyczaj niedopasowane do okna symulatora, toteż proszę kliknąć na ikonie Zoom to Full View, Zoom to Full View a następnie przyjrzeć się wyświetlonym przebiegom. Przez pierwszych 50 [ns] na wszystkich trzech wejściach panuje stan niski 0. Pojawienie się wartości 1 najpierw tylko na wejściu x 1, a zaraz potem tylko na wejściu x 2 wymusza stan 1 na wyjściu y. Ponieważ dla komponentu podejscie4 nie został zdefiniowany warunek dla jednoczesnego pojawienia się stanu 1 na wejściach x 1-2, co doprowadziło do powstania zatrzasku, układ nie wie jak się zachować i przepisuje na wyjście y ostatni stan. Innymi słowy na wyjściu y zostaje wystawiony ostatni, zatrzaśnięty stan. Dla wszystkich kolejnych stanów wejściowych układ działa poprawnie. Obserwowane przebiegi wskazują, że nie osiągnięto zamierzonej funkcjonalności elementu. Wszystkie wymuszenia zostały zdefiniowane poprawnie, a więc należy wyeliminować błąd w opisie symulowanego modułu. Błąd można usunąć dopisując jeden, brakujący warunek lub też (co prostsze) definiując stan domyślny. Wewnątrz architektury komponentu podejście4 proszę umieścić kod jak poniżej. architecture Behavioral of podejscie4 is begin main : process(x1, x2, x3) begin end process main; end Behavioral; if((x1 and (not x2) and (not x3)) = '1') then y <= '1'; elsif(((not x1) and x2 and (not x3)) = '1') then y <= '1'; elsif(((not x1) and (not x2) and x3) = '1') then y <= '1'; else y <= '0'; end if; 23
24 Stan domyślny został utworzony poprzez dodanie warunku else, który definiuje, że dla wszystkich przypadków nie ujętych przy użyciu instrukcji warunkowej if, na wyjściu y wystąpi stan 0. Po wprowadzeniu zmian plik podejscie4.vhd proszę zapisać, po czym moduł poddać syntezie. W przypadku braku jakichkolwiek błędów uruchomić ponocnie symulator ISim. Wygenerowane przebiegi wejściowe i wyjściowy powinny być identyczne z zamierzonymi, tj. stan 1 na wyjściu powinien wystąpić wtedy i tylko wtedy, gdy na dokładnie jednym wejściu pojawia się stan 1. 24
25 5. Płyta ewaluacyjna Spartan-3 Wykonana zostanie teraz sprzętowa implementacja funkcji dokładnie jeden z trzech z użyciem układu FPGA z rodziny Spartan-3, który znajduje się na płycie ewaluacyjnej firmy Digilent. Płyta będzie zasilana i programowana z komputera PC przy pomocy interfejsu USB 2.0. Przewód USB, który do tego posłuży dołączono do zestawu. Proszę dopilnować, aby został on poprawnie dołączony do komputera oraz płyty Spartan 3, tj. złączem USB do gniazda w komputerze, a złączem mini USB do gniazda mini USB znajdującego się na płycie Spartan 3, oznaczonego jako J7 (2)
26 Wejścia implementowanego modułu zostaną dołączone do 3 kolejnych przełączników DIP SWITCH (1), oznaczonych na płycie jako SW0, SW1 i SW2. Zmiana ich położenia z górnego na dolne spowoduje zmianę stanu na porcie wejściowym z wysokiego ( 1 ) na niski ( 0 ). Wyjście z modułu zostanie dołączone go diody LED oznaczonej jako LD7 (2). Jej zapalenie sygnalizować będzie stan wysoki ( 1 ), podczas gdy wygaszenie odpowiada stanowi niskiemu ( 0 )
27 6. Plik ucf Przed przystąpieniem do sprzętowej implementacji projektu musi zostać wykonane jeszcze odpowiednie przypisanie portów wejścia i wyjścia do fizycznych wyprowadzeń układu FPGA. Przy większości z elementów znajdujących się na płytce Spartan-3 widnieją prócz nazw również oznaczenia w nawiasach okrągłych (np. BTNL jest oznaczony dodatkowo jako (C4)). Symbole w nawiasach odnoszą się do wyprowadzenia układu FPGA, do którego fizycznie podłączony jest dany element. Informacja ta jest niezbędna dla etapu sprzętowej implementacji. Korzystając z poznanego już czarodzieja, proszę dodać do projektu nowy plik Implementation Constaints File i nazwać go stosownie, po czym kliknąć przycisk Next. Implementation Constaraits File File name: pins Next Następnie okno stanowi podsumowanie do nowoutworzonego pliku. Po zapoznaniu się z nim proszę kliknąć przycisk Finish. 27
28 W oknie głównym narzędzia ISE otwarty został nowy, pusty plik ucf, który nie jest widoczny w drzewie projektu. Proszę zmienić widok drzewa projektu z Simulation na Implementation. Implementation Plik ucf został przypisany do ostatniego z utworzonych przez nas wcześniej modułów VHDL. Przypisanie to jest niepoprawne, toteż plik należy usunąć z drzewa projektu. Proszę klikając na jego nazwie prawym przyciskiem myszy i wybierając z menu kontekstowego opcję Remove. pins.ucf Remove Zabieg ten spowoduje jedynie odłączenie pliku z projektu, a nie jego fizyczne usunięcie z dysku. Pojawi się okno potwierdzenia odłączenia, w którym należy kliknąć na opcję Yes. Yes 28
29 Proszę ustawić plik o nazwie podejscie1.vhd jako nadrzędny, po czym dodać do projektu nowe źródło. podejscie1 Set as Top Module podejscie1 Add Source W nowo otwartym oknie proszę wybrać plik pins.ucf i kliknąć na przycisku Otwórz. pins.ucf Otwórz 29
30 Pojawi się okno statusu dołączanego pliku, w którym proszę kliknąć przycisk OK. OK Po wprowadzeniu wszystkich zmian drzewo projektu powinno przypominać to, zamieszczone obok. 30
31 W pliku ucf proszę umieścić treść jak poniżej ( Tak przygotowany plik ucf jest oryginalną wersją pliku przygotowanego przez firmę Digilent dla płytki Spartan-3. # Clock #Net "Clk50Mhz" LOC = "T9"; #NET "Clk50Mhz" PERIOD = 20ns; # 20ns = 50Mhz # User Switches #NET "SW0" #NET "SW1" #NET "SW2" #NET "SW3" #NET "SW4" #NET "SW5" #NET "SW6" #NET "SW7" # User Buttons #NET "BTN0" #NET "BTN1" #NET "BTN2" #NET "BTN3" # LEDs #NET "LD0" #NET "LD1" #NET "LD2" #NET "LD3" #NET "LD4" #NET "LD5" #NET "LD6" #NET "LD7" # 7 Segment #NET "AN0" #NET "AN1" #NET "AN2" #NET "AN3" #NET "CA" #NET "CB" #NET "CC" #NET "CD" #NET "CE" #NET "CF" #NET "CG" #NET "CDP" LOC = "F12"; LOC = "G12"; LOC = "H14"; LOC = "H13"; LOC = "J14"; LOC = "J13"; LOC = "K14"; LOC = "K13"; LOC = "M13"; LOC = "M14"; LOC = "L13"; LOC = "L14"; LOC = "K12"; LOC = "P14"; LOC = "L12"; LOC = "N14"; LOC = "P13"; LOC = "N12"; LOC = "P12"; LOC = "P11"; LOC = "D14"; LOC = "G14"; LOC = "F14"; LOC = "E13"; LOC = "E14"; LOC = "G13"; LOC = "N15"; LOC = "P15"; LOC = "R16"; LOC = "F13"; LOC = "N16"; LOC = "P16"; Znak krzyżyka # oznacza komentarz. Proszę usunąć komentarze w liniach odnoszących się do diody LD7 oraz przełączników SW0, SW1 i SW2. 31
32 Składnia każdej linijki pliku ucf jest praktycznie identyczna i wygląda jak poniżej: Net nazwa portu LOC = XXX Część pierwsza składni odnosi się do portu, który ma zostać podpięty do danego pinu układu FPGA. Część druga odnosi się do pinu układu FPGA, do którego ma zostać dołączony ten port. Jeśli port nie jest w postaci pojedynczej linii, a całej magistrali, to używa się nawiasów ostrych <> do określenia, którą dokładnie linię z magistrali przypisujemy do danego pinu wejściowego/wyjściowego układu FPGA. Proszę przypisać porty x1, x2 i x3 kolejno do przełączników SW0, SW1 i SW2. Proszę przypisać port y do diody LD7. Po wykonaniu wszystkich zmian plik ucf proszę zapisać. 32
33 7. Synteza i sprzętowa implementacja Projekt jest już gotowy do uruchomienia. Proszę przeprowadzić operacje syntezy, implementacji i generacji pliku konfiguracyjnego. Najprościej kliknąć prawym przyciskiem myszy na opcji Generate Programming File i z menu kontekstowego wybrać opcję Run. Uruchomiony zostanie wtedy cały łańcuch i przeprowadzone kolejno synteza, implementacja i generacja pliku konfigurującego. Generate Programming File Run Alternatywnie można dwukrotnie kliknąć na opcji Generate Programming File lub też kolejno uruchamiać wszystkie opcje, tj. Synthesize XST, Implement Design, Generate Programming File. Po kilku minutach cały proces powinien zostać zakończony sukcesem. Proszę przyjrzeć się raportowi Design Summary z wyszczególnioną listą zużytych zasobów logicznych. 33
34 8. Uruchomienie projektu Przystąpmy do uruchomienia projektu na płycie ewaluacyjne Nexys 3. Proszę rozwinąć opcję Configure Target Device i kliknąć prawym przyciskiem myszy na opcji Manage Configuration Project (impact), po czym wybrać z menu kontekstowego opcję Run. Manage Configuration Project Run Otwarte zostanie zewnętrzna narzędzie o nazwie impact, które służy do ładowania pliku konfiguracyjnego do układu programowalnego FPGA. Proszę dwukrotnie kliknąć na opcji Boundary Scan. Boundary Scan 34
35 W oknie głównym narzędzia impact otworzy się zakładka Boundary Scan. Proszę kliknąć wewnątrz niej prawym przyciskiem myszy i z menu kontekstowego wybrać opcję Initialize Chain. Initialize Chain Otwarte zostanie nowe okno wyboru pliku konfiguracyjnego. Proszę zaznaczyć odpowiedni plik konfiguracyjny bit, po czym kniknąć na przycisku Open. UWAGA! Proszę dopilnować, aby ustawiona została ścieżka do własnego katalogu roboczego. podejscie1.bit Open Pojawi się okno informujące o możliwości rekonfiguracji układu FPGA z pamięci nieulotnej PROM. Proszę pominąć tą możliwość klikając na przycisku No. 35
36 W oknie Boundary Scan pojawił się symbol kości FPGA wraz z jej typem (xc3s200) oraz nazwą pliku, który posłuży do jej rekonfiguracji (podejscie1.bit). Przy aktywnym symbolu układu FPGA (kolor zielony) proszę kliknąć prawym przyciskiem myszy w dowolnym obszarze zakładki Boundary Scan i z menu kontekstowego wybrać opcję Program. Jeśli kość nie jest aktywna (kolor szary), proszę na niej kliknąć raz lewym lub prawym przyciskiem myszy, aby stała się aktywna. Program Poprawnie przeprowadzona rekonfiguracja zostanie zakończona stosownym komunikatem. Zmieniając położenie przełączników SW0 SW2 i obserwując zachowanie diody LD7, proszę zweryfikować poprawność pracy zaimplementowanego komponentu. 36
1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File
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
Bardziej szczegółowoBezpieczeństwo informacji oparte o kryptografię kwantową
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
Bardziej szczegółowoLABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Pierwszy projekt w środowisku
Bardziej szczegółowoProgramowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI
Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI Pierwszy projekt w środowisku ISE Design Suite Xilinx 1. Zapoznanie ze środowiskiem Xilinx ISE Design oraz językiem opisu sprzętu
Bardziej szczegółowo1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...
1. Synteza układów opisanych w języku VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL, także przetwornikiem
Bardziej szczegółowoWygląd okna aplikacji Project Navigator.
Laboratorium przedmiotu Podstawy Techniki Cyfrowej ćw.1: Układy kombinacyjne Wprowadzenie: Wszelkie realizacje układowe projektów w ramach laboratorium z przedmiotu Podstawy Techniki Cyfrowej będą tworzone
Bardziej szczegółowoUkłady reprogramowalne i SoC Implementacja w układach FPGA
Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez
Bardziej szczegółowoProjektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx
Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów
Bardziej szczegółowoAltera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński
Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoLABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL
LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL 1. Cel ćwiczenia W ćwiczeniu student projektuje i implementuje w strukturze układu FPGA (Field Programmable Gate Array)
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoBramki logiczne Instrukcja do ćwiczeń laboratoryjnych
Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych. WSTĘP Celem ćwiczenia jest zapoznanie się z podstawowymi sposobami projektowania układów cyfrowych o zadanej funkcji logicznej, na przykładzie budowy
Bardziej szczegółowoPROGRAMOWALNE UKŁADY CYFROWE
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział EAIiE Katedra Elektroniki PROGRAMOWALNE UKŁADY CYFROWE Ćwiczenie Projekt, symulacja, synteza i implementacja systemu cyfrowego w środowisku
Bardziej szczegółowoProjektowanie Urządzeń Cyfrowych
Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów
Bardziej szczegółowoMentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Bardziej szczegółowoProjekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego
Bardziej szczegółowoKrótkie wprowadzenie do ModelSim i Quartus2
Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera
Bardziej szczegółowoLaboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie
Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję
Bardziej szczegółowoTworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051
Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów
Bardziej szczegółowoProjektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE
Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE opis układu w Verilog, kompilacja i symulacja
Bardziej szczegółowoĆwiczenie 1 VHDL - Licznik 4-bitowy.
Ćwiczenie 1 VHDL - Licznik 4-bitowy. Zadaniem studenta jest zaprojektowanie w układzie CoolRunner2 układu, który dzieli częstotliwość zegara wejściowego generując sygnał taktowania licznika 4-bitowego,
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Układy kombinacyjne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 28 września 2015 Co to jest układ kombinacyjny? Stan wyjść zależy tylko
Bardziej szczegółowoProjektowanie układów na schemacie
Projektowanie układów na schemacie Przedstawione poniżej wskazówki mogą być pomocne przy projektowaniu układach na poziomie schematu. Stałe wartości logiczne Aby podłączyć wejście do stałej wartości logicznych
Bardziej szczegółowoKodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL
Mirosław Łazoryszczak Technika cyfrowa Laboratorium nr 8 Temat: Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL Katedra Architektury Komputerów i Telekomunikacji Zakład Systemów i Sieci
Bardziej szczegółowoPrzykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.
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. Jak umieszcza się komentarze w pliku symulacyjnym PSPICE? 4.
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do obsługi platformy projektowej Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu
Bardziej szczegółowoAkademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie. Technika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego część II Wstęp W ramach zajęć przedstawione zostaną różne sposoby
Bardziej szczegółowoProjektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx
Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów
Bardziej szczegółowoWOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH
WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH SPRAWOZDANIE Temat: Projekt notesu elektronicznego w języku VHDL przy użyciu układów firmy
Bardziej szczegółowoLaboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza
Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,
Bardziej szczegółowoProjektowanie hierarchiczne Mariusz Rawski
CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości
Bardziej szczegółowoSYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH Ćwiczenie 2 Współpraca Zynq Processing System z peryferiami
Bardziej szczegółowoĆwiczenia z S7-1200. S7-1200 jako Profinet-IO Controller. FAQ Marzec 2012
Ćwiczenia z S7-1200 S7-1200 jako Profinet-IO Controller FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz urządzeń..... 3 2 KONFIGURACJA S7-1200 PLC.. 4 2.1 Nowy projekt.
Bardziej szczegółowoLABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017 Prowadzący: mgr inż. Maciej Rudek email: maciej.rudek@pwr.edu.pl Pierwszy projekt w środowisku
Bardziej szczegółowoLista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami
Warsztaty Koła Naukowego SMART dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 1 Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania
Bardziej szczegółowoCyfrowe Przetwarzanie Obrazów i Sygnałów
Cyfrowe Przetwarzanie Obrazów i Sygnałów Laboratorium EX0 Wprowadzenie Joanna Ratajczak, Wrocław, 2018 1 Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie się ze środowiskiem Matlab/Simulink wraz
Bardziej szczegółowoLabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie środowiska LabVIEW 2016
Bardziej szczegółowoPodstawy programowania w środowisku Totally Integration Automation Portal
GRUPA MT Temat i Autor Podstawy programowania w środowisku Totally Integration Automation Portal Krzysztof Bodzek, Arkadiusz Domoracki, Grzegorz Jarek CEL ĆWICZENIA 1. Poznanie narzędzia Totally Integration
Bardziej szczegółowoLABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD
LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD 1. Wstęp i cel ćwiczenia W ćwiczeniu student tworzy barierę podczerwieni złożoną z diody nadawczej IR (Infra
Bardziej szczegółowoLaboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium
Bardziej szczegółowoUkłady reprogramowalne i SoC Język VHDL (część 4)
Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki
Bardziej szczegółowoProjekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.
LAB. 2 Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD. Laboratorium Mikroprocesorowych Układów Sterowania instrukcja
Bardziej szczegółowoTechnika cyfrowa projekt: Sumator 4 bitowy równoległy
Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu
Bardziej szczegółowoTechnika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego część II Wstęp W ramach zajęć przedstawione zostaną
Bardziej szczegółowoUkªady Kombinacyjne - cz ± I
Ukªady Kombinacyjne - cz ± I Sebastian Kurczyk sebastian.kurczyk@polsl.pl Piotr Krauze piotr.krauze@polsl.pl 13 kwietnia 2013 Streszczenie Celem niniejszego laboratorium jest zapoznanie studentów z metodami
Bardziej szczegółowoAkceleracja symulacji HES-AHDL. 1. Rozpoczęcie pracy aplikacja VNC viewer
Akceleracja symulacji HES-AHDL 1. Rozpoczęcie pracy aplikacja VNC viewer Rys. 1 Ultra VNCViewer Karta HES jest umieszczona w komputerze PC w pokoju 502 C-3 na serwerze VNC o adresie IP 149.156.121.112.
Bardziej szczegółowoTechnika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:
Mirosław Łazoryszczak Technika cyfrowa Laboratorium nr 7 Temat: Liczniki synchroniczne Katedra Architektury Komputerów i Telekomunikacji Zakład Systemów i Sieci Komputerowych SPIS TREŚCI 1. Wymagania...3
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury
Bardziej szczegółowoUtworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia
Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu
Bardziej szczegółowoJęzyki opisu sprzętu VHDL Mariusz Rawski
CAD Języki opisu sprzętu VHDL rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu System cyfrowy może być opisany na różnych poziomach abstrakcji i z wykorzystaniem różnych sposobów
Bardziej szczegółowoProjektowanie automatów z użyciem VHDL
Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano
Bardziej szczegółowoModelowanie obiektowe - Ćw. 1.
1 Modelowanie obiektowe - Ćw. 1. Treść zajęć: Zapoznanie z podstawowymi funkcjami programu Enterprise Architect (tworzenie nowego projektu, korzystanie z podstawowych narzędzi programu itp.). Enterprise
Bardziej szczegółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowoĆwiczenia z S7-1200. Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.
Ćwiczenia z S7-1200 Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz
Bardziej szczegółowoŚrodowisko Xilinx ISE i ModelSim XE Instrukcja laboratoryjna
Środowisko Xilinx ISE i ModelSim XE Instrukcja laboratoryjna dr inż. Jarosław Sugier Ver. 11 1 Wiadomości ogólne Zintegrowane środowisko Xilinx ISE służy do wykonania wszystkich operacji związanych z przygotowaniem
Bardziej szczegółowoInwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)
DSCH2 to program do edycji i symulacji układów logicznych. DSCH2 jest wykorzystywany do sprawdzenia architektury układu logicznego przed rozpoczęciem projektowania fizycznego. DSCH2 zapewnia ergonomiczne
Bardziej szczegółowoProjektowanie z użyciem procesora programowego Nios II
Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoPrzełącznik USB 2.0. Podręcznik użytkownika. Typ: DA & DA
Przełącznik USB 2.0 Podręcznik użytkownika Typ: DA-70135-1 & DA-70136-1 Zapoznanie się z Przełącznikiem USB 2.0 Dziękujemy za wybranie Przełącznika USB 2.0 Obecnie złącza USB znajdują się w wielu urządzeniach,
Bardziej szczegółowoLista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.
Sterowanie procesami dyskretnymi laboratorium dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 5 Zagadnienia stosowanie skończonych automatów stanów (ang. Finite
Bardziej szczegółowoetrader Pekao Podręcznik użytkownika Strumieniowanie Excel
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie
Bardziej szczegółowoModelowanie złożonych układów cyfrowych (1)
Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe
Bardziej szczegółowoSposoby projektowania systemów w cyfrowych
Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie
Bardziej szczegółowoTestowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
Bardziej szczegółowoAby 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.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Bardziej szczegółowoPodstawy programowania w środowisku Step 7
GRUPA MT Temat i Autor Podstawy programowania w środowisku Step 7 Krzysztof Bodzek, Arkadiusz Domoracki CEL ĆWICZENIA 1. Poznanie narzędzia Totally Integration Automation Portal 2. Konfiguracja sterownika
Bardziej szczegółowoProgramowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Bardziej szczegółowoInstrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU
Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Spis treści: 1. Instalacja oprogramowania XG5000 3 2. Tworzenie nowego projektu i ustawienia sterownika 7 3. Podłączenie sterownika
Bardziej szczegółowoKonfigurowanie sterownika BX9000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000
Konfigurowanie sterownika BX9000 firmy Beckhoff wprowadzenie 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000 Stanowisko laboratoryjne ze sterownikiem BX9000 Sterownik BX9000 należy
Bardziej szczegółowoBezpieczeństwo informacji oparte o kryptografię kwantową
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
Bardziej szczegółowo1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Bardziej szczegółowoKonfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie
Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne z modułem BK9050 Moduł BK9050 jest urządzeniem typu Bus Coupler, umożliwiającym instalację rozproszonych grup terminali
Bardziej szczegółowoInstalowanie VHOPE i plików biblioteki VHOPE
Instalowanie VHOPE i plików biblioteki VHOPE Krok 1. Zainstaluj aplikację VHOPE Przed rozpoczęciem korzystania z materiałów prezentacyjnych znajdujących się na tym dysku USB należy zainstalować na komputerze
Bardziej szczegółowoSatel Integra FIBARO
Konfiguracja systemu alarmowego Satel Integra do współpracy z systemem FIBARO Poznań, 15 maja 2015r. 1 FIBARO Home Center 2 umożliwia integrację z systemem alarmowym Satel. Jest to realizowane na poziomie
Bardziej szczegółowoPROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Bardziej szczegółowoInstrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:
Instrukcja aktualizacji oprogramowania Wersja dokumentu: 01i00 Aktualizacja: 2016-03-11 Uwagi Inne dokumenty dotyczące obsługi urządzeń można pobrać ze strony energetyka.itr.org.pl Przed aktualizacją oprogramowania
Bardziej szczegółowoFAQ: 00000042/PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200
Spis treści 1 Opis zagadnienia omawianego w dokumencie.. 2 2 Wstęp do nowego projektu..... 3 2.1 Nowy projekt... 3 2.2 Dodanie nowego urządzenia... 4 3 Program w main... 6 4 Program PC Access.... 8 4.1
Bardziej szczegółowoKonfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie
Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne ze sterownikiem CP6601 Sterownik CP6601 należy do grupy urządzeń określanych jako komputery przemysłowe (Industrial
Bardziej szczegółowoWprowadzenie do laboratorium komputerowego część I
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego część I Wstęp Celem wprowadzenia do laboratorium
Bardziej szczegółowoKonfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000
Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne ze sterownikiem CX1000 Sterownik CX1000 należy do grupy urządzeń określanych jako komputery wbudowane (Embedded-PC).
Bardziej szczegółowoAKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA
AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA Joanna Patrzyk Bartłomiej Patrzyk Katarzyna Rycerz jpatrzyk@quide.eu bpatrzyk@quide.eu kzajac@agh.edu.pl
Bardziej szczegółowoKonfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie
Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne ze sterownikiem CX9000 Sterownik CX9000 należy do grupy urządzeń określanych jako komputery wbudowane (Embedded-PC).
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu
Bardziej szczegółowoMMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu
MMfpga01 MMfpga11 Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu 1 Spis treści 1. Instalacja aplikacji QUARTUS II Web Edition...3 2. Instalacja programu QUARTUS II Web
Bardziej szczegółowoKonfiguracja pakietu CrossStudio for MSP430 2.0.
Konfiguracja pakietu CrossStudio for MSP430 2.0. 1. Przed rozpoczęciem pracy przeczytaj całego manuala. 2. Gratulujemy wyboru modułu MMmsp430x1xxx. W celu rozpoczęcia pracy należy pobrać 30-dniową wersję
Bardziej szczegółowoApSIC Xbench: Szybki start wydanie 1 2008-2015 Mariusz Stępień http://mariuszstepien.net/ http://www.facebook.com/mariuszstepien.
ApSIC Xbench jest darmowym i niezwykle przydatnym programem w pracy tłumacza pisemnego korzystającego z narzędzi CAT. Otóż pozwala on przeszukiwać posiadane pamięci tłumaczeniowe (TM) można szukać pojedynczych
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoProjektowanie układów VLSI-ASIC techniką od szczegółu do ogółu (bottom-up) przy użyciu pakietu CADENCE w technologii UMC 0.18µm
Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Projektowanie układów VLSI-ASIC techniką od szczegółu do ogółu (bottom-up) przy użyciu pakietu CADENCE
Bardziej szczegółowoJava pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
Bardziej szczegółowoGromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.
Gromadzenie danych Przybliżony czas ćwiczenia Poniższe ćwiczenie ukończysz w czasie 15 minut. Wstęp NI-DAQmx to interfejs służący do komunikacji z urządzeniami wspomagającymi gromadzenie danych. Narzędzie
Bardziej szczegółowoOPROGRAMOWANIE DEFSIM2
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych OPROGRAMOWANIE DEFSIM2 Instrukcja użytkownika mgr inż. Piotr Trochimiuk, mgr inż. Krzysztof Siwiec, prof. nzw. dr hab. inż. Witold Pleskacz
Bardziej szczegółowoStrona 1 NUMPAGES INSTRUKCJA OBSŁUGI KARTY DARK. CENTRUM USŁUG ZAUFANIA SIGILLUM Wersja 1.0
Strona 1 INSTRUKCJA OBSŁUGI KARTY DARK CENTRUM USŁUG ZAUFANIA SIGILLUM Wersja 1.0 Strona 2 Spis treści 1. Wstęp... 3 2. Instalacja oprogramowania... 4 3. Korzystanie z oprogramowania... 7 3.1. IDProtect
Bardziej szczegółowoInstrukcja użytkowania
ASPEL S.A. PL 32-080 Zabierzów, os. H. Sienkiewicza 33 tel. +48 12 285 22 22, fax +48 12 285 30 30 www.aspel.com.pl Instrukcja użytkowania Konfiguracja bezprzewodowej komunikacji rejestratora AsPEKT 703
Bardziej szczegółowo