Języki Opisu Sprzętu. Studium Zaoczne III rok kierunek Elektronika. Język VHDL cz.3

Wielkość: px
Rozpocząć pokaz od strony:

Download "Języki Opisu Sprzętu. Studium Zaoczne III rok kierunek Elektronika. Język VHDL cz.3"

Transkrypt

1 Języki Opisu Sprzętu Studium Zaoczne III rok kierunek Elektronika Język VHDL cz.3

2 Program wykładu Wstęp do syntezy Sprzętowa reprezentacja obiektów w VHDL Synteza obiektów VHDL Synteza instrukcji VHDL Przykłady aplikacji Kontakt z prowadzącymi: C-3 p.502 tel. (617)3980 dr inŝ. Jerzy Kasperek kasperek@uci.agh.edu.pl dr inŝ. Paweł J.Rajda pjrajda@uci.agh.edu.pl Archiwum wykładu

3 Wstęp do syntezy Literatura: A VHDL Synthesis primer J.Bhasker, VHDL A Logic Synthesis Approach D.Naylor, S.Jones, Reuse Methodology Manual M.Keating, P.Bricaud, Xilinx Foundation Express User Guide Synopsys, Inc.

4 Projekt oparty o VHDL w środowisku Aldec AHDL Zewnętrzne narzędzia do przeprowadzenia syntezy i Implementacji Graficzny Shell po wybraniu Opcji: Prefereces/Flows/ Xilinx Flow (TCL based)

5 Sprzętowa reprezentacja obiektów w VHDL Obiekt - sygnał lub zmienna moŝe być reprezentowany jako: przewód przerzutnik (element pamięciowy wyzwalany zboczem) przerzutnik latch (element pamięciowy wyzwalany poziomem)

6 Sprzętowa reprezentacja obiektów w VHDL signal A,B,C,D: bit... NO_MEMORY: process (A,B,C) variable TMP: bit; TMP:= A and B; D <= TMP or C; end process; A TMP B C Implementacja TMP : przewód D signal A,B,C: bit... IS_IT_LATCH: process (A,B,C) variable TMP: bit; C <= TMP and B; TMP := A or C; end process; Implementacja TMP : zatrzask?!

7 Synteza typów numerycznych: Integer, real Typy i podtypy które zawierają wartości ujemne w swojej definicji zakresu kodowane są w kodzie uzupełnień do 2 Typy i podtypy które zawierają tylko wartości dodatnie kodowane są binarnie Liczb uŝytych bitów zaleŝy od największej dopuszczalnej wartości dla danego obiektu type int0 is range 0 to a binary encoding having 7bits. type int1 is range 10 to a binary encoding having 7bits type int2 is range -1 to a 2's complement encoding having -- 8 bits (including sign). subtype int3is int2range 0 to 7 -- a binary encoding having 3bits.

8 Synteza typów numerycznych: Integer, real type short is integer 0 to 255; subtype shorter is short range 0 to 31; subtype shortest is short range 0 to 15;. signal op1,op2,res1 : shortest; signal res2 : shorter; signal res3 : short res1 <= op1 + op2;-- truncate carry res2 <= op1 + op2;-- use carry res3 <= op1 + op2;-- use carry and zero extend

9 Synteza typów wyliczeniowych Typy wyliczeniowe syntezowane są przez binarne kodowanie. Poszczególnym elementów asygnowane są kolejne wartości przy czym pierwszy od lewej otrzymuje wartość zero. Liczba asygnowanych elementów (n) będzie najmniejsza z moŝliwych liczba elementów <= 2**n Typ bit jest syntezowany jako wire Typ character jest syntezowany jako 8 x wire

10 Synteza typów wyliczeniowych Deklaracja: Jest syntezowana jako type direction is (left, right, up, down); -- Two wires. type cpu_op is (execute, load, store); -- Two wires; -- the encoding of is a "don't care." subtype mem_op is cpu_op range load to store; User Defined Encoding Two wires; the encodings of 00 and 11 are "don't cares. attribute enum_encoding of enum_t : type is " "; -- or... : type is "one hot"; -- or... : type is "1-hot";

11 Typ: std_logic_1164 type std_ulogic is ('U', -- Uninitialized 'X', -- Forcing Unknown 0', -- Forcing 0 '1', -- Forcing 1 'Z', -- High Impedance 'W', -- Weak Unknown 'L', -- Weak 0 'H', -- Weak 1 '-' -- Don't care ); attribute enum_encoding of std_ulogic : type is "M M 0 1 Z M 0 1 -"; '0' 'L' -- Logic value 0 '1' 'H' -- Logic value 1 'Z' -- Logic value tristate 'U' 'X' 'W' -- Metalogic value '-' -- Don t care value

12 Synteza instrukcji przypisań - operatory logiczne entity logical_ops_1 is port (a, b, c, d: in bit; m: out bit); end logical_ops_1; architecture example of logical_ops_1 is signal e: bit; m <= (a and b) or e; -- concurrent signal e <= c xor d; -- assignments end example; entity logical_ops_2 is port (a, b: in bit_vector (0 to 3); m: out bit_vector (0 to 3)); end logical_ops_2 architecture example of logical_ops_2 is m <= a and b; end example;

13 Synteza instrukcji przypisań - operatory relacji entity relational_ops_1 is port (a, b: in bit_vector (0 to 3); m: out boolean); end relational_ops_1; architecture example of relational_ops_1 is m <= a = b; end example; entity relational_ops_2 is port (a, b: in integer range 0 to 15; m: out boolean); end relational_ops_2; architecture example of relational_ops_2 is m <= a >= b; end example;

14 Synteza operatorów arytmetycznych package example_arithmetic is type small_int is range 0 to 7; end example_arithmetic; use work.example_arithmetic.all; entity arithmetic is port (a, b: in small_int; m: out small_int); end arithmetic; architecture example of arithmetic is m <= a + b; end example;

15 Synteza instrukcji wyboru VHDL wyraŝenia współbieŝne (concurrent) conditional signal assignment ( when.. ) selected signal assignment (with.. ) VHDL wyraŝenia sekwencyjne (sequential) (if.. ) (case..)

16 Synteza współbieŝnych instrukcji wyboru entity control_stmts is port (a, b, c:in boolean; m: out boolean); end control_stmts; architecture example of control_stmts is m <= b when a else c; end example; entity control_stmts is port (sel: bit_vector (0 to 1); a,b,c,d : bit; m: out bit); end control_stmts; architecture example of control_stmts is with sel select m <= c when b"00", m <= d when b"01", m <= a when b"10", m <= b when others; end example;

17 Synteza sekwencyjnych instrukcji wyboru entity control_stmts is port (a, b, c: in boolean; m: out boolean); end control_stmts; architecture example of control_stmts is process (a, b, c) variable n: boolean; if a then n := b; else n := c; end if; m <= n; end process; end example;

18 Synteza sekwencyjnych instrukcji wyboru

19 Synteza sekwencyjnych instrukcji wyboru entity control_stmts is port (sel: bit_vector (0 to 1); a,b,c,d : bit; m: out bit); end control_stmts; architecture example of control_stmts is process (sel,a,b,c,d) case sel is when b"00" => m <= c; when b"01" => m <= d; when b"10" => m <= a; when others => m <= b; end case; end process; end example;

20 Synteza instrukcji powielających logikę entity loop_stmt is port (a: bit_vector (0 to 3); m: out bit_vector (0 to 3)); end loop_stmt; architecture example of loop_stmt is process (a) variable b:bit; b := '1'; for i in 0 to 3 loop --don't need to declare i b := a(3-i) and b; m(i) <= b; end loop; end process; end example;

21 Synteza instrukcji powielających logikę entity subprograms is port (a: bit_vector (0 to 2); m: out bit_vector (0 to 2)); end subprograms; architecture example of subprograms is function simple (w, x, y: bit) return bit is return (w and x) or y; end; process (a) m(0) <= simple(a(0), a(1), a(2)); m(1) <= simple(a(2), a(0), a(1)); m(2) <= simple(a(1), a(2), a(0)); end process; end example

22 Synteza instrukcji powielających logikę

23 Synteza instrukcji sekwencyjnych Specyfikacja warunkowa if clk then y <= a; else -- do nothing end if; if clk then y <= a; else y <= b; end if; if clk and clk'event then y <= a; end if; sygnał y - latch sygnał y- mux sygnał y- D Flip Flop

24 Instrukcje implikujące syntezę do FF typu latch process (clk,a,b) -- a list of all signals used in the process if clk then y <= a and b; end if; end process; procedure my_latch (signal clk, a, b: in boolean; signal y: out boolean) if clk then y <= a and b; end if; end; -- A concurrent conditional signal assignment, y <= a and b when clk else y; y <= a and b when clk;

25 Instrukcje implikujące syntezę do FF typu D Proces zawierający listę aktywującą: process (clk) --a list of all signals that result in --propagation delay if clk and clk'event then --rising clock edge y <= a and b; end if; end process; Proces zawierający klauzulę wait: process wait until not clk; --falling clock edge y <= a and b; end process; Procedura uŝyta jako wywołanie współbieŝne: procedure my_ff (signal clk, a, b: boolean; signal y: out boolean); if not clk and clk'event then --falling clock edge y <= a and b; end if; end; WspółbieŜne przypisania warunkowe: y <= a and b when clk and clk'event else y; -- ERROR y <= a and b when clk and clk'event;--fpga Express SYNTAX-ERR

26 Instrukcje implikujące synchroniczny Set/Reset process(clk) if clk and clk'event then -- clock rising if set then y <= true; -- y is type boolean else y <= a and b; end if; end if; end process; bits reset, 3 bits set by init process wait until clk -- clock rising if init then y <= 7; -- y is type integer else y <= a + b; end if; end process;

27 Instrukcje implikujące synchroniczny Set/Reset y <= false when reset else a when clk and clk 'event else y; process (clk, reset) if reset then q <= false; -- y is type boolean else if clk and clk'event then -- clock rising q <= d; end if; end if; end process; procedure ff_async_set (signal clk, a, set: boolean; signal q : out boolean) if set then q <= true; elsif clk and clk'event then -- clock rising q <= a; end if; end;

28 Struktura Jednolita struktura projektów UŜycie zmiennych systemowych w ścieŝkach do projektów UŜycie przyrostków w nazwach plików dla określenia ich zawartości (np.: _tb, _beh, _struct, _rtl, _synt, _impl itp.) Komentarze Nagłówek kaŝdego pliku (skryptu teŝ) zawiera: nazwę pliku, autora, opis funkcji, datę utworzenia, historię modyfikacji) Komentarz opisuje intencje projektanta, a nie zachowanie się kodu Kasowanie złego kodu (zamiast zamiany na komentarz) Układ Wcięcia na min. 3 spacje Styl kodowania Jedna operacja na jedną linię kodu

29 Styl kodowania Układ c.d. Limit długości linii (przeniesienie logiczne!) UŜycie tabulatorów np. w klauzuli port deklaracji entity Składnia Grupowanie często uŝywanych operacji w podprogramy UŜywanie pętli i tablic Minimalizowanie liczby poziomów zagnieŝdŝenia instrukcji warunkowych Kapitalizacja Nie dodawać znaczenia przez uppercase w narzędziach case-insensitive Zamiast tego uŝywać przedrostków i przyrostków UŜywać underscore zamiast uppercase dla oddzielania słów UŜywać uppercase tylko dla stałych

30 Styl kodowania Identyfikatory UŜywać znaczących nazw (min. 5 znaków) Nazywać obiekty stosownie do ich funkcji, a nie typu Nie wykorzystywać zakresu działania obiektów Wykorzystywać stałe symboliczne (nie magiczne ) Język VHDL Parametryzacja kodu (szerokość magistral, atrybuty np.: left) W kaŝdym pliku źródłowym tylko jedna jednostka projektowa: (entity, architecture, configuration, package) Deklaracja portów w porządku interfejsów, a nie ich kierunku Etykiety dla instrukcji współbieŝnych (process!) oraz end Nie tworzyć zbyt wielu podtypów (range zamiast subtype) Nie uŝywać trybu buffer (sprzęŝenia zwrotne lokalne) Nie uŝywać przypisań guarded i sygnału guard

31 Styl kodowania UŜywać nazwy clk dla sygnałów zegarowych i rst dla sygnałów kasowania Nie zmieniać nazwy tego samego sygnału w poszczególnych blokach projektowanego systemu Zaznaczać poziom aktywności sygnału, np. sygnały aktywne stanem niskim kończyć: _n UŜywać porządku downto w obiektach wektorowych Standard VITAL IEEE1076.4: Nie uŝywać underscore w nazwach entity. Po syntezie jest on uŝywany w pliku SDF. Konwencje nazw deklaracji architecture: ARCHITECTURE rtl OF my_syn_model IS dla symulacji po syntezie lub: ARCHITECTURE simof my_behave_model IS dla symulacji behawioranej. W deklaracjach portmap uŝywać notacji specyfikacyjnej Stosować tylko typ std_logic

32 Styl projektowania CLK Modelowa struktura projektu: Jeden sygnał zegarowy Wszystkie przerzutniki wyzwalane tym samym zboczem Problemy przy dwóch aktywnych zboczach: ZaleŜność od współczynnika wypełnienia (tolerancja na zmiany duty cycle w dokumentacji projektu!) Problemy z metodą testowania typu ścieŝka brzegowa (JTAG 1149)

33 Styl projektowania CLK Asynchroniczne kluczowanie zegara - same problemy! (niewykorzystanie zasobów dystrybucji sygnałów zegarowych, problemy z testowaniem, gorsze parametry czasowe itp.) Rozwiązanie stosowanie wejść CE kodowanie przez warunek: if ce= 1 po sekwencji if clk event and clk= 1.

34 Styl projektowania CLK Nie naleŝy stosować wewnętrznie (asynchronicznie!) generowanych sygnałów zegarowych. CE CLK NaleŜy natomiast projektować układy synchroniczne lub uŝywać kilku sygnałów zegarowych (patrz: DLL).

35 Styl projektowania AA B CC A+B+C A+B+C

36 Kodowanie uwzględniające proces syntezy 1. Rejestry wyjściowe dla sygnałów 2. Jeden atrybut signal event na jeden proces 3. Sterowanie sygnału tylko z jednego procesu (jeŝeli występuje potrzeba kontroli z 2 lub więcej procesów ok- ale wtedy potrzebny dodatkowa instrukcja arbitraŝu) 4. Odpowiedni podział modułów logiki kombinacyjnej 5. Podział na bloki z uwagi na wymaganą szybkość działania (speed versus area optimisation) 6. Rozdzielenie bloków logiki asynchronicznej i synchronicznej (instrukcja process a instrukcje współbieŝne) 7. Odpowiednie rozwiązania dla modułów realizujących funkcje arytmetyczne 8. Grupowanie sygnałów pod kątem czasu syntezy 9. Unikanie multicycle paths czyli ścieŝek sygnałów, które odchodzą od reguły jednego okresu.

37 Weryfikacja projektów Weryfikacja zajmuje 70% czasu realizacji projektu ( critical path ) Zagadnieniami weryfikacji zajmuje się dwa razy więcej inŝynierów niŝ wprowadzaniem projektu (oddzielne ekipy!) Kod testbencha stanowi do 80% całego projektu

38 Weryfikacja Specyfikacja Interpretacja Transformacja Model źródłowy Model docelowy Weryfikacja Transformacja to n.p.: kodowanie RTL, synteza, implementacja Weryfikacja wymaga wspólnego początku z transformacją Uwaga na human factor - jeŝeli ten sam projektant przeprowadza interpretację, kodowanie i weryfikację.

39 Weryfikacja Automatyzacja (pomysł OK, ale jak go zrealizować?) Strategia atomizacji problemu: sprowadzenie ludzkich decyzji do elementarnych problemów Wprowadzenie redundacji: dwa konkurencyjne zespoły Interpretacja A Model źródłowy Transformacja Specyfikacja Model docelowy Interpretacja B Model źródłowy Weryfikacja

40 Weryfikacja 1. Porównanie zgodności Porównanie dwóch list połączeń (netlist) Wykrycie ew. błędów narzędzia syntezy Model RTL Synteza Weryfikacja Functional verification answers the question: did I build the right thing? as opposed to implementation verification, which answers the question did I build the thing right? Model po syntezie 2. Sprawdzanie modelu Sprawdzenie zachowania się modelu w sytuacjach błędnych Problem: jak te sytuacje znaleźć? (automaty stanu, inne zachowanie się magistral itp.) Specyfikacja Interpretacja Kodowanie RTL Problemy Model RTL Sprawdzanie modelu

41 Weryfikacja formalna Linting ALINT is a highly optimized HDL design rule checker. ALINT includes a clear and informative set of violation messages, generated during linting with a direct cross-link to source code, for early bug detection, ensuring correct RTL code early in the design cycle. Key Features Supports 200 VHDL and Verilog Design Rules. Clock Domain Crossing (CDC) support. Source code checks, design elaboration and synthesis emulation. User Modified Design Rules. Cross-Probing of error messages, Violation Viewer. Configuration Management

42 Przykłady reguł ALINT LINT_3003: Memory '%s' is read and written at the same time Sample Code: process (clk, address, data, rw) type ramtype is array(natural range <>) of std_logic_vector(7 downto 0); variable ram : ramtype(15 downto 0); if (rising_edge(clk)) then if (rw = '1') then ram(address) := data; end if; data <= ram(address); end if; end process; LINT_3001 Incomplete sensitivity list Sample Code: process (clk) if (reset = '1') then sig <= '0'; elsif (rising_edge(clk)) then sig <= not clk; end if; end process; LINT_5009 Reset signal '%s' is active high and low Sample Code: architecture tb of tb is signal a, b : std_logic; process (reset) if (reset = '1') then a <= '0'; end if; end process; process (reset) if (reset = '0') then b <= '0'; end if; end process; end architecture tb;

43 Weryfikacja a testowanie Kodowanie Wytwarzanie Specyfikacja Model Krzem Weryfikacja Testowanie Pomyłki Zły Projekt Błędy Brak błędów Typ II Dobry Projekt Typ I Basic goals of any comprehensive verification process: 1. It must verify that the design does everything it is supposed to do. 2. It must verify that the design does not do anything it is not supposed to do. 3. It must show when the first two goals have been met.

44 Plan weryfikacji Współczesne realia wymagają definiowania czasu realizacji poszczególnych etapów projektu (w tym czasu weryfikacji). 1. Odpowiednia i dokładna specyfikacja (kiedy koniec?) 2. Plan pierwszego sukcesu (tylko najwaŝniejsze funkcje) 3. Definicja poziomu weryfikacji: unit-level, system-level, board-level 4. Strategie weryfikacji (black-box, white-box, grey-box, losowa) 5. Identyfikacja weryfikowanych funkcji 6. Priorytety (must-have, should-have, nice-to-have) 7. Projektowanie łatwo weryfikowalne (design for verification) (np.: elementy ładowalne, wprowadzanie modułów w tryb przeźroczysty (unit bypass), punkty weryfikacji (sample points), error injection mechanism itp.)

45 Weryfikacja funkcjonalna - pytania What Documents? Hardware Requirements Specification Commerical Bus/Component Specifications Hardware Design Specification Verification Environment Specification Test Plan ISO 9000 Process Flow Error Logs Status Reports What Lanaguage for Verification? Specman (HVL) Vera (HVL) System Verilog SystemC with SCV (SystemC Verification Library) TestBuilder (C++) Custom C++ Verilog VHDL Za: Chet Nibby's Functional Verification Page

46 Weryfikacja funkcjonalna - pytania What HDL design Language? Verilog VHDL Mixed Verilog/VHDL What HDL level? Block (unit) Device System What test visibility? Black box White box Gray box Type of test? Directed Random Directed Random What data level? Vector or bit Transaction Data creation? Manual Random Generation (Pre-run) Random Generation (On-the-fly) Testbench checking? Manual Golden model Self-checking (Post-run) Self-checking (On-the-fly) Assertion Checking Are we done? Code coverage Functional coverage Other Considerations? Source Control DUT Performance Code Reuse Regression Testing Load Sharing Simulation performance Acceleration Gate Level

47 Weryfikacja funkcjonalna - pytania

48 Zarządzanie procesem weryfikacji Kontrola kolejnych wersji/rewizji Obsługa zdarzeń weryfikacji: - wykryte błędy, - wykryte błędy lub niespójności w specyfikacji, - zagadnienia optymalizacji area/speed, - nowe pomysły na kolejne warianty weryfikacji, Obsługa: - rozmowa z inŝynierem/-ami (w wielu małych firmach działa ) wady brak jasnej odpowiedzialności, brak historii, - karteczka na biurko inŝyniera wady czasami się odkleja... i spada na podłogę + brak priorytetyzacji zadań, brak historii.. - procedury, - bazy danych. W kaŝdej z metod czas przeznaczony na zgłoszenie błędu nie powinien być dłuŝszy niŝ korekta błędu!

49 TESTBENCH połączenie Process/Component Process Component TestBench Signals UUT Rodzaje procesów testujących Ad Hoc Zbiór wektorów testowych do podstawowych testów funkcjonalnych. Algorytmiczny Prosty algorytm generujący wymuszenia, np. pętla zwiększająca zmienną przez cały jej zakres do testowania dekodera lub ALU. Plik wektorów Rozwiązanie strukturalne: proces czytający plik z wektorami do testowania. NAJLEPIEJ: Testbench automatycznie sprawdzający działanie i generujacy wynik: Error lub OK!!!

50 TESTBENCH przykład General Testbench Guidelines: -osobne procesy : -obsługa danych, -zegar systemowy, -asynchroniczne sterowanie (reset)

51 TESTBENCH przykład library IEEE; use IEEE.STD_LOGIC_1164.all; entity counter_tb is end counter_tb; architecture TB_ARCHITECTURE of counter_tb is -- Component declaration of the tested unit component counter port( CLK : in STD_LOGIC; DATA : in STD_LOGIC_VECTOR(3 DOWNTO 0); RESET : in STD_LOGIC; LOAD : in STD_LOGIC; Q : out STD_LOGIC_VECTOR(3 DOWNTO 0) ); end component; -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal CLK : STD_LOGIC; signal DATA : STD_LOGIC_VECTOR(3 DOWNTO 0); signal RESET : STD_LOGIC; signal LOAD : STD_LOGIC; -- Observed signals - signals mapped to the output ports of tested entity signal Q : STD_LOGIC_VECTOR(3 DOWNTO 0); -- User can put declaration here shared variable ENDSIM: boolean:=false; constant CLK_PERIOD:time:= 30 ns; constant RESET_LENGTH:time:= 50 ns; TB część 1

52 TESTBENCH przykład -- Unit Under Test port map UUT : counter port map (CLK => CLK, DATA => DATA, RESET => RESET, LOAD => LOAD, Q => Q ); -- User can put stimulus here CLK_GEN: process if ENDSIM=false then CLK <= '0'; wait for CLK_PERIOD/2; CLK <= '1'; wait for CLK_PERIOD/2; else wait; end if; end process; -- reset process RES: process RESET<='0'; wait for RESET_LENGTH; RESET<='1'; wait; end process; -- stimulus process STIM: process DATA<="0110"; LOAD<='0'; wait for 350 ns; LOAD<='1'; wait for 50 ns; LOAD<='0'; wait for 100 ns; ENDSIM:=true; wait; end process; TB część 2 end TB_ARCHITECTURE; TB część 3

53 TESTBENCH warianty WAIT junk : process CLK <= 0, 1 after 25 ns; -- not recomended wait for 50 ns; end process; --Process with explicit wait for time statement --This is a testbench process process RESET <= '0'; wait for 50 ns; RESET <= '1'; wait for 50 ns; RESET <= '0'; wait; end process; --Process with explicit wait until edge statement --This is a synthesizable (non-testbench) sequential process wait until CLK = 1; B <= A; end process; Szybciej symulowane są TB oparte jedynie o behawioralne instrukcje wait for --Process with explicit wait on or sensitivity list --statement process --Synthesizable (non-testbench) process style wait on WR; DATA <= BUS_DATA; end process; --Combination of wait on, until, and or statement --Synthesizable (non-testbench) process style wait on IN1 until CLK = 0 ;

54 TESTBENCH pole dla instrukcji behavioralnych Kod TB jest bardzo wdzięcznym miejscem na modelowanie systemu instrukcjami behawioralnymi Przykład akcja potwierdzenia When d_valid = 1 & ACK = 0 When d_valid = 1 & ACK = 1 When d_valid = 0 & ACK = 1 When d_valid = 0 & ACK = 0 Zalety podejścia behawioralnego: moŝliwość wykorzystania bogatego zbioru instrukcji HDL, (brak ograniczeń kodowania zgodnego z RTL jak np. uŝywamy artybutu sygnału event tyle razy ile chcemy, instrukcje wait for itp.) szybkość pisania kodu, krótszy czas symulacji.

55 TESTBENCH pole dla instrukcji behavioralnych comb: process (state, ACK) next_state <= state; case state is... when MAKE_REQ=> d_valid <= 1 ; if ACK = 1 then next_state <= RELEASE; end if; when RELEASE=> d_valid <= 0 ; if ACK = 0 then next_state <=...; end if;... endcase; end; SEQ: process (CLK) if CLK event and CLK = 1 then if RESET = 1 then state <=.; else state <=next_state; end process SEQ; process end process d_valid <= 1 ; wait until ACK = 1 ; d_valid <= 0 ; wait until ACK = 0 ; Łatwo, szybko i przyjemnie...

56 TESTBENCH zalecenia --Generacja podzielonego zegara --głównego divider: process Begin clk50 <= 0 ; clk100 <= 0 ; clk200 <= 0 ; loop -- forever for j in 1 to 2 loop for k in 1 to 2 loop wait on clk; clk200 <= not clk200; end loop; clk100 <= not clk100; end loop; clk50 <= not clk50; end loop; end process divider; W przypadku stosowania osobnych domen czasowych +> osobne procesy generujące CLK Clock_A : process CLK_A <= 0 ; wait for 200 ns; CLK <= 1 ; wait for 200 ns; end process; Clock_B : process CLK_B <= 0 ; wait for 33 ns; CLK_B <= 1 ; wait for 33 ns; end process;

57 decode: process procedure do_instr(instr:t, data:d) is... end do_instr; TESTBENCH zalecenia case I1 is when "0000" => do_instr(stop, data); when "0001" => do_instr(jmp, data); when "0010" => do_instr(call, data);... end case; Redukcja wielokrotnych wywołań decode: process procedure do_instr(instr:t, data:d) is... end do_instr; case I1 is when "0000" => instr := STOP; when "0001" => instr := JMP; when "0010" => instr := CALL;... end case; do_instr(instr, data);...

58 TESTBENCH sterowanie sygnałów R/W Library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity bidir_infer is port ( DATA : inout STD_LOGIC_VECTOR(1 downto 0); READ_WRITE : in STD_LOGIC); end bidir_infer ; architecture XILINX of bidir_infer is signal LATCH_OUT : STD_LOGIC_VECTOR(1 downto 0); process(read_write, DATA) if (READ_WRITE = 1 ) then LATCH_OUT <= DATA; end if; end process; Sygnały dwukierunkowe MUSZĄ być wysterowane w stan Z w stanie odczytu od strony TB process(read_write, LATCH_OUT) if (READ_WRITE = 0 ) then DATA(0) <= LATCH_OUT(0) and LATCH_OUT(1); DATA(1) <= LATCH_OUT(0) or LATCH_OUT(1); else DATA(0) <= Z ; DATA(1) <= Z ; end if; end process; end XILINX;

59 TESTBENCH podejście strukturalne BFMs to control & monitor I/O transactions Externally generated data and expected results Concurrent, coordinated system process modeling Internal transaction and bus monitors

60 AHDL wsparcie dla TB Szablony TB - generacja zegara, - wymuszenia wartości sygnałów: - Concurrent mode, - Sequenced mode, - porównanie wyników, - zapisywanie wyników, - funkcje randomizacji, Standard Waveform and Vector Exchang WAVES (IEEE-STD ) Code Coverage Linting

61 AHDL Code Coverage Code Coverage provides the following benefits to the designer: The users can easily find sections of a model that have not been exercised by a testbench. It allows a modification of the testbench to cover all untested parts of the design. Code Coverage helps to identify sections of the model executed very frequently. This allows the user to optimize the execution of the model during the simulation. Code Coverage is integrated into the Active-HDL simulation kernel. Code Coverage can measure the effectiveness of testbenches so the most effective test can be run first. This helps to uncover bugs in the design verification process immediately during long regression tests.

62 Standard Waveform & Vector Exchange WAVES Methodology RASSP Reinventing Electronic Design Architecture Infrastructure DARPA Tri-Service Testbench Development (cont.) WAVES Testbench Diagram Testbench VHDL Model Instantiation Actual Response Input Stimulus Expected Response Monitor Processes WAVES Waveform Generator WAVES Test Vector Set Error Messages Copyright SCRA 12

63 Aplikacje HDL <=> FPGA glue logic Chyba najbardziej popularne zastosowanie układów programowalnych projektowanych przy wsparciu HDL inteligentne wsparcie dla up

64 Aplikacje HDL <=> FPGA DSP

65 Aplikacje HDL <=> FPGA DSP

66 Koniec wykładu - wpis zaliczeń

67 Ciąg dalszy nastąpi...

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Synteza logiczna Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Program wykładu Wstęp do syntezy Sprzętowa reprezentacja obiektów

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

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 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ółowo

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 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

Bardziej szczegółowo

Projektowanie automatów z użyciem VHDL

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

Bardziej szczegółowo

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości Stałe - constant Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości późniejszych zmian Deklarowane w ciele architektury Widoczne dla całej architektury architecture

Bardziej szczegółowo

Języki opisu sprzętu VHDL Mariusz Rawski

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Projektowanie hierarchiczne Mariusz Rawski

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

Bardziej szczegółowo

Krótkie wprowadzenie do ModelSim i Quartus2

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

Bardziej szczegółowo

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

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ń

Bardziej szczegółowo

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

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ń -

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

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

Bardziej szczegółowo

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 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ółowo

Projekt prostego procesora

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

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

Bardziej szczegółowo

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL

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

Bardziej szczegółowo

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

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type Układy Cyfrowe i Systemy Wbudowane 2 XC4000: LUT jako ROM Układy FPGA cz. 2 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.edu.pl W-4/K-9, pok. 227 C-3 FPGA(2) - 1 FPGA(2) - 2 ROM32X1 VHDL inference example

Bardziej szczegółowo

Instrukcje sekwencyjne

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

Bardziej szczegółowo

Projektowanie w VHDL

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

Bardziej szczegółowo

VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)

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,

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy 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ółowo

Specyfika projektowania Mariusz Rawski

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

Bardziej szczegółowo

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

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

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35 LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające

Bardziej szczegółowo

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 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ółowo

Laboratorium przedmiotu Technika Cyfrowa

Laboratorium przedmiotu Technika Cyfrowa Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w

Bardziej szczegółowo

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 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

Bardziej szczegółowo

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. 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ółowo

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Systemy wbudowane Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Poziomy abstrakcji projektowania systemów HW/SW 12/17/2011 S.Deniziak:Systemy wbudowane 2 1 Model czasu 12/17/2011 S.Deniziak:Systemy

Bardziej szczegółowo

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

Ukł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ółowo

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

Laboratorium 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ółowo

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

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 Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?

Bardziej szczegółowo

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 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ółowo

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

Ć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ółowo

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Układy reprogramowalne i SoC Specjalizowane moduły FPGA Specjalizowane moduły FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Przerzutniki Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 20 maja 2013 Przerzutnik synchroniczny Układ synchroniczny wyzwalany ustalonym

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Technika 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ółowo

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL wersja 6.06.2007 Zespół Rekonfigurowalnych Systemów Obliczeniowych AGH Kraków http://www.fpga.agh.edu.pl/ Poniższe ćwiczenie jest kontynuacją

Bardziej szczegółowo

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

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ń

Bardziej szczegółowo

Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.

Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path. Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 6 (wersja 2015) 1. Wstęp 1.1. Algorytm Realizacja algorytmu

Bardziej szczegółowo

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego

Bardziej szczegółowo

Elementy języka VHDL

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

Bardziej szczegółowo

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

Układy reprogramowalne i SoC Język VHDL (część 3) Układy reprogramowalne i SoC Język VHDL (część 3) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń

Bardziej szczegółowo

VHDL cz.1. Rafał Walkowiak IIn PP Wer

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

Bardziej szczegółowo

Quartus. Rafał Walkowiak IIn PP Wer

Quartus. Rafał Walkowiak IIn PP Wer Quartus Rafał Walkowiak IIn PP Wer 1.1 10.2013 Altera Quartus Narzędzie projektowe dla FPGA I CPLD Umożliwia: wprowadzenie projektu, syntezę logiczną i symulację funkcjonalną, przydział do układów logicznych

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Język VHDL w implementacji układów cyfrowych w FPGA/CPLD poziom podstawowy GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com Szczecin 2014

Bardziej szczegółowo

Układy kryptograficzne z uŝyciem rejestrów LFSR

Układy kryptograficzne z uŝyciem rejestrów LFSR Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR

Bardziej szczegółowo

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

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ń

Bardziej szczegółowo

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia Projektowanie scalonych systemów wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Laboratorium Podstaw Techniki Cyfrowej

Laboratorium Podstaw Techniki Cyfrowej Laboratorium Podstaw Techniki Cyfrowej Ćwiczenie 5: Wprowadzenie do języków opisu sprzętu 1. Języki opisu sprzętu Języki opisu sprzętu(hdl Hardware Description Language) to języki słuŝące do opisu układów

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Bardziej szczegółowo

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli Automatyczne generowanie testów z modeli Numer: 1 (33) Rozkmina: Projektowanie testów na podstawie modeli (potem można je wykonywać ręcznie, lub automatycznie zwykle chce się automatycznie) A ja mówię

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika 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ółowo

Synteza strukturalna

Synteza strukturalna Synteza strukturalna Analizując algorytm pracy układu opisany siecią działań dobiera się: bloki funkcjonalne służące do przechowywania zmiennych, bloki operacyjne służące do wykonywania operacji występujących

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) Polarizing filter. Thin film with a vertical ais. Liquid crystal Polarizing filter. Thin film with a horizontal ais. Polarizing filter. Thin film with a horizontal ais. Polarizing

Bardziej szczegółowo

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 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ółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

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. 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"; %------------------------------------------------------------

Bardziej szczegółowo

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 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

Bardziej szczegółowo

LABORATORIUM 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 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ółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

Bardziej szczegółowo

PRZEMYSŁAW SOŁTAN e-mail: kerk@moskit.ie.tu.koszalin.pl

PRZEMYSŁAW SOŁTAN e-mail: kerk@moskit.ie.tu.koszalin.pl PRZEMYSŁAW SOŁTAN e-mail: kerk@moskit.ie.tu.koszalin.pl Historia projektu 04.05.2004 wersja vhdlunit 1.06 (dodanie dodatkowej procedury vhdlunicclock z możliwością ustalania rodzaju sygnału inicjującego

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

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

Bardziej szczegółowo

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

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

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

Bardziej szczegółowo

Metodyki projektowania i modelowania systemów Cyganek & Kasperek & Rajda 2013 Katedra Elektroniki AGH

Metodyki projektowania i modelowania systemów Cyganek & Kasperek & Rajda 2013 Katedra Elektroniki AGH Kierunek Elektronika i Telekomunikacja, Studia II stopnia Specjalność: Systemy wbudowane Metodyki projektowania i modelowania systemów Cyganek & Kasperek & Rajda 2013 Katedra Elektroniki AGH Zagadnienia

Bardziej szczegółowo

VHDL cz.1. Rafał Walkowiak IIn PP Wer

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

Bardziej szczegółowo

PUCY Kolos 2: Reloaded

PUCY Kolos 2: Reloaded PUCY Kolos 2: Reloaded 1) Narysować schemat układu mikroprogramowalnego z licznikiem rozkazów. 2) Narysować schemat elementu ścieżki cyklicznej dla sygnału kombinacyjnego 3) Narysować schemat elementu

Bardziej szczegółowo

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Quartus. Rafał Walkowiak IIn PP Listopad 2017 Quartus Rafał Walkowiak IIn PP Listopad 2017 Altera Quartus Narzędzie projektowe dla FPGA I CPLD Umożliwia: wprowadzenie projektu, syntezę logiczną i symulację funkcjonalną, przydział do układów logicznych

Bardziej szczegółowo

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska Sumatory 1 Sumator 1-bitowy full adder Równanie boolowskie sumy: s k = a k XOR b k XOR c k = a k b k c k Równanie boolowskie przeniesienia: c k+1 = (a k AN b k ) OR (a k AN c k ) OR (b k AN c k ) = (a

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki

Bardziej szczegółowo

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

LABORATORIUM 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ółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

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

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 20 XIV Seminarium ZASTOSOWANIE KOMPUTERÓW W NAUCE I TECHNICE 2004 Oddział Gdański PTETiS PROJEKTOWANIE UKŁADÓW CYFROWYCH

Bardziej szczegółowo

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL Arkadiusz Bukowiec 1 Radosław Gąsiorek 2 Agnieszka Węgrzyn 3 Prezentowany referat przedstawia ogólną koncepcję

Bardziej szczegółowo

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3 Układy cyfrowe w Verilog Elementy języka z przykładami wersja: 10.2009 cz.3 1 Układy sekwencyjne Układy sekwencyjne mają pamięć Układy synchroniczne najczęściej spotykane wszystkie elementy są kontrolowane

Bardziej szczegółowo

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

Projektowanie 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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

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++)

Bardziej szczegółowo

Projektowanie hierarchiczne Mariusz Rawski

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

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych (Na przykładzie projektowania układów sterujacych) Grzegorz Łabiak i Marek Węgrzyn Instytut Informatyki

Bardziej szczegółowo

Realizacja logiki kombinacyjnej Mariusz Rawski

Realizacja logiki kombinacyjnej Mariusz Rawski CAD Realizacja logiki kombinacyjnej rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Logika kombinacyjna Logika jest logiką kombinacyjna jeśli wartość wyjść w danej chwili zależy wyłącznie od wartości

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

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

Bardziej szczegółowo

VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014

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

Bardziej szczegółowo

Programowalne układy logiczne

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

Bardziej szczegółowo

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania weryfikacyjne:

Bardziej szczegółowo