Język VHDL podstawy Mariusz Rawski
|
|
- Paulina Jasińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 CAD Język VHDL podstawy Mariusz Rawski
2 Języki opisu sprzętu Very high speed integrated Hardware Description Language Przemysłowy standard języka HDL (IEEE Std , IEEE Std ) VHDL jest językiem przenośnym może być stosowany przez systemy różnych firm Zawiera użyteczne konstrukcje semantyczne umożliwiające zwięzłą specyfikację złożonych układów cyfrowych Projekt może być opisany hierarchicznie (na wielu poziomach) Możliwe jest korzystanie z biblioteki gotowych elementów i tworzenie podukładów (tzw. komponentów) Powszechnie stosowany w specyfikacjach układów cyfrowego przetwarzania sygnałów: U. Meyer Baese, DSP with FPGAs, Springer, Berlin 2001, K. K. Parchi, T. Nishitani, Digital Signal Processing for Multimedia Systems, Marcel Dekker, Inc. New York 1999 Mariusz Rawski 2
3 Język VHDL Jednostka projektowa Deklaracja jednostki entity halfadder is port ( ); a, b : in bit; s, carry : out bit end halfadder; Opis architektury architecture dataflow of halfadder is begin s <= a xor b; carry <= a and b; end dataflow; Informacje o wejściach i wyjściach układu oraz o parametrach Funkcje i działanie układu Taka sama nazwa jak nazwa pliku bez rozszerzenia nazwy entity test is port ( input_pin_name : in bit; output_pin_name : out bit ); end test; architecture test_body of test is begin output_pin_name <= input_pin_name; end test_body; Te same nazwy Mariusz Rawski 3
4 Deklaracja jednostki a b s carry Typ portu Deklaracja wyprowadzeń nazwa tryb typ danych in - wejściowy out - wyjściowy inout - dwukierunkowy buffer - wyjściowy z możliwością odczytu entity halfadder is port ( a, b : in bit; s, carry : out bit ); end halfadder; Typy danych: bit, bit_vector, integer, boolean Mariusz Rawski 4
5 Tryby portu In Out Buffer In Inout In Out in jednokierunkowy port wejściowy out jednokierunkowy port wyjściowy buffer port wyjściowy, który pozwala na odczytywanie pojawiających sie na nim wartości wewnątrz projektowanego układu umożliwiając stosowanie wewnętrznego sprzężenia zwrotnego (UWAGA: może sprawiać problemy z kompatybilnością) inout port dwukierunkowy umożliwiający stosowanie wewnętrznego sprzężenia zwrotnego Mariusz Rawski 5
6 Tryby portu library ieee; use ieee.std_logic_1164.all; entity port_mode is port ( a, b : in std_logic; x, y : out std_logic ); end port_mode; architecture data_flow of port_mode is begin x <= a and b; y <= not x; end data_flow; Error (10309): VHDL Interface Declaration error in port_mode.vhd(13): interface object "x" of mode out cannot be read. Change object mode to buffer or inout. Sygnał x jest użyty do obliczenia sygnału y, stąd też w VHDL u interpretowany jest on jako sygnał zewnętrzny wchodzący do układu. To narusza tryb out portu x. Rozwiązaniem jest zmiana trybu na inout, co nie jest najlepszym wyjściem, gdyż x nie jest portem dwukierunkowym. Mariusz Rawski 6
7 Tryby portu library ieee; use ieee.std_logic_1164.all; entity port_mode is port ( a, b : in std_logic; x, y : out std_logic ); end port_mode; architecture data_flow of port_mode is signal tmp : std_logic; begin tmp <= a and b; x <= tmp y <= not tmp; end data_flow; Lepszym rozwiązaniem jest użycie wewnętrznego sygnału reprezentującego pośredni wynik. Mariusz Rawski 7
8 Blok architektury architecture dataflow of halfadder is begin s <= a xor b; carry <= a and b; end dataflow; Architektura opisuje sposób działania jednostki (entity) lub jej budowę (strukturę). Style specyfikacji funkcjonalny (behavioralny) specyfikowane jest działanie układu bez podania szczegółów realizacyjnych przepływ danych (dataflow) opis w postaci tzw. instrukcji przypisania reprezentowanych wyrażeniami logicznymi strukturalny specyfikowana jest budowa układu. W opisie podane są komponenty oraz połączenia oraz połączenia między nimi. Mariusz Rawski 8
9 Blok architektury architecture nazwa_arch of nazwa_jednostki is Definicje i deklaracje: (typów, podtypów, stałych, sygnałów, komponentów, konfiguracji) begin instrukcje przypisania procesy komponenty end nazwa_arch; 9 Mariusz Rawski
10 Moduły systemowe wspomagające specyfikację dostępne dla wielu jednostek projektowych to biblioteki i pakiety. Biblioteka to zbiór zanalizowanych pakietów i jednostek projektowych przechowywanych w danym systemie operacyjnym i dostępnych bezpośrednio wg nazwy logicznej (nie jest to nazwa katalogu w tym systemie). Pakiet jest modułem do deklarowania i definiowania obiektów, typów, komponentów, funkcji i procedur przeznaczonych do stosowania w wielu jednostkach projektowych. Dostęp do pakietu osiąga się deklaracją: library library_name; use library_name.package_name.all; Biblioteka systemowa: library ieee; use ieee.std_logic_1164.all; Mariusz Rawski 10
11 Biblioteki systemowa IEEE Biblioteki IEEE to najważniejsza biblioteka zawierająca pakiety ze standardowymi typami danych. Odwołanie do tej biblioteki a także polecenie use umożliwiające dostęp do standardowego pakietu: std_logic_1164 musi poprzedzać każdą jednostkę projektową. Dostęp do pakietów definiowanych przez użytkownika osiąga się poleceniem: library ieee; use ieee.std_logic_1164.all; Biblioteka robocza work Bieżące jednostki są kompilowane do biblioteki roboczej o domyślnej nazwie logicznej WORK. Dostęp do pakietów definiowanych przez użytkownika osiąga się poleceniem: library work; use work.user_package_name.all; Mariusz Rawski 11
12 Elementy strukturalne języka VHDL Słowa kluczowe Identyfikatory Obiekty danych Operatory Atrybuty Instrukcje Mariusz Rawski 12
13 Komentarze Plik : port_mode.vhd -- Versja : Data : Opis : Przyklad ilustrujący tryby -- portow library ieee; use ieee.std_logic_1164.all; entity port_mode is port( a, b : in std_logic; -- wejscia ukladu x, y : out std_logic -- wyjscia ukladu ); end port_mode; -- Architektura ukladu architecture data_flow of port_mode is signal tmp : std_logic; -- sygnal wewnetrzny begin -- wysterowanie sygnalu wewnetrznego tmp <= a and b; -- wykorzystanie sygnalu wewnetrznego x <= tmp; y <= not tmp; end data_flow; Komentarz rozpoczynają dwa znaki -- z następującym po nich tekstem komentarza Wszystko po symbolach -- jest ignorowane Komentarze stosuje się dla celów dokumentacji i nie ma on wpływu na kod Dobrym zwyczajem jest dołączanie na początku pliku nagłówka komentarza z informacją dotyczącą projektu Mariusz Rawski 13
14 Słowa kluczowe abs downto library postponed Srl access else linkage procedure Subtype after elsif literal process Then alias end loop pure To all entity map range Transport and exit mod record Type architecture file nand register Unaffected array for new reject Units assert function Next rem Until attribute generate Nor report Use begin generic Not return Variable block group Null rol Wait body guarded Of ror When buffer if On select While bus impure Open severity With case in Or signal Xnor component inertial Others shared Xor configuration inout Out sla constant is Package sll disconnect label Port sra begin, end.. if, then, case... and, or, nand, xor.. signal, component, in, out Mariusz Rawski 14
15 Identyfikatory Identyfikator jest nazwą obiektu w kodzie VHDL Podstawowe zasady tworzenia identyfikatorów: Identyfikatory mogą się składać jedynie z liter, cyfr i znaków podkreślenia _ Nazwa musi się rozpoczynać od litery Nazwa nie może się kończyć znakiem _ Niedozwolone są dwa znaki podkreślenia w nazwie Wielkość liter nie ma znaczenia Nazwa powinna być znacząca Ta_Sama_Nazwa TA_SAMA_NAZWA ta_sama_nazwa ta_sama_nazwa 16_bit_bus : integer; -- błędnie _bus_16_bit_ : integer; -- błędnie bus_16_bit : integer; -- O.K. bus 16_bit : integer; -- błędnie bus$16$bit : integer; -- błędnie Bus16Bit : integer; -- O.K. Mariusz Rawski 15
16 Liczby Liczby, znaki i napisy W języku VHDL można się posługiwać liczbami: całkowitymi 0, 128, 98E3 rzeczywistymi 0.0, 1.238, 9.8E3 Liczby mogą być przedstawione w różnych systemach: dziesiętnie 45, binarnie 2#101101# heksadecymalnie 16#2D# Można wykorzystać znaki podkreślenia dla zwiększenia czytelności: 2#0110_0101_0011# 2# # Znaki W języku VHDL znak ujmuje się w apostrofy: a, 3 1 to liczba, zaś 1 to znak Napis W języku VHDL napis ujmuje się w znaki cudzysłowów : napis to napis, zaś to liczba Mariusz Rawski 16
17 Formatowanie kodu library ieee; use ieee.std_logic_1164.all; entity port_mode is port( a, b : in std_logic; x, y : out std_logic ); end port_mode; architecture data_flow of port_mode is signal tmp : std_logic; begin tmp <= a and b; x <= tmp; y <= not tmp; end data_flow; library ieee; use ieee.std_logic_1164.all; entity port_mode is port( a, b : in std_logic; x, y : out std_logic ); end port_mode; architecture data_flow of port_mode is signal tmp : std_logic; begin tmp <= a and b; x <= tmp; y <= not tmp; end data_flow; Mariusz Rawski VHDL jest językiem niewrażliwym na wielkość liter a białe znaki mogą być swobodnie umieszczane pomiędzy elementami leksykalnymi Pomimo, że formatowanie kodu nie wpływa na jego zawartość i efektywność projektu ma ogromne znacznie dla czytelności Obydwa kody opisują dokładnie ten sam projekt Odpowiednio sformatowany i udokumentowany kod pozwala na łatwiejsze zrozumienie opisywanego projektu i lokalizowanie ewentualnych błędów. 17
18 Obiekty Obiekty w języku VHDL to elementy posiadające nazwę i przechowujące wartość określonego typu. Istnieje cztery rodzaje obiektów: sygnały (signal), zmienne (variable), stałe (constant), pliki (file), aliasy (alias). Zasięg obiektów: obiekty zadeklarowane w pakietach są widoczne w wszystkich kodach VHDL wykorzystujących te pakiety, obiekty zadeklarowane w interfejsie (entity) jednostki projektowej są dostępne dla wszystkich architektur z nią związanych, obiekty zadeklarowane w bloku architektury (architecture) są dostępne dla wszystkich konstrukcji wewnątrz tej architektury, obiekty zadeklarowane w procesie dostępne są jedynie wewnątrz procesu, Mariusz Rawski 18
19 Sygnały Najczęściej spotykane obiekty w kodzie VHDL. Sygnały są wykorzystywane do komunikacji między komponentami VHDL Rzeczywiste, fizyczne połączenia w systemie często są reprezentowane przez sygnały VHDL Sygnał musi zostać zadeklarowany w sekcji deklaracji w bloku architektury. Sposób deklaracji jest następujący: Przykład: signal nazwa_sygnalu1, nazwa_sygnalu_2, : typ_danych; signal a, b, c : std_logic; Przypisanie wartości: nazwa_sygnalu1 <= wartość; Istnieje możliwości podania początkowej wartości sygnału, co wykorzystuje się w symulacji jednak nie jest syntezowane: signal a, b, c : std_logic := 0 ; Wszystkie przypisania wartości sygnałom odbywają się z opóźnieniem zależnym od technologii, w której system jest realizowany Mariusz Rawski 19
20 Zmienne Reprezentuje symboliczny element pamięciowy, w którym można przechowywać i modyfikować wartości. Nie istnieje bezpośredniego odwzorowania zmiennych w realizowanym układzie cyfrowym. Zmienna może być deklarowana i wykorzystywana jedyne w procesach. Głównym zastosowanie zmiennych jest abstrakcyjny opis funkcjonowania systemu. Sposób deklaracji jest następujący: variable nazwa_zmiennej1, nazwa_zmiennej2, : typ_danych; Przypisanie wartości: nazwa_zmiennej := wartość; Przypisanie wartości zmiennym odbywa się bez opóźnienia, stąd nazywane jest też natychmiastowym (immediate assigment). Mariusz Rawski 20
21 Stałe Stała reprezentuje obiekt przechowujący wartość, która nie może być zmieniona Sposób deklaracji jest następujący: Przykład: constant nazwa_stalej : typ_danych := warotść; constant BUS_WIDTH : integer := 32; constant BUS_BYTES : integer := BUS_WIDTH / 8; Stosowanie stałych zwiększa czytelność kodu i ułatwia modyfikacje. architecture behavior of even_detector_beh1 is -- deklaracja sygnalu signal odd : std_logic; begin process (x) variable tmp : std_logic; begin tmp := '0'; for i in 2 downto 0 loop tmp := tmp xor x(i); end loop; odd <= tmp; end process; end behavior ; architecture behavior of even_detector_beh1 is -- deklaracja sygnalu signal odd : std_logic; begin process (x) variable tmp : std_logic; constant BUS_WIDTH : integer := 3; begin tmp := '0'; for i in BUS_WIDTH - 1 downto 0 loop tmp := tmp xor x(i); end loop; odd <= tmp; end process; end behavior ; Mariusz Rawski 21
22 Aliasy Aliasy nie są obiektami danych w dosłownym znaczeniu tego słowa. Stanowią alternatywną nazwę dla istniejących obiektów. Jedna z form aliasu sygnałów jest wyjątkowo pomocna w syntezie. Rozważmy 16 bitowy rejestr przechowujący instrukcję procesora składającą się z kodu operacji i trzech rejestrów. Można wykorzystać aliasy do identyfikacji poszczególnych pól składowych instrukcji. signal instruction : std_logic_vector (15 downto 0); alias operation : std_logic_vector (6 downto 0) is instruction (15 downto 9) ; alias register1 : std_logic_vector (2 downto 0) is instruction (8 downto 6) ; alias register2 : std_logic_vector (2 downto 0) is instruction (5 downto 3) ; alias register3 : std_logic_vector (2 downto 0) is instruction (2 downto 0); instruction operation register1 register2 register3 7 bitów 3 bity 3 bity 3 bity 16 bitów Mariusz Rawski 22
23 Typy skalarne Typy danych integer liczby całkowite real liczby rzeczywiste bit typ bitowy (0, 1) boolean typ boolowski (prawda, fałsz) std_ulogic, std_logic typy wielowartościowe Typy złożone string typ łancuchowy bit_vector typ bitwektorowy std_logic_vector wektor typu std_logic Typy wektorowo - skalarne signed unsigned Mariusz Rawski 23
24 Atrybuty Dostarczają dodatkowych informacji o obiektach (np. sygnałach, zmiennych, typach lub komponentach) Pewna liczba atrybutów jest predefiniowana Składnia obiekt atrybut[(parametr)]; Przykładowe atrybuty EVENT równy TRUE, gdy zachodzi zmiana wartości sygnału, STABLE równy TRUE, gdy nie zachodzi zmiana wartości sygnału LEFT - zwraca lewą granicę zakresu RIGHT - zwraca prawą granicę zakresu RANGE - zwraca zakres typu Mariusz Rawski 24
25 Operatory Operacja Opis Typ argumentu a Typ argumentu b Typ wyniku a ** b potęgowanie integer integer integer abs a wartość bezwzględna integer integer not a negacja boolean, bit, bit_vetctor boolean, bit, bit_vetctor a * b mnożenie integer integer integer a / b dzielenie a mod b wartość modulo a rem b reszta z dzielenia + a integer integer a negacja a + b dodawanie integer integer integer a b odejmowanie a & b złączenie tablica 1-D, element tablica 1-D, element tablica 1-D a sll b przesunięcie w lewo logiczne bit_vector integer bit_vector a srl b przesunięcie w prawo logiczne a sla b przesunięcie w lewo arytmetyczne a sra b przesunięcie w prawo arytmetyczne a rol b rotacja w lewo a ror b rotacja w prawo a = b równe dowolne jak a boolean a /= b różne a < b mniejsze skalar lub tablica 1-D jak a boolean a <= b mniejsze lub równe a > b większe a >= b większe lub równe a and b and boolean, bit, bit_vetctor jak a jak a a or b or a xor b xor a nand b nand a nor b nor a xnor b xnor Mariusz Rawski 25
26 Operatory W trakcie syntezy operatory VHDL zostaną zrealizowane jako fizyczne komponenty. Złożoność realizacji sprzętowej tych operatorów jest bardzo różna. Wiele z nich jak np. mnożenie czy dzielenie jest bardzo trudno zrealizować. Kolejność wykonania operatorów: Priorytet Najwyższy Operatory ** abs not * / mod rem + - (identycznoć, negacja) & + - (suma i różnica) sll srl sla sra rol ror = /= < <= > >= Najniższy and or nand nor xor xnor W przypadku równoprawnych operacji wykonywanie odbywa się z lewej do prawej. a + b 1 > c or a < d Wykorzystując nawiasy można ustalić kolejność wykonywania operacji (a and b) or (a and d) Mariusz Rawski 26
27 Typy danych pakietu IEEE std_logic_1164 Najbardziej użyteczne typy danych pakietu std_logic_1164 to: std_logic, std_logic_vector Typ std_logic posiada 9 możliwych wartości: 0 i 1 silna logiczna wartości 0 i 1, L i H słaba logiczna wartość 0 i 1, X i W wartość nieznana i słaba wartość nieznana, U wartość niezainicjowana (wykorzystana w symulacji), wartość nieokreślona (don t care), Z stan wysokiej impedancji. Typ std_logic_vector jest kolekcją elementów typu std_logic. Sygnał 8 bitowy jest reprezentowany przez: signal a : std_logic_vector (7 downto 0); signal b : std_logic_vector (0 to 7); Dla a najbardziej znaczący bit MSB ma indeks 7 najmniej znaczący 0, dla b najbardziej znaczący bit MSB ma indeks 0 najmniej znaczący 7 Możliwy jest dostęp do poszczególnych elementów: a(7) najbardziej znaczący bit MSB a(3 downto 0) najmłodsze 4 bity Mariusz Rawski 27
28 Przeciążone operatory i funkcje konwersji Operacja Typ argumentu a Typ argumentu b not a std_logic, std_logic_vector jak a a and b std_logic, std_logic_vector jak a jak a a or b a xor b a nand b a nor b a xnor b Typ wyniku Operacja Typ argumentu a to_bit(a) std_logic bit to_stdulogic(a) bit std_logic to_bitvector(a) std_logic_vector bit_vector to_stdlogicvector(a) bit_vector std_logic_vector Dla następujących deklaracji sygnałów: signal s1, s2, s3 : std_logic_vector (7 downto 0); signal b1, b2 : bit_vector (7 downto 0); Błędne konstrukcje spowodowane niezgodnością typów s1 <= b1; b2 <= s1 and s2; s3 <= b1 or s2; Typ wyniku Poprawne konstrukcje wykorzystujące funkcje konwersji s1 <= to_stdlogicvector(b1); b2 <= to_bitvector(s1 and s2); s3 <= to_stdlogicvector(b1) or s2; lub s3 <= to_stdlogicvector( b1 or to_bitvector(s2)); Mariusz Rawski 28
29 Operatory relacyjne Dla tablicy 1-D możliwe jest stosowanie operatorów relacyjnych Obydwa argumenty muszą mieć ten sam typ elementów Porównanie następuje element po elemencie zaczynając od lewej strony Jeśli jedna z tablic osiągnie wcześniej koniec jest uznawana z element mniejszy Dla: 011 = > > > 011 signal s1 : std_logic_vector (7 downto 0); signal s2 : std_logic_vector (3 downto 0); if (s1 = s2) then else. wyrażenie s1 = s2 jest zawsze fałszywe. Tego typu błąd jest trudny do zlokalizowania. Mariusz Rawski 29
30 Operatory konkatenacji i agregacja Bardzo przydatny operator dla manipulacji na tablicach 1-D Umożliwia łączenie elementów, małych tablic i fragmentów tablic w większe tablice. Przesunięcie w prawo o dwie pozycje i dołączenie dwóch zer na początku: y <= 00 & a(7 downto 2); Przesunięcie w prawo o dwie pozycje i dołączenie dwóch bitów o wartości takiej jak MSB (arithmetic shift): y <= a(7) & a(7) & a(7 downto 2); Rotacja w praco o dwie pozycje: y <= a(1 downto 0) & a(7 downto 2); Agregacja nie jest operatorem y <= " ; y <= ( 1, 0, 1, 0, 0, 0, 0, 0 ); y <= (7 => 1, 6 => 0, 5 => 1, 4 => 0, 3 => 0, 2 => 0, 1 => 0, 0 => 0 ); y <= (7 5 => 1, => 0 ); y <= (7 5 => 1, others => 0 ); Wyzerowanie całego wektora y <= (others => 0 ); Mariusz Rawski 30
31 Typy danych pakietu IEEE numeric_std Definiuje typy signed i unsigned jako tablica elementów std_logic Dla unsigned tablica jest interpretowana w kodzie NKB Dla signed tablica jest interpretowana w kodzie U2 Deklaracja obiektów nowego typu jest identyczna jak std_logic_vector: signal s1 : signed(7 downto 0); Dla celów operacji na obiektach nowego typu przeciążono operatory: abs, *, /, mod, rem, +, Operatory relacyjne także zostały przeciążone. Przykład: 011 > 1000 dla sygnałów typu: std_logic_vector false pierwszy element 011 jest mniejszy niż 1000 unsigned false 3 > 8 signed true 3 > 8 Mariusz Rawski 31
32 Funkcje pakietu IEEE numeric_std Operacja Opis Typ Typ Typ argumentu a argumentu b wyniku shift_left(a, b) przesunięcie w lewo unsigned, signed naturalny jak a shift_right(a, b) przesunięcie w prawo rotate_left(a, b) obrót w lewo rotate_right(a, b) obrót w prawo resize(a, b) zmiana rozmiaru unsigned, signed naturalny jak a std_match(a, b) porównanie z unsigned, signed, jak a boolean uwzględnieniem std_logic_vector, std_logic to_integer(a) konwersje unsigned, signed integer to_unsigned(a) typów natural natural unsigned to_signed(a) danych integer natural signed Mariusz Rawski 32
33 Konwersja typów Typ argumentu a Docelowy typ danych Funkcja konwersji/rzutowanie unsigned, signed std_logic_vector std_logic_vector(a) signed, std_logic_vector unsigned unsigned(a) unsigned, std_logic_vector signed signed(a) unsigned, signed integer to_integer(a) natural unsigned to_unsigned(a, size) integer signed to_signed(a, size) Mariusz Rawski 33
34 Kodowanie w VHDL porady Używaj typów std_logic i std_logic_vector zamiast bit i bit_vector. Używaj pakietu numeric_std i typów unsigned i signed do syntezy operatorów arytmetycznych. Używaj jedynie malejącego zakresu tablic (downto) dla typów unsigned, signed i std_logic_vector. Używaj nawiasów do sprecyzowania zamierzonej kolejności wykonania operacji. Nie używaj typów definiowanych przez użytkownika, chyba, że istnieje po temu poważny powód. Nie używaj bezpośredniego przypisania := dla nadania wartości początkowej sygnałom. Używaj argumentów o takim samym rozmiarze dla operatorów relacyjnych Mariusz Rawski 34
VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)
VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) Język VHDL jest jednym z nowszych języków opisu i projektowania układów cyfrowych. W lipcu 1983 roku firmy Intermetrics,
Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1
Elementy języka VHDL obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne PUE-w3 1 Obiekty (sygnały, zmienne, stałe, pliki) Obiekty służą do zapisu i pamiętania
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Modelowanie 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
Projektowanie w VHDL
Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady
Laboratorium 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
Ję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
Ukł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
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.
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.
Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS
Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny
Układy reprogramowalne i SoC Język VHDL (część 2)
Układy reprogramowalne i SoC Język VHDL (część 2) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Projektowanie 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
Sposoby 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
Projektowanie 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
Specyfika projektowania Mariusz Rawski
CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania
DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:
Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym
WOJSKOWA 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
Projekt 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
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.
Testbenches. Symulacja sterowana zdarzeniami. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -
VHDL cz.1. Rafał Walkowiak IIn PP Wer
VHDL cz.1 Rafał Walkowiak IIn PP Wer 2.0 11.2013 VHDL VHDL (ang. Very High Speed Integrated Circuits Hardware Description Language ) jest popularnym językiem opisu sprzętu używanym w komputerowym projektowaniu
AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN
AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------
VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014
VHDL przykłady rozwiązań Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 for generate Tworzenie wektora obiektów : for in generate -- wyrażenia równoległe end
Kiedy i czy konieczne?
Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem
VHDL cz.1. Rafał Walkowiak IIn PP Wer
VHDL cz.1 Rafał Walkowiak IIn PP Wer 2.1 12.2015 VHDL VHDL (ang. Very High Speed Integrated Circuits Hardware Description Language ) jest popularnym językiem opisu sprzętu używanym w komputerowym projektowaniu
Altera 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:...
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
LABORATORIUM 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)
Technika 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
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Programowalne 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
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
VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL
Style opisu VHDL VHDL Behawioralny Strukturalny Czasowy Równania boolowskie Poziom RTL Przebieg czasowy c = a v b c
Algorytmika i Programowanie VBA 1 - podstawy
Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy
Podstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];
Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server
mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Analiza układów sekwencyjnych W3 7.03.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Zmiany w terminach Plan wykładu 1 2 3 4 5 6 Ciekawostki
Instrukcje sekwencyjne
nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1 rocesy Konstrukcja
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Właściwości i metody obiektu Comment Właściwości
Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz
Układy reprogramowalne i SoC Język VHDL (część 5)
Układy reprogramowalne i SoC Język VHDL (część 5) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne
Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
Bloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Logika Temporalna i Automaty Czasowe
Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Projektowanie 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
Programowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W
Programowanie Układów Logicznych kod kursu: ETD6203 VHDL, ISE WebPACK, Plan Ahead, Impact W2 28.02.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 VHDL powtórka ważniejszych
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach
Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda
Kurs języka VHDL Very High (Speed Integrated Circuits) Description Language
Kurs języka VHDL Very High (Speed Integrated Circuits) Description Language Józef Kalisz, Wojskowa Akademia Techniczna, 2008 Początek: lata 80-te XX w. Kontrakt VHSIC (Department of Defense, USA) Podstawa:
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny
Elementy języka VHDL
Elementy języka VHDL Języki opisu sprzętu: Firmowe - stosowane wyłącznie w systemach danej firmy (AHDL, ABEL) Uniwersalne - stosowane coraz powszechniej w różnych systemach, równolegle z językami firmowymi
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 IoT, sieci neuronowe W9 24.04.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu IoT internet rzeczy Sieci neuronowe - wprowadzenie
Kró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
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja. Wykład 2
Projektowanie systemów cyfrowych w językach opisu sprzętu Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja Wykład 2 Program wykładu VHDL przykłady VHDL jednostki projektowe VHDL pojęcia leksykalne
Politechnika 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
Ada-95. Dariusz Wawrzyniak
Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Cyfrowy zapis informacji
F1-1 Cyfrowy zapis informacji Alfabet: uporządkowany zbiór znaków, np. A = {a,b,..., z} Słowa (ciągi) informacyjne: łańcuchy znakowe, np. A i = gdtr Długość słowa n : liczba znaków słowa, np. n(sbdy) =
Wstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Systemy 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
Politechnika 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
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W
Programowalne układy logiczne kod kursu: ETD008270 Podstawy języka Verilog W2 2.03.2018 mgr inż. Maciej Rudek 2 Tematyka kursu wykład Poziom abstrakcji systemów opisu sprzętu Historia Verilog został stworzony
Programowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)
Wstęp SYSTEMY WBUDOWANE Układy kombinacyjne c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) Systemy wbudowane Rok akad. 2011/2012
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
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.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Należy ściągnąć oprogramowanie Apache na platformę
Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
MATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu
Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie
Układy reprogramowalne i SoC Język VHDL (część 1)
Układy reprogramowalne i SoC Język VHDL (część 1) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Wstęp do programowania 2
Wstęp do programowania 2 wykład 6 typy dostępu c.d Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Przykład wykorzystania typów dostępu zob. pakiet rodzajowy listapak
Systemy 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
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Elementy języków programowania
Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń
PL/SQL Część 1 Bloki PL/SQL Piotr Medoń Cele Zapoznanie się z podstawowymi typami PL/SQL Zapoznanie się z blokiem PL/SQL Zapoznanie się z instrukcjami sterującymi wykonaniem 2 Blok PL/SQL Struktura bloku