Projektowanie hierarchiczne Mariusz Rawski

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Projektowanie hierarchiczne Mariusz Rawski"

Transkrypt

1 CAD Projektowanie hierarchiczne

2 Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości pracy, rozpoczęcie wprowadzania kodu zmienia ten sygnał na nieaktywny open sygnał otwarcia zamka Wprowadzenie poprawnego kodu otwiera zamek na określony czas Sterowanie klawiaturą numeryczna A B C * 0 # D open ready

3 Elektroniczny zamek schemat blokowy Kontroler klawiatury: podaje sygnał naciśnięcia klawisza podaje kod naciśniętego klawisza Wykrywanie sekwencji: analizuje kody klawiszy i wykrywa sekwencje kodową otwierającą zamek Układ czasowy: odmierza określony czas po otwarciu zamka i wysyła sygnał zamknięcia zamka A B C * 0 # D Kontroler klawiatury kod klawisza naciśnięty zamknij Wykrywanie sekwencji Układ czasowy otwarty open ready

4 Kontroler klawiatury: Kontroler klawiatury podanie sygnału aktywnego na linie kolejnych wierszy sprawdzanie linii kolumn w celu wykrycia sygnału aktywnego pochodzącego ze zwarcia styków klawisza col[ ] A B C * 0 # D row[ ] Kontroler klawiatury key key_pulse

5 Kontroler klawiatury schemat blokowy Kontroler klawiatury: licznik generuje liczby 4 bitowe, 2 najstarsze bity sterują dekoderem, wystawiając sygnał aktywny na kolejne linie wierszy klawiatury 2 młodsze bity sterują multiplekserem przeglądając kolejne linie kolumn klawiatury wystąpienie na wyjściu multipleksera sygnału aktywnego sygnalizuje naciśnięcie klawisza zatrzymuje licznik kodem klawisza jest wartość licznika może się okazać konieczne przekodowanie col[ ] A B row[ ] q[1..0] q[3..0] key C * 0 # D q[3..2] q[3..0] Licznik 4-bit stop key_pulse

6 Sterownik klawiatury problemy Naciśnięcie dwóch klawiszy jednocześnie może doprowadzić do zwarcia wyjść row[] co może spowodować uszkodzenie układu Naciśnięcie klawisza wywołuje drgania styków, które generują sygnał prostokątny mogący zaburzać pracę układu

7 Problem 1 koncepcja Rozwiązanie polega na zastosowaniu buforów izolujących na wyjściach row[] Do tego celu nadają się bramki trójstanowe TRI umożliwiają one galwaniczną izolacje wyjść nieaktywnych Zmieniona zostanie koncepcja realizacji klawiatura będzie skanowana stanem niskim VCC col[ ] A B row[ ] q[1..0] q[3..0] key C * 0 # D q[3..2] q[3..0] Licznik 4-bit stop key_pulse

8 Problem 1 realizacja architecture data_flow of kb_ctrl_pckg_tri is signal key_pulse_i : std_logic; signal q_i : std_logic_vector(3 downto 0); begin signal tri_buf_oe : std_logic_vector(3 downto 0); kb_cnt : cnt_4 port map( rst => rst, clk => clk, ena => key_pulse_i, value => q_i ); kb_mux : mux_2x4 port map( q_i(1 downto 0), col, key_pulse_i ); Sygnały sterujące buforami trójstanowymi Ponieważ skanowanie odbywa się logicznym 0 zmiana koncepcji licznik zatrzymywany jest gdy key_pulse_i = 0 wyjście key_pulse jest zanegowanym sygnałem key_pulse_i kb_dec : dec_2x4 port map( a => q_i(3 downto 2), o => tri_buf_oe ); row(0) <= '0' when tri_buf_oe(0) = '1' else 'Z'; row(1) <= '0' when tri_buf_oe(1) = '1' else 'Z'; row(2) <= '0' when tri_buf_oe(2) = '1' else 'Z'; row(3) <= '0' when tri_buf_oe(3) = '1' else 'Z'; Wyjścia row(i) sterowane są przez bufory trójstanowe q <= q_i; key_pulse <= not key_pulse_i; end data_flow;

9 Problem 1 działanie Naciśnięcie klawisza row = 0, col = 2 Skanowanie wiersz row(0) stanem niskim, Pozostałe wiersze stan wysokiej impedancji

10 Problem 2 koncepcja Naciśnięcie klawisza wywołuje drgania styków, które generują sygnał prostokątny mogący zaburzać pracę układu. W celu usunięcia tego problemu należy zastosować moduł usuwający niepożądane drgania. Można to zrobić projektując układ akceptujący sygnał trwający dostatecznie długo.

11 Problem 2 rozwiązanie library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity debounce is port( clk : in std_logic; in_sig : in std_logic; pulse : out std_logic ); end debounce; architecture data_flow of debounce is signal counter : unsigned(7 downto 0); constant all_ones : unsigned(7 downto 0) := (others =>'1'); constant pulse_value : unsigned(7 downto 0) := (0 => '0', others => '1'); begin process(clk) begin if in_sig = '0' then counter <= (others => '0'); elsif rising_edge(clk) then if counter /= all_ones then counter <= counter + 1; else counter <= counter; end if; end if; end process; pulse <= '1' when (counter = pulse_value) else '0'; end data_flow; Na wejściu in_sig pojawia się sygnał z drgających styków przełącznika. Na wyjściu pulse pojawi się wartość 1 na czas jednego okresu zegara, tylko wtedy gdy sygnał wejściowy będzie stabilny przez dostatecznie długi czas. Stała reprezentująca wektor samych jedynek (MAX) Stała reprezentująca wektor z jednym zerem na najmłodszym bicie (MAX 1) Licznik jest zerowany ilekroć sygnał wejściowy jest równy 0. W czasie, gdy sygnał wejściowy jest równy 1 liczni odlicza do maksymalnej wartości i się zatrzymuje. Na wyjściu pojawia się 1, gdy licznik doliczy do wartości MAX - 1

12 Problem 2 działanie Zbyt krótkie sygnały nie są akceptowane Tylko dostatecznie długi sygnały są akceptowane Częstotliwość zegara taktującego moduł filtrujący drgania powinien być odpowiednio dobrany

13 Problem 2 realizacja library ieee; architecture data_flow of kb_ctrl_pckg_tri_deb is signal key_pulse_i : std_logic; signal q_i : std_logic_vector(3 downto 0); signal tri_buf_oe : std_logic_vector(3 downto 0); component debounce is port( clk : in std_logic; in_sig : in std_logic; pulse : out std_logic ); end component; Deklaracja komponentu można umieścić w pakiecie begin row(0) <= '0' when tri_buf_oe(0) = '1' else 'Z'; row(1) <= '0' when tri_buf_oe(1) = '1' else 'Z'; row(2) <= '0' when tri_buf_oe(2) = '1' else 'Z'; row(3) <= '0' when tri_buf_oe(3) = '1' else 'Z'; kb_debounce : debounce port map( clk => clk, in_sig => not key_pulse_i, pulse => key_pulse ); Wpięcie modułu filtrującego drgania pomiędzy sygnał key_pulse_i a wyjście key_pulse q <= q_i; end data_flow;

14 Sterownik klawiatury - wyniki Zbyt krótkie naciśnięcie (drganie) nie jest akceptowane Tylko dostatecznie długie naciśnięcie jest akceptowane Fitter Summary Top-level Entity Name kb_ctrl_pckg_tri_deb Family Stratix Device EP1S10B672C6 Total logic elements 23 / 10,570 ( < 1 % ) Total pins 15 / 346 ( 4 % ) 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 % ) Fitter Resource Utilization by Entity Compilation Hierarchy Node Logic Cells LC Registers kb_ctrl_pckg_tri_deb 23 (0) 12 cnt_n:kb_cnt 5 (5) 4 debounce:kb_debounce 12 (12) 8 dec_2x4:kb_dec 4 (4) 0 mux_2x4:kb_mux 2 (2) 0

15 Wykrywanie sekwencji Wykrywanie sekwencji: analizuje kody klawiszy i wykrywa sekwencje kodową otwierającą zamek sekwencja kodowa oznaczona jako P1 P2 P3 P4! P1! P2! P3! P4 P1 P2 P3 ready S1 S2 S3 open P4

16 library ieee; use ieee.std_logic_1164.all; Wykrywanie sekwencji realizacja (1) entity sequence_search is port( clk : in std_logic; close : in std_logic; valid : in std_logic; code : in std_logic_vector(3 downto 0); ready : out std_logic; unlock : out std_logic ); end; Interfejs układu: close sygnał zamknięcia zamka valid sygnał naciśnięcia klawisza code numer klawisza redy sygnał gotowości unlock sygnał otwarcia zamka architecture data_flow of sequence_search is constant P1 : std_logic_vector(3 downto 0) := "0100"; constant P2 : std_logic_vector(3 downto 0) := "1000"; constant P3 : std_logic_vector(3 downto 0) := "1100"; constant P4 : std_logic_vector(3 downto 0) := "0100"; type STATE_TYPE is (s_ready, s1, s2, s3, s_unlock); signal state_reg, state_next : STATE_TYPE; begin process (clk, close) begin if (close = '1') then state_reg <= s_ready; elsif rising_edge(clk) then state_reg <= state_next; end if; end process; Stałe opisujące kod otwarcia zamka Stany automatu Sygnał close działa jak reset. Wprowadza automat w stan początkowy zamyka zamek.

17 Wykrywanie sekwencji realizacja (2) process (state_reg, valid, code) begin ready <= '0'; unlock <= '0'; case state_reg is when s_ready => ready <= '1'; if (valid = '1') then if (code = P1) then state_next <= s1; else state_next <= s_ready; end if; else state_next <= s_ready; end if; when s1 => if (valid = '1') then if (code = P2) then state_next <= s2; else state_next <= s_ready; end if; else state_next <= s1; end if; Domyślne wartości sygnałów wyjściowych Zmiana stanu następuje tylko wtedy, gdy wejście valid jest aktywne zaznaczając, że kod klawisza podany do automatu jest kodem naciśniętego klawisza Po wejściu do stanu s_unlock automat otwiera zamek i pozostaje w tym stanie do momentu, gdy sygnał close nie zresetuje automatu zaykając zamek when s2 => if (valid = '1') then if (code = P3) then state_next <= s3; else state_next <= s_ready; end if; else state_next <= s2; end if; when s3 => if (valid = '1') then if (code = P4) then state_next <= s_unlock; else state_next <= s_ready; end if; else state_next <= s3; end if; when s_unlock => unlock <= '1'; state_next <= s_unlock; end case; end process; end data_flow;

18 Wykrywanie sekwencji - wyniki Kody skanowanych klawiszy Klawisz naciśnięty Zamek otwarty Zamknięcie zamka Fitter Summary Top-level Entity Name sequence_search Family Stratix Device EP1S10B672C6 Total logic elements 11 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % )

19 Wykrywanie sekwencji problemy Automat ten pozwala na bardzo łatwe złamanie kodu zamka Automat po podaniu cyfry, która nie występuje w kodzie wraca do stanu początkowego Wystarczy niewielka liczba prób, aby odgadnąć kod! P1! P2! P3! P4 P1 P2 P3 ready S1 S2 S3 open P4

20 Wykrywanie sekwencji wersja bezpieczniejsza (1) Wystarczy wprowadzić niewielkie modyfikacje do grafu automatu, aby znacznie utrudnić złamanie kodu w3 w2 w5! P1 w1! P2 w4! P3 w6! P4 P1 P2 P3 ready S1 S2 S3 open P4

21 Wykrywanie sekwencji wersja bezpieczniejsza (2) architecture data_flow of sequence_search is type STATE_TYPE is (s_ready, s1, s2, s3, w1, w2, w3, w4, w5, w6, s_unlock); signal state_reg, state_next : STATE_TYPE; begin process (state_reg, valid, code) begin ready <= '0'; unlock <= '0'; case state_reg is when s_ready => ready <= '1'; if (valid = '1') then if (code = P1) then state_next <= s1; else state_next <= w1; end if; else state_next <= s_ready; end if; when s1 => if (valid = '1') then if (code = P2) then state_next <= s2; else state_next <= w4; end if; else state_next <= s1; end if; Nowe stany automatu Gdy kod klawisza nie jest prawidłowy przechodzimy do dodatkowych stanów zamiast do stanu s_ready when s2 => if (valid = '1') then if (code = P3) then state_next <= s3; else state_next <= w6; end if; else state_next <= s2; end if; when s3 => if (valid = '1') then if (code = P4) then state_next <= s_unlock; else state_next <= s_ready; end if; else state_next <= s3; end if;

22 Wykrywanie sekwencji - wyniki Błędny kod Stany wczytujące kolejne kody Fitter Summary Top-level Entity Name sequence_search Family Stratix Device EP1S10B672C6 Total logic elements 13 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % )

23 Wykrywanie sekwencji kodowanie when w1 => library ieee; use ieee.std_logic_1164.all; entity sequence_search_modif_cod is port( clk : in std_logic; close : in std_logic; valid : in std_logic; code : in std_logic_vector(3 downto 0); ready : out std_logic; unlock : out std_logic ); end sequence_search_modif_cod; architecture data_flow of sequence_search_modif_cod is constant P1: std_logic_vector(3 downto 0) := "0100"; constant P2: std_logic_vector(3 downto 0) := "1000"; constant P3: std_logic_vector(3 downto 0) := "1100"; constant P4: std_logic_vector(3 downto 0) := "0100"; Narzucenie kodowania użytkownika. Kodowanie kolejnymi kodami NKB. Fitter Summary Top-level Entity Name Family Device sequence_search_modif_cod Stratix EP1S10B672C6 Total logic elements 20 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % ) constant s_ready : std_logic_vector(3 downto 0) := "0000"; constant s1 : std_logic_vector(3 downto 0) := "0001"; constant s2 : std_logic_vector(3 downto 0) := "0010"; constant s3 : std_logic_vector(3 downto 0) := "0011"; constant w1 : std_logic_vector(3 downto 0) := "0100"; constant w2 : std_logic_vector(3 downto 0) := "0101"; constant w3 : std_logic_vector(3 downto 0) := "0110"; constant w4 : std_logic_vector(3 downto 0) := "0111"; constant w5 : std_logic_vector(3 downto 0) := "1000"; constant w6 : std_logic_vector(3 downto 0) := "1001"; constant s_unlock : std_logic_vector(3 downto 0) := "1010"; signal state_reg, state_next : std_logic_vector(3 downto 0);

24 Wykrywanie sekwencji minimalizacja stanów Automat ten nie jest automatem minimalnym S\key OK. WRONG READY OPEN Stany identyczne można zastąpić jednym stanem np. n1 ready s1 w1 1 0 s1 s2 w4 0 0 s2 s3 w5 0 0 s3 open ready 0 0 open open open 0 1 w1 w2 w2 0 0 w2 w3 w3 0 0 w3 ready ready 0 0 w4 w5 w5 0 0 w5 ready ready 0 0 w6 ready ready 0 0 Jeśli stany w3, w5 i w6 zostaną zastąpione stanem n1 to stany w2 i w4 też będą identyczne można zastąpić jednym stanem np. n2

25 Wykrywanie sekwencji minimalizacja stanów Automat ten jest automatem minimalnym S\key OK. WRONG READY OPEN ready s1 w1 1 0 s1 s2 n2 0 0 s2 s3 n1 0 0 s3 open ready 0 0 open open open 0 1 w1 w2 w2 0 0 n2 n1 n1 0 0 w1 n2 n1 n1 ready ready 0 0 ready S1 S2 S3 ready! P1! P2! P3 P1 P2 P3! P4 open P4 25

26 Automat minimalny wyniki Fitter Summary Top-level Entity Name sequence_search_min Family Stratix Device EP1S10B672C6 Total logic elements 14 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % ) Liczba komórek się zwiększyła pomimo mniejszej liczby stanów. Dowodzi to, że realizacja automatów jest złożonym procesem i trudno jest podać optymalny sposób postępowania.

27 Automat minimalny kodowanie library ieee; use ieee.std_logic_1164.all; entity sequence_search_modif_cod is port( clk : in std_logic; close : in std_logic; valid : in std_logic; code : in std_logic_vector(3 downto 0); ready : out std_logic; unlock : out std_logic ); end sequence_search_modif_cod; architecture data_flow of sequence_search_modif_cod is constant P1: std_logic_vector(3 downto 0) := "0100"; constant P2: std_logic_vector(3 downto 0) := "1000"; constant P3: std_logic_vector(3 downto 0) := "1100"; constant P4: std_logic_vector(3 downto 0) := "0100"; Narzucenie kodowania użytkownika dla automatu zminimalizowanego. Kodowanie kolejnymi kodami NKB. Fitter Summary Top-level Entity Name Family Device sequence_search_min_cod Stratix EP1S10B672C6 Total logic elements 13 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % ) constant s_ready : std_logic_vector(2 downto 0) := "000"; constant s1 : std_logic_vector(2 downto 0) := "001"; constant s2 : std_logic_vector(2 downto 0) := "010"; constant s3 : std_logic_vector(2 downto 0) := "011"; constant w1 : std_logic_vector(2 downto 0) := "100"; constant n1 : std_logic_vector(2 downto 0) := "101"; constant n2 : std_logic_vector(2 downto 0) := "110"; constant s_unlock : std_logic_vector(2 downto 0) := "111"; signal state_reg, state_next : std_logic_vector(3 downto 0);

28 Kodowanie stanów Encoding Type: One-Hot State Machine - sequence_search_min state_reg Name q7 q6 q5 q4 q3 q2 q1 q0 state_reg.s_ready state_reg.s state_reg.s state_reg.s state_reg.w state_reg.n state_reg.n state_reg.s_unlock Fitter Summary Top-level Entity Name sequence_search_min Family Stratix Device EP1S10B672C6 Total logic elements 14 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % ) Encoding Type: Custom State Machine - sequence_search_min_cod state_reg Name q2 q1 q0 state_reg.s_ready state_reg.s state_reg.s state_reg.s state_reg.w state_reg.n state_reg.n state_reg.s_unlock Fitter Summary Top-level Entity Name sequence_search_min_cod Family Stratix Device EP1S10B672C6 Total logic elements 13 / 10,570 ( < 1 % ) Total pins 9 / 346 ( 3 % ) 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 % )

29 Zaawansowane metody syntezy logicznej Metoda minimalizacji stanów automatu pozwoliła zrealizować układ przy wykorzystaniu mniejszej ilości zasobów struktury programowalnej bez straty szybkości działania, nawet ją zwiększając. Jednakże istnieją inne, bardziej zaawansowane algorytmy syntezy logicznej umożliwiające realizację projektu w taki sposób, aby jak najlepiej wykorzystać cechy struktury programowalnej, w której ten projekt zostanie umieszczony. Dekompozycja funkcjonalna jest metodą syntezy logicznej szczególnie dobrze przystosowaną do realizacji funkcji w strukturach FPGA, do których zaliczają się układy z rodziny FLEX10K czy Stratix.

30 Wykrywanie sekwencji inne sposoby realizacji Automat można przedstawić jako rejestr oraz blok kombinacyjny funkcja generująca następne wartości rejestru i wartości wyjść. Stan automatu Wejścia Wejściami funkcji są wyjścia rejestru reprezentujące stan bieżący oraz wejścia układu Wyjściami funkcji są bity reprezentujące stan następny i wyjścia układu Funkcja wzbudzeń i wyjść automatu Rejestr

31 Blok kombinacyjny.i 8.o 5.ilb state_reg(2) state_reg(1) state_reg(0) valid code(3) code(2) code(1) code(0).ob state_next(2) state_next(1) state_next(0) ready open Stan automatu Wejścia Funkcja wzbudzeń i wyjść automatu Rejestr e

32 Automat inne sposoby realizacji library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity sequence_search_komb is port( clk : in std_logic; close : in std_logic; valid : in std_logic; code : in std_logic_vector(3 downto 0); ready : out std_logic; unlock : out std_logic ); end sequence_search_komb; state_next in_sig Część kombinacyjna out_sig code valid architecture data_flow of sequence_search_komb is state_reg ready unlock signal in_sig : std_logic_vector(7 downto 0); signal out_sig : std_logic_vector(4 downto 0); signal state_reg, state_next : std_logic_vector(2 downto 0); begin process (clk, close) begin if (close = '1') then state_reg <= "000"; elsif rising_edge(clk) then state_reg <= state_next; end if; end process; in_sig <= (state_reg & valid & code); state_next <= out_sig(4 downto 2); ready <= out_sig(1); unlock <= out_sig(0); Sygnały dla celów podłączenia do części kombinacyjnej Opis rejestru Podłączenie do części kombinacyjnej

33 Automat inne sposoby realizacji out_sig <= "00010" when (std_match(in_sig," ")) else "00110" when (std_match(in_sig," ")) else "10110" when (std_match(in_sig," ")) else "10110" when (std_match(in_sig," ")) else "10110" when (std_match(in_sig," ")) else "10110" when (std_match(in_sig," ")) else "00100" when (std_match(in_sig," ")) else "01000" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "01000" when (std_match(in_sig," ")) else "01100" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "01100" when (std_match(in_sig," ")) else "10000" when (std_match(in_sig," ")) else "00000" when (std_match(in_sig," ")) else "00000" when (std_match(in_sig," ")) else "00000" when (std_match(in_sig," ")) else "00000" when (std_match(in_sig," ")) else "10001" when (std_match(in_sig," ")) else "10100" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "11000" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "11100" when (std_match(in_sig," ")) else "00000" when (std_match(in_sig," ")) else "-----"; end data_flow; Opis części kombinacyjnej

34 Wykrywanie sekwencji - wyniki Najlepsze rozwiązanie! Fitter Summary Top-level Entity Name sequence_search_komb Family Stratix Device EP1S10F484C5 Total logic elements 8 / 10,570 ( < 1 % ) Total pins 9 / 336 ( 3 % ) 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 % ) Dużo zależy od sposobu opisu. Wysoki poziom abstrakcji może powodować gorszą jakość realizacji

35 Tablica przejść-wyjść podejście drugie Stosując dodatkowe narzędzia CAD można poddać optymalizacji blok kombinacyjny i dopiero wtedy wykorzystać go w systemie CAD Należy wyniki optymalizacji zapisać w formacie akceptowalnym przez system CAD może VHDL Wykorzystane zostanie narzędzie akademickie do syntezy logicznej

36 Narzędzia uniwersyteckie code valid in_sig state_next out_sig state_reg ready unlock

37 Automat dekompozycja architecture data_flow of sequence_search_komb_dek is signal g1_2, g1_1 : std_logic; signal block1_1_in : std_logic_vector(1 to 4); signal block2_1_in : std_logic_vector(1 to 3); signal block3_1_in : std_logic_vector(1 to 4); signal block4_1_in : std_logic_vector(1 to 6); signal block4_2_in : std_logic_vector(1 to 6); signal block5_1_in : std_logic_vector(1 to 3); signal block5_2_in : std_logic_vector(1 to 3); Sygnały do połączenia bloków dekompozycji signal state_reg, state_next : std_logic_vector(2 downto 0); begin process (clk, close) begin if (close = '1') then state_reg <= "000"; elsif rising_edge(clk) then state_reg <= state_next; end if; end process; block1_1_in <= state_reg(2) & state_reg(1) & state_reg(0) & valid; block1_1: process (block1_1_in) begin case block1_1_in is when "0000" => state_next(0) <= '0'; when "0001" => state_next(0) <= '1'; when "1110" => state_next(0) <= '1'; when "1111" => state_next(0) <= '0'; when others => state_next(0) <= '0'; end case; end process block1_1; Jeden z procesów opisujących bloki dekompozycji

38 Wykrywanie sekwencji dekompozycja Fitter Summary Top-level Entity Name sequence_search_komb_dek Family Stratix Device EP1S10F484C5 Total logic elements 8 / 10,570 ( < 1 % ) Total pins 9 / 336 ( 3 % ) 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 % ) Nie jest lepiej! Po co zadawać sobie trud użycia narzędzia akademickiego? Ten przykład jest niewielki. Dla większych przykładów wykorzystanie narzędzi akademickich bardzo często prowadzi do lepszych wyników

39 Wykorzystanie specjalizowanych bloków pamięciowych Struktury programowalne posiadają różnorodne mechanizmy pozwalające efektywniej realizować urządzenia cyfrowe. Jednym z takich mechanizmów są matryce EAB (Embedded Array Block) Mogą być wykorzystane do realizacji pamięci RAM, ROM, buforów Można przy pomocy tych bloków realizować logikę użytkownika I/O Element (IOE) IOE IOE IOE IOE Embedded Array Block IOE IOE IOE IOE IOE IOE Fast Track Interconnect IOE IOE Logic Element (LE) IOE IOE Embedded Array Block Logic Array Block (LAB) IOE IOE IOE IOE IOE IOE Logic Array

40 Sposób realizacji Wymagana pojemność pamięci = 2 (m+n) (n + y), gdzie m + n liczba bitów adresowych, a n + y długość słowa, zaś m liczba wejść automatu n liczba bitów kodujących stany y liczba wyjść X m n Register (m + n) ROM F y Q

41 Realizacja na pamięci ROM architecture data_flow of sequence_search_rom is type ROM_ARRAY is array(0 to 255) of std_logic_vector(4 downto 0); signal ROM : ROM_ARRAY := ( "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "00010", "11100", "11100", "11100", "11100", "11100", "11100", "11100", "11100", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000" ) ; Deklaracja pamięci ROM signal in_sig : std_logic_vector(7 downto 0); signal out_sig : std_logic_vector(4 downto 0); signal state_reg, state_next : std_logic_vector(2 downto 0); begin process (clk) begin if rising_edge(clk) then out_sig <= ROM(to_integer(unsigned(in_sig))) ; end if; end process; Proces opisujący działanie pamięci ROM in_sig ready unlock <= (out_sig(4 downto 2) & valid & code) when close = '0' else " "; <= out_sig(1); <= out_sig(0); end data_flow;

42 Wykrywanie sekwencji dekompozycja Wykorzystanie pamięci spowolniło układ Fitter Summary Top-level Entity Name Family Device sequence_search_rom Stratix EP1S10F484C5 Total logic elements 8 / 10,570 ( < 1 % ) Total pins 22 / 336 ( 7 % ) Total virtual pins 0 Total memory bits 1,280 / 920,448 ( < 1 % ) DSP block 9-bit elements 0 / 48 ( 0 % ) Total PLLs 0 / 6 ( 0 % ) Ale zajmuje 8 komórek więc Total DLLs 0 / 2 ( 0 % ) nic nie zyskaliśmy. Znowu powodem jest to, że jest to mały przykład

43 Realizacja na pamięci ROM LPM library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; library lpm; use lpm.lpm_components.all; architecture data_flow of sequence_search_rom is Wykorzystanie biblioteki LPM signal in_sig : std_logic_vector(7 downto 0); signal out_sig : std_logic_vector(4 downto 0); signal state_reg, state_next : std_logic_vector(2 downto 0); begin process (clk, close) begin if (close = '1') then state_reg <= "000"; elsif rising_edge(clk) then state_reg <= state_next; end if; end process; my_rom: lpm_rom generic map ( lpm_widthad => 8, lpm_outdata => "unregistered", lpm_address_control => "unregistered", lpm_file => "my_rom.mif", -- init data lpm_width => 5) port map ( address => in_sig, q => out_sig); Tego typu pamięć może być wykorzystana tylko w niektórych układach (np. FLEX) Konkretyzacja modułu LPM_ROM i mapowanie parametrów i sygnałów in_sig <= (state_reg & valid & code); state_next <= out_sig(4 downto 2); ready <= out_sig(1); unlock <= out_sig(0); end data_flow;

44 Realizacja na pamięci ROM kreator komponentów

45 Realizacja na pamięci ROM kreator komponentów

46 Realizacja na pamięci ROM kreator komponentów architecture data_flow of sequence_search_rom is component rom PORT ( address : in std_logic_vector (7 downto 0); clock : in std_logic; q : out std_logic_vector (4 downto 0) ); end component; Deklaracja komponentu stworzonego z wykorzystaniemkreatora signal in_sig : std_logic_vector(7 downto 0); signal out_sig : std_logic_vector(4 downto 0); begin my_rom: rom port map ( address => in_sig, clock => clk, q => out_sig ); in_sig <= (out_sig(4 downto 2) & valid & code); ready <= out_sig(1); unlock <= out_sig(0); Konkretyzacja rom i mapowanie parametrów i sygnałów end data_flow;

47 Modyfikacja adresu Wykorzystanie koncepcji modyfikacji adresu pozwala projektantowi efektywnie wykorzystywać wbudowane matryce pamięciowe X x q b a A d d r e s s m o d ifie r c < b R e g is t e r ( a + c ) < (x + q ) R O M y F Q

48 Synteza logiczna automaty FF_MAX+PlusII FF_DEMAIN ROM AM_ROM Example Speed Speed Speed Speed LCs/Bits LCs/Bits LCs/Bits LCs/Bits [MHz] [MHz] [MHz] [MHz] DESaut 46/0 41,1 28/0 61,7 8/ ,8 7/896 47,1 5B6B 93/0 48,7 43/0 114,9 6/448 48,0 3) 3) count4 72/0 44,2 11/0 68,5 18/0 1) 86,2 1) 13/0 2) 90,0 2) 16/ ) 12/ ,5 1) FSM described with special AHDL construction; 2) decomposition with the minimum number of logic levels, 3) decomposition not possible; 4) not enough memory bits to implement the project

49 Układ odmierzania czasu library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity cnt_n is generic( WIDTH : natural := 4 ); port( rst : in std_logic; clk : in std_logic; ena : in std_logic; cout : out std_logic; value : out std_logic_vector(width - 1 downto 0) ); end cnt_n; architecture behavior of cnt_n is constant max_value : unsigned(width - 1 downto 0) := (others => '1'); signal counter : unsigned(width - 1 downto 0); begin process(rst, clk) begin if rst = '1' then counter <= (others => '0'); elsif rising_edge(clk) then if ena = '1' then counter <= counter + 1; else counter <= counter; end if; end if; end process; value <= std_logic_vector(counter); cout <= end behavior ; '1' when counter = max_value else '0'; Układ odmierzania czasu: zadaniem układu jest odmierzenie określonego czasu w celu zamknięcia zamka, wejście ena uruchamia pracę czasomierza na wyjście wystawiamy sygnał gdy odmierzony zostanie określony czas Układ zostanie zrealizowany z wykorzystaniem licznika parametryzowanego

50 Zamek całość Fitter Resource Utilization by Entity Compilation Hierarchy Node Logic Cells LC Registers electronic_lock 30 (0) 11 cnt_n:inst2 6 (6) 4 kb_ctrl_pckg_tri:inst1 11 (0) 4 cnt_n:kb_cnt 5 (5) 4 dec_2x4:kb_dec 4 (4) 0 mux_2x4:kb_mux 2 (2) 0 sequence_search_min_cod:inst 13 (13) 3

51 Zamek wyniki Naciśnięcia klawiszy Zamek otwarty Zamek zamknięty Wydaje się że wszystko działa!!! Fitter Summary Top-level Entity Name electronic_lock Family Stratix Device EP1S10B672C6 Total logic elements 30 / 10,570 ( < 1 % ) Total pins 12 / 346 ( 3 % ) 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 % )

52 Nieprawidłowe działanie Wszystko działa? Czy aby na pewno Dlaczego przejście do stanu ready następuje już po 7 takcie zegara układ czasowy miał doliczyć do 16

53 Zamek całość jeszcze raz

54 Szpilki w układach kombinacyjnych To jest powód złego działania

55 Najprostszy układach kombinacyjnych Przecież to najprostszy układ jaki można wymyślić Należy to zbadać

56 Najprostszy układach kombinacyjnych??? Co to oznacza? Niech opóźnienie bramki AND wynosi 0,5 ns, czyli: dla sygnału a: opóźnienie sygnału a + opóźnienie AND = 9,9 ns opóźnienie sygnału a + 0,5 ns = 9,9 ns, czyli opóźnienie sygnału a = 9,4 ns dla sygnału b: opóźnienie sygnału b + opóźnienie AND = 10,4 ns opóźnienie sygnału b + 0,5 ns = 10,4 ns, czyli opóźnienie sygnału b = 9,9 ns

57 Najprostszy układach kombinacyjnych Różnica pomiędzy opóźnieniami na wejściach określa szerokość szpilki t 0 = 500 ns t 1 = t 0 + 9,4 ns = 509,4 ns t 2 = t 1 + 0,5 ns = 509,9 ns t 3 = t 0 + 9,9 ns = 509,9 ns t 4 = t 3 + 0,5 ns = 510,4 ns jednoczesna zmiana sygnału na wejściach a i b zmiana sygnału a dociera do bramki AND na wyjściu AND ustala się stan VCC na zmiana sygnału b dociera do bramki AND na wyjściu AND ustala się stan GND

58 Projektowanie logiki kombinacyjnej Nawet tak prosty projekt jak bramka AND może sprawiać kłopoty W przypadku logiki kombinacyjnej należy brać pod uwagę opóźnienia sygnałów jak i opóźnienia bramek Funkcjonalnie: na wyjściu out powinien pozostać stan GND Czasowo: pojawia się szpilka o szerokości 0,5 ns Układy należy projektować tak aby działały prawidłowo przy uwzględnieniu tych zjawisk

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

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

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

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

Krótkie wprowadzenie do ModelSim i Quartus2

Krótkie wprowadzenie do ModelSim i Quartus2 Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera

Bardziej szczegółowo

Układy reprogramowalne i SoC 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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE ES1C420 300 Ćwiczenie Nr 8 KONFIGUROWALNE

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

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

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3 Szymon Kozień IV rok Koło Naukowe Techniki Cyfrowej Dr inż. Wojciech Mysiński opiekun naukowy THE HARDWARE IMPLMTATION OF THE PS/ PROTOCOL ON SPARTAN FPGA DEVICE IMPLEMTACJA SPRZĘTOWA PROTOKOŁU PS/ W UKLADZIE

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

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

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

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD 1. Wstęp i cel ćwiczenia W ćwiczeniu student tworzy barierę podczerwieni złożoną z diody nadawczej IR (Infra

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL 1. Cel ćwiczenia W ćwiczeniu student projektuje i implementuje w strukturze układu FPGA (Field Programmable Gate Array)

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

SART transmisja szeregowa z wykorzystaniem RS-232 Mariusz Rawski

SART transmisja szeregowa z wykorzystaniem RS-232 Mariusz Rawski CAD SART transmisja szeregowa z wykorzystaniem RS-232 rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Standard RS 232 (1) Standard RS-232 (Recommended Standard) został wprowadzony w 1962 roku przez

Bardziej szczegółowo

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

VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) Język VHDL jest jednym z nowszych języków opisu i projektowania układów cyfrowych. W lipcu 1983 roku firmy Intermetrics,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

Systemy wbudowane. Układy programowalne

Systemy wbudowane. Układy programowalne Systemy wbudowane Układy programowalne Układy ASIC Application Specific Integrated Circuits Podstawowy rozdział cyfrowych układów scalonych: Wielkie standardy: standardowe, uniwersalne elementy o strukturze

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Układy programowalne. Wykład z ptc część 5

Układy programowalne. Wykład z ptc część 5 Układy programowalne Wykład z ptc część 5 Pamięci ROM Pamięci stałe typu ROM (Read only memory) umożliwiają jedynie odczytanie informacji zawartej w strukturze pamięci. Działanie: Y= X j *cs gdzie j=linia(a).

Bardziej szczegółowo

Sterowniki Programowalne (SP)

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Ćwiczenie Nr 12 PROJEKTOWANIE WYBRANYCH

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

Temat: Pamięci. Programowalne struktury logiczne.

Temat: Pamięci. Programowalne struktury logiczne. Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w

Bardziej szczegółowo

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

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

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2 Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne

Bardziej szczegółowo

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe Platforma sprzętowa Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Architektura układów FPGA Rodzina Xilinx Spartan-6

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Realizacja stopera na układzie Spartan-II przy uŝyciu pakietu Xilinx ISE

Realizacja stopera na układzie Spartan-II przy uŝyciu pakietu Xilinx ISE Grzegorz Pietrzak (133329) Jacek Symonowicz (133375) Wrocław, dnia 11 stycznia 2007 Realizacja stopera na układzie Spartan-II przy uŝyciu pakietu Xilinx ISE Kurs: Układy cyfrowe (2), projekt Prowadzący:

Bardziej szczegółowo

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014 Podstawy techniki cyfrowej Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014 Charakterystyka układów asynchronicznych Brak wejścia: zegarowego, synchronizującego. Natychmiastowa (niesynchronizowana)

Bardziej szczegółowo

Modelowanie logiki rewersyjnej w języku VHDL

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

Bardziej szczegółowo

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

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

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

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

Bardziej szczegółowo

Podział układów cyfrowych. rkijanka

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

Bardziej szczegółowo

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 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Projekt z UCYF Dokumentacja końcowa. Temat: Sprzętowa realizacja gry Arkanoid

Projekt z UCYF Dokumentacja końcowa. Temat: Sprzętowa realizacja gry Arkanoid Studenci: Tomasz Biały, Grzegorz Chmielewski, Michał Stasiuk, Prowadzący: dr inż. Paweł Tomaszewicz Projekt z UCYF Dokumentacja końcowa Temat: Sprzętowa realizacja gry Arkanoid 1. Informacje ogólne: Gra

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

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

Technika Cyfrowa. Badanie pamięci

Technika Cyfrowa. Badanie pamięci LABORATORIUM Technika Cyfrowa Badanie pamięci Opracował: mgr inż. Andrzej Biedka CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się studentów z budową i zasadą działania scalonych liczników asynchronicznych

Bardziej szczegółowo

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH Ćwiczenie 2 Współpraca Zynq Processing System z peryferiami

Bardziej szczegółowo

4. Karta modułu Slave

4. Karta modułu Slave sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową

Bardziej szczegółowo

ELECTRIC IMPULSE DURATION MEASUREMENT USING VHDL LANGUAGE

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

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

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

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group Użycie złącza JTAG w systemach mikroprocesorowych do testowania integralności połączeń systemu oraz oprogramowania zainstalowanego w pamięciach stałych. JTAG Joint Test Action Group mgr inż. Tadeusz Andrzejewski

Bardziej szczegółowo

PUCY - Etap II - mikrokontroler 8-bitowy

PUCY - Etap II - mikrokontroler 8-bitowy PUCY - Etap II - mikrokontroler 8-bitowy Stefan Szczygielski, Marcin Miszczak 12 stycznia 2009 Streszczenie Celem Etapu II było zaprojektowanie i zaimplementowanie w języku VHDL mikrokontrolera 8-bitowego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu. DATA: Ćwiczenie nr 4 PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.pl 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Projektowania Układów Elektronicznych CAD Laboratorium

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

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

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

Bardziej szczegółowo

Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand

Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand Instrukcja obsługi Copyright Domster T. Szydłowski . Opis, funkcje i parametry techniczne. Opis:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Automatyzacja i robotyzacja procesów produkcyjnych

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

Bardziej szczegółowo

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Nazwa. Oznaczenia. Zygmunt Kubiak. Sterowniki PLC - Wprowadzenie do programowania (1)

Systemy wbudowane. Wprowadzenie. Nazwa. Oznaczenia. Zygmunt Kubiak. Sterowniki PLC - Wprowadzenie do programowania (1) ybrane funkcje logiczne prowadzenie L L2 Y Nazwa Oznaczenia Y Sterowniki PLC - prowadzenie do programowania () Proste przykłady Załączenie jednego z dwóch (lub obu) przełączników lub powoduje zapalenie

Bardziej szczegółowo

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania. UKŁDAY CYFROWE Układy cyfrowe są w praktyce realizowane różnymi technikami. W prostych urządzeniach automatyki powszechnie stosowane są układy elektryczne, wykorzystujące przekaźniki jako podstawowe elementy

Bardziej szczegółowo

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Politechnika Śląska w Gliwicach Wydział Automatyki Elektroniki i Informatyki Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Promotor dr inż. Jacek Loska Wojciech Klimeczko

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu f wy f P Podzielnik częstotliwości: układ, który na każde p impulsów na wejściu daje

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

Opis układów wykorzystanych w aplikacji

Opis układów wykorzystanych w aplikacji Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia

Bardziej szczegółowo

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

Bardziej szczegółowo

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna. Układy kombinacyjne. Czas trwania: 6h. Cele ćwiczenia Przypomnienie podstawowych praw Algebry Boole a. Zaprojektowanie, montaż i sprawdzenie działania zadanych układów kombinacyjnych.. Wymagana znajomość

Bardziej szczegółowo

i pakietu programowego PALASM 4

i pakietu programowego PALASM 4 i pakietu programowego PALASM 4 - 2 -! "# logicznych PAL i GAL; $!# #% programowego PALASM 4.!" & "!&' (! ))!*+ $!," # (!) )# )!*+ -!," # (!!*+.!,% %(!!*! #!, #+ $!&# 0+ -!,%##nazwa.pds# # % '# #'"# %#+

Bardziej szczegółowo

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania

Bardziej szczegółowo

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów... Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie

Bardziej szczegółowo

INSTRUKCJA INSTALATORA

INSTRUKCJA INSTALATORA -1- Zakład Elektroniki COMPAS 05-110 Jabłonna ul. Modlińska 17 B tel. (+48 22) 782-43-15 fax. (+48 22) 782-40-64 e-mail: ze@compas.com.pl INSTRUKCJA INSTALATORA MTR 105 STEROWNIK BRAMKI OBROTOWEJ AS 13

Bardziej szczegółowo

Wstęp. Przygotowanie teoretyczne

Wstęp. Przygotowanie teoretyczne Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LORATORIUM Teoria Automatów Temat ćwiczenia: Hazardy L.p. Imię i nazwisko Grupa ćwiczeniowa: Poniedziałek 8.00 Ocena Podpis 1. 2. 3. 4. Krzysztof

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Projektowanie z użyciem procesora programowego Nios II

Projektowanie z użyciem procesora programowego Nios II Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

KONSMETAL Zamek elektroniczny NT C496-L250 (RAPTOR)

KONSMETAL Zamek elektroniczny NT C496-L250 (RAPTOR) KONSMETAL Zamek elektroniczny NT C496-L250 (RAPTOR) Instrukcja obsługi Podstawowe cechy zamka: 1 kod główny (Master) moŝliwość zdefiniowania do 8 kodów uŝytkowników długość kodu otwarcia: 6 cyfr długość

Bardziej szczegółowo

Moduł przekaźnika czasowego FRM01. Instrukcja obsługi

Moduł przekaźnika czasowego FRM01. Instrukcja obsługi Moduł przekaźnika czasowego FRM01 Instrukcja obsługi Przekaźnik wielofunkcyjny FRM01, przeznaczone dla różnych potrzeb użytkowników, przy projektowaniu mikrokontroler, z zaprogramowanymi 18 funkcjami,

Bardziej szczegółowo

WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. Są najprostszymi układami pamięciowymi.

WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. Są najprostszymi układami pamięciowymi. 72 WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. ą najprostszymi układami pamięciowymi. PZEZUTNIK WY zapamietanie skasowanie Przerzutmik zapamiętuje zmianę

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Sygnały zegarowe Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 8 kwietnia 2013 Problem synchronizacji Projektujemy układy synchroniczne

Bardziej szczegółowo

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów.

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów. Przemysłowy Sterownik Mikroprocesorowy INDU-40 Przeznaczenie Dozowniki płynów, mieszacze płynów. Sp. z o.o. 41-250 Czeladź ul. Wojkowicka 21 Tel. 032 763 77 77, Fax: 032 763 75 94 www.mikster.pl mikster@mikster.pl

Bardziej szczegółowo

Instrukcja instalacji

Instrukcja instalacji Instrukcja instalacji CZYTNIKI KART ZBLIŻENIOWYCH C-11, C-21 WERSJA 1.0 SPIS TREŚCI 1. Informacje wstępne................................... 3 2. Dane techniczne czytników........................... 4

Bardziej szczegółowo

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium. Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium. Zagadnienia do samodzielnego opracowania: rola sygnału taktującego (zegara) w układach synchronicznych; co robi sygnał CLEAR (w

Bardziej szczegółowo

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi. www.nelectrica.

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi. www.nelectrica. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi www.nelectrica.com strona 1 Spis Treści 1. Informacje ogólne 2. Instalacja 2.1 Panel przedni... 5 2.2 Panel tylny... 6 2.3 Schemat podłączenia...

Bardziej szczegółowo