Elementy języka VHDL

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Elementy języka VHDL"

Transkrypt

1 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 (VHDL, Verilog) Najpopularniejszym i z opracowanym standardem jest - VHDL Z 1

2 Język VHDL Very high speed integrated circuit Hardware Description Language (VHDL) przemysłowy standard języka HDL Kolejne wersje normy EEE Std 1076: 1987, 1993 owszechnie stosowany w specyfikacjach układów cyfrowego przetwarzania sygnałów: Z 2

3 Język VHDL Zawiera użyteczne konstrukcje semantyczne umożliwiające zwięzłą specyfikację złożonych układów cyfrowych rojekt może być opisany hierarchicznie (na wielu poziomach) Możliwe jest korzystanie z biblioteki gotowych elementów i tworzenie podukładów (tzw. komponentów) Z 3

4 Jednostka projektowa DESGN ENY ENY DECLARAON Deklaracji jednostki EJŚCE/YJŚCE ARAMERY ARCHECURE BODY Blok architektury FUNKCJE DZAŁANE JEDNOSKA ROJEKOA reprezentuje fragment układu cyfrowego; ma dobrze zdefiniowane wejścia i wyjścia; spełnia ściśle określoną funkcję Może mieć dowolny stopień złożoności od prostej bramki do systemu!!! Z 4

5 Specyfikacja jednostki Halfadd: Deklaracje e/y entity HALFADD is port (A,B : in bit; SUM, CARRY : out bit); end HALFADD; A B A B SUM CARRY o samo co w pliku halfadd.vhd architecture BEHAVE of HALFADD is begin SUM <= A xor B; CARRY <= A and B; end BEHAVE; Specyfikacja logiczna Sekcja specyfikacji e same nazwy Z 5

6 Jednostka projektowa języka VHDL entity Komunikacja z otoczeniem architecture architecture architecture Działanie układu Z 6

7 Deklaracja jednostki A B SUM CARRY entity HALFADD is port (A,B : in bit; SUM, CARRY : out bit); end HALFADD; Komunikacja z otoczeniem Deklaracja wyprowadze : nazwy sygnałów tryby typy danych Z 7

8 ryby wyprowadzeń entity HALFADD is ryby port (A,B : in bit; SUM, CARRY : out bit); end HALFADD; ryby portu in -wejściowy out -wyjściowy inout - dwukierunkowy buffer -wyjściowy z możliwością odczytu Z 8

9 ryby wyprowadzeń n ryb ryb Out Buffer n n nout Out Z 9

10 yp danych entity HALFADD is yp danych port (A,B : in bit; SUM, CARRY : out bit); end HALFADD; ypy danych: bit, bit_vector, integer, Boolean Z 10

11 Blok architektury A Działanie lub SUM architecture BEHAVE of HALFADD is begin B budowa CARRY SUM <= A xor B; CARRY <= A and B; end BEHAVE; Architektura opisuje sposób działania jednostki (entity) lub jej budowę (strukturę). VHDL wyraźnie odróżnia opis działania od opisu struktury Style specyfikacji funkcjonalny (behavioralny) przepływ danych (dataflow) strukturalny Z 11

12 Style specyfikacji behavioralny Specyfikowane jest dzia anie uk adu bez podania szczegó ów realizacyjnych przepływ danych (dataflow) , : ,3, ,3. 7, 03, strukturalny Specyfikowana jest budowa układu. opisie podane są komponenty oraz połączenia między nimi. Z 12

13 Deklaracja jednostki entity nazwa_jednostki is deklaracja parametrów ogólnych: generic (lista) deklaracja wyprowadzeń: port (lista) end nazwa_jednostki; aramery ogólne (generics) umożliwiają projektowanie parametryzowanych wzorców układów Z 13

14 Blok architektury architecture nazwa_arch of nazwa_jednostki is begin Definicje i deklaracje: (typów, podtypów, stałych, sygnałów, komponentów, konfiguracji) instrukcje przypisania procesy (instrukcje sekwencyjne) komponenty end nazwa_arch; Z 14

15 Moduły systemowe wspomagające specyfikację dost pne dla wielu jednostek projektowych to biblioteki i pakiety. akiet jest modułem do deklarowania i definiowania obiektów danych, typów, komponentów, funkcji i procedur przeznaczonych do stosowania w wielu jednostkach projektowych. Biblioteka to zbiór zanalizowanych pakietów i jednostek projektowych przechowywanych w danym systemie operacyjnym i dostępnych bezpośrednio wg nazwy logicznej (nie jest to nazwa katalogu w tym systemie). Z 15

16 Dostęp do biblioteki i jej pakietów Dostęp do pakietu osiąga się deklaracją: LBRARY library_name; USE library_name.package_name.all; Biblioteka systemowa EEE Z 16

17 Biblioteka systemowa EEE EEE to najważniejsza biblioteka zawierająca pakiety ze standardowymi typami danych. Odwołanie do tej biblioteki a także polecenie use umożliwiające dostęp do standardowego pakietu: Std_Logic_1164 musi poprzedzać każdą jednostkę projektową. LBRARY EEE; use EEE.Std_Logic_1164.all; Z 17

18 Elementy strukturalne języka VHDL Słowa kluczowe dentyfikatory Obiekty danych Operatory Atrybuty nstrukcje Z 18

19 Obiekty danych Dane liczbowe i alfanumeryczne są przechowywane w obiektach danych. Z punktu widzenia syntezy wyróżnia się trzy klasy obiektów: sygnał signal zmienne variable stałe constant Klasa deklarowana jest przed nazwą obiektu np.: signal s1, s2 : bit; variable u: integer range 0 to 127; Z Odpowiednikiem sprzętowym sygnału jest ścieżka w układzie scalonym. Zmienna nie ma odpowiednika sprzętowego i służy do obliczeń na wyższym poziomie abstrakcji. 19

20 ojęcie typu danych Język VHDL jest silnie zorientowany na typy danych. Każdy obiekt musi mieć zdefiniowany typ i może przechowywać dane tylko tego typu. signal signal_name : type_name ; variable nazwa_zm: typ_zm [ograniczenia] constant nazwa : typ := wartość; rzy operacji przypisania sygnałów, typy danych po każdej stronie operatora przypisania muszą być zgodne Z 20

21 ypy danych yróżnia się 10 typów danych: B, B_VECOR, SD_LOGC, SD_LOGC_VECOR, (SD_ULOGC), SGNED, UNSGNED, NEGER, ENUMERAON, BOOLEAN Z 21

22 Standardowe typy danych SD_LOGC, SD_LOGC_VECOR LBRARY EEE; use EEE.Std_Logic_1164.all; SD_LOGC: 0, 1, Z,, L, H, U, X, SD_LOGC_VECOR jest tablicą obiektów z SD_LOGC Z 22

23 Atrybuty Dostarczaj dodatkowych informacji o obiektach (np.. sygnałach, zmiennych, typach lub komponentach) Składnia obiekt atrybut[(parametr)]; Najczęściej stosowany atrubut: event równy RUE, gdy zachodzi zmiana wartości sygnału, f Clock event and Clock = 1 then Q := D; Z 23

24 nstrukcje SÓƒBE NE SEKENCYJNE spółbie ne (Concurrent assignment statement) Sekwencyjne (Sequential assignment statement) Z 24

25 nstrukcje spółbie ne: Zachowanie układu jest niezale ne od kolejności instrukcji przyporz dkowania sygnałów. Stosowane w specyfikacji typu przepływ danych (dataflow description). Z Sekwencyjne: nstrukcje sekwencyjne s stosowane w specyfikacji behawioralnej (behavioral description). rzede wszystkim w tzw. procesach (process). orządek zapisu instrukcji sekwencyjnych zmienia działanie układu. 25

26 spółbieżne instrukcje przypisania sygnału (Concurrent Signal Assignment Statements) podstawowe przypisanie do sygnału (simple signal assignment statement) warunkowe przypisanie do sygnału (conditional signal assignmenet statement) selektywne przypisanie do sygnału (selected signal assignment statement) when else with select Z 26

27 nstrukcja podstawowa Składnia: signal_name <= wyra enie; boolowskie lub arytmetyczne ypowe zastosowanie: Realizacje układów kombinacyjnych Z 27

28 a b c d MUX y rzykład MUX 4:1 y = s1 s0a + s1s 0b + s1s 0c + s1s 0d S S 1 0 library ieee; use ieee.std_logic_1164.all; entity mux is port ( a, b, c, d : in std_logic ; s: in std_logic_vector (1 downto 0) ; y: out std_logic ) ; end mux; Z 28

29 rzykład MUX 4:1 library ieee; use ieee.std_logic_1164.all; entity mux is port ( a b c d MUX y a, b, c, d : in std_logic ; s: in std_logic_vector (1 downto 0) ; S S 1 0 x: out std_logic ) ; end mux; architecture archmux of mux is begin x <= (a and not(s(1)) and not(s(0))) or (b and not(s(1)) and (s(0)) or (c and (s(1) and not(s(0))) or (d and (s(1) and (s(0)); end archmux; Z 29

30 library ieee; rzykład MUX grupowy 4:1 use ieee.std_logic_1164.all; entity mux is port ( a, b, c, d : in std_logic ; s: in std_logic_vector (1 downto 0) ; x: out std_logic ) ; a b c d MUX S S 1 0 y end mux; a = (a3,a2,a1,a0) b = (b3,b2,b1,b0).. y = (y3,y2,y1,y0) Z 30

31 rzykład MUX grupowy 4:1 Z architecture archmux of mux is begin x (3) <= (a(3) and not(s(1)) and not(s(0))) or (b(3) and not(s(1)) and (s(0)) or (c(3) and (s(1) and not(s(0))) or (d(3) and (s(1) and (s(0)); x (2) <= (a(2) and not(s(1)) and not(s(0))) or (b(2) and not(s(1)) and (s(0)) or (c(2) and (s(1) and not(s(0))) or (d(2) and (s(1) and (s(0)); x (1) <= (a(1) and not(s(1)) and not(s(0))) or (b(1) and not(s(1)) and (s(0)) or (c(1) and (s(1) and not(s(0))) or (d(1) and (s(1) and (s(0)); x (0) <= (a(0) and not(s(1)) and not(s(0))) or (b(0) and not(s(1)) and (s(0)) or (c(0) and (s(1) and not(s(0))) or (d(0) and (s(1) and (s(0)); end archmux; 31

32 nstrukcja warunkowa - when-else Składnia: yrażenie boolowskie signal_name <= value_a when condition1 else value_b when condition2 else value_c when condition3 else... value_x; Z 32

33 rzykład MUX 4:1 library ieee; use ieee.std_logic_1164.all; entity mux is port ( a, b, c, d : in std_logic ; std_logic_vector (3 downto 0); s: in std_logic_vector (1 downto 0) ; y: out std_logic ) ; std_logic_vector (3 downto 0)); end mux; architecture archmux of mux is begin y <= a when (s = 00 ) else b when (s = 01 ) else c when (s = 10 ) else d; end archmux; Dla uzyskania MUX grupowego wystarczy zmienić tylko typ zmiennych w deklaracji Z 33

34 nstrukcja selektywna - with-select Składnia: Zmienna wielowartościowa with sel_sig select signal_name <= value_a when value1_of_sel_sig, value_b when value2_of_sel_sig, value_c when value3_of_sel_sig,... value_x when last_value_of_sel_sig; rzykładzik: Można określać kilka wartości lub zakres artości nie mogą się powtarzać with N_A select Z <= A when 0, B when 1 to 3, C when 4 6 8, D when others; Z 34

35 rzykład MUX 4:1 library ieee; use ieee.std_logic_1164.all; entity mux is port ( end mux; a, b, c, d : in std_logic ; s: in std_logic_vector (1 downto 0) ; y: out std_logic ) ; architecture archmux of mux is begin with s select y <= a when 00, b when 01, c when 10, d when others; end archmux; std_logic_vector (3 downto 0); std_logic_vector (3 downto 0)); Dla uzyskania MUX grupowego wystarczy zmienić tylko typ zmiennych w deklaracji Z 35

36 Ostrzeżenie przed pochopnym wnioskiem Można podać wiele przykładów, w których zastosowanie instrukcji podstawowej prowadzi do znacznie lepszej implementacji Jednym z nich jest komparator Z 36

37 Komparator A B n n K 1 z 3 A < B A = B A > B Z 37

38 Komparator a 3 b 3 i 3 A = a 3 a 2 a 1 a 0 B = b 3 b 2 b 1 b 0 i k = a k b k a 2 b 2 i 2 a 1 b 1 i 1 A eq B = i 3 i 2 i 1 i 0 a 0 b 0 i 0 A < B = A eq B+ A gt B A > B = a 3 + i b 3 3 i 2 + i a 1 3 b a 1 2 b 2 + i 3 i + 2 i 1 a 0 b 0 Z 38

39 Komparator wersja 1 LBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENY compare_8bit S OR (A, B: N SD_LOGC_VECOR(7 DONO 0); AeqB, AgtB, AltB: OU SD_LOGC ); END compare_8bit; ARCHECURE Behavior OF compare_8bit S BEGN AeqB <= '1' HEN A = B ELSE '0'; AgtB <= '1' HEN A > B ELSE '0'; AltB <= '1' HEN A < B ELSE '0'; END Behavior; Z 39

40 Komparator wersja 2 LBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENY compare_2_8bit S OR (a7,a6,a5,a4,a3,a2,a1,a0: N SD_LOGC; b7,b6,b5,b4,b3,b2,b1,b0: N SD_LOGC; AeqB, AgtB, AltB: OU SD_LOGC); END compare_2_8bit; Z ARCHECURE Behavior OF compare_2_8bit S SGNAL i7,i6,i5,i4,i3,i2,i1,i0: SD_LOGC; SGNAL AequalB,AgreaterB,AlesserB: SD_LOGC; BEGN i7 <= NO (a7 XOR b7); i6 <= NO (a6 XOR b6); i5 <= NO (a5 XOR b5); i4 <= NO (a4 XOR b4); i3 <= NO (a3 XOR b3); i2 <= NO (a2 XOR b2); i1 <= NO (a1 XOR b1); i0 <= NO (a0 XOR b0); 40

41 Komparator wersja 2 c.d. AequalB <= i7 AND i6 AND i5 AND i4 AND i3 AND i2 AND i1 AND i0; AgreaterB <= (a7 AND (not b7)) OR (i7 AND a6 AND (not b6)) OR (i7 AND i6 AND a5 AND (not b5)) OR (i7 AND i6 AND i5 AND a4 AND (not b4)) OR (i7 AND i6 AND i5 AND i4 AND a3 AND (not b3)) OR (i7 AND i6 AND i5 AND i4 AND i3 AND a2 AND (not b2)) OR (i7 AND i6 AND i5 AND i4 AND i3 AND i2 AND a1 AND (not b1)) OR (i7 AND i6 AND i5 AND i4 AND i3 AND i2 AND i1 AND a0 AND (not b0)); AlesserB <= NO (AequalB OR AgreaterB); AeqB <= AequalB; AgtB <= AgreaterB; AltB <= AlesserB; END Behavior; Z 41

42 Realizacje komparatora ersja 1: MAX 7000: 48 makrokomórek, 27 expanderów FLEX: 20 komórek ersja 2: MAX 7000: 32 makrokomórki, 15 expanderów FLEX: 13 komórek Specyfikacja za pomocą instrukcji podstawowej prowadzi do dużo lepszej implementacji!!! Z 42

43 nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 43

44 roces Name :ROCESS (sensitivity_list) BEGN nstrukcja sekwencyjna #1 nstrukcja sekwencyjna #2... nstrukcja sekwencyjna # N END ROCESS name; Składnia: rocess ( ) begin.. end process Lista czułości nstrukcje sekwencyjne są wykonywane kolejno jedna po drugiej Etykieta jest opcjonalna Z 44

45 rocesy Konstrukcja wykonywana równolegle ystępuje wewnątrz architektury Zawiera opis behawioralny nstrukcje wewnętrzne wykonywane są sekwencyjnie Zawiera: listę czułości (ang. sensitivity list); jest to lista sygnałów, których zmiana powoduje aktywację procesu Z 45

46 nstrukcja warunkowa if then else Jest to instrukcja sekwencyjna Część elsif może wystąpić dowolną liczbę razy Część else nie musi wystąpić Może być zagnieżdżana Składnia: if warunek then sekwencja_instrukcji1 {elsif warunek then sekwencja_instrukcji2 } [else sekwencja_instrukcji3] end if ; Z 46

47 nstrukcja wyboru - case nstrukcja sekwencyjna odobna do instrukcji with select Można określać kilka wartości lub zakres artości nie mogą się powtarzać Składnia (przykład): case zm_wielow is when wybór1 => sekwencja1_instrukcji ; when wybór2 => sekwencja2_instrukcji ; [when others => sekwencja3_instrukcji ;] end case; Z 47

48 Archmux1 i Archmux2 entity mux is port( a, b, c, d: in bit; s: in bit_vector(1 downto 0); y: out bit); end mux; a b c d MUX y Z architecture archmux1 of mux is begin mux4_1: process (a, b, c, d, s) begin if s = "00" then y <= a; elsif s = "01" then y <= b; elsif s = "10" then y <= c; else y <= d; end if; end process mux4_1; end archmux1; S S 1 0 architecture archmux2 of mux is begin y <= a when (s = "00") else b when (s = "01") else c when (s = "10") else d; end archmux2; 48

49 Archmux3 i Archmux4 architecture archmux3 of mux is begin process (a,b,c,d,s) begin case s is when "00" => y<= a; when "01" => y<= b; when "10" => y<= c; when "11" => y<= d; end case; end process; end archmux3; architecture archmux4 of mux is begin with s select y <= a when "00", b when "01", c when "10", d when "11"; End archmux4; Z 49

50 Archmux5 Architecture archmux5 of mux is Begin y <= (a and not(s(1)) and not(s(0))) OR (b and not(s(1)) and s(0)) OR (c and s(1) and not(s(0))) OR (d and s(1) and s(0)); end archmux5; Z 50

51 Archmux6 architecture archmux6 of mux is begin mux4_1: process (a, b, c, d, s) begin if s = "00" then y <= a; end if; if s = "01" then y <= b; end if; if s = "10" then y <= c; end if; if s = "11" then y <= d; end if; end process mux4_1; end archmux6; Z 51

52 Archmux1 i Archmux2 A B C X D N0D N0C N0B Z S1 S0 52

53 Archmux3 i Archmux4 A B C X D N0E N0D N0C N0B S1 S0 Z 53

54 Archmux5 A B C X D Z S1 S0 54

55 Archmux6 C B A N0E X D N0D N0H N0G N0F N0A Z S1 S0 55

56 Synteza układów sekwencyjnych VHDL umożliwia bezpośrednią reprezentację automatu (układu sekwencyjnego). ablicę przejść-wyjść można bezpośrednio przetłumaczyć na specyfikację VHDL. szystkie inne metody, polegające na oddzielnej syntezie części kombinacyjnej, a następnie na dołączaniu do niej rejestru, nie mają sensu Z 56

57 Zasady specyfikacji automatu Stany automatu są reprezentowane przez typ wyliczeniowy, którego wartości są nazwami stanów Synchronizm zapewnia odpowiednie wyrażenie testujące zbocze sygnału zegarowego Funkcje przejść wyjść są realizowane instrukcjami CASE, F HEN wewnątrz ROCESU Specyfikacja jedno- lub dwu-procesowa yjątkiem w stosowaniu typu wyliczeniowego jest automat ze stanami kodowanymi przez użytkownika Z 57

58 yp wyliczeniowy yp wyliczeniowy (enumeration type) może być definiowany przez użytkownika. rzykład: type MY_SAE is (State1, State2, State3, State4);... signal SAE : MY_SAE; SAE <= State1; Z 58

59 Atrybuty Dostarczaj dodatkowych informacji o obiektach (np.. sygnałach, zmiennych, typach lub komponentach) Składnia obiekt atrybut[(parametr)]; Najczęściej stosowany atrubut: event równy RUE, gdy zachodzi zmiana wartości sygnału, f Clock event and Clock = 1 then Q := D; Z 59

60 rzykład: automat Moore a x = 0 Rst x = 1 x s 0 1 z A/z = 0 B/z = 0 A A B 0 x = 0 x = 0 x = 1 B A C 0 C/z = 1 C A C 1 x = 1 Z 60

61 Automat: jednostka deklaracji LBRARY ieee; USE ieee_std_logic_1164.all; ENY automacik S OR (Clock, Rst, x : N SD_LOGC; z : OU SD_LOGC); END automacik; Z 61

62 Automat - wersja Zerowanie asynchroniczne ARCHECURE funkcja_przejsc OF automacik S YE State_type S (A, B, C); SGNAL Q : State_type; BEGN Deklaracja typu i sygnału ROCESS (Rst, Clock) BEGN F Rst = '0' HEN Q <= A; ELSF (Clock'EVEN AND Clock = '1') HEN CASE Q S HEN A => F x = '0' HEN Q <=A; ELSE Q <= B; END F; HEN B => F x = '0' HEN Q <= A; ELSE Q <= C; Synchronizacja END F; HEN C => F x = '0' HEN Q <= A; ELSE Q <= C; END CASE; END F; END ROCESS; z <= '1' HEN Q = C ELSE '0'; END funkcja_przejsc; END F; Z 62

63 Automat Moore a - wersja Z ARCHECURE funkcja_przejsc OF simple S YE State_type S (A, B, C); SGNAL Q_present, Q_next : State_type ; BEGN ROCESS (x, Q_present) BEGN CASE Q_present S HEN A => F x = '0' HEN Q_next <= A; ELSE Q_next <= B; END F; HEN B => F x = '0' HEN Q_next <=A; ELSE Q_next <= C; END F; HEN C=> F x = '0' HEN Q_next <= A; ELSE Q_next <= C; END F; END CASE; END ROCESS; ROCESS (Clock, Rst) BEGN F Rst = '0' HEN Q_present <= A; r o c e s k o m b i n a c y j n y roces sekwencyjny ELSF (Clock'EVEN AND Clock = '1') HEN Q_present <= Q_next; END F; END ROCESS; z <= '1' HEN Q_present = C ELSE '0'; END funkcja_przejsc; 63

64 roces Kombinacyjny Case f hen Else ejścia Układ kombinacyjny Automat Stan następny (next_state) roces Sekwencyjny CLK EVEN and CLK= 1 rzerzutniki Stany bieżące (present_state) Z 64

65 roblem kodowania stanów Specyfikacja automatu: ciekawostka o procesie kompilacji Automaty w komercyjnych kompilatorach VHDL raczej nie są realizowane optymalnie jak też nie zawsze są realizowane na minimalnej liczbie przerzutników Nasz automat w opcji FGA na trzech przerzutnikach!!! Ucieczka przed skomplikowaniem części kombinacyjnej w realizacjach dla struktur FGA Z 65

66 roblem kodowania stanów Dlatego warto w projektach dla urządzeń rynkowych stosować zewnętrzne procedury kodowania stanów automatu. akie procedury są dostępne w oprogramowaniu uniwersyteckim akiet SS JED, NOVA Z 66

67 roblem kodowania stanów Szczęśliwie się składa, iż język VHDL umożliwia wprowadzenie dowolnego, zewnętrznie obliczonego kodowania stanów wewnętrznych architecture nazwa_arch of nazwa_jednostki is begin u kodowanie: za pośrednictwem deklaracji stałych (constant) end nazwa_arch; Z 67

68 Automat Moore a z kodowaniem stanów Z ARCHECURE funkcja_przejsc OF simple S SGNAL Q_present, Q_next: SD_LOGC_VECOR(1 DONO 0) CONSAN A :SD_LOGC_VECOR(1 DONO 0) := "00"; CONSAN B :SD_LOGC_VECOR(1 DONO 0) := "01"; CONSAN C :SD_LOGC_VECOR(1 DONO 0) := "11"; BEGN ROCESS (x, Q_present) BEGN CASE Q_present S HEN A => F x = '0' HEN Q_next <= A; ELSE Q_next <= B; END F; HEN B => F x = '0' HEN Q_next <= A; ELSE Q_next <= C; zabezpieczenie przed nadmiarowym stanem: 10 nny typ zmiennej END F; HEN C => F x = '0' HEN Q_next <= A; ELSE Q_next <= C; END F; HEN OHERS => Q_next <= A; END CASE; END ROCESS; ROCESS (Clock, Rst) BEGN F Rst = '0' HEN Q_next <= A; ELSF (Clock'EVEN AND Clock = '1') HEN Q_present <= Q_next; END F; END ROCESS; z <= '1' HEN Q_present = C ELSE '0'; END funkcja_przejsc; 68

69 SUBDESGN MOORE_AHDL( CLOCK, RESEN, : NU; Z : OUU; ) VARABLE Y : MACHNE H SAES (A, B, C); Automat w AHDL BEGN Y.CLK = CLOCK; Y.RESE =!RESEN; F RESEN == B"0" HEN Y = A; END F; CASE Y S HEN A => F == B"0" HEN Y = A; ELSE Y = B; HEN B => END F; F == B"0" HEN Y = A; ELSE Y= C; HEN C => END F; F == B"0" HEN Y = A; ELSE Y = C; Z END; END CASE; F Y == C HEN Z = B"1"; ELSE Z = B"0"; END F; END F; 69

70 AHDL kontra VHDL AHDL VHDL Variable temp : dff temp.clk = clk; temp.d = data out = temp.out if (clk event and clk= 1 ) then out <= d; end if; Całkowicie behawioralny opis, nawet nie znamy typu przerzutnika Z 70

71 Specyfikacje typowych układów rzerzutniki Rejestry: równoległy, szeregowy Liczniki: w górę, z wpisem równoległym Modelowanie na poziomie strukturalnym rojektowanie większych układów Specyfikacje wszystkich przykładów są podane w książce: rogramowalne układy przetwarzania sygnałów cyfrowych i informacji Z 71

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

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

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

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

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

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

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

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

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

Ć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

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące. System cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z System

Bardziej szczegółowo

Kurs języka VHDL Very High (Speed Integrated Circuits) Description Language

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:

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

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

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

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

CZ1. Optymalizacja funkcji przełączających

CZ1. Optymalizacja funkcji przełączających CZ1. Optymalizacja funkcji przełączających 1. Proszę opisać słownie metodę i dokonać optymalizacji łącznej następujących funkcji (najmłodszy bit wejścia proszę oznaczyć A) : F1=SUM m(1,3,5,7,9,13,15) F2=SUM

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne Evatronix KontrolerEthernet MAC (Media Access Control)

Bardziej szczegółowo

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

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu MMfpga01 MMfpga11 Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu 1 Spis treści 1. Instalacja aplikacji QUARTUS II Web Edition...3 2. Instalacja programu QUARTUS II Web

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

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

Język programowania PASCAL

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

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 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

ELECTRIC IMPULSE DURATION MEASUREMENT USING VHDL LANGUAGE

ELECTRIC IMPULSE DURATION MEASUREMENT USING VHDL LANGUAGE Tomasz DUMAŁA IV rok Koło Naukowe Techniki Cyfrowej Dr inŝ. Wojciech Mysiński opiekun naukowy ELECTRIC IMPULSE DURATION MEASUREMENT USING VHDL LANGUAGE ZASTOSOWANIE JĘZYKA VHDL DO POMIARU CZASU TRWANIA

Bardziej szczegółowo

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea

Bardziej szczegółowo

Modelowanie logiki rewersyjnej w języku VHDL

Modelowanie logiki rewersyjnej w języku VHDL PNIEWSKI Roman 1 Modelowanie logiki rewersyjnej w języku VHDL WSTĘP Konwencjonalne komputery wykorzystują dwuwartościową logikę Boole a. Funkcje opisujące układ cyfrowy wykorzystują najczęściej dwa operatory

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

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

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

Sekwencyjne bloki funkcjonalne

Sekwencyjne bloki funkcjonalne ekwencyjne bloki funkcjonalne Układy sekwencyjne bloki funkcjonalne 2/28 ejestry - układy do przechowywania informacji, charakteryzujące się róŝnymi metodami jej zapisu lub odczytu a) b) we wy we... we

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych.

Bardziej szczegółowo

Ada-95. Dariusz Wawrzyniak

Ada-95. Dariusz Wawrzyniak Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki

Bardziej szczegółowo

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 Systemy wbudowane Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 System Quartus II Opis projektu Tekstowy (język opisu sprzętu np. Verilog) Graficzny Wykresy

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych .Wprowadzenie do projektowania układów sekwencyjnych synchronicznych.. Przerzutniki synchroniczne Istota działania przerzutników synchronicznych polega na tym, że zmiana stanu wewnętrznego powinna nastąpić

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające Zapamiętywanie wartości wybranych zmiennych binarnych, jak również sekwencji tych wartości odbywa się w układach

Bardziej szczegółowo

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1 Układy kombinacyjne i sekwencyjne - przypomnienie SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 2 Stan

Bardziej szczegółowo

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów Wstęp doinformatyki Układy sekwencyjne Układy logiczne komputerów Układy sekwencyjne Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 Wstęp do informatyki I. Pardyka Akademia Świętokrzyska Kielce,

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Plan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL

Plan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Zmienne i stałe Instrukcje sterujące Wykorzystanie SQL w PL/SQL Kursory Wyjątki Projekt fizyczny bazy danych Braki projektu

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

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

Bardziej szczegółowo

Październik 2015. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż.

Październik 2015. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż. 1/40 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Październik 2015 2/40 Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Wykorzystanie 3/40 Projekt

Bardziej szczegółowo

Oracle Developer Suite. Budowa aplikacji użytkownika końcowego

Oracle Developer Suite. Budowa aplikacji użytkownika końcowego Oracle Developer Suite Budowa aplikacji użytkownika końcowego Składniki pakietu Oracle Developer Suite Oracle Forms Builder formularze (aplikacje dostępne z poziomu przeglądarki internetowej, model 3-warstwowy)

Bardziej szczegółowo

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 2 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl Budowanie biblioteki DLL Projekt typu Class Library Zmiana właściwości

Bardziej szczegółowo

Hexcalcul (1) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym

Hexcalcul (1) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym Hexcalcul (1) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym Dodatkowe materiały na CD Na przykładzie dosyć złożonego funkcjonalnie kalkulatora, chcemy zaprezentować sposób opisu strukturalnego

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych

1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych Wstęp PROGRAMOWANIE STRUTUR CYFROWYCH Układy kombinacyjne poziomu RT c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2013/2014 2 1 Instytut Fizyki, Zakład Informatyki, e-mail:

Bardziej szczegółowo

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

Oracle11g: Programowanie w PL/SQL

Oracle11g: Programowanie w PL/SQL Oracle11g: Programowanie w PL/SQL OPIS: Kurs pozwala zrozumieć zalety programowania w języku PL/SQL. Studenci uczą się tworzyć bloki kodu wykonywanego po stronie serwera, który może być współużytkowany

Bardziej szczegółowo

Kurs Verilog cz.1 wstęp

Kurs Verilog cz.1 wstęp Kurs Verilog cz.1 wstęp Złożoność układów cyfrowych zgodnie z prawem Moore a, podwaja się co około 18 miesięcy. Liczba tranzystorów znajdujących się w układzie scalonym sięga już dziesiątek, a nawet setek

Bardziej szczegółowo

Projektowanie układów kryptograficznych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/

Projektowanie układów kryptograficznych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ CAD Projektowanie układów kryptograficznych rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Kryptografia Kryptografia to dziedzina nauki, zajmująca się przekształcaniem informacji zwanej tekstem

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

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1 LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY Rev.1.1 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z zakresu projektowania układów kombinacyjnych oraz arytmetycznych 2. Projekty Przy

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

SAS Podstawowe informacje przed ćwiczeniem 1

SAS Podstawowe informacje przed ćwiczeniem 1 SAS Podstawowe informacje przed ćwiczeniem 1 Zasady tworzenia programów każda instrukcja zakończona się średnikiem małe i duże litery nie są rozróżniane instrukcje mogą być kontynuowane w następnej linii

Bardziej szczegółowo

Wstęp do programowania 2

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

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Wstęp do Techniki Cyfrowej... Układy kombinacyjne Wstęp do Techniki Cyfrowej... Układy kombinacyjne Przypomnienie Stan wejść układu kombinacyjnego jednoznacznie określa stan wyjść. Poszczególne wyjścia określane są przez funkcje boolowskie zmiennych wejściowych.

Bardziej szczegółowo

Podstawy programowania

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

Bardziej szczegółowo

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

Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat: Mirosław Łazoryszczak Technika cyfrowa Laboratorium nr 7 Temat: Liczniki synchroniczne Katedra Architektury Komputerów i Telekomunikacji Zakład Systemów i Sieci Komputerowych SPIS TREŚCI 1. Wymagania...3

Bardziej szczegół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

PODSTAWY UKŁADÓW LOGICZNYCH. Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu.

PODSTAWY UKŁADÓW LOGICZNYCH. Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu. PODSTAWY UKŁADÓW LOGICZNYCH Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu.pl 0-22 234-73-30 Organizacja T. Łuba Wykład dr M. Rawski dr G. Borowik Ćwiczenia http://www.zpt.tele.pw.edu.pl

Bardziej szczegółowo

HiCoS akademicki system do projektowania hierarchicznych współbieżnych cyfrowych układów sterowania

HiCoS akademicki system do projektowania hierarchicznych współbieżnych cyfrowych układów sterowania Grzegorz Łabiak Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski ul. Podgórna 50, 65-246 Zielona Góra HiCoS akademicki system do projektowania hierarchicznych współbieżnych

Bardziej szczegółowo

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

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

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

Bardziej szczegółowo

Organizacja laboratorium. Zadania do wykonania w czasie laboratorium z części PSPICE

Organizacja laboratorium. Zadania do wykonania w czasie laboratorium z części PSPICE Organizacja laboratorium W czasie laboratorium należy wykonać 9 ćwiczeń, po 3 z części PSPICE, Verilog oraz VHDL. Ćwiczenia punktowane są odpowiednio po 5, 5, 6 (PSPICE), 5, 6, 6 (Verilog) oraz 5, 6, 6

Bardziej szczegółowo

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe

Bardziej szczegółowo

Programowanie RAD Delphi

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

Bardziej szczegółowo

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Automatyzacja i robotyzacja procesów produkcyjnych

Automatyzacja i robotyzacja procesów produkcyjnych Automatyzacja i robotyzacja procesów produkcyjnych Instrukcja laboratoryjna Technika cyfrowa Opracował: mgr inż. Krzysztof Bodzek Cel ćwiczenia. Celem ćwiczenia jest zapoznanie studenta z zapisem liczb

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) Spis treści Dzień 1 I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6

Bardziej szczegółowo

Podział układów cyfrowych. rkijanka

Podział układów cyfrowych. rkijanka Podział układów cyfrowych rkijanka W zależności od przyjętego kryterium możemy wyróżnić kilka sposobów podziału układów cyfrowych. Poniżej podam dwa z nich związane ze sposobem funkcjonowania układów cyfrowych

Bardziej szczegółowo

System wizyjny OMRON Xpectia FZx

System wizyjny OMRON Xpectia FZx Ogólna charakterystyka systemu w wersji FZ3 w zależności od modelu można dołączyć od 1 do 4 kamer z interfejsem CameraLink kamery o rozdzielczościach od 300k do 5M pikseli możliwość integracji oświetlacza

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące. Układ cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z Synteza

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

UKŁADY KOMBINACYJNE WPROWADZENIE. przerzutniki, bramki ze sprzężeniami zwrotnymi. Układ przełączający Y t. Q t stan wewnętrzny

UKŁADY KOMBINACYJNE WPROWADZENIE. przerzutniki, bramki ze sprzężeniami zwrotnymi. Układ przełączający Y t. Q t stan wewnętrzny UKŁADY KOMBINACYJNE PRz 2013 Wprowadzenie. Zadanie przykładowe I. Metoda Karnaugha. Schemat sprzętowy. Program w C. Program w ST. Program w LD. Program ST w środowisku TwinCAT PLC Control. Program LD PLC

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

Podstawy techniki cyfrowej cz.2 wykład 3 i 5 Podstawy techniki cyfrowej cz.2 wykład 3 i 5 Rafał Walkowiak Wersja 0.1 29.10.2013 Układy cyfrowe Ogólna struktura logiczna: Wej ster Dane bloki funkcjonalne dla realizacji określonych funkcji przetwarzania

Bardziej szczegółowo

Katedra Mikroelektroniki i Technik Informatycznych

Katedra Mikroelektroniki i Technik Informatycznych Katedra Mikroelektroniki i Technik Informatycznych Bloki obieralne na kierunku Mechatronika rok akademicki 2013/2014 ul. Wólczańska 221/223, budynek B18 www.dmcs.p.lodz.pl Nowa siedziba Katedry 2005 2006

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 1 Wprowadzenie Dostęp do bazy danych Program SQL*Plus Podstawy PL/SQL - 2 - Wprowadzenie Dlaczego warto uczyć się o Oracle u? Oracle

Bardziej szczegółowo

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212)

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212) Spis treści Dzień 1 I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212) I-3 Cel stosowania bezpieczeństwa funkcjonalnego I-4 Bezpieczeństwo funkcjonalne I-5 Zakres aplikacji I-6 Standardy w zakresie

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

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

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

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

Bardziej szczegółowo

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

Bardziej szczegółowo

Projektowania Układów Elektronicznych CAD Laboratorium

Projektowania Układów Elektronicznych CAD Laboratorium Projektowania Układów Elektronicznych CAD Laboratorium ĆWICZENIE NR 3 Temat: Symulacja układów cyfrowych. Ćwiczenie demonstruje podstawowe zasady analizy układów cyfrowych przy wykorzystaniu programu PSpice.

Bardziej szczegółowo