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

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

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

Transkrypt

1 Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS

2 Język VERLOG w praktyce RUS RUS

3 VERLOG Specyfikacja układów kombinacyjnych RUS RUS

4 Operator warunkowy Conditional_expression? rue_ expression : false_ expression A = (B < C)? (D + 5) : (D + 2) module mux2to1 (w0, w1, s, f); input w0, w1, s; output f; assign f = s? w1 : w0; // przypisanie ciągłe Rys Multiplekser 2-do-1 opisany operatorem warunkowym. RUS 5 4

5 Operator warunkowy module mux2to1 (w0, w1, s, f); input w0, w1, s; output f; reg f; or w1 or s) f = s? w1 : w0; // instrukcja proceduralna Rys Multiplekser 2-do-1 inny opis z użyciem operatora warunkowego RUS 5 5

6 Operator warunkowy module mux4to1 (w0, w1, w2, w3, S, f); input w0, w1, w2, w3; input [1:0] S; output f; assign f = S[1]? (S[0]? w3 : w2) : (S[0]? w1 : w0); Rys Multiplekser 4-do-1 z użyciem operatora warunkowego RUS 5 6

7 nstrukcja F-ELSE if (wyrażenie1) begin dyrektywa; // wielokrotna dyrektywa - w bloku begin-end end else if (wyrażenie2) // else if i else są opcjonalne begin dyrektywa; end else begin dyrektywa; end Rys. A.8. Budowa instrukcji if-else RUS 5 7

8 nstrukcja F-ELSE module mux2to1 (w0, w1, s, f); input w0, w1, s; output f; reg f; or w1 or s) if (s==0) f = w0; else f = w1; Rys Multiplekser 2-do-1 przy użyciu instrukcji if-else. RUS 5 8

9 nstrukcja F-ELSE module mux4to1 (w0, w1, w2, w3, S, f); input w0, w1, w2, w3; input [1:0] S; output f; reg f; or w1 or w2 or w3 or S) if (S == 2'b00) f = w0; else if (S == 2'b01) f = w1; else if (S == 2'b10) f = w2; else if (S == 2'b11) f = w3; Rys Multiplekser 4-do-1 przy użyciu instrukcji if-else. RUS 5 9

10 nstrukcja F-ELSE module mux4to1 (, S, f); input [0:3] ; input [1:0] S; output f; reg f; or S) if (S == 0) f = [0]; else if (S == 1) f = [1]; else if (S == 2) f = [2]; else if (S == 3) f = [3]; Rys Alternatywna specyfikacja multipleksera 4-do-1 przy użyciu instrukcji if-else. RUS 5 10

11 nstrukcja F-ELSE s 0 s 1 w 0 w 3 w 4 w 7 w 8 s 2 s 3 M[0] M[1] M[2] M[3] f w 11 w 12 w 15 Rys Schemat multipleksera 16-do-1 RUS 5 11

12 nstrukcja F-ELSE module mux16to1 (, S16, f); input [0:15] ; input [3:0] S16; output f; wire [0:3] M; // module mux4to1 w tym samym pliku! mux4to1 Mux1 ([0:3], S16[1:0], M[0]); mux4to1 Mux2 ([4:7], S16[1:0], M[1]); mux4to1 Mux3 ([8:11], S16[1:0], M[2]); mux4to1 Mux4 ([12:15], S16[1:0], M[3]); mux4to1 Mux5 (M[0:3], S16[3:2], f); Rys Hierachiczna specyfikacja multipleksera 16-do-1 RUS 5 12

13 nstrukcja F-ELSE Szczególny przypadek instrukcji if-else: amięć niejawna (implied) istota opisu układów sekwencyjnych or w1 or s) begin if (s = = 1) f = w1; // jeśli dla s = 0 f nie jest określona end to zapamiętana zostaje ostatnia wartość RUS 5 13

14 nstrukcja CASE case (wyrażenie) // wyrażenie sterujące alternatywa1: begin dyrektywa; end alternatywa2: begin dyrektywa; end [default : begin dyrektywa; end] endcase Rys. A.10. Budowa instrukcji case RUS 5 14

15 nstrukcja CASE module mux4to1 (, S, f); input [0:3] ; input [1:0] S; output f; reg f; or S) case (S) 0: f = [0]; 1: f = [1]; 2: f = [2]; 3: f = [3]; endcase Rys Multiplekser 4-do-1 opisany przy użyciu instrukcji case. RUS 5 15

16 nstrukcja CASE En w 1 w 0 y 0 y 1 y 2 y x x w 0 En y 0 w 1 y 1 y 2 y 3 (a) ablica prawdy (b) Symbol graficzny Rys Dekoder 2-do-4. RUS 5 16

17 module dec2to4 (, Y, En); input [1:0] ; input En; output [0:3] Y; reg [0:3] Y; nstrukcja CASE or En) case ({En, }) 3'b100: Y = 4'b1000; 3'b101: Y = 4'b0100; 3'b110: Y = 4'b0010; 3'b111: Y = 4'b0001; default: Y = 4'b0000; // dla En = 0 wartość domyślna Y = 4'b0000 endcase Rys Opis dekodera 2-do-4 (rys. 6.16) przy użyciu instrukcji case. RUS 5 17

18 nstrukcja CASE module dec2to4 (, Y, En); input [1:0] ; input En; output [0:3] Y; reg [0:3] Y; or En) begin if (En == 0) Y = 4'b0000; else case () 0: Y = 4'b1000; 1: Y = 4'b0100; 2: Y = 4'b0010; 3: Y = 4'b0001; endcase end Rys Alternatywny opis dekodera 2-do-4 przy użyciu instrukcji case. RUS 5 18

19 nstrukcja CASE w 0 w 0 y 0 y 0 w 1 w 1 y 1 y 1 M[0] y 2 En y 3 y 2 y 3 w 2 w 3 En w 0 y 0 w 1 y 1 y 2 En y 3 M[1] M[2] w 0 w 1 y 1 y 2 En y 3 w 0 y 0 y 0 w 1 y 1 y 2 En y 3 y 4 y 5 y 6 y 7 y 8 y 9 y 10 y 11 Rys Dekoder 4-to-16 M[3] w 0 y 0 w 1 y 1 y 2 En y 3 y 12 y 13 y 14 y 15 RUS 5 19

20 module dec4to16 (, Y, En); input [3:0] ; input En; output [0:15] Y; wire [0:3] M; nstrukcja CASE dec2to4 Dec1 ([3:2], M[0:3], En); dec2to4 Dec2 ([1:0], Y[0:3], M[0]); dec2to4 Dec3 ([1:0], Y[4:7], M[1]); dec2to4 Dec4 ([1:0], Y[8:11], M[2]); dec2to4 Dec5 ([1:0], Y[12:15], M[3]); Rys Hierachiczna specyfikacja dekodera 4-na-16 RUS 5 20

21 nstrukcja CASE module seg7 (bcd, leds); input [3:0] bcd; output [1:7] leds; reg [1:7] leds; Rys Dekoder kodu BCD na 7-segmentowy case (bcd) //abcdefg 0: leds = 7'b ; 1: leds = 7'b ; 2: leds = 7'b ; 3: leds = 7'b ; 4: leds = 7'b ; 5: leds = 7'b ; 6: leds = 7'b ; 7: leds = 7'b ; 8: leds = 7'b ; 9: leds = 7'b ; default: leds = 7'bx; endcase RUS 5 21

22 nstrukcja CASE // ALU module alu(s, A, B, F); input [2:0] s; input [3:0] A, B; output [3:0] F; reg [3:0] F; Rys Specyfikacja jednostki ALU or A or B) case (s) 0: F = 4'b0000; 1: F = B - A; 2: F = A - B; 3: F = A + B; 4: F = A ^ B; 5: F = A B; 6: F = A & B; 7: F = 4'b1111; endcase RUS 5 22

23 nstrukcja Casex traktuje wszystkie wartości z i x jako don t cares module priority (, Y, z); input [3:0] ; output [1:0] Y; output z; reg [1:0] Y; reg z; Rys Specyfikacja kodera priorytetu begin z = 1; // oznacza niezerowe wejście [i] casex() 4'b1xxx: Y = 3; 4'b01xx: Y = 2; 4'b001x: Y = 1; 4'b0001: Y = 0; default: begin z = 0; Y = 2'bx; end endcase end RUS 5 23

24 nstrukcje pętli w Verilogu: for, while, repeat i forever nstrukcja pętli for for (początkowy_ indeks; końcowy_indeks; inkrementacja) begin end dyrektywa; // oddzielenie begin-end gdy jest kilka dyrektyw nstrukcja pętli for nie określa zmian podczas kolejnych iteracji pętli, jak w językach programowania, ale może definiować różne podukłady np. kolejne stopnie n-bitowego sumatora RUS 5 24

25 nstrukcje pętli FOR module dec2to4 (, Y, En); input [1:0] ; input En; output [0:3] Y; reg [0:3] Y; integer k; or En) for (k = 0; k <= 3; k = k+1) if (( == k) && (En == 1)) Y[k] = 1; else Y[k] = 0; Rys Specyfikacja dekodera 2-na-4 przy użyciu pętli for RUS 5 25

26 nstrukcje pętli FOR module priority (, Y, z); input [3:0] ; output [1:0] Y; output z; reg [1:0] Y; reg z; integer k; begin Y = 2'bx; z = 0; for (k = 0; k < 4; k = k+1) if ([k]) // badanie warunku od pozycji najmniej znaczącej begin Y = k; // kolejna iteracja zwiększa priorytet! z = 1; end end Rys Specyfikacja kodera priorytetu przy użyciu pętli for RUS 5 26

27 Operatory w VERLOGu Operatory bitowe ektory: A[2:0], B[2:0], C[2:0] Skalary: f, w Operator uzupełnienia _ C = A c 2 = a 2, c 1 = a 1, c 0 = a 0 a i, c i - bity wektorów A i C RUS 5 27

28 Operatory w VERLOGu Operatory bitowe ektory: A[2:0], B[2:0], C[2:0] Skalary: f, w Operator & -AND na bitach C = A & B c 2 = a 2 b 2, c 1 = a 1 b 1, c 0 = a 0 b 0 RUS 5 28

29 Operatory w VERLOGu Operatory bitowe ektory: A[2:0], B[2:0], C[2:0] Skalary: f, w Operator -OR na bitach C = A B c 2 = a 2 + b 2, c 1 = a 1 + b 1, c 0 = a 0 + b 0 RUS 5 29

30 Operatory w VERLOGu Kategoria rzykłady Liczba bitów = długość Bitowe ~A, +A, A L(A) A & B, A B, A ~ ^ B, A ^ ~ B MAX (L(A), L(B)) Logiczne!A, A && B, A B 1 bit Redukcji &A, ~&A, A, ~ A, ^ ~ A, ~ ^ A 1 bit Relacyjne A = = B, A!= B, A > B, A < B 1 bit A >= B, A <= B A = = = B, A!= = B Arytmetyczne A + B, A B, A * B, A / B MAX (L(A), L(B)) A % B rzesunięcia A << B, A >> B L(A) Konkatenacji {A,, B} L(A) L(B) Replikacji {B{A}} B * L(A) arunku A? B : C MAX (L(B), L(C)) RUS 5 30

31 Operatory w VERLOGu module compare (A, B, AeqB, AgtB, AltB); input [3:0] A, B; output AeqB, AgtB, AltB; reg AeqB, AgtB, AltB; or B) begin AeqB = 0; AgtB = 0; AltB = 0; if (A == B) // operator relacyjny AeqB = 1; else if (A > B) // operator relacyjny AgtB = 1; else AltB = 1; end Rys Specyfikacja 4-bitowego komparatora RUS 5 31

32 VERLOG elementy pamięciowe module D_latch (D, Clk, Q); input D, Clk; output Q; reg Q; or Clk) if (Clk) //zależność od wartości Q = D; //podtrzymanie stanu Rys Opis przerzutnika typu D-latch RUS 5 32

33 VERLOG elementy pamięciowe module flipflop (D, Clock, Q); input D, Clock; output Q; reg Q; Clock) //zależność od zmiany! Q = D; // przypisanie tylko w tej chwili Rys Opis przerzutnika typu D-flip-flop, synchronizowanego dodatnim zboczem RUS 5 33

34 rzypisania typu blocking i non-blocking module example7_3 (D, Clock, Q1, Q2); input D, Clock; output Q1, Q2; reg Q1, Q2; Clock) begin Q1 = D; // przypisania blocking (=) są wykonywane Q2 = Q1; // sekwencyjnie end Endmodule Rys Niepoprawny opis łańcucha przerzutników RUS 5 34

35 rzypisania typu blocking i non-blocking D D Q Q 1 Clock Q D Q Q 2 Q Rys lustracja do przykładu z rys RUS 5 35

36 VERLOG elementy pamięciowe module example7_4 (D, Clock, Q1, Q2); input D, Clock; output Q1, Q2; reg Q1, Q2; Clock) begin Q1 <= D; // przypisanie non-blocking (<=) Q2 <= Q1; // równoczesne (współbieżne) end Rys oprawny opis łańcucha przerzutników RUS 5 36

37 VERLOG elementy pamięciowe module example7_5 (x1, x2, x3, Clock, f, g); input x1, x2, x3, Clock; output f, g; reg f, g; Clock) begin f = x1 & x2; g = f x3; end Rys rzykład użycia przypisania typu blocking RUS 5 37

38 VERLOG elementy pamięciowe x 3 x 1 D Q g x 2 Q D Q f Clock Q Rys Schemat układu z rys RUS 5 38

39 VERLOG elementy pamięciowe module example7_6 (x1, x2, x3, Clock, f, g); input x1, x2, x3, Clock; output f, g; reg f, g; Clock) begin f <= x1 & x2; // kolejność przypisań nie ma znaczenia! g <= f x3; end Rys rzykład - użycie przypisania typu non-blocking zamiast blocking zmienia realizowaną funkcję! RUS 5 39

40 VERLOG elementy pamięciowe x 3 D Q g Q x 1 x 2 D Q f Clock Q Rys Schemat układ z rys.7.43 RUS 5 40

41 VERLOG elementy pamięciowe module flipflop (D, Clock, Resetn, Q); input D, Clock, Resetn; output Q; reg Q; Resetn or posedge Clock) if (!Resetn) Q <= 0; else Q <= D; Rys Opis przerzutnika D-flip-flop z asynchronicznym resetem RUS 5 41

42 VERLOG elementy pamięciowe module flipflop (D, Clock, Resetn, Q); input D, Clock, Resetn; output Q; reg Q; Clock) if (!Resetn) Q <= 0; else Q <= D; Rys Opis przerzutnika D-flip-flop z synchronicznym resetem RUS 5 42

43 VERLOG rejestry i liczniki module regn (D, Clock, Resetn, Q); parameter n = 16; input [n-1:0] D; input Clock, Resetn; output [n-1:0] Q; reg [n-1:0] Q; // n - niezależnych przerzutników Resetn or posedge Clock) if (!Resetn) Q <= 0; else Q <= D; Rys Opis n-bitowego rejestru z asynchronicznym resetem RUS 5 43

44 VERLOG rejestry i liczniki module muxdff (D0, D1, Sel, Clock, Q); input D0, D1, Sel, Clock; output Q; reg Q; Clock) if (!Sel) Q <= D0; else Q <= D1; Rys Opis przerzutnika D flip-flop z multiplekserem 2-do-1 na wejściu D RUS 5 44

45 VERLOG rejestry i liczniki module shift4 (R, L, w, Clock, Q); input [3:0] R; input L, w, Clock; output [3:0] Q; wire [3:0] Q; muxdff Stage3 (w, R[3], L, Clock, Q[3]); muxdff Stage2 (Q[3], R[2], L, Clock, Q[2]); muxdff Stage1 (Q[2], R[1], L, Clock, Q[1]); muxdff Stage0 (Q[1], R[0], L, Clock, Q[0]); Rys Opis hierarchiczny 4-bitowego rejestru przesuwającego z wykorzystaniem muxdff RUS 5 45

46 VERLOG rejestry i liczniki module shift4 (R, L, w, Clock, Q); input [3:0] R; input L, w, Clock; output [3:0] Q; reg [3:0] Q; Clock) if (L) Q <= R; else begin Q[0] <= Q[1]; Q[1] <= Q[2]; Q[2] <= Q[3]; Q[3] <= w; end Rys Alternatywny opis 4-bitowego rejestru z przypisaniem non-blocking RUS 5 46

47 VERLOG rejestry i liczniki module shiftn (R, L, w, Clock, Q); parameter n = 16; input [n-1:0] R; input L, w, Clock; output [n-1:0] Q; reg [n-1:0] Q; integer k; Clock) if (L) Q <= R; else begin for (k = 0; k < n-1; k = k+1) Q[k] <= Q[k+1]; Q[n-1] <= w; end Rys Opis n-bitowego rejestru przesuwającego z pętlą for RUS 5 47

48 VERLOG rejestry i liczniki module upcount (Resetn, Clock, E, Q); input Resetn, Clock, E; output [3:0] Q; reg [3:0] Q; Resetn or posedge Clock) if (!Resetn) Q <= 0; else if (E) Q <= Q + 1; Rys Opis 4-bitowego licznika zliczającego w górę RUS 5 48

49 VERLOG rejestry i liczniki module upcount (R, Resetn, Clock, E, L, Q); input [3:0] R; input Resetn, Clock, E, L; output [3:0] Q; reg [3:0] Q; Resetn or posedge Clock) if (!Resetn) Q <= 0; else if (L) Q <= R; else if (E) Q <= Q + 1; Rys Opis 4-bitowego licznika zliczającego w górę z wpisem równoległym RUS 5 49

50 VERLOG rejestry i liczniki module downcount (R, Clock, E, L, Q); parameter n = 8; input [n-1:0] R; input Clock, L, E; output [n-1:0] Q; reg [n-1:0] Q; Clock) if (L) Q <= R; else if (E) Q <= Q - 1; Rys Opis 4-bitowego licznika zliczającego w dół z wpisem równoległym RUS 5 50

51 VERLOG rejestry i liczniki module updowncount (R, Clock, L, E, up_down, Q); parameter n = 8; input [n-1:0] R; input Clock, L, E, up_down; output [n-1:0] Q; reg [n-1:0] Q; integer direction; Clock) begin if (up_down) direction = 1; else direction = - -1; if (L) Rys Opis n-bitowego licznika Q <= R; zliczającego w górę/dół else if (E) Q <= Q + direction; end RUS 5 51

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

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny

Bardziej szczegółowo

Język VERILOG w praktyce

Język VERILOG w praktyce Język VERLOG w praktyce RUS RUS Język VERLOG rzykłady syntezy blokowej RUS RUS Elementy systemu cyfrowego magistrala danych cd. module swap (Data, Resetn, w, Clock, Extern, RinExt, Busires); input [7:0]

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Bardziej szczegółowo

Laboratorium Podstaw Techniki Cyfrowej

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

Bardziej szczegółowo

Wykład 4. Języki Opisu Sprzętu

Wykład 4. Języki Opisu Sprzętu Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Wprowadzenie do Veriloga Przypisania proceduralne (c. d.) Wykład 4 2017 8 listopad

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

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W Programowalne układy logiczne kod kursu: ETD008270 Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W4 23.03.2018 mgr inż. Maciej Rudek UKŁADY KOMBINACYJNE Układy kombinacyjne Układ kombinacyjny

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

Wykład 5. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 5. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Proceduralne przypisanie ciągłe Wykład 5 2019 16 październik 2019 Operatory

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Synteza logiczna APSC

Synteza logiczna APSC Jest to proces tłumaczenia opisu projektu przygotowanego na wysokim poziomie abstrakcji na zoptymalizowaną reprezentację na poziomie bramek logicznych w oparciu o zadaną technologiczną bibliotekę komórek

Bardziej szczegółowo

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Przypisania nieblokujące Stosowanie opóźnień w przypisaniach Wykład 4 2018

Bardziej szczegółowo

Szkolenia specjalistyczne

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

Bardziej szczegółowo

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

Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Tablice i wektory Reguły łączenia portów Wykład 3 2018 10 październik 2018

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

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Instrukcje sekwencyjne

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

PODSTAWY TEORII UKŁADÓW CYFROWYCH

PODSTAWY TEORII UKŁADÓW CYFROWYCH PODSTAWY TEORII UKŁADÓW CYFROWYCH UKŁADY KODUJĄCE Kodery Kodery Kodery służą do przedstawienia informacji z tylko jednego aktywnego wejścia na postać binarną. Ponieważ istnieje fizyczna możliwość jednoczesnej

Bardziej szczegółowo

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Jak umieszcza się komentarze w pliku symulacyjnym PSPICE? 4.

Bardziej szczegółowo

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

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

Bardziej szczegółowo

(przykład uogólniony)

(przykład uogólniony) Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).

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

Języki projektowania HDL

Języki projektowania HDL Języki projektowania HDL Wykład dr inż. Marek Wójcikowski Ver: 2015-03-11 1 Zasady zaliczenia Wykład 2 kolokwia: 22.5+22.5 punktów=45 punktów Obecność na wykładzie 5 punktów Laboratorium 50 punktów Warunek

Bardziej szczegółowo

Verilog HDL. część I i II

Verilog HDL. część I i II Verilog HDL część I i II Podstawowe cechy i zastosowania języka Verilog UmoŜliwia opisywanie złoŝonych układów cyfrowych na wysokim poziomie abstrakcji (podobnie jak język VHDL) Podobnie jak inne języki

Bardziej szczegółowo

Układy asynchroniczne

Układy asynchroniczne Układy asynchroniczne Model układu sekwencyjnego Model układu asynchronicznego (synchronicznego) y 1 x n UK y m układ kombinacyjny Z clock t 1 q 1 k B x s tan stabilny s: δ(s,x) = s x blok pamięci jest

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Modelowanie złożonych układów cyfrowych (1) Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe

Bardziej szczegółowo

Temat 5. Podstawowe bloki funkcjonalne

Temat 5. Podstawowe bloki funkcjonalne Temat 5. Podstawowe bloki funkcjonalne Spis treści do tematu 5 5.. Cyfrowe bloki komutacyjne 5.2. Przerzutniki 5.3. Liczniki 5.4. Rejestry 5.6. Układy arytmetyczne 5.7. Literatura fizyka.p.lodz.pl/pl/dla-studentow/tc/

Bardziej szczegółowo

bocznej Tabela stanów sterownika Światła na drodze:

bocznej Tabela stanów sterownika Światła na drodze: Sterownik świateł na skrzyżowaniu APSC Specyfikacja: Sygnały świetne dla drogi głównej mają wyższy priorytet tzn. światła dla drogi głównej są domyślnie zielone Od czasu do czasu pojazdy z drogi bocznej

Bardziej szczegółowo

UKŁADY CYFROWE. Układ kombinacyjny

UKŁADY CYFROWE. Układ kombinacyjny UKŁADY CYFROWE Układ kombinacyjny Układów kombinacyjnych są bramki. Jedną z cech układów kombinacyjnych jest możliwość przedstawienia ich działania (opisu) w postaci tabeli prawdy. Tabela prawdy podaje

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

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

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów do przechowywania danych. Wybór źródła danych

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 X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

Uniwersalny miernik: częstotliwości, czasu, okresu na FPGA, część 3

Uniwersalny miernik: częstotliwości, czasu, okresu na FPGA, część 3 Uniwersalny miernik: częstotliwości, czasu, okresu P R Ona J EFPGA K T Y Uniwersalny miernik: częstotliwości, czasu, okresu na FPGA, część 3 AVT 5115 Jednym z przyrządów bardzo często wykorzystywanych

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

Krótkie przypomnienie

Krótkie przypomnienie Krótkie przypomnienie Prawa de Morgana: Kod Gray'a A+ B= Ā B AB= Ā + B Układ kombinacyjne: Tablicy prawdy Symbolu graficznego Równania Boole a NOR Negative-AND w.11, p.1 XOR Układy arytmetyczne Cyfrowe

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

LEKCJA. TEMAT: Funktory logiczne.

LEKCJA. TEMAT: Funktory logiczne. TEMAT: Funktory logiczne. LEKCJA 1. Bramką logiczną (funktorem) nazywa się układ elektroniczny realizujący funkcje logiczne jednej lub wielu zmiennych. Sygnały wejściowe i wyjściowe bramki przyjmują wartość

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska Układy mnoŝące 1 MnoŜenie w układzie sekwencyjnym P = A X = N 1 k = 0 k a k 2 X MnoŜenie szeregowo-równoległe równoległe Czynnik X jest przesuwany o k pozycji: jeŝeli a k 0 to X*2 k jest dodawane i zapisywane

Bardziej szczegółowo

Synteza strukturalna

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

Bardziej szczegółowo

Przykłady do wykładu Języki modelowania i symulacji

Przykłady do wykładu Języki modelowania i symulacji Przykłady do wykładu Języki modelowania i symulacji dr inż. Bogdan Pankiewicz Gdańsk, listopad 2011 - grudzień 2015 Część I - PSPICE Przykład I - przerzutnik D Czynności do wykonania: Wprowadzenie opisu

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. PTC 2015/2016 Magistrale W układzie cyfrowym występuje bank rejestrów do przechowywania

Bardziej szczegółowo

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W Programowalne układy logiczne kod kursu: ETD008270 Podstawy języka Verilog W2 2.03.2018 mgr inż. Maciej Rudek 2 Tematyka kursu wykład Poziom abstrakcji systemów opisu sprzętu Historia Verilog został stworzony

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów służy do przechowywania danych. Wybór źródła

Bardziej szczegółowo

Instrukcje sterujące. Programowanie Proceduralne 1

Instrukcje sterujące. Programowanie Proceduralne 1 Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię

Bardziej szczegółowo

Projektowanie w VHDL

Projektowanie w VHDL Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady

Bardziej szczegółowo

Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED

Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED Język Verilog w przykładach (2) Dodatkowe materiały na CD Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED W tej części kursu opiszemy bloki funkcjonalne układu sterowania 4-cyfrowym wyświetlaczem

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

Projektowanie Urządzeń Cyfrowych Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów

Bardziej szczegółowo

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak PODSTAWY TEORII UKŁADÓW CYFROWYCH UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Układem sekwencyjnym nazywamy układ

Bardziej szczegółowo

Programowany układ czasowy APSC

Programowany układ czasowy APSC Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten

Bardziej szczegółowo

Języki projektowania HDL

Języki projektowania HDL Języki projektowania HDL Wykład dr hab. inż. Marek Wójcikowski Ver: 2019-02-22 1 Zasady zaliczenia Wykład 2 kolokwia: 25+25 punktów=50 punktów Obecność na wykładzie +5 punktów Laboratorium 50 punktów (kierunkowy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5. Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach

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

Elementy języka VHDL

Elementy języka VHDL Elementy języka VHDL Języki opisu sprzętu: Firmowe - stosowane wyłącznie w systemach danej firmy (AHDL, ABEL) Uniwersalne - stosowane coraz powszechniej w różnych systemach, równolegle z językami firmowymi

Bardziej szczegółowo

Cyfrowe układy scalone c.d. funkcje

Cyfrowe układy scalone c.d. funkcje Cyfrowe układy scalone c.d. funkcje Ryszard J. Barczyński, 206 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Kombinacyjne układy cyfrowe

Bardziej szczegółowo

Język Verilog w projektowaniu układów FPGA

Język Verilog w projektowaniu układów FPGA POLITECHNIKA ZIELONOGÓRSKA Wydział Elektryczny Język Verilog w projektowaniu układów FPGA Jacek Bieganowski Grzegorz Wawrzyniak Promotor: dr inż. Marek Węgrzyn Zielona Góra, czerwiec 2001 Spis treści 1.

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja

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

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Bardziej szczegółowo

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Temat: Narzędzia: Digital Works pakiet

Bardziej szczegółowo

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak 3.12.2015 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące funkcje

Bardziej szczegółowo

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE Podstawowymi bramkami logicznymi są układy stanowiące: - funktor typu AND (funkcja

Bardziej szczegółowo

Układy asynchroniczne

Układy asynchroniczne Układy asynchroniczne Model układu asynchronicznego y x n UK y m układ kombinacyjny q k BP q k blok pamięci realizuje opóźnienia adeusz P x x t s tan stabilny s: δ(s,x) = s automacie asynchronicznym wszystkie

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

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

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja 0.1 29.10.2013 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące

Bardziej szczegółowo

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład) Wstęp doinformatyki Układy logiczne komputerów kombinacyjne sekwencyjne Układy logiczne Układy kombinacyjne Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 synchroniczne asynchroniczne Wstęp

Bardziej szczegółowo

Kombinacyjne bloki funkcjonalne

Kombinacyjne bloki funkcjonalne Sławomir Kulesza Technika cyfrowa Kombinacyjne bloki funkcjonalne Wykład dla studentów III roku Informatyki Wersja., 5//2 Bloki cyfrowe Blok funkcjonalny to układ cyfrowy utworzony z pewnej liczby elementów

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

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki Politechnika Wrocławska, Wydział PP 1. Cel ćwiczenia Zapoznanie z wybranymi cyfrowymi układami sekwencyjnymi. Poznanie właściwości, zasad działania i sposobów realizacji przerzutników oraz liczników. 2.

Bardziej szczegółowo

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------

Bardziej szczegółowo

WSTĘP DO ELEKTRONIKI

WSTĘP DO ELEKTRONIKI WSTĘP DO ELEKTRONIKI Część VII Układy cyfrowe Janusz Brzychczyk IF UJ Układy cyfrowe W układach cyfrowych sygnały napięciowe (lub prądowe) przyjmują tylko określoną liczbę poziomów, którym przyporządkowywane

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

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

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory

Bardziej szczegółowo

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1 Część 3 Układy sekwencyjne Układy sekwencyjne i układy iteracyjne - grafy stanów 18.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 1 Układ cyfrowy - przypomnienie Podstawowe informacje x 1 x 2 Układ cyfrowy

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Liczniki z zastosowaniem

Liczniki z zastosowaniem Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Liczniki Rodzaje implementacji: Układy średniej skali integracji MSI Mikrokontroler Układ FPGA

Bardziej szczegółowo

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Licznik elektroniczny - układ cyfrowy, którego zadaniem jest zliczanie wystąpień sygnału zegarowego. Licznik złożony

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Ćwiczenie 27C. Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych

Ćwiczenie 27C. Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych Ćwiczenie 27C Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych Cel ćwiczenia Poznanie budowy i zasad działania oraz właściwości układów synchronicznych, aby zapewnić podstawy

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu

Bardziej szczegółowo

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI Arkadiusz Bukowiec Roman Drożdżyński mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki,

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ 4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ 4.1. UKŁADY KONWERSJI KODÓW 4.1.1. Kody Kod - sposób reprezentacji sygnału cyfrowego za pomocą grupy sygnałów binarnych: Sygnał cyfrowy wektor bitowy Gdzie np.

Bardziej szczegółowo