Cyfrowe przetwarzanie sygnałów Mariusz Rawski

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

Download "Cyfrowe przetwarzanie sygnałów Mariusz Rawski"

Transkrypt

1 CAD Cyfrowe przetwarzanie sygnałów Mariusz Rawski

2 Cyfrowe przetwarzanie sygnału A/D konwersja sygnału analogowego na cyfrowy (próbkowanie, kwantyzacja, kodowanie) DSP układy cyfrowego przetwarzania : filtracja FIR y( n) b m x( n m) filtracja IIR transformacja Fouriera funkcja korelacji wzajemnej = M m = 0 N 1 n= 0 j(2π / N ) nk ( k ) = x( n) e M m = 0 N k = 1 ( n ) = b m x ( n m ) + a y ( n k ) Charakterystyczne jest to, że wszystkie te obliczenia posiadają postać: A = N x n y n = x y + x y + + x y n = N N Składają się z mnożeń połączonych z akumulacją MAC (Multiply and Accumulate). D/A konwersja sygnału cyfrowego na analogowy X y R x, y 1 N ( m) = x( n) y( n + m) = N n 0 k Mariusz Rawski 2

3 Operacja MAC (Multiply and Accumulate) Podstawowa operacja w cyfrowym przetwarzaniu sygnałów Składa się z operacji mnożenia i dodawania Data in Rejestr Realizowana w procesorach DSP jako jednostka obliczeniowa Algorytm iteracyjny Jednostka MAC Data out Przykład: Filtr FIR 256 rzędu = 256 operacji mnóż i przechowaj (MAC) na pojedynczą próbkę danych Mariusz Rawski 3

4 Wydajne Procesory DSP Procesory DSP vs. FPGA Wysoce zrównoleglone przetwarzanie w FPGA MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC MAC Stała nieelastyczna architektura Można realizować setki przekształceń MAC w jednym układzie FPGA Typowo 1-8 jednostki MAC Stała szerokość danych Przetwarzanie szeregowe ogranicza przepustowość Współdzielone w czasie jednostki MAC Duże częstotliwości taktowania stawiają duże wyzwania projektantom systemów Wymagane wiele cykli zegara Filtr FIR 200 stopniowy wymagać będzie 25+ cykli zegara na próbkę w przypadku procesora z 8 jednostkami MAC Zrównoleglona realizacja umożliwia dużą przepustowość Filtr FIR 200 stopniowy wymaga 1 cykl zegara na próbkę Mariusz Rawski 4

5 Elastyczność układów FPGA MAC FPGA Optymalizacja realizacji Parallel Semi-Parallel Serial D Q + + D Q + Q = (A x B) + (C x D) + (E x F) + (G x H) Szybkość Koszt Mariusz Rawski 5

6 Architektura FPGA vs. DSP wydajność kosztem powierzchni Źródło: WP116, Xilinx Spartan-II FIR Filter Solution, 2000 Mariusz Rawski 6

7 Filtr cyfrowy FIR Definicja y n L 1 = k= 0 x k c n k n = 0,..., N 1 Filtracja proces przetwarzania sygnału w dziedzinie czasu polegający na redukowaniu i usunięciu niepożądanych składowych zawartych w sygnale wejściowym. Filtr cyfrowy to algorytm lub proces obliczeniowy w wyniku którego jedna sekwencja liczb (tzn.sygnał wejściowy) zamieniany jest w inną sekwencję (tzn. sygnał wyjściowy). Jest szeroko stosowana w przetwarzaniu sygnałów. Obliczenie tych sum w sposób bezpośredni wymaga O(L 2 ) operacji arytmetycznych Mariusz Rawski 7

8 Filtr o skończonej odpowiedzi impulsowej FIR y n = L 1 k =0 n k L rząd filtru, c[n] współczynnik, z -1 element opóźniający x k c L-1 sumowań, L mnożeń Mariusz Rawski 8

9 y = Realizacja operacji MAC L 1 x n c n n= 0 = x 0 c 0 + x 1 c x L 1 c L 1 Rejestr przesuwający Ukł. mnożący Sumator Akumulator X[L-1] X[1] X[0] C[L-1] C[1] C[0] + R Mariusz Rawski 9

10 Sumatory Sumowanie jest najpowszechniejszą operacją arytmetyczną A B Służy jako część składowa innych operacji (np.. mnożenia) Służy do realizacji odejmowania poprzez sumowanie argumentu ze zmienionym znakiem Sumator jest logiką kombinacyjną, Można użyć najprostszego sposobu i opisać sumator tablicą prawdy S Mariusz Rawski 10

11 Prosta realizacja sumatora library ieee; use ieee.std_logic_1164.all; entity add_tab is port( a, b : in std_logic_vector(7 downto 0 cout : out std_logic; s : out std_logic_vector(7 downto 0) end add_tab; architecture arch of add_tab is signal tab_in : std_logic_vector(15 downto 0 signal tab_out : std_logic_vector(8 downto 0 begin tab_in <= (a & b s <= tab_out(7 downto 0 cout <= tab_out(8 PLA: process(tab_in) begin case tab_in is when " " => tab_out <= " "; when " " => tab_out <= " "; when " " => tab_out <= " "; when " " => tab_out <= " "; when " " => tab_out <= " "; when " " => tab_out <= " "; when others => tab_out <= "XXXXXXXXX"; end case; end process; end; Sumator jest logiką kombinacyjną Można użyć najprostszego sposobu i opisać sumator tablicą prawdy Zadanie: Zaprojektować sumator dwuargumentowy 4- bitowy A Dane: A[7..0], B[7..0] Wynik: cout, S[7..0] Zbyt proste, żeby było ZALETY Prosta koncepcja Zaprojektowanie takiego sumatora nie wymaga zbyt wielkiej wiedzy cout S B Mariusz Rawski 11

12 Prosta realizacja sumatora wyniki Fitter Summary Top-level Entity Name Family Device Prosta koncepcja, ale sposób opisu nie do przyjęcia: dla sumatora 8-bitowego tablica ma 2 16 = wierszy dla sumatora 16-bitowego tablica ma 2 32 = wierszy add_tab Stratix EP1S10F484C5 Total logic elements 29 / 10,570 ( < 1 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 0 / 48 ( 0 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 12

13 Równania sumatora 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 and b k ) or (a k and c k ) or (b k and c k ) = (a k y k ) + (a k c k ) + (b k c k ) library ieee; use ieee.std_logic_1164.all; entity full_adder_1bit is port( a, b, cin : in std_logic; s, cout : out std_logic end; k k k k k k architecture arch of full_adder_1bit is begin s <= a xor b xor cin; cout <= (a and b) or (a and cin) or ( b and cin end; c k a k b k c k+1 s k Mariusz Rawski 13

14 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; Sumator ripple-carry adder (RCA) entity rca is generic( WIDTH : integer := 8 port( a, b : in std_logic_vector(width-1 downto 0 cout : out std_logic; s : out std_logic_vector(width-1 downto 0) end; architecture arch of rca is component full_adder_1bit is port( a, b, cin : in std_logic; s, cout : out std_logic end component; signal c : std_logic_vector(width downto 0 begin c(0) <= '0'; cout <= c(width rcastages: for i in WIDTH-1 downto 0 generate stagei : full_adder_1bit port map( a => a(i), b => b(i), cin => c(i), s => s(i), end generate; end; cout => c(i+1) Mariusz Rawski

15 Sumator ripple-carry adder wyniki Fitter Summary Top-level Entity Name rca Family Stratix Device EP1S10F484C5 Total logic elements 18 / 10,570 ( < 1 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 0 / 48 ( 0 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 15

16 Carry-ripple adder - wady Jaka jest ścieżka krytyczna tego układu? Liczba komórek: O(N) liniowo zależna od wielkości sumatora Opóźnienie: O(N) liniowo zależne od wielkości sumatora Mariusz Rawski 16

17 Przyspieszenie sumowania Kluczem do przyspieszenia dodawania jest zmniejszenie opóźnienia sieci propagacji sygnału przeniesienia Z punktu widzenia propagacji tego sygnału nieistotne są wartości konkretnych operandów Znaczenie ma czy w danym stopniu sumatora sygnał przeniesienia jest generowany (generate), propagowany (propagate), pochłaniany (anihilate). Mariusz Rawski 17

18 Optymalizacja propagacji przeniesienia Warunek generacji przeniesienia: g i = a i and b i Warunek propagacji przeniesienia: p i = a i xor b i Warunek pochłaniania przeniesienia: ani i = (not a i ) and (not b i ) c k a k b k c k+1 s k Mariusz Rawski 18

19 Sumator carry lookahead (CLA) Przewidywanie przeniesienia c i = g i-1 + c i-1 p i-1 Przeniesienia kolejnych stopni sumatora c 1 = g 0 + c in p 0 c 2 = g 1 + g 0 p 1 + c in p 0 p 1 c 3 = g 2 + g 1 p 2 + g 0 p 1 p 2 + c in p 0 p 1 p 2 Mariusz Rawski 19

20 Warunek generacji przeniesienia: g i = a i and b i Warunek propagacji przeniesienia: p i = a i xor b i Przewidywanie przeniesienia c i = g i-1 + c i-1 p i-1 Sumator carry lookahead (CLA) library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity cla is generic( WIDTH : integer := 8 port( a, b : in std_logic_vector(width-1 downto 0 cout : out std_logic; s : out std_logic_vector(width-1 downto 0) end; architecture arch of cla is signal c : std_logic_vector(width-1 downto 0 signal p : std_logic_vector(width-1 downto 0 signal g : std_logic_vector(width-1 downto 0 begin pstructure: for i in WIDTH-1 downto 0 generate p(i) <= a(i) xor b(i g(i) <= a(i) and b(i end generate; c(0) <= '0'; cout <= g(width-1) or (p(width-1) and c(width-1) cstructure: for i in WIDTH-1 downto 1 generate c(i) <= g(i-1) or (p(i-1) and c(i-1) end generate; sstructure: for i in WIDTH-1 downto 0 generate s(i) <= a(i) xor b(i) xor c(i end generate; end; Mariusz Rawski

21 Sumator carry lookahead (CLA) wyniki Fitter Summary Top-level Entity Name cla Family Stratix Device EP1S10F484C5 Total logic elements 15 / 10,570 ( < 1 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 0 / 48 ( 0 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 21

22 P = A B, n = 4 Mnożenie w układzie kombinacyjnym M i = b i A 2 i a 3 a 2 a 1 a 0 b 3 b 2 b 1 b a 3 b 0 a 2 b 0 a 1 b 0 a 0 b 0 M a 3 b 1 a 2 b 1 a 1 b 1 a 0 b 1 0 M a 3 b 2 a 2 b 2 a 1 b 2 a 0 b M 2 Mnożenie to w zasadzie wielokrotnie wykonywane dodawanie. 0 a 3 b 3 a 2 b 3 a 1 b 3 a 0 b M 3 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 Mariusz Rawski 22

23 Nowoczesne struktury FPGA ALM Inputs ALM Adder Reg Comb. Logic Adder Reg Linie połączeniowe carry-chain o małych opóźnieniach spinające wiele bloków logicznych pozwalają przyspeszyć operacje dodawania i odejmowania Względnie wydajne przy realizacji operacji dodawania i odejmowania. Jednakże nie optymalne pod względem kosztu, szybkości i poboru mocy w przypadku realizacji operacji mnożenia i dzielenia

24 Nowoczesne struktury FPGA Σ Output Register Unit +-Σ Output Multiplexer Optional Pipelining 144 Input Register Unit Producenci układów FPGA wbudowują w swoje układy dedykowane bloki realizujące funkcję mnożenia. Niektórzy poszli nawet dalej ścieżką integracji udostępniając w pełni funkcjonalne bloki MAC zwane blokami DSP

25 Operacja dodawania library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity add is generic( WIDTH : integer := 8 port( a, b : in std_logic_vector(width-1 downto 0 cout : out std_logic; s : out std_logic_vector(width-1 downto 0) end; architecture arch of add is signal result : unsigned(width downto 0 begin result <= unsigned('0' & a) + unsigned('0' & b cout <= result(width s <= std_logic_vector(result(width-1 downto 0) end; Kompilator automatycznie wykorzystał mechanizm carry-chain Mariusz Rawski

26 Operacja dodawania wyniki Fitter Summary Top-level Entity Name add Family Stratix Device EP1S10F484C5 Total logic elements 9 / 10,570 ( < 1 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 0 / 48 ( 0 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Najszybsza i najoszczędniejsza realizacja. Realizacja własnego modułu sumatora ma sens tylko, gdy stosowany jest specyficzny schemat dodawania, np. z wykorzystaniem potokowania lub sumatory wieloargumentowe. Mariusz Rawski 26

27 Operacja mnożenia library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity mul is generic( WIDTH : integer := 8 port( a, b : in std_logic_vector(width-1 downto 0 p : out std_logic_vector(2*width-1 downto 0) end; architecture arch of mul is signal result : unsigned(2*width-1 downto 0 begin result <= unsigned(a) * unsigned(b p <= std_logic_vector(result end; Kompilator automatycznie wykorzystał wbudowany blok mnożarki Mariusz Rawski

28 Operacja mnożenia Fitter Summary Top-level Entity Name mul Family Stratix Device EP1S10F484C5 Total logic elements 0 / 10,570 ( < 1 % ) Total pins 32 / 336 ( 9 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 1 / 48 ( 2 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Bardzo wydajna realizacja. Gdyby jednak nie wykorzystywać dedykowanego bloku mnożącego układ zajmowałby 106 komórek a t pd wynosiłoby 22,346 ns. Realizacja własnego modułu mnożącego dopasowanego do konkretnego algorytmu często prowadzi do lepszych rezultatów. Mariusz Rawski 28

29 Obliczanie wartości funkcji w DSP W cyfrowym przetwarzaniu sygnałów zazwyczaj nie jest potrzebne wykorzystanie dokładnych wartości funkcji matematycznych takich jak logarytm, pierwiastek czy funkcje trygonometryczne. Zazwyczaj dopuszcza się pewien stopień niedokładności i kładzie się nacisk na szybkość obliczeń Stąd też obliczanie przybliżonych wartości funkcji matematycznych jest bardzo ważnym zagadnieniem w DSP Jedną z często wykorzystywanych funkcji jest pierwiastek stopnia n (najczęściej pierwiastek kwadratowy). Można do tego celu wykorzystać np. szeregi Taylora. Jednakże znalezienie wartości np. 3 q jest równoznaczne z rozwiązaniem 3 równania x q = 0 Stąd też można do tego celu zastosować dowolny algorytm znajdowania miejsca zerowego funkcji taki jak np. metoda Newtona Mariusz Rawski 29

30 Metoda Newtona Zwana również metodą Newtona-Raphsona lub metodą stycznych iteracyjny algorytm wyznaczania przybliżonej wartości miejsca zerowego funkcji. Dla zadanej funkcji ƒ(x) oraz jej pochodnej ƒ '(x), zaczynamy od pierwszego przybliżenia x 0. Lepsze przybliżenie x 1 otrzymuje się ze wzoru x 1 = x 0 f ( x f '( x 0 ' 0 ) )

31 Zadanie: wyznaczyć wartość 17 3 Dla 17 ƒ(x) = x 3 17, stąd x 1 = x 0 (x 03 17)/(3* x 02 ) 3 Metoda Newtona N N load = 1 T x = data start = 1 T cnt = 0 Niech ƒ next (x) = x (x 3 17)/(3* x 2 ). x = f next (x) Obliczanie wartości 3 17 można przeprowadzić algorytmem iteracyjnym. N cnt = 9 T cnt = cnt + 1 res = x ready = 1

32 Metoda Newtona Algorytm iteracyjny z wczytaniem początkowej wartości Wynik: liczba 10 bitowa w formacie U2 Wykorzystanie metodologii RTL konieczna implementacja modułu realizującego funkcję f next Jest to najbardziej skomplikowana operacja Wykorzystanie ASMD

33 ƒ next (x) = x (x 3 17)/(3* x 2 ) = x (x 2 *x 17)/(3* x 2 ) Blok f next Kolejne przybliżenia reprezentowane są przez 10 bitową liczbę w kodzie U2 power2_in [9..0] x[9..0] Blok f next zostanie zbudowany z następujących elementów: power2 obliczanie x 2 multiply20b obliczanie x 2 *x multiply_by_3 obliczanie 3*x 2 divide30b obliczanie dzielenia power2_result [19..0] multiply20b_ina [19..0] multiply20b_inb [9..0] multiply_by_3_in [19..0] multiply_by_3_result [22..0] multiply20b_result [29..0] Bloki power2, multiply20b, multiply_by_3, divide30b zostaną wzięta z biblioteki gotowych komponentów. divide30b_ina [22..0] divide30b_inb [29..0] divide30b_result [29..0] xn[9..0] Mariusz Rawski 33

34 Realizacja bloku f next (1) library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity fnext is generic( number : integer := 1 port( x : in std_logic_vector(9 downto 0 xn : out std_logic_vector(9 downto 0) end fnext; Interfejs układu Wartość, z której liczony jest pierwiastek Deklaracja sygnałów do połączenia komponentów architecture structure of fnext is signal power2_in : std_logic_vector(9 downto 0 signal power2_result : std_logic_vector(19 downto 0 signal multiply20b_ina : std_logic_vector(19 downto 0 signal multiply20b_inb : std_logic_vector(9 downto 0 signal multiply20b_result : std_logic_vector(29 downto 0 signal multiply_by_3_in : std_logic_vector(19 downto 0 signal multiply_by_3_result: std_logic_vector(22 downto 0 signal divide30b_ina : std_logic_vector(22 downto 0 signal divide30b_inb : std_logic_vector(29 downto 0 signal divide30b_result : std_logic_vector(29 downto 0 Mariusz Rawski 34

35 Realizacja bloku f next (2) component power2 port ( dataa : in std_logic_vector(9 downto 0 result : out std_logic_vector(19 downto 0) end component; Deklaracja komponentów component multiply20b port ( dataa : in std_logic_vector(19 downto 0 datab : in std_logic_vector(9 downto 0 result : out std_logic_vector(29 downto 0) end component; component multiply_by_3 port ( dataa : in std_logic_vector (19 downt 0 result : out std_logic_vector (22 downt 0) end component; component divide30b port ( denom : in std_logic_vector(22 downto 0 numer : in std_logic_vector(29 downto 0 quotient : out std_logic_vector(29 downto 0 remain : out std_logic_vector(22 downto 0) end component; Mariusz Rawski 35

36 Realizacja bloku f next (3) begin b1 : power2 port map ( dataa => power2_in, result => power2_result Konkretyzacja komponentów i podłączenie do sygnałów end; b2 : multiply20b port map ( dataa => multiply20b_ina, datab => multiply20b_inb, result => multiply20b_result b3 : multiply_by_3 port map ( dataa => multiply_by_3_in, result => multiply_by_3_result b4 : divide30b port map( denom => divide30b_ina, numer => divide30b_inb, quotient => divide30b_result power2_in <= x; multiply_by_3_in <= power2_result; multiply20b_ina <= power2_result; multiply20b_inb <= x; divide30b_ina <= multiply_by_3_result; divide30b_inb <= std_logic_vector(signed(multiply20b_result) to_signed(number,30) xn <= std_logic_vector(signed(x) signed(divide30b_result(9 downto 0)) Mariusz Rawski 36

37 Realizacja bloku f next wyniki ƒ next (1) = 1 (1 3 17)/(3* 1 2 ) = 1 ( 5,33) = 6,33 ƒ next (2) = 2 (2 3 17)/(3* 2 2 ) = 2 ( 0,75) = 2,75 Pojawiają się błędy zaokrągleń. Fitter Summary Top-level Entity Name fnext Family Stratix Device EP1S10F484C5 Total logic elements 1,133/ 10,570 ( 11 % ) Total pins 20 / 336 ( 6 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 16 / 48 ( 33 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 37

38 Metoda Newtona ASMD (1) entity top is port( rst : in std_logic; clk : in std_logic; start, load : in std_logic; data : in std_logic_vector(9 downto 0 ready : out std_logic; end top; result : out std_logic_vector(9 downto 0) architecture structure of top is constant valuetofindtherootof : natural := 17; type STATE_TYPE is (s0, s1, s2, s3, s4, s5, s6 signal state_reg, state_next : STATE_TYPE; signal ready_reg, ready_next : std_logic; signal cnt_reg, cnt_next : unsigned(3 downto 0 signal x_reg, x_next : signed(9 downto 0 signal result_reg, result_next : std_logic_vector(9 downto 0 Interfejs Liczba dla której liczony jest pierwiastek Stany automatu FSMD Rejestry modelujące zmienne algorytmu Sygnały do podłączenia modułu fnext Deklaracja komponentu fnext signal xn_function_in : std_logic_vector(9 downto 0 signal xn_function_result : std_logic_vector(9 downto 0 component fnext generic( number : integer := 99 port( x : in std_logic_vector(9 downto 0 xn : out std_logic_vector(9 downto 0) end component;

39 Metoda Newtona ASMD (2) begin process(clk, rst) begin if rst = '1' then cnt_reg <= (others => '0' x_reg <= (others => '0' result_reg <= (others => '0' elsif rising_edge(clk) then cnt_reg <= cnt_next; x_reg <= x_next; result_reg <= result_next; end if; end process; process(rst, clk) begin if rst = '1' then state_reg <= s0; ready_reg <= '0'; elsif rising_edge(clk) then state_reg <= state_next; ready_reg <= ready_next; end if; end process; Rejestry modelujące zmienne Rejestr stanu automatu FSMD Konkretyzacja komponentu i podłączenie sygnałów xn_function_in <= std_logic_vector(x_reg b1 : fnext generic map( number => valuetofindtherootof ) port map ( x => xn_function_in, xn => xn_function_result result <= result_reg; ready <= ready_reg;

40 Metoda Newtona ASMD (2) process(state_reg, start, load, cnt_reg, x_reg, result_reg) begin ready_next <= '0'; cnt_next <= cnt_reg; x_next <= x_reg; result_next <= result_reg; case state_reg is when s0 => if load = '1' then state_next <= s1; else state_next <= s0; end if; when s1 => x_next <= signed(data state_next <= s2; when s2 => if start = '1' then state_next <= s3; else state_next <= s2; end if; when s3 => cnt_next <= to_unsigned(0, 4 state_next <= s4; when s4 => x_next <= signed(xn_function_result if cnt_reg = 9 then state_next <= s6; else state_next <= s5; end if; when s5 => cnt_next <= cnt_reg + 1; state_next <= s4; when s6 => result_next <= std_logic_vector(x_reg ready_next <= '1'; state_next <= s0; when others => state_next <= s0; end case; end process; end; Wartości domyślne Opis zachowania się automatu FSM i rejestrów zmiennych

41 Realizacja ASMD wyniki 3 17 = 2, Układ oblicza wartość z dużym błędem. 3 Dla 121 wynik jest 6 Podczas, gdy prawidłowa wartość to 4, Fitter Summary Top-level Entity Name fnext Family Stratix Device EP1S10F484C5 Total logic elements 1,162/ 10,570 ( 11 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 16 / 48 ( 33 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 41

42 Liczby w notacji stałopozycyjnej (1) Liczby a = 15,671 b = 2,3 Suma 1 5, , , Przy dodawaniu i odejmowaniu należy pamiętać by liczby miały ustawiony przecinek w tym samym miejscu. Natomiast przy mnożeniu i dzieleniu należy pamiętać o odpowiednim ustawieniu przecinka w wyniku Iloczyn 1 5, , 3 3 6, Mariusz Rawski 42

43 Liczby w notacji stałopozycyjnej (2) Liczby a = 15,671 U2Fix5.3 = (15,625) b = 2,3 U2Fix3.5 = (2,28) Przy dodawaniu i odejmowaniu należy dopasować liczby w zapisie stałopozycyjnym by miały ten sam format ( ustawiony przecinek w tym samym miejscu). Suma , , , Natomiast przy mnożeniu i dzieleniu należy pamiętać o tym jaki jest format wyniku (odpowiednim ustawieniu przecinka w wyniku) a+b 17,90625 U2Fix5.5 Iloczyn , , , a b 35, U2Fix6.8 Mariusz Rawski 43

44 Blok f next Niech x będzie w formacie U2Fix 4.6 power2_result [19..0] U2Fix 8.12 Kolejne przybliżenia reprezentowane są przez 10 bitową liczbę w kodzie U2Fix4.6 x[9..0] multiply_by_3_in [19..0] U2Fix 8.12 multiply_by_3_result [22..0] U2Fix multiply20b_ina [19..0] U2Fix 8.12 multiply20b_inb [9..0] U2Fix 4.6 multiply20b_result [29..0] U2Fix multiply_by_3_in [19..0] (8.12) power2_in [9..0] (4.6) power2_result [19..0] (8.12) multiply20b_inb [9..0] (4.6) multiply20b_ina [19..0] (8.12) divide30b_ina [22..0] U2Fix divide30b_inb [29..0] U2Fix divide30b_result [29..0] U2Fix 24.6 multiply_by_3_result [22..0] (11.12) multiply20b_result [29..0] (12.18) Należy 17 zapisać w formacie U2Fix12.18 divide30b_ina [22..0] (11.12) divide30b_inb [29..0] (12.18) divide30b_result [29..0] (24.6) xn[9..0] Mariusz Rawski 44

45 Realizacja bloku f next Fix4.6 begin b1 : power2 port map ( dataa => power2_in, result => power2_result b2 : multiply20b port map ( dataa => multiply20b_ina, datab => multiply20b_inb, result => multiply20b_result Nie ma żadnych zmian w użytych komponentach. Operują one na wektorach binarnych Zapis liczby 17 w formacie U2Fix12.18 dodanie 18 zer na najmłodszych bitach end; b3 : multiply_by_3 port map ( dataa => multiply_by_3_in, result => multiply_by_3_result b4 : divide30b port map( denom => divide30b_ina, numer => divide30b_inb, quotient => divide30b_result power2_in <= x; multiply_by_3_in <= power2_result; multiply20b_ina <= power2_result; multiply20b_inb <= x; divide30b_ina <= multiply_by_3_result; divide30b_inb <= std_logic_vector(signed(multiply20b_result) shift_left(to_signed(number,30), 18) xn <= std_logic_vector(signed(x) signed(divide30b_result(9 downto 0)) Mariusz Rawski 45

46 Realizacja ASMD wyniki Liczba 1 w U2Fix4.6 to = 2, w zapisie U2Fix4.6 reprezentuje wartość 165/64 = Jest to już znacznie lepsze przybliżenie. Fitter Summary Top-level Entity Name fnext Family Stratix Device EP1S10F484C5 Total logic elements 1,144/ 10,570 ( 11 % ) Total pins 25 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 920,448 ( 0 % ) DSP block 9-bit elements 16 / 48 ( 33 % ) Total PLLs 0 / 6 ( 0 % ) Total DLLs 0 / 2 ( 0 % ) Mariusz Rawski 46

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie hierarchiczne Mariusz Rawski CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości

Bardziej szczegółowo

Synteza strukturalna Mariusz Rawski

Synteza strukturalna Mariusz Rawski CAD Synteza strukturalna rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Strukturalna realizacja przepływu danych Koncepcja zmiennych i sekwencyjnego wykonania operacji tak charakterystyczna dla

Bardziej szczegółowo

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

VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 VHDL przykłady rozwiązań Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 for generate Tworzenie wektora obiektów : for in generate -- wyrażenia równoległe end

Bardziej szczegółowo

Metoda Newtona przyjmuje następujące założenia dla funkcji :

Metoda Newtona przyjmuje następujące założenia dla funkcji : Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 5 wersja 2015) 1. Temat Realizacja iteracyjnego algorytmu

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

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie hierarchiczne Mariusz Rawski CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości

Bardziej szczegółowo

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

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

Układy Cyfrowe laboratorium Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 7 Temat: Realizacja układu sterującego systemu cyfrowego z uwzględnieniem kodowania i dekompozycji funkcji pw automatu dla Metody Newtona, tj.

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

Sposoby projektowania systemów w cyfrowych Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektura komputerów, Informatyka, sem.iii. Sumatory

Architektura komputerów, Informatyka, sem.iii. Sumatory Sumatory Architektury sumatorów (zarys) Sumatory 1-bitowe Sumatory z propagacją Przeniesień CPA (Carry Propagate Adders) Sumatory wieloargumentowe 3-argumentowe Half Adder HA Macierz sumatorów RCA Full

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

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

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

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

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

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

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

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...

Bardziej szczegółowo

Szybkie układy mnożące

Szybkie układy mnożące Szybkie układy mnożące Operacja mnożenia Operacje dodawania i mnożenia są podstawą algorytmów obliczania wartości innych złożonych funkcji matematycznych oraz przetwarzania sygnałów Implementacje bitowo-szeregowe

Bardziej szczegółowo

Szybkie układy mnożące

Szybkie układy mnożące Szybkie układy mnożące Operacja mnożenia Operacje dodawania i mnożenia są podstawą algorytmów obliczania wartości innych złożonych funkcji matematycznych oraz przetwarzania sygnałów Implementacje bitowo-szeregowe

Bardziej szczegółowo

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

Technika cyfrowa projekt: Sumator 4 bitowy równoległy Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Projektowanie automatów z użyciem VHDL

Projektowanie automatów z użyciem VHDL Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano

Bardziej szczegółowo

Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak

Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak Wykład: synteza wyższego poziomu 1 Układy cyfrowe synteza strukturalna wyższego poziomu Ogólna struktura logiczna UC: bloki funkcjonalne dla realizacji

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Synteza strukturalna wyższego poziomu

Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Synteza strukturalna wyższego poziomu Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Wykład: synteza wyższego poziomu 16.12.2017 1 Układy cyfrowe synteza strukturalna wyższego poziomu Ogólna struktura logiczna UC: bloki funkcjonalne

Bardziej szczegółowo

Realizacja logiki kombinacyjnej Mariusz Rawski

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

Bardziej szczegółowo

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

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

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File 1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project

Bardziej szczegółowo

Technika cyfrowa Układy arytmetyczne

Technika cyfrowa Układy arytmetyczne Sławomir Kulesza Technika cyfrowa Układy arytmetyczne Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Układy arytmetyczne UKŁADY ARYTMETYCZNE UKŁADY SUMUJĄCE i ODEJMUJĄCE UKŁADY MNOŻĄCE

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

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

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy kombinacyjne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 28 września 2015 Co to jest układ kombinacyjny? Stan wyjść zależy tylko

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Worek różności jak dobrać się do gotowców w Spartanach? Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 12 kwietnia 2011 Spis treści Wbudowane

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

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L Język A Synteza strukturalna 1 Synteza strukturalna icznik Rejestr B l o k i F u n k c j o n a l n e 1. Składamy układ z bloków funkcjonalnych 2. Odwzorowanie technologiczne 2 Komponent Wyboru odpowiedniej

Bardziej szczegółowo

Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska,

Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 8 (wersja 2015) 1. Wstęp Komputer PC jest użyty do syntezy

Bardziej szczegółowo

Języki opisu sprzętu VHDL Mariusz Rawski

Języki opisu sprzętu VHDL Mariusz Rawski CAD Języki opisu sprzętu VHDL rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu System cyfrowy może być opisany na różnych poziomach abstrakcji i z wykorzystaniem różnych sposobów

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 06 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

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

Bardziej szczegółowo

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

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

Bardziej szczegółowo

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

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

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami. Testbenches. Symulacja sterowana zdarzeniami. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -

Bardziej szczegółowo

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

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

Współczesne techniki informacyjne

Współczesne techniki informacyjne Współczesne techniki informacyjne są multimedialne, można oczekiwać, że po cywilizacji pisma (i druku) nastąpi etap cywilizacji obrazowej czyli coraz większa jest potrzeba gromadzenia i przysyłania wielkiej

Bardziej szczegółowo

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1 Elementy języka VHDL obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne PUE-w3 1 Obiekty (sygnały, zmienne, stałe, pliki) Obiekty służą do zapisu i pamiętania

Bardziej szczegółowo

Projektowanie 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

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania SPIS TREŚCI 1. Wstęp... 5 2. Arytmetyka rozproszona... 6 2.1. Symulacja układu programowalnego... 7 3. Realizacja algorytmu cyfrowego filtrowania... 9 4....... 10 5....... 12 6. Podsumowanie... 13 Literatura...

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące Podział sumatorów Równoległe: Z przeniesieniem szeregowym Z przeniesieniem równoległym Szeregowe (układy sekwencyjne) Zwykłe Akumulujące 1 Sumator z przeniesieniami równoległymi G i - Warunek generacji

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ KDEMI MORSK KTEDR NWIGCJI TECHNICZEJ ELEMETY ELEKTRONIKI LORTORIUM Kierunek NWIGCJ Specjalność Transport morski Semestr II Ćw. 4 Podstawy techniki cyfrowej Wersja opracowania Marzec 5 Opracowanie: mgr

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

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

FFT i dyskretny splot. Aplikacje w DSP

FFT i dyskretny splot. Aplikacje w DSP i dyskretny splot. Aplikacje w DSP Marcin Jenczmyk m.jenczmyk@knm.katowice.pl Wydział Matematyki, Fizyki i Chemii 10 maja 2014 M. Jenczmyk Sesja wiosenna KNM 2014 i dyskretny splot 1 / 17 Transformata

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite. Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna

Bardziej szczegółowo

Implementacja algorytmu szyfrującego

Implementacja algorytmu szyfrującego Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja

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

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

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Programowanie Układów Logicznych kod kursu: ETD6203 Analiza układów sekwencyjnych W3 7.03.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Zmiany w terminach Plan wykładu 1 2 3 4 5 6 Ciekawostki

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza

Bardziej szczegółowo

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS inż. Michał HALEŃSKI Wojskowy Instytut Techniczny Uzbrojenia ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH Streszczenie: W artykule przedstawiono budowę oraz zasadę działania układów FPGA oraz

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Układy FPGA w przykładach, część 2

Układy FPGA w przykładach, część 2 Układy FPGA w przykładach, część 2 W drugiej części artykułu zajmiemy się omówieniem wyposażenia (po mikrokontrolerowemu : peryferiów) układów FPGA z rodziny Spartan 3, co ułatwi ich wykorzystywanie w

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

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

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

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

Sławomir Kulesza. Projektowanie automatów synchronicznych

Sławomir Kulesza. Projektowanie automatów synchronicznych Sławomir Kulesza Technika cyfrowa Projektowanie automatów synchronicznych Wykład dla studentów III roku Informatyki Wersja 2.0, 20/12/2012 Automaty skończone Automat Mealy'ego Funkcja wyjść: Yt = f(st,

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

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

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Poznanie zasad budowy działania komparatorów cyfrowych. Konstruowanie komparatorów

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

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder Treść wykładów: utomatyka dr inż. Szymon Surma szymon.surma@polsl.pl http://zawt.polsl.pl/studia pok., tel. +48 6 46. Podstawy automatyki. Układy kombinacyjne,. Charakterystyka,. Multiplekser, demultiplekser,.

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203. Specjalizowane architektury do obliczeń DSP

Programowanie Układów Logicznych kod kursu: ETD6203. Specjalizowane architektury do obliczeń DSP Programowanie Układów Logicznych kod kursu: ETD6203 Specjalizowane architektury do obliczeń DSP W10 8.05.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu Cyfrowe przetwarzanie sygnałów

Bardziej szczegółowo

Technika cyfrowa Synteza układów kombinacyjnych

Technika cyfrowa Synteza układów kombinacyjnych Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych Wykład dla studentów III roku Informatyki Wersja 2.0, 05/10/2011 Podział układów logicznych Opis funkcjonalny układów logicznych x 1 y 1

Bardziej szczegółowo

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Sub Hasla1() Dim wzor_hasla As String Dim haslo As String Dim adres

Bardziej szczegółowo

Przykład realizacji ćwiczenia nr 8.

Przykład realizacji ćwiczenia nr 8. Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 8. Stanowisko laboratoryjne: 1. Komputer PC i oprogramowanie 2. 2 x kabel TRS 3. kabel USB 4. Płyta Altera DE-2. Opis stanowiska: Komputer PC

Bardziej szczegółowo

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż. Adam Korzeniewski - adamkorz@sound.eti.pg.gda.pl, p. 732 dr inż. Grzegorz Szwoch - greg@sound.eti.pg.gda.pl, p. 732 dr inż. Piotr Odya - piotrod@sound.eti.pg.gda.pl, p. 730 Plan przedmiotu ZPS Cele nauczania

Bardziej szczegółowo

Technika cyfrowa Synteza układów kombinacyjnych (I)

Technika cyfrowa Synteza układów kombinacyjnych (I) Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych (I) Wykład dla studentów III roku Informatyki Wersja 2.0, 05/10/2011 Podział układów logicznych Opis funkcjonalny układów logicznych x 1

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo