Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika. Wykład 4
|
|
- Jacek Czerwiński
- 8 lat temu
- Przeglądów:
Transkrypt
1 Projektowanie systemów cyfrowych w językach opisu sprzętu Studium Zaoczne IV rok kierunek Elektronika Wykład 4
2 Program wykładu Predefiniowane typy danych Typy rozszerzone (Extended Types) Typy wyliczeniowe (Enumerated Types) Podtypy (Subtypes) Typy złożone (Composite Types) Tablice (Arrays) Rekordy (Records) Inne typy predefiniowane Pliki (Files) Linie (Lines) 2
3 Predefiniowane typy danych package standard is type boolean is (false, true); type bit is ('0', '1'); type character is ( nul, soh, stx, etx, eot, enq, ack, bel, o', p', r', s', t', u', w',... ); type severity_level is (note, warning, error, failure); type integer is range to ; type real is range -1.0E308 to 1.0E308; type time is range to units fs; ps = 1000 fs; ns = 1000 ps; us = 1000 ns; ms = 1000 us; sec = 1000 ms; min = 60 sec; hr = 60 min; end units; 3
4 Predefiniowane typy danych subtype delay_length is time range 0 fs to time'high impure function now return delay_length; subtype natural is integer range 0 to integer'high; subtype positive is integer range 1 to integer'high; type string is array (positive range <>) of character; type bit_vector is array (natural range <>) of bit; type file_open_kind is ( read_mode, write_mode, append_mode); type file_open_status is ( open_ok, status_error, name_error, mode_error); attribute foreign : string; end standard; 4
5 Typy wyliczeniowe W deklaracji występuje lista nazw lub wartości definiujących nowy typ. Jest dogodnym środkiem np. dla symbolicznej reprezentacji kodów. Składnia: type identifier is (item {, item}); item: {character_literal identifier} Przykłady: literals: identifiers: type fiveval is (?, 0, 1, Z, X ); type light is (red, yellow, green); type instr is (load, store, add, sub); 5
6 Typy wyliczeniowe architecture behave of cpu is type instr is (add, lda, sta); --inne obiekty i typy (signal, itp) begin... process zzz is (...) variable a, b, data: integer; variable opcode: instr; begin case opcode is when lda => a := data; when sta => data := a; when add => a := a + data; end case; wait on data; end process zzz; end architecture behave; Kodowanie elementów listy dla syntezy: 00 add 01 lda 10 sta type instr is (add,lda,sta,invalid); 6
7 Typy wyliczeniowe automaty stanów 7
8 Typy wyliczeniowe automaty stanów architecture transmit of transmit is -- diagram signals declarations signal DATA_REG: STD_LOGIC_VECTOR (9 downto 0); signal T_DATA_CNT: INTEGER range 0 to 11; signal T_TIME_CNT: INTEGER range 0 to 200; -- ONE HOT ENCODED state machine: TX_RS232 type TX_RS232_type is (NEW_BYTE, SEND_BIT, START_TX, WAIT_T_BIT); attribute enum_encoding : string; attribute enum_encoding of TX_RS232_type: type is "0001" & -- NEW_BYTE "0010" & -- SEND_BIT "0100" & -- START_TX "1000" ; -- WAIT_T_BIT signal TX_RS232: TX_RS232_type; W tutorialu kodowanie binarne, tutaj one-hot. begin -- concurrent signals assignments -- diagram ACTIONS Machine: TX_RS TX_RS232_machine: process (CLK, reset) begin if RESET='0' then TX_RS232 <= START_TX; -- Set default values for registered outputs/signals and for variables T_TIME_CNT <= 0; T_DATA_CNT <= 0; DATA_REG <= " "; TxD <= '1'; elsif CLK'event and CLK = '1' then -- Set default values for registered outputs/signals and for variables 8
9 Typy wyliczeniowe automaty stanów TX_RS232_machine: process (CLK, reset) begin if RESET='0' then TX_RS232 <= START_TX; -- Set default values for registered outputs/signals and for variables T_TIME_CNT <= 0; T_DATA_CNT <= 0; DATA_REG <= " "; TxD <= '1'; elsif CLK'event and CLK = '1' then -- Set default values for registered outputs/signals and for variables case TX_RS232 is when NEW_BYTE => if READY='1' then TX_RS232 <= SEND_BIT; T_TIME_CNT <= 0; DATA_REG <= '1'&DATA&'0'; T_DATA_CNT <= 0; elsif READY='0' then TX_RS232 <= NEW_BYTE; end if; when SEND_BIT => TxD <= DATA_REG(T_DATA_CNT); T_DATA_CNT <= T_DATA_CNT+1; TX_RS232 <= WAIT_T_BIT; T_TIME_CNT <= 0; when START_TX => T_TIME_CNT <= 0; T_DATA_CNT <= 0; DATA_REG <= " "; TxD <= '1'; if RESET='1' then TX_RS232 <= NEW_BYTE; end if;... 9
10 Wyrażenia kwalifikujące W niektórych przypadkach nie można rozróżnić typu literałów n.p.: char 1, bit 1 czy std_logic 1. Są one niejednoznaczne. Stosuje się wówczas tzw. narzucanie typów (type casting). Składnia: type (literal expression); Przykłady: bit ( 1 ) function ToInt (d: bit_vector) return (integer); function ToInt (d: std_logic_vector) return (integer); ToInt( 1010 ); --??? ToInt(bit_vector ( 1010 )); -- OK! 10
11 Konwersje typów VHDL jest rygorystyczny pod względem typów, tzn. nie pozwala na przypisywanie danemu obiektowi wartości właściwych innym typom, niż zadeklarowany dla obiektu. Funkcje konwersji typów mogą być przydatne przy dopasowywaniu dwóch projektów, które używają różnych typów. Przykład: process...; variable abc: fourval; variable xyz: value4; begin xyz := convert4val (abc); -- wywołanie funkcji end process; 11
12 Konwersje typów type fourval is ( X, L, H, Z ); type value4 is ( X, 0, 1, Z ); function convert4val (s: fourval) return value4 is begin case s is when X => return X ; when L => return 0 ; when H => return 1 ; when Z => return Z ; end case; end convert4val; 12
13 Konwersje typów Często zdarza się potrzeba konwersji pomiędzy typem integer a typem std_logic_vector. Pakiety: IEEE.std_logic_unsigned i IEEE.std_logic_arith zawierają odpowiednie funkcje konwersji: function conv_integer (arg: std_logic_vector) return integer; function conv_std_logic_vector (arg: integer; size: integer) return std_logic_vector; Przykład: entity sel is port (a,b,s: in integer range 0 to 15; q: out std_logic_vector (3 downto 0)); end; dummy function architecture good of sel is begin q <= conv_std_logic_vector(a,4) when conv_integer(s) = 8 else conv_std_logic_vector(b,4); end; 13
14 Konwersje typów Gdyby wszystkie sygnały były typu std_logic_vector, kod byłby bardziej zwięzły: architecture better of sel is begin q <= a when conv_integer(s) = 8 else b; end; Jeżeli narzędzie do syntezy pozwala na tzw. operator overloading, to kod można zapisać jeszcze zwięźlej: architecture best of sel is begin q <= a when s = 8 else b; end; Z punktu widzenia syntezy fakt używania funkcji konwersji nie ma znaczenia, ponieważ nie wymaga syntezy dodatkowej logiki (ale dla symulacji ma!). Dobre narzędzia do syntezy (j.w.) pozwalają na napisanie kodu bez funkcji konwersji. W kodzie syntezowalnym należy używać typu std_logic_vector 14
15 Konwersje typów wsparcie bibliotek Copyright (c) 1990,1991,1992 by Synopsys, Inc. All rights reserved library IEEE; use IEEE.std_logic_1164.all; package std_logic_arith is conversion operators function CONV_INTEGER(ARG: INTEGER) return INTEGER; function CONV_INTEGER(ARG: UNSIGNED) return INTEGER; function CONV_INTEGER(ARG: SIGNED) return INTEGER; function CONV_INTEGER(ARG: STD_ULOGIC) return SMALL_INT; function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED; function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED; function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED; function CONV_UNSIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return UNSIGNED; function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED; function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED; function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED; function CONV_SIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return SIGNED; function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) return STD_LOGIC_VECTOR; function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER) return STD_LOGIC_VECTOR; function CONV_STD_LOGIC_VECTOR(ARG: SIGNED; SIZE: INTEGER) return STD_LOGIC_VECTOR; function CONV_STD_LOGIC_VECTOR(ARG: STD_ULOGIC; SIZE: INTEGER) return STD_LOGIC_VECTOR;... 15
16 Podtypy skalarne Są uściśleniem wcześniej zdefiniowanych typów przez zawężenie ich zakresu. Przydatne przy deklarowaniu większej liczby takich samych obiektów oraz dla utrzymania czytelności i zwięzłości kodu. Przykłady: subtype digit is integer range 0 to 9; variable msd, lsd: digit; jest równoważny: variable msd, lsd: integer range 0 to 9; type instr is (add, sub, mul, div, sta, stb, outa, xfr); subtype arith is instr range add to div; subtype pos is integer range 1 to ; subtype nano is time range 0 ns to 1 us; 16
17 Tablice Tablice składają się z elementów tego samego typu. Są one używane do opisu magistral, rejestrów i innych zbiorów elementów sprzętowych. Elementy tablic mogą być skalarami lub elementami złożonymi. (Nie można tworzyć np. tablic plików!!) Dostęp do poszczególnych elementów dzięki użyciu wskaźników/indeksów. Jedynymi predefiniowanymi typami tablicowymi są: string (package STANDARD) bit_vector (package STANDARD) std_logic_vector (package STD_LOGIC_1164) Użytkownik musi sam deklarować nowe typy tablic dla elementów real i integer. 17
18 Tablice deklaracja zakresu indeksów Sposób dostępu zależy od sposobu deklaracji. MSB (zawsze po lewej) Przykłady: variable c: bit_vector (0 to 3); variable d: bit_vector (3 downto 0); -- MOCNO PREFEROWANE c := 1010 ; d := c; c(0) c(1) c(2) c(3) d(3) d(2) d(1) d(0) b(4 to 7) dowolny zakres c(4) indeks poza zakresem c(1.0) błędny typ indeksu 18
19 Tablice - przypisania Przykład: dla typu bit_vector: c := 1010 ; c := x A ; c := S & T & M & W; c := ( 1, 0, 1, 0 ); c := 10; stała typu bit_vector j.w., uwaga na długość! 4 połączone sygnały 1-bitowe 4-bitowy agregat niedozwolony Fragment tablicy (slice) Przypisania mogą zachodzić pomiędzy fragmentami wektorów. Przykłady: variable a: bit_vector (3 downto 0); variable c: bit_vector (8 downto 1); c(6 downto 3) := a; c(6 downto 3) a nie c(3 to 6) - kierunek indeksów musi być taki sam jak w deklaracji! 19
20 Zastosowanie tablic - rejestry 20
21 Agregaty Literał tablicowy może zawierać listę elementów w notacji pozycyjnej i / lub specyfikacyjnej, tworząc tzw. agregat. Składnia: [type_name ] ([choice =>] expression1 {,[others =>] expression2}) Przykłady: variable a,b: bit := 1 ; variable x,y: bit_vector (1 to 4); -- notacja pozycyjna x := bit_vector ( 1,a nand b, 1,a or b); -- notacja specyfikacyjna y := (1 => 1,4 => a or b,2 => a nand b,3 => 1 ); Notacja specyfikacyjna jest bardzo często wykorzystywana przy tworzeniu kodu przez narzędzia np w generatorach TestBench-y w instrukcji port map 21
22 Agregaty Przy użyciu notacji specyfikacyjnej, [choice =>] wskazuje na jeden lub kilka elementów. [choice =>] może zawierać wyrażenie (n.p.: (i mod 2) => ), wskazujące na jeden element lub zawierać zakres (n.p.: 3 to 5 => lub 7 downto 0 => ), wskazujący na sekwencję elementów. Notacja pozycyjna musi być użyta przed notacją specyfikacyjną. Przykład: variable b: bit; variable c: bit_vector (8 downto 1); c := bit_vector ( 1,b,5 downto 2 => 1,others => 0 ); Bardzo wygodne: Counter <= (others => 0 ); Data_Bus <= (others => Z ); 22
23 Deklaracja typu tablicowego Aby zadeklarować typ tablicowy należy wyspecyfikować: nazwę typu, typ elementów, liczbę indeksów, typ indeksów oraz zakres indeksów (opcjonalnie). Składnia: type name is array [index_constraint] of element_type; index_constraint: [range_spec] index_type range [range_spec] index_type range <> Przykłady: type word8 is array (1 to 8) of bit; type word8 is array (integer range 1 to 8) of bit; type word is array (integer range <>) of bit; type ram is array (1 to 8, 1 to 10) of bit; <> oznacza zakres nieograniczony (ang. box) 23
24 Deklaracja typu tablicowego Po deklaracji typu może on zostać użyty do deklaracji zmiennej lub sygnału. Przykład: variable data_bus: word8; variable register: word (1 to 10); Typ wyliczeniowy albo podtyp może również być użyty do oznaczenia zakresu zmienności indeksów. Przykłady: type instruction is (add, sub, mul, div, lda, sta, xfr); subtype arithmetic is instruction range add to div; subtype digit is integer range 1 to 9; type Ten_bit is array (digit) of bit; type Inst_flag is array (instruction) of digit; 24
25 Tablice wielowymiarowe Szczególnie użyteczne dla opisu pamięci RAM lub ROM. Przykład: type memory is array (0 to 7, 0 to 3) of bit; constant rom: memory := (( 0, 0, 0, 0 ), ( 0, 0, 0, 1 ), ( 0, 0, 1, 0 ), ( 0, 0, 1, 1 ), ( 0, 1, 0, 0 ), ( 0, 1, 0, 0 ), ( 0, 1, 1, 0 ), ( 0, 1, 0, 1 )); data_bit := rom(5,3); -- słowo 5, bit 3 25
26 Tablice tablic Przykład: type word is array (0 to 3) of bit; type memory is array (0 to 4) of word; variable addr, index: integer; variable data: word; constant rom_data: memory := (( 0, 0, 0, 0 ), ( 0, 0, 0, 1 ), ( 0, 0, 1, 0 ), ( 0, 1, 1, 1 ), ( 0, 1, 1, 1 )); data := rom_data(addr); rom_data(addr)(index) --dostęp do pojedynczego bitu 26
27 Przykłady modelowania pamięci 27
28 Rekordy Grupują obiekty różnych typów. Elementy rekordów mogą być skalarami lub typami złożonymi i są dostępne przez nazwę. Przykład: type two_digit is record sign: bit; msd: integer range 0 to 9; lsd: integer range 0 to 9; end record; process variable acntr, bcntr: two_digit; begin acntr.sign := 1 ; acntr.msd := 1; acntr.lsd := acntr.msd; bcntr := two_digit ( 0,3,6); end process; 28
29 Instrukcja alias Umożliwia wprowadzenie alternatywnej nazwy dla części obiektu, ułatwiającej dostęp. Przykład: signal count: bit_vector (1 to 9); alias sign: bit is count (1); alias msd: bit_vector (1 to 4) is count (2 to 5); alias lsd: bit_vector (1 to 4) is count (6 to 9); count := 1_1001_0000 ; sign := 1 ; msd := 1001 ; lsd := msd; 29
30 Predefiniowane typy tekstowe Należą do nich typy text oraz line. Używane są do operacji wejścia i wyjścia podczas symulacji. Występują w deklaracji file wraz z funkcjami odczytu, zapisu i pomocniczymi. STD library - TEXTIO Package: readline, read, writeline, write Przykład: readline (F: in text; L: out line); read (L: inout line; ITEM: integer); IEEE library STD_LOGIC_TEXTIO Package: read, write oread, owrite hread, hwrite Wbudowane: endfile(filename), endline(linename) 30
31 Predefiniowane typy tekstowe package STD_LOGIC_TEXTIO is -- Read and Write procedures for STD_ULOGIC and STD_ULOGIC_VECTOR procedure READ(L:inout LINE; VALUE:out STD_ULOGIC); procedure READ(L:inout LINE; VALUE:out STD_ULOGIC; GOOD: out BOOLEAN); procedure READ(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR); procedure READ(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR; GOOD: out BOOLEAN); procedure WRITE(L:inout LINE; VALUE:in STD_ULOGIC; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); procedure WRITE(L:inout LINE; VALUE:in STD_ULOGIC_VECTOR; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); -- Read and Write procedures for STD_LOGIC_VECTOR procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR); procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR; GOOD: out BOOLEAN); procedure WRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); Read and Write procedures for Hex and Octal values. -- The values appear in the file as a series of characters -- between 0-F (Hex), or 0-7 (Octal) respectively Hex procedure HREAD(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR); procedure HREAD(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR; GOOD: out BOOLEAN); -- itd Octal 31
32 Predefiniowane typy tekstowe - przykład use STD.textio.all; library IEEE; use... use IEEE.std_logic_textio.all; entity adsp2191 is port(rd: out STD_LOGIC; wr: out STD_LOGIC; ms3: out STD_LOGIC; addr: out STD_LOGIC_VECTOR(15 downto 0); data: inout STD_LOGIC_VECTOR(15 downto 0); clkout: out STD_LOGIC); end adsp2191; architecture behavioral of adsp2191 is... file transfers: TEXT open READ_MODE is "adsp2191.txt"; file results: TEXT open WRITE_MODE is "simulation.txt";... 32
33 Predefiniowane typy tekstowe - przykład procedure read_cycle (...) is constant T_CSRS: time := H_clk_per/2-3ns; constant T_ARS: time := H_clk_per/2-3ns; constant T_RW: time := H_clk_per - 2ns + (WS * H_clk_per); constant T_RSA: time := H_clk_per/2-2ns; begin ms3 <= '0'; addr <= address; wait for T_ARS; rd <= '0'; wait for T_RW; rd <= '1'; data_read := data; wait for T_RSA; addr <= (others => 'Z'); ms3 <= '1'; end procedure read_cycle; 33
34 Predefiniowane typy tekstowe - przykład adsp2191.txt -> begin... READ_CODE:process begin N #czekaj na inicjalizację W #uruchom DCM R #sprawdź DCM W FF #ustaw długość akwizycji W FF #ustaw liczbę akumulacji W #ustaw OneShot N #czekaj n * 12.5ns W #kasuj 'Int' W #kasuj 'Run' R #czytaj bufor danych while not (endfile(transfers)) loop -- end file checking readline(transfers,in_line); -- read line of a file read(in_line,code); -- read in operation code hread(in_line,address); -- read in address hread(in_line,data); -- read in data code_array(i) := code; -- put code in code table address_array(i) := address; -- put address in address table data_wr_array(i) := data; -- put data in data table i := i + 1; end loop; 34
35 Predefiniowane typy tekstowe - przykład... for index in 0 to max loop decode: case code_array(index) is when 'W' =>... write_cycle(...); -- write cycle timing model write(out_line, NOW, right, 12, ns); -- current simulation time write(out_line, code_array(index), right); -- current code write(out_line, address_array(index), right); -- current address write(out_line, data_wr_array(index), right); -- current data writeline(results,out_line); when R' => simulation.txt -> ns W ns N ns R ns R ns R ns R
36 Predefiniowane typy tekstowe - przykład MultiShot_tim.awf 36
37 Deklaracje typów Deklaracja typu musi się pojawić się przed jego użyciem. Typ zadeklarowany w entity nie może być użyty w specyfikacji portów, ponieważ pojawia się ona przed deklaracjami typów. entity E is type_declaration begin... end E; architecture A of E is type_declaration begin... end A; P: process type_declaration begin... end process P; function F (...) is type_declaration begin... end F; package P is type_declaration end P; B: block type_declaration begin... end B; 37
38 Ciąg dalszy nastąpi...
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
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
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
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ń -
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
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
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
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
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ń
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
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
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ń
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
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,
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ń
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
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
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
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
Język VHDL podstawy Mariusz Rawski
CAD Język VHDL podstawy Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu Very high speed integrated Hardware Description Language Przemysłowy standard języka
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
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
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++)
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
Inżynieria Układów Programowalnych
Inżynieria Układów Programowalnych dr inż. Miron Kłosowski EA 309 klosowsk@ue.eti.pg.gda.pl www.ue.eti.pg.gda.pl/iup.ppt Plan wykładu Język VHDL w syntezie układów cyfrowych. Budowa logiki programowalnej.
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
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
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
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
Wstęp do programowania 2
Wstęp do programowania 2 wykład 2 pliki tekstowe i binarne Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
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
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
Informatyka 1. Przetwarzanie tekstów
Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie
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
Programowanie strukturalne
Programowanie strukturalne wykład pliki tekstowe Agata Półrola Wydział Matematyki UŁ sem. letni 2011/2012 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
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)
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ń
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
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
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
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
Wstęp do programowania 2
Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie
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
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
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
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
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
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
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
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
Algorytmy i struktury danych
Algorytmy i struktury danych Zmienne Proste typy danych Strukturalne typy danych Witold Marańda maranda@dmcs.p.lodz.pl 1 Zmienne Liczby (i struktury danych) występują w algorytmach i programach komputerowych
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
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
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
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:...
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
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
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
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
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
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ł
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
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
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
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
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
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:
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
Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.
Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą
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
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:
Język programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
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
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
typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word
Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu
Zasady Programowania Strukturalnego
Zasady Programowania Strukturalnego Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej rjakubowski@fizyka.umk.pl www.fizyka.umk.pl/~rjakubowski Tel: 33 46 Konsultacje w sem. letnim 11/12: środa,
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
Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też
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
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
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.
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
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
Układy Cyfrowe laboratorium
Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 7 Temat: Realizacja układu sterującego systemu cyfrowego z uwzględnieniem kodowania i dekompozycji funkcji pw automatu dla Metody Newtona, tj.
Programowalne układy logiczne
Programowalne układy logiczne Worek różności jak dobrać się do gotowców w Spartanach? Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 12 kwietnia 2011 Spis treści Wbudowane
Podstawy programowania
Podstawy programowania Część piąta Proste typy danych w języku Pascal Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
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
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
1. ELEMENTY JĘZYKA PL/SQL
1. ELEMENTY JĘZYKA PL/SQL Aplikacje korzystające z PL/SQL będącego proceduralnym rozszerzeniem SQL mogą wykonywać procedury i funkcje języka PL/SQL składowane w bazie danych oraz wysyłać własne programy
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
Procedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
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
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
Ć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,
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
Wprowadzenie do języka PL/SQL. Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL. Zmienne rekordowe.
Wprowadzenie do języka PL/SQL Język PL/SQL Wprowadzenie Język PL/SQL to rozszerzenie SQL o elementy programowania proceduralnego i obiektowego. PL/SQL umożliwia wykorzystanie: zmiennych i stałych struktur
Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:
Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if
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,
Wykład 4. Tablice. Pliki
Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
OPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania