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

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

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

Transkrypt

1 Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Kodowanie stanów automatu Automat wysokiego poziomu Architektura mikroprogramowana Wykład październik 2018 Ogólna architektura współczesnych układów FPGA Technologie pamięci konfiguracji w układach FPGA Procesy i algorytmy stosowane w przebiegu przygotowania konfiguracji programującej układ FPGA Analiza czasowa projektu AGH WFiIS Informatyka Stosowana Języki Opisu Sprzętu 1

2 Kodowanie Syntezatory zawierają kompilator automatu skończonego (FSM Compiler), który: Wyszukuje rejestry ze sprzężeniem zwrotnym sterowane bieżącą wartością rejestru (case lub if testujące bieżącą wartość rejestru), Konwertuje do grafu symbolicznego w celu optymalizacji, Usuwa stany nieosiągalne wraz z ich logiką, Przekodowuje stany. Niektóre syntezatory zawierają narzędzie do automatycznego doboru kodowania (FSM Explorer), które pracując po kompilatorze optymalizując kodowanie. Jest to bardzo czasochłonne. AGH, WFiIS, HDL 2

3 Kodowanie stanów Po uzyskaniu minimalnej tabeli stanów obieramy kodowanie stanów za pomocą stanów przerzutników rejestru stanu automatu. Dla przykładu, układ o trzech stanach ma 24 różne sposoby kodowania na dwóch przerzutnikach gdyż stan S0 może być zakodowany na 4 sposoby, stan S1 na 3 sposoby, stan S2 już tylko na 2 sposoby: = S S S Zamiana kolumn nie zmienia wykorzystanych do realizacji automatu zasobów gdyż wiąże się tylko ze zmianą oznaczeń przerzutników. W tym sensie kodowania 1 i 3, 2 i 4 oraz 5 i 6 są równoważne. Zamiana rzędów wpływa na ilość wykorzystanych do realizacji automatu zasobów. AGH, WFiIS, HDL 3

4 Kodowanie stanów Zanegowanie jednej lub więcej kolumn kodowania nie zmienia wykorzystanych zasobów w przypadku użycia przerzutników symetrycznych J-K, T i S-R. Kodowania 2 i 7 oraz 6 i 19 są równoważne. Dla przerzutnika niesymetrycznego D zanegowanie kolumny wymaga dodania inwertera. AGH, WFiIS, HDL 4

5 Kodowanie stanów Przez negowanie i przestawianie kolumn dowolne kodowanie może być sprowadzone do takiego, w którym pierwszy stan zawiera wyłącznie zera. W ten sposób dla układu o trzech stanach z przerzutnikami symetrycznymi pozostają tylko trzy różne kodowania. Podobnie jest dla czterech stanów. 3 stany 4 stany S S S S Dwa kodowania są równoważne jeśli jedno może być wyprowadzone z drugiego przez przestawianie lub negowanie kolumn. AGH, WFiIS, HDL 5

6 Kodowanie stanów Dwa kodowania są równoważne jeśli jedno może być wyprowadzone z drugiego przez przestawianie lub negowanie kolumn. Liczba stanów Liczba przerzutników Liczba nierównoważnych kodowań Możliwe testowanie wszystkich kodowań Ręczne Komputerowe niemożliwe AGH, WFiIS, HDL 6

7 Kodowanie stanów Ponieważ nie spróbujemy wszystkich kodowań to należy skoncentrować się na tych, które dają jedynki w tabelach funkcji wejść przerzutników w sąsiednich kwadratach tak by można je łatwo pogrupować w wyrażenia. Kody dwóch stanów są sąsiednie wtedy gdy różnią się tylko jednym bitem. 010 i 011 są sąsiednie, 010 i 001 nie są sąsiednie. Użyteczne są następujące wskazówki: Stany, które mają ten sam stan następny dla danego wejścia powinny mieć sąsiednie kody Stany, które są następnymi stanami tego samego stanu powinny mieć sąsiednie kody Stany o tym samym wyjściu dla danego wejścia powinny mieć sąsiednie kody Daje uproszczenie funkcji stanu nstępnego δ Daje uproszczenie funkcji wyjść λ AGH, WFiIS, HDL Slajd do samodzielnego studiowania 7

8 Postępowanie: Wypisz zbiory stanów, które na podstawie wskazówek powinny być sąsiednie. Stosując tabele Karnougha staraj się (metodą prób i błędów) zrealizować możliwie dużo z wymaganych sąsiedztw. Pamiętaj przy tym: Stan początkowy powinien być w zerowym polu tabeli Karnougha. Zwykle upraszcza to układ inicjacji (reset). Jako pierwsze staraj się zrealizować te sąsiedztwa, które są wymagane więcej niż raz. Stany z grupy liczącej trzy lub cztery wymagane sąsiedztwa powinny znaleźć się w grupie czterech sąsiednich pól tabeli Karnougha. Wyższy priorytet mają wymagania sformułowane na podstawie funkcji stanu następnego. Tylko jeśli mamy więcej niż jedną funkcję wyjścia to można rozważyć podwyższenie priorytetu wymagań pochodzących z funkcji wyjść. AGH, WFiIS, HDL Slajd do samodzielnego studiowania 8

9 Układ kombinacyjny Automat wysokiego poziomu Następny stan X Y=0 off X Rejestr stanu stan on1 on2 on3 Y=1 Y=1 Y=1 Wejścia X Wyjścia Y Licznik zmienna X Y=0 Cnt=2 off X Cnt=0 Następna wartość Cnt Y=1 on Cnt=Cnt-1 (Cnt=0) AGH, WFiIS, HDL 9

10 Architektura FSMD Logika stanu mastępnego Następny stan Rejestr stanu stan Scieżka danych zmienna Status Automat skończony ze ścieżką danych AGH, WFiIS, HDL 10

11 Ograniczenia automatu skończonego Wady automatu skończonego: Eksplozja stanów Obsługa wyjątków Brak elastyczności w czasie wykonania Alternatywą jest architektura mikroprogramowana. AGH, WFiIS, HDL 11

12 Eksplozja stanów FSM1 X FSM2 FSM1 FSM2 A1 A 1 h h &!g h B2!h g g B 2!h h & g C2!h &!g C3!g C 3 A2!g!h & g A3 B1!g!h g B3 C1 AGH, WFiIS, HDL 12

13 Obsługa wyjątków exc exc A1 exc exc exc exc exc exc g &!exc B2 h &!g &!exc h &!exc!h &!exc C2 h & g &!exc!h &!g &!exc C3 A2!h & g!g &!exc A3!exc B1!g &!exc!h &!exc g &!exc B3!exc C1 AGH, WFiIS, HDL 13

14 Logika stanu mastępnego Architektura mikroprogramowana FSMD Maszyna mikro-programowana Następny stan Pole skoku Rejestr stanu stan Scieżka danych zmien na Logika Adresu Następnego Rejestr Adresu Pamięci Sterowania CSAR Pamięć Sterowania Mikroinstru kcja Status Status Ścieżka Danych Pole komendy Zastąpienie logiki stanu następnego automatu programowalną pamięcią zwaną pamięcią sterowania. Przechowuje ona mikro-instrukcje i jest adresowana zawartością rejestru adresowego pamięci sterowania CSAR (Control Store Address Register). Następna wartość w tym rejestrze jest określana przez blok logiki adresu następnego w oparciu o: Bieżącą wartość w CSAR, Zawartość bieżącej mikroinstrukcji, Wartości flag określonych przez ścieżkę danych. AGH, WFiIS, HDL 14

15 Architektura mikroprogramowana Pole skoku Logika Adresu Następnego Rejestr Adresu Pamięci Sterowania CSAR Pamięć Sterowania Mikroinstrukcja Status Ścieżka Danych Pole komendy W czasie jednego okresu zegara: rejestr CSAR dostarcza adres do pamięci sterowania, z której pobierana jest mikroinstrukcja. Domyślna wartość CSAR jest wartością inkrementowaną o jeden. ścieżka danych wykonuje operację zakodowaną w komendzie i zwraca status, który jest informacją wejściową dla logiki adresu następnego. logika następnego adresu uaktualnia zawartość rejestru CSAR. AGH, WFiIS, HDL 15

16 Architektura mikroprogramowana Mikroinstrukcja składa się z dwóch części: komendy, która obsługuje aktywność ścieżki danych i adresu względnego (skoku), który jest informacją wejściową dla logiki adresu. Istotnym parametrem czasowym tej architektury jest łączne opóźnienie: pamięci sterowania, logiki adresu następnego i ścieżki danych. AGH, WFiIS, HDL 16

17 Architektura FPGA FPGA jest układem scalonym zaprojektowanym do konfiguracji po wykonaniu. Dwa rodzaje architektury: drzewiasta (tree-based FPGA architecture) bloki logiczne połączone są w klastry, które następnie rekursywnie formują strukturę hierarchiczną. Zajmuje mniejszą powierzchnię. Siatkowa (mesh-based FPGA architecture) - bloki logiczne połączone są poprzez dwuwymiarową siatkę sieci połączeniowej. Zaletą tego rozwiązania jest skalowalność topografii układu. AGH, WFiIS, HDL 17

18 Blok wejściowowyjściowy (I/O Block IOB) Pionowy kanał łączeniowy (Vertical Routing Channel) Konfigurowalny blok logiczny (Configurable Logic Block CLB) Element kluczujący (Switch Box - SB) Element łączący (Connection Box - CB) Poziomy kanał łączeniowy (Horizontal Routing Channel) Siatkowe FPGA składa się z matrycy konfigurowalnych bloków logiki (Configurable Logic Blocks - CLBs), z których każdy składa się z klastra podstawowych elementów logicznych (Basic Logic Elements -BLEs)., które AGH, WFiIS, HDL 18 składają się z pamięci podręcznej (Look-Up Table) i przerzutnika (Flip-Flop).

19 Architektura FPGA Siatkowe FPGA składa się z matrycy konfigurowalnych bloków logiki (Configurable Logic Blocks - CLBs), z których każdy składa się z klastra podstawowych elementów logicznych (Basic Logic Elements -BLEs), które składają się z pamięci podręcznej (Look-Up Table) i przerzutnika (Flip-Flop). Elementy kluczujące (Switch boxes - SB) łączą poziome i pionowe ścieżki sieci połączeniowej. Elementy łączące (Connection Boxes CB) łączą bloki logiczne CLB (bloki wejścia-wyjścia IOB) z sąsiadującymi ścieżkami sieci połączeniowej. Sieć połączeniowa FPGA zajmuje 80-90% powierzchni układu. Powierzchnia logiki zajmuje 10-20%. Elastyczność FPGA zależy głównie od jego programowalnej sieci połączeniowej. Dlatego mówi się też o architekturze wyspowej wyspy logiki w morzu zasobów połączeniowych. AGH, WFiIS, HDL 19

20 Podstawowy element logiczny Składa się z: Pamięci podręcznej (Look-Up-Table LUT), Przerzutnika D. Basic Logic Element - BLE Wejścia BLE Pamięć podręczna LUT o k wejściach (LUT-k) zawiera 2 k bitów konfiguracyjnych. 4 wejściowy LUT Może implementować dowolną k-wejściową funkcję logiczną. Multiplekser Wyjście CLB Komórka SRAM (bit konfiguracyjny) Przerzutnik D AGH, WFiIS, HDL 20

21 Podstawowy element logiczny Gdy rośnie liczba wejść LUT-ów to spada liczba LUT-ów wymagana do zmapowania sprzętu gdyż więcej funkcjonalności logicznej może być utworzona w jednym LUT. Wobec tego spadnie liczba potrzebnych połączeń między LUT-ami czyli układ będzie szybszy. Ale powierzchnia LUT-a rośnie wykładniczo z liczbą wejść. 4-wejściowe LUT-y są dobrym kompromisem między szybkością pracy aplikacji i gęstością sieci połączeniowej w układzie FPGA. AGH, WFiIS, HDL 21

22 Konfigurowalny blok logiczny Jeden CLB może zawierać klaster BLE-sów połączonych lokalną siecią połączeniową (local routing network): Wyjścia każdego z wewnętrznych BLE są dostępne dla wejść pozostałych BLE, Liczba wyjść CLB to liczba BLE, Liczba wejść może być równa sumie liczby wejść wszystkich BLE lub mniejsza. AGH, WFiIS, HDL 22

23 Element łączący CB Elementy łączące (Connection Boxes CB) łączą wejścia i wyjścia bloków logicznych CLB (i bloków wejścia-wyjścia IOB) ze ścieżkami sąsiadujących kanałów łączeniowych. Mają dwie istotne właściwości: F c - elastyczność elementu CB jest liczbą ścieżek sąsiedniego kanału, które każdy pin bloku CLB (IOB) może przyłączyć; Topologia czyli wzór rozmieszczenia kluczy na ścieżkach kanału łączeniowego. Szerokość W kanał łączeniowy to liczba ścieżek, z których składa się ten kanał. Ta sama wartość elastyczności F c =2 (W=4) ale dwie różne topologie. Połączenie z A do B : Po lewej nie jest możliwe, Po prawej jest możliwe. F c (in) stopień połączalności wejściowych pinów bloków CLB (IOB) z sąsiednim kanałem połączeniowym F c (out) stopień połączalności wyjściowych pinów bloków CLB (IOB) z sąsiednim kanałem połączeniowym F c (in)/w = 1 oznacza, że wszystkie ścieżki sąsiedniego kanału mogą być połączone do pinów bloku CLB. Tego się nie robi. F c (in) /W = 0,5 oznacza, że tylko 50% ścieżek sąsiedniego kanału może być połączone do pinów bloku CLB. C B C B AGH, WFiIS, HDL 23 C B C B

24 Element kluczujący SB Elementy kluczujące (Switch boxes - SB) umożliwiają łączenie poziomych i pionowych ścieżek sieci połączeniowej. Elastyczność F s, definiuje dla segmentu wchodzącego do bloku SB liczbę innych segmentów, które mogą być połączone do niego. Przy tej samej wartości F s bloki SB mogą mieć bardzo odmienne możliwiści routingowe B B Ta sama wartość elastyczności F s =2 ale dwie różne topologie. Połączenie z A do B : Po lewej nie jest możliwe, Po prawej jest możliwe. A Bloki SB, które umożliwiają tylko połączenia ścieżek o tych samych numerach np. 0-0, 1-1,... nazywamy planarnymi lub podzbiorowymi. Bloki SB, które umożliwiają również połączenia ścieżek o różnych numerach np. 0-3, 1-2,... nazywamy blokami Wilton. Takie bloki SB są szeroko stosowane gdyż dostarczają większej elastyczności dla routingu. A AGH, WFiIS, HDL 24

25 Element kluczujący SB Switch Box dwukierunkowy jednokierunkowy Elemnet kluczujący o elastyczności F s = 3. Wejściowa ścieżka łączy się do 3 innych ścieżek tego samego elementu kluczującego. Ograniczeniem rozwiązania jednokierunkowego jest, że szerokość kanału połączeniowego musi być wielokrotnością dwójki. AGH, WFiIS, HDL 25

26 Element kluczujący SB Podłączenie wyjść CLB Z buforami trójstanowymi Ze sterowaniem z jednego bufora Stosowanie sterowania segmentów za pomocą pojedynczego bufora: Zmniejsza powierzchnię o 25%, Skraca opóźnienia o 9%, Redukuje pojemność połączeń o 37%. Większe układy FPGA dają większe oszczędności. Z punktu widzenia narzędzi projektowych nic to nie zmienia.. AGH, WFiIS, HDL 26

27 Kanały łączeniowe Ścieżka długości 1 Ścieżka długości 2 Ścieżka długości 4 Ścieżka długości 8 Aby zredukować powierzchnię i opóźnienia połączeń ale nie ograniczyć elastyczności ścieżki połączeń są różnych długości. Dłuższe segmenty wymagają mniej kluczy i redukują powierzchnię i opóźnienia, ale spada elastyczność połączeń co redukuje prawdopodobieństwo wykonania poprawnego routingu. AGH, WFiIS, HDL 27

28 Kanały łączeniowe SB SB CB SB SB przełącznik segment ścieżki Zasoby połączeniowe wokół jednego bloku CLB z segmentami ścieżek długości 2 AGH, WFiIS, HDL 28

29 Pamięć konfiguracji FPGA Technologia Programowanie Powierzchnia komórki SRAM Flash Antifuse CMOS Rejestr przesuwny Dwie warstwy polikrzemu FAMOS Nowy polikrzem Lawinowe Bardzo duża Duża Mała Rezystancja 2 kω 2 kω 500 kω Pojemność 50 ff 50 ff 10 ff AGH, WFiIS, HDL 29

30 Technologia SRAM Konfiguracyjna komórka typu SRAM jest zbudowana z dwóch inwerterów połączonych w zamkniętą pętlę i wykonanych w standardowej technologii CMOS. Komórka taka steruje bramkami innych tranzystorów w układzie: włączenie tranzystora wytwarza połączenie, wyłączenie tranzystora przerywa połączenie. Wpisywanie danych konfiguracyjnych Sterowanie tranzystorami tworzącymi połączenia Zaleta: Układ może być programowany już na płycie drukowanej i wielokrotnie reprogramowany w miarę zmieniających się wymagań projektowych i rozwoju oprogramowania. Sprzęt jest dzięki temu rekonfigurowalny w locie. Wada: Konieczne jest podtrzymywanie zasilania aby informacja w SRAM-ie była zachowana. Rozwiązaniem alternatywnym jest ładowanie danych konfiguracyjnych do SRAM-u w momencie włączania zasilania z zewnętrznej pamięci typu PROM. Całkowita powierzchnia komórki konfiguracyjnej SRAM wraz z tranzystorem sterującym ją jest większa niż potrzebna na element programujący anty-bezpieczniki. AGH, WFiIS, HDL 30

31 Technologia antifuse Anty-bezpiecznik w przeciwieństwie do normalnego bezpiecznika utrzymuje obwód otwarty dopóki nie zostanie wymuszony programujący prąd ~5mA. Programmable Low-Impedance Circuit Element (PLICE) firmy Actel jest antybezpiecznikiem wytworzonym pomiędzy warstwami Poly i Diff. Przepływ dużego prądu roztapia cienką warstwę dielektryka umieszczonego między elektrodami z polikrzemu i dyfuzji formując stałe połączenie o średnicy około 20 nm. Domieszki migrując z obu elektrod ustalają wartość rezystancji połączenia. Struktura ViaLink firmy QuickLogic AGH, WFiIS, HDL 31

32 Technologia flash Szeroka klasa pamięci nie-ulotnych NVM (Non-Volatile Memory), których komórka podstawowa bazuje na strukturze tranzystora MOS z dodatkową pływającą bramką pełniącą funkcję magazynu ładunku. Istnieje wiele takich struktur: FAMOS Floating gate Avalanche-injection MOS, SAMOS Staecked gate Avalanche-injection MOS, FLOTOX FLOating gate Thin Oxide, ETOX EPROM Tunnel Oxide (IBM), i wiele ich modyfikacji. Zasada działania polega na zmianie napięcia progowego V th tranzystora MOS poprzez wprowadzenie dodatkowych ładunków do przewodzącej warstwy zwanej pływającą bramką, uwięzionej pomiędzy dwiema warstwami izolatora. Polikrzemowa, przewodząca warstwa gromadząca ładunek pływająca bramka zapis wymazywanie źródło + N FH P substrate CHE + N Bramka sterująca, polikrzem Izolator pomiędzy polikrzemami Cienki, tunelowy tlenek bramkowy dren CHE channel hot electrons FH Fowler-Nordheim tunneling AGH, WFiIS, HDL 32

33 Technologia flash Proces zapisu odbywa się: prądem tunelowym FN (Fowler-Nordheim) z kanału lub z drenu tranzystora do pływającej bramki lub prądem gorących elektronów generowanych w kanale tranzystora w nasyceniu CHE (Channel Hot Electrons) w obszarze zubożenia przy drenie tranzystora. AGH, WFiIS, HDL 33

34 Technologia flash Proces wymazywania odbywa się prądem tunelowym FN (Fowler-Nordheim) do kanału lub do drenu tranzystora od pływającej bramki. Proces tunelowego wymazywania jest bardzo wolny (rzędu ms) więc operacja ta jest wykonywana dużymi blokami stąd pochodzi nazwa tej technologii flash. Inny sposób wymazywania odbywa się prądem źródła: e - w dół oznacza prąd tunelowy FN elektronów wstrzykiwanych z pływającej bramki do żródła lub do kanału, h + w górę oznacza prąd gorących dziur wstrzykiwanych ze złącza źródło-podłoże do pływającej bramki. AGH, WFiIS, HDL 34

35 Model RTL w HDL Przebieg konfiguracji Synteza logiczna Mapowanie technologii Klastrowanie Rozmieszczanie Wyznaczania tras połączeń Generacja strumienia bitowego strumień bitowy 35 AGH, WFiIS, HDL

36 Synteza logiczna Logic synthesis Synteza logiczna : Transformacja opisu RTL w języku opisu sprzętu (VHDL, Verilog) do hierarchicznej sieci logicznej zbudowanej z bramek i przerzutników (netlist). Jest to optymalizacja niezależna od technologii. EDIF (Electronic Design Interchange Format) przemysłowy stanadrd stosowany dla wymiany netlisty między kolejnymi narzędziami. U Xilinxa: NGC = EDIF + NCF NCF - Netlist Constraints File Synteza logiczna dwupoziomowa gdy w wyniku otrzymujemy formę sumy iloczynów SOP Sum Of Product. Realizacja składa się z poziomu bramek AND i poziomu bramek OR. Jest to typowe dla struktur PLD. Synteza logiczna wielopoziomowa złożona procedura oparta na faktoryzacji i dekompozycji. Pod względem zajmowanej powierzchni układy wielopoziomowe są oszczędniejsze. Dlatego to podejście jest stosowane do ASIC i FPGA. AGH, WFiIS, HDL 36

37 Synteza logiczna Dekompozycja funkcji logicznej jest procesem ponownego wyrażenia tej funkcji jako kolekcji nowych funkcji. Przykład: F Przed dekompozycją: 12 literałów i 9 bramek abc abd acd bcd Po dekompozycji: F XY XY Y X c ab d 12 literałów i 9 bramek 8 literałów i 7 bramek Funkcja F jest teraz zależna od innych danych wejściowych. Po dekompozycji: 8 literałów i 7 bramek AGH, WFiIS, HDL 37

38 Synteza logiczna Faktoryzacja funkcji logicznej jest procesem wyprowadzenia postaci mnożnikowej z formy SOP. Przykład: F Po sfaktoryzowaniu: ac F ad ( a bc bd b )( c e d ) e 9 literałów 5 literałów Typowym zagadnieniem optymalizacji jest znalezienie postaci sfaktoryzowanej z minimalną liczbą literałów. Liczba literałów dobrze odpowiada powierzchni przyszłej topografii układu. Przykład: f ac ade adfg adfh adfi adfj bc bde bdfg bdfh bdfi bdfj Po sfaktoryzowaniu: f ( a b )( c d(e f ( g h i j ))) AGH, WFiIS, HDL 38

39 Odbywa się to w dwóch fazach: Mapowanie Mapowanie technologii: Transformacja niezależnej technologicznie sieci logicznej do sieci dostępnych bloków istniejących w technologicznej bibliotece komórek standardowych. W przypadku FPGA blokami tymi są LUT-y i przerzutniki. Algorytmy mapowania wykonują optymalizację ze względu na różne parametry sieci: głębokość, powierzchnię, opóźnienia, moc. Dekompozycja do bloków o liczbie wejść mniejszej lub równej od k (k -bounded gates). Właściwe mapowanie na sieci bloków k -bounded. Sieć logiczna k -bounded to sieć, w której występują elementy o k lub mniej wejściach. Głębokość jest definiowana jako liczba poziomów sieci LUT-ów. Powierzchnia jest definiowana jako liczba LUT-ów w sieci. Technology mapping AGH, WFiIS, HDL 39

40 Mapowanie Sieć boolowska po syntezie Graf skierowany niecykliczny DAG (Directed Acyclic Graph) Wierzchołki grafu reprezentują bramki, przerzutniki, porty wejściowe lub wyjściowe. Krawędzie grafu reprezentują połączenia między dwoma elementami układu. AGH, WFiIS, HDL 40

41 Mapowanie AGH, WFiIS, HDL 41

42 Mapowanie Mapowanie sieci logicznej do sieci zbudowanej z k-wejściowych LUT-ów dla k=3. AGH, WFiIS, HDL 42

43 Wejściowa sieć 5-bounded Wynik dekompozycji i mapowania. Głębokość 3, powierzchnia 5 Wynik równoczesnej dekompozycji i mapowania. Głębokość 2, powierzchnia 3 Można też powiedzieć, że to jest sieć 2-bounded o głębokości 4 Przykład mapowanie sieci typu 5-bounded za pomocą bloków 3-LUT przy użyciu dwóch różnych algorytmów. AGH, WFiIS, HDL 43

44 Mapowanie Szeroko stosowanym algorytmem mapowania technologii jest FlowMap podany w 1994roku [J.Cong, Y.Ding, 1994]. Pierwotnie potrafił podać sieć optymalną ze względu na głębokość. Obecnie potrafi także optymalizować powierzchnię i opóźnienia utrzymując głębokość sieci. Wynikiem mapowania technologii jest sieć IOB-ów, LUT-ów i przerzutników. AGH, WFiIS, HDL 44

45 Klastrowanie Packing Klastrowanie: Grupowanie pamięci podręcznych (LUT) i przerzutników w element logiczny, i Grupowanie różnych elementów logicznych (BLE) w klaster, Mapowanie klastrów na bloki logiczne (CLB). Głównym celem tej optymalizacji jest sklastrowanie pamięci podręcznych, przerzutników i elementów logicznych w taki sposób aby zminimalizować komunikację pomiędzy klastrami. Minimalizuje to zużycie zasobów połączeniowych w FPGA. Wynikiem tej operacji jest sieć bloków logicznych (CLB) i bloków wejścia-wyjścia (IOB). AGH, WFiIS, HDL 45

46 Klastrowanie Packing AGH, WFiIS, HDL 46

47 Klastrowanie Packing Trzy rodziny algorytmów: Top-down podział bloków logicznych przez kolejne podziały sieci lub przez iteracyjne przenoszenie bloków logicznych między częściami. Depth-optimal minimalizacja opóźnień kosztem duplikacji logiki. Bottom-up metody preferowane dla systemów CAD z przeznaczeniem dla FPGA ze względu na ich efektywność obliczeniową i rozsądne opóźnienia czasowe. Jednak metody te rozważają jedynie lokalną informację połączeniową. Dlatego łatwo spełniają wymagania (constraints) narzucone na piny klastrów. Podejście Top-down jest najlepszym rozwiązaniem jednak jest w praktyce nieosiągalne ze względu na złożoność obliczeniową. AGH, WFiIS, HDL 47

48 Rozmieszczanie Rozmieszczanie : Algorytm rozmieszczania określa pozycje instancji bloków logicznych (CLB) i bloków wejścia-wyjścia (IOB) ze sklastrowanej netlisty w matrycy FPGA. Kryterium rozmieszczania jest minimalizacja odległości między blokami aby połączenia wykonywane w fazie routingu były najkrótsze. Dodatkowo algorytm rozmieszczania spełnia także inne wymagania np. minimalizacja gęstości połączeń w FPGA lub maksymalizacja szybkości. W użyciu są trzy rodzaje algorytmów placementu: Placement Bazujące na podziałach (min-cut or partitioning based) właściwe dla architektur hierarchicznych, Analityczne jako funkcję celu stosujące kwadratową funkcję długości połączeń, Schłodzeniowe (annealing) stosujące ideę stopniowego schładzania roztopionego metalu w celu uzyskania wysokiej jakości przedmiotów metalowych. AGH, WFiIS, HDL 48

49 Rozmieszczanie Pseudo kod typowego placera schłodzeniowego: S = RandomPlacement(); T = InitialTemperature(); R limit = InitialR limit ; while ExitCriterion() == false do while InnerLoopCriterion() == false do S new = GenerateViaMove(S, R limit ); ΔC = Cost (S new ) Cost (S); if ΔC<0 then S = S new ; else r = random(0,1) ; if r < exp( -ΔC/T ) then S = S new ; endif endif endw T = UpdateTemperature(); R limit = UpdateR limit (); endw Rozmieszczenie S początkowe polega na przypadkowym przypisaniu bloków logiki Nowe przypisania S new są losowane także przypadkowo Obliczana jest zmiana funkcji celu ΔC dla proponowanego nowego przypisania S new położeń Jeśli ΔC<0 propozycja jest akceptowana Jeśli ΔC>0 propozycja także może być zaakceptowana R limit określa jak blisko siebie muszą znajdować się bloki aby zostały wzięte pod uwagę do zamiany w czasie generacji nowego rozmieszczenia. AGH, WFiIS, HDL 49

50 Rozmieszczanie bounding box węzła o 6 końcówkach bb x (i) Funkcją celu algorytmu (cost function) jest suma półobwodów prostokątnych obwiedni wszystkich węzłów w netliście: C N i 1 q( i) bb ( i) bb N całkowita liczba węzłów w netliście, bb x (i) horyzontalny rozmiar i-tego węzła, bb y (i) wertykalny rozmiar i-tego węzła, q(i) współczynnik korekcyjny. x y ( i) bb y (i) simulated annealing based placement A.Sangiovanni-Vincentelli, 1985 Początkowo instancje są rozmieszczone przypadkowo na powierzchni układu. W kolejnych krokach instancje są poruszane tak aby poprawić jakość rozmieszczenia tzn. obniżyć temperaturę algorytmu. W każdym kroku temperaturowym liczba operacji przemieszczeń jest określona przez parametr zwany liczba iteracji. Parametr ten jest proporcjonalny do liczby instancji w netliście. AGH, WFiIS, HDL 50

51 Rozmieszczanie Placement Prawdopodobieństwo akceptacji ruchu instancji, który zwiększa funkcję celu: C T p e ΔC dodatnia zmiana funkcji celu T parametr zwany temperaturą, który określa prawdopodobieństwo zaakceptowania ruchów, które pogorszą placement. Początkowo, T jest na tyle wysoka, że prawie wszystkie ruchy są akceptowane. Temperatura T jest stopniowo zmniejszana w miarę poprawy rozmieszczenia, w taki sposób, że ostatecznie prawdopodobieństwo zaakceptowania ruchu pogarszającego jest bardzo niskie. Ta zdolność do akceptowania ruchów pogorszających placement, pozwala na wyprowadzenie procedury z lokalnych minimów funkcji celu. AGH, WFiIS, HDL 51

52 Rozmieszczanie Schemat schładzania jest określony przez parametry: Placement Szybkość obniżania temperatury (rate at which temperature is decreased) - UpdateTemperature Kryterium zakończenia schładzania (exit criterion for terminating the anneal) - ExitCriterion Liczba prób nowego rozmieszczenia dla każdego kroku temperaturowego (number of moves attempted at each temperature) InnerLoopCriterion Metoda generacji proponowanych przesunięć (method by which potential moves are generated) - GenerateViaMove S = RandomPlacement(); T = InitialTemperature(); R limit = InitialR limit ; while ExitCriterion() == false do while InnerLoopCriterion() == false do S new = GenerateViaMove(S, R limit ); ΔC = Cost (S new ) Cost (S); if ΔC<0 then S = S new ; else r = random(0,1) ; if r < exp( -ΔC/T ) then S = S new ; endif endif endw T = UpdateTemperature(); R limit = UpdateR limit (); endw Schemat schładzania może być: Stały o stałych raz dobranych parametrach, Adaptacyjny parametry są określane w oparciu o statystykę tworzona w czasie samego schładzania. AGH, WFiIS, HDL 52

53 Rozmieszczanie Schemat Huanga: Efficient General Cooling Schedule for Simulated Annealing, Huang 1986 InitialTemperature Wykonuje serie przesunięć na początkowym przypisaniu i ustawia temperaturę początkową na: T init = 20 σ gdzie: σ odchylenie standardowe wartości funkcji celu dla wykonanej serii przesunięć. UpdateTemperature T old gdzie: Tnew Told e λ = 0,7 σ odchylenie standardowe wartości funkcji celu dla serii przesunięć wykonanej przy T old. InnerLoopCriterion Kryterium to oparte jest o procent generowanych rozmieszczeń, które mają wartości funkcji celu C w pewnym przedziale wokół wartości średniej C mean (dla danego kroku temperaturowego). Ponadto istnieje kilka szczególnych i awaryjnych przypadków. AGH, WFiIS, HDL 53

54 Rozmieszczanie ExitCriterion C max - C min = ΔC max przy T = const Gdzie: C max - maksymalna wartość funkcji celu dla zaakceptowanego rozmieszczenia dla danej temperatury, C min - minimalna wartość funkcji celu dla zaakceptowanego rozmieszczenia dla danej temperatury, ΔC max - maksymalna zmiana wartość funkcji celu jaka wystąpiła przy tej temperaturze. InitialR limit Schemat Lama wykorzystuje ogranicznik zasięgu (range limiter) do sterowania procesem generacji przesunięć. Parametr R limit określa jak blisko siebie muszą znajdować się bloki aby zostały wzięte pod uwagę do zamiany w czasie generacji nowego rozmieszczenia. Początkowo parametr ograniczenia zasięgu jest bardzo duży i zamiany bloków położonych daleko od siebie na układzie są prawdopodobne. W miarę procesu schładzania R limit jest dostosowywany tak aby procent α proponowanych przesunięć, które zostały zaakceptowane utrzymać blisko wartości 44. Jeśli α < 44 to R limit jest obniżane, a jeśli α > 44 to R limit jest zwiększane. UpdateR limit AGH, WFiIS, HDL 54

55 Wyznaczania tras Routing Wyznaczania tras połączeń: Po zakończeniu układania (placed) instancji netlisty należy stworzyć połączenia między nimi wykorzystując dostępne zasoby do wyznaczania tras połączeń. Powszechnie stosowany jest algorytm PathFinder [McMurchie-Ebeling, 1995]. Struktura połączeń jest modelowana za pomocą grafu skierowanego. Wierzchołki tego grafu to segmenty łączeniowe lub porty bloków. Krawędzie tego grafu to połączenia między segmentami i do portów. Na tym grafie stosowany jest algorytm zagęszczeniowy (congestion driven) Dijkstry do znajdowania najkrótszej drogi w grafie. AGH, WFiIS, HDL 55

56 Wyznaczania tras Routing Jedna iteracja routingu jest ukończona gdy wszystkie węzły w netliście są połączone. Jednak mogą istnieć konflikty polegające na tym, że różne węzły (nets) odpowiadają tym samym wierzchołkom grafu (nodes). Współczynnik zagęszczenia jest aktualizowany i wykonywana jest kolejna iteracja routingu. Procedura powtarza się aż: zostanie znalezione rozwiązanie, w którym znikną wszystkie konflikty lub osiągnięta zostanie maksymalna liczba iteracji czyli routing nie uda się. AGH, WFiIS, HDL 56

57 Analiza czasowa Timing analysis Analiza projektu pod względem zależności czasowych, której celem jest ustalenie czy projekt może działać poprawnie przy częstotliwości określonej w specyfikacji bez łamania ograniczeń czasowych (timing violations) obowiązujących na wszystkich elementach projektu. Znaczenie takiej analizy rośnie gdy proces technologiczny ma na tyle małe wymiary elementów, że ścieżki połączeń mają istotne znaczenie dla działania i wydajności całego projektu. D CLK Q Logika kombinacyjn a D CLK Q CLK Q Q t=0 t=t AGH, WFiIS, HDL 57

58 Rodzaje analizy czasowej symulacyjna (dynamiczna) statyczna Timing simulation Static Timing Analysis STA Obserwacja odpowiedzi na wymuszenia (sygnały wejściowe) i na ich podstawie prowadzenie weryfikacji założeń czasowych projektu. Wymaga tworzenia skomplikowanych modułów testowych. Tą metodę w Verilogu ułatwiają funkcje systemowe zwane kontrolami czasowymi (timing checks): $hold, $setup, $period, $skew i inne. Analiza projektu prowadzona jest statycznie i nie zależy od danych podawanych na wejścia. Analizie podlega cały projekt i wymagane sprawdzenia przebiegów czasowych (timing checks) są wykonywane dla wszystkich możliwych ścieżek sygnałowych w projekcie i scenariuszy wykorzystania projektu. Dla celów dynamicznej analizy czasowej w Verilogu są trzy rodzaje modeli opóźnień: Opóźnienie rozproszone (distributed), Opóźnienie zgrubne (lumped), Opóźnienie ścieżek (pin-to-pin). W czasie syntezy i pozostałych procesów implementacji prowadzona jest statyczna analiza czasowa związana z każdym z tych procesów. AGH, WFiIS, HDL 58

59 Statyczna analiza czasowa Timing Analysis Obliczanie opóźnień dla każdej ścieżki projektu w taki sposób aby łatwo ustalić, która ścieżka jest krytyczna tzn. limituje czasowe własności układu. Dwa założenia: Nie dozwolone są kombinacyjne sprzężenia zwrotne, Wszystkie ścieżki sprzężeń zwrotnych są przerwane przez granicę sygnału zegarowego. W STA projekt jest traktowany jak zbiór ścieżek. Każda posiada: punkt początkowy port wejściowy lub wejście zegarowe przerzutnika, i punkt końcowy - port wyjściowy lub wejście danych przerzutnika. W czasie syntezy i pozostałych procesów prowadzona jest statyczna analiza czasowa, której celem jest: Określenie szybkości działania układu po P&R, Oszacowanie luzu czasowego (slack) każdego połączenia źródło-cel stworzonego podczas wyznaczania tras i rozmieszczania i innych procesów projektu; celem jest podjęcie decyzji, które połączenia muszą być wykonane szybkimi ścieżkami, aby uniknąć spowolnienia obwodu. AGH, WFiIS, HDL 59

60 Statyczna analiza czasowa Opóźnienie ścieżki (path delay) suma opóźnień wnoszonych przez wszystkie komórki logiczne i węzły wzdłuż drogi sygnału. Zwykle istnieje wiele dróg przenoszenia sygnału do punktu przeznaczenia. Prawdziwy wybór drogi zależy od stanu wejść innych komórek wzdłuż drogi. Spośród możliwych mamy tę o największym opóźnieniu najdłuższą ścieżkę (max path, late path) i tę o najkrótszym opóźnieniu najkrótszą ścieżkę (min path, early path). Określenia najdłuższa i najkrótsza dotyczą oczywiście łącznego czasu a nie długości węzłów i/lub liczby komórek. Gdy ścieżka biegnie od przerzutnika do przerzutnika to początkowy nazywamy przerzutnikiem uruchamiającym (launch flip-flop), a końcowy przerzutnikiem wychwytującym (capture flip-flop). AGH, WFiIS, HDL 60

61 Statyczna analiza czasowa Rozróżnia się następujące rodzaje ścieżek: Wejściowa (entry input-to-d) zaczyna sią na końcówce wejściowej, a kończy na wejściu danych innego przerzutnika, Pomiędzy stopniami lub przerzutnik-do-przerzutnika (stage - clock-to-d) zaczyna sią na wejściu zegarowym przerzutnika, a kończy na wejściu danych innego przerzutnika, Wyjściowa (exit clock-to-output) zaczyna sią na wejściu zegarowym przerzutnika, a kończy na końcówce wyjściowej, Wejście-wyjście (pad-to-pad port-to-port) zaczyna sią na końcówce wejściowej, a kończy na wyjściowej. pad-to-pad Logika kombinacyjn a Logika kombinacyjn a entry CLK D Q CLK Q stage Logika kombinacyjn a D Q CLK Q Logika kombinacyjn a exit AGH, WFiIS, HDL 61

62 Statyczna analiza czasowa slack time Ścieżka krytyczna to ścieżka z najdłuższym czasem propagacji. Jest to ścieżka kombinacyjna, która ma ujemny lub najmniejszy czas luzu (slack): Czas Luzu = Czas Wymagany Czas przybycia Identyfikacja ścieżki krytycznej: Określa okres zegara systemowego Wskazuje, która część układu powinna być zmieniona aby ulepszyć układ. AGH, WFiIS, HDL 62

63 Generacja strumienia bitowego Bitstream generation Generacja strumienia bitowego : Strumień bitowy (bitstream) netlisty zawiera informację jak zaprogramować bity pamięci SRAM, w FPGA: w LUT-ach (mapowanie, klastrowanie i rozmieszczanie), w CLB (routing lokalny), w blokach SB i CB (routing globalny). Program ładujący przesyła strumień bitowy do FPGA. AGH, WFiIS, HDL 63

napięcie-częstotliwość

napięcie-częstotliwość Przetwornik napięcie-częstotliwość Czytnik TLD Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Czytnik TLD RA 94 2 Czytnik TLD RA 94 FOT PIF ZWN PLT PTW Fotopowielacz Przetwornik

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład 5 Legenda Procedura projektowania Podział układów VLSI 2 1 Procedura projektowania Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu. Opracowanie

Bardziej szczegółowo

Liczniki z zastosowaniem

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

Bardziej szczegółowo

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek Programowalne Układy Logiczne Wykład I dr inż. Paweł Russek Literatura www.actel.com www.altera.com www.xilinx.com www.latticesemi.com Field Programmable Gate Arrays J.V. Oldfield, R.C. Dorf Field Programable

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

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

Liczniki z zastosowaniem

Liczniki z zastosowaniem Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Zliczanie impulsów Źródło impulsów Kondycjonowanie Licznik Wyświetlacz Układ czasowy 2 Liczniki

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

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Ogromną rolę w technice cyfrowej spełniają układy programowalne, często określane nazwą programowalnych modułów logicznych lub krótko hasłem FPLD

Bardziej szczegółowo

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo

Bardziej szczegółowo

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Sławomir Kulesza. Projektowanie automatów asynchronicznych Sławomir Kulesza Technika cyfrowa Projektowanie automatów asynchronicznych Wykład dla studentów III roku Informatyki Wersja 3.0, 03/01/2013 Automaty skończone Automat skończony (Finite State Machine FSM)

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

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara

Bardziej szczegółowo

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia. Kilka informacji o przerzutnikach Jaki układ elektroniczny nazywa się przerzutnikiem? Przerzutnikiem bistabilnym jest nazywany układ elektroniczny, charakteryzujący się istnieniem dwóch stanów wyróżnionych

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

Różnicowe układy cyfrowe CMOS

Różnicowe układy cyfrowe CMOS 1 Różnicowe układy cyfrowe CMOS Różnicowe układy cyfrowe CMOS 2 CVSL (Cascode Voltage Switch Logic) Różne nazwy: CVSL - Cascode Voltage Switch Logic DVSL - Differential Cascode Voltage Switch Logic 1 Cascode

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO Ćwiczenie 11 BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO 11.1 Cel ćwiczenia Celem ćwiczenia jest poznanie rodzajów, budowy i właściwości przerzutników astabilnych, monostabilnych oraz

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE Paweł Bogumił BRYŁA IV rok Koło Naukowe Techniki Cyfrowej Dr inŝ. Wojciech Mysiński opiekun naukowy PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE Keywords: PAL, PLA, PLD, CPLD, FPGA, programmable device, electronic

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

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

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

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ. Elementy cyfrowe i układy logiczne Wykład Legenda Kryterium kosztu realizacji Minimalizacja i optymalizacja Optymalizacja układów dwupoziomowych Tablica (mapa) Karnaugh a Metoda Quine a-mccluskey a Złożoność

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

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

Wielopoziomowa synteza układów logicznych

Wielopoziomowa synteza układów logicznych Wielopoziomowa synteza układów logicznych Dwupoziomowa synteza sprowadza się do realizacji, w których pierwszy poziom tworzą bramki AND, a drugi bramki OR. Cała struktura układu jest opisana formułą typu:

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

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

Programowalne układy logiczne

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

Bardziej szczegółowo

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D AGH Katedra Elektroniki Podstawy Elektroniki dla Elektrotechniki Liczniki synchroniczne na przerzutnikach typu D Ćwiczenie 7 Instrukcja do ćwiczeń symulacyjnych 2016 r. 1 1. Wstęp Celem ćwiczenia jest

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Bardziej szczegółowo

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

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

Minimalizacja form boolowskich

Minimalizacja form boolowskich Sławomir Kulesza Technika cyfrowa Minimalizacja form boolowskich Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Minimalizacja form boolowskich Minimalizacja proces przekształcania form

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0 Synteza liczników synchronicznych Załóżmy, że chcemy zaprojektować licznik synchroniczny o następującej sekwencji: 0 1 2 3 6 5 4 [0 sekwencja jest powtarzana] Ponieważ licznik ma 7 stanów, więc do ich

Bardziej szczegółowo

Logiczne układy bistabilne przerzutniki.

Logiczne układy bistabilne przerzutniki. Przerzutniki spełniają rolę elementów pamięciowych: -przy pewnej kombinacji stanów na pewnych wejściach, niezależnie od stanów innych wejść, stany wyjściowe oraz nie ulegają zmianie; -przy innej określonej

Bardziej szczegółowo

Synteza logiczna APSC

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

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Część 3. Przegląd przyrządów półprzewodnikowych mocy. Łukasz Starzak, Przyrządy i układy mocy, studia niestacjonarne, lato 2018/19 51

Część 3. Przegląd przyrządów półprzewodnikowych mocy. Łukasz Starzak, Przyrządy i układy mocy, studia niestacjonarne, lato 2018/19 51 Część 3 Przegląd przyrządów półprzewodnikowych mocy Łukasz Starzak, Przyrządy i układy mocy, studia niestacjonarne, lato 2018/19 51 Budowa przyrządów półprzewodnikowych Struktura składa się z warstw Warstwa

Bardziej szczegółowo

Kody splotowe. Zastosowanie

Kody splotowe. Zastosowanie Kody splotowe Zastosowanie Niekiedy potrzeba buforowania fragmentu wiadomości przed zakodowaniem, tak jak to ma miejsce w koderze blokowym, jest przeszkodą, gdyż dane do zakodowania napływają strumieniem.

Bardziej szczegółowo

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 5-8 czerwca 005, Z otniki Luba skie PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH

Bardziej szczegółowo

Synteza układów kombinacyjnych

Synteza układów kombinacyjnych Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych Wykład dla studentów III roku Informatyki Wersja 4.0, 23/10/2014 Bramki logiczne Bramki logiczne to podstawowe elementy logiczne realizujące

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

Programowany układ czasowy

Programowany układ czasowy Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu

Bardziej szczegółowo

(12) OPIS PATENTOWY (19) PL (11) (13) B1

(12) OPIS PATENTOWY (19) PL (11) (13) B1 RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 170013 (13) B1 Urząd Patentowy Rzeczypospolitej Polskiej (21) Numer zgłoszenia: 297079 (22) Data zgłoszenia: 17.12.1992 (51) IntCl6: H01L 29/792 (

Bardziej szczegółowo

Układy cyfrowe w technologii CMOS

Układy cyfrowe w technologii CMOS Projektowanie układów VLSI Układy cyfrowe w technologii MOS ramki bramki podstawowe bramki złożone rysowanie topografii bramka transmisyjna Przerzutniki z bramkami transmisyjnymi z bramkami zwykłymi dr

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 akwizycji danych. Komparatory napięcia Przykłady układów

Układy akwizycji danych. Komparatory napięcia Przykłady układów Układy akwizycji danych Komparatory napięcia Przykłady układów Komparatory napięcia 2 Po co komparator napięcia? 3 Po co komparator napięcia? Układy pomiarowe, automatyki 3 Po co komparator napięcia? Układy

Bardziej szczegółowo

Struktury specjalizowane wykorzystywane w mikrokontrolerach

Struktury specjalizowane wykorzystywane w mikrokontrolerach Struktury specjalizowane wykorzystywane w mikrokontrolerach Przetworniki analogowo-cyfrowe i cyfrowoanalogowe Interfejsy komunikacyjne Zegary czasu rzeczywistego Układy nadzorujące Układy generacji sygnałów

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

Projektowanie układów FPGA. Żródło*6+.

Projektowanie układów FPGA. Żródło*6+. Projektowanie układów FPGA Żródło*6+. Programowalne układy logiczne W elektronice cyfrowej funkcjonują dwa trendy rozwoju: Specjalizowane układy scalone ASIC (ang. Application Specific Integrated Circuits)

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

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji mgr inż. Paulina Mazurek Warszawa 2013 1 Wstęp Układ

Bardziej szczegółowo

Ogólny schemat inwertera MOS

Ogólny schemat inwertera MOS Ogólny schemat inwertera MOS Obciążenie V i V o Sterowanie Rodzaje cyfrowych układów scalonych MOS Układy cyfrowe MOS PMOS NMOS MOS BiMOS z obciążeniem zubożanym z obciążeniem wzbogacanym statyczne dynamiczne

Bardziej szczegółowo

Ćw. 8 Bramki logiczne

Ćw. 8 Bramki logiczne Ćw. 8 Bramki logiczne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi bramkami logicznymi, poznanie ich rodzajów oraz najwaŝniejszych parametrów opisujących ich własności elektryczne.

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

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

x x

x x DODTEK II - Inne sposoby realizacji funkcji logicznych W kolejnych podpunktach zaprezentowano sposoby realizacji przykładowej funkcji (tej samej co w instrukcji do ćwiczenia "Synteza układów kombinacyjnych")

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012 Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel

Bardziej szczegółowo

Krótkie przypomnienie

Krótkie przypomnienie Krótkie przypomnienie x i ={,} y i ={,} w., p. Bramki logiczne czas propagacji Odpowiedź na wyjściu bramki następuje po pewnym, charakterystycznym dla danego układu czasie od momentu zmiany sygnałów wejściowych.

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

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie SNTEZA AUTOMATÓW SKOŃCZONCH Z WKORZSTANIEM METOD KODOWANIA WIELOKROTNEGO Arkadiusz Bukowiec Instytut

Bardziej szczegółowo

Projektowanie układów na schemacie

Projektowanie układów na schemacie Projektowanie układów na schemacie Przedstawione poniżej wskazówki mogą być pomocne przy projektowaniu układach na poziomie schematu. Stałe wartości logiczne Aby podłączyć wejście do stałej wartości logicznych

Bardziej szczegółowo

Laboratorium przedmiotu Technika Cyfrowa

Laboratorium przedmiotu Technika Cyfrowa Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w

Bardziej szczegółowo

Układy kombinacyjne. cz.2

Układy kombinacyjne. cz.2 Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

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 czasowa W8 17.04.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu Zależności czasowe w układach programowalnych Pojęcia

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

LICZNIKI PODZIAŁ I PARAMETRY

LICZNIKI PODZIAŁ I PARAMETRY LICZNIKI PODZIAŁ I PARAMETRY Licznik jest układem służącym do zliczania impulsów zerojedynkowych oraz zapamiętywania ich liczby. Zależnie od liczby n przerzutników wchodzących w skład licznika pojemność

Bardziej szczegółowo

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys. Sterowanie procesami dyskretnymi laboratorium dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 5 Zagadnienia stosowanie skończonych automatów stanów (ang. Finite

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

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

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

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

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 24 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Moduł jest wyposażony w dwa złącza

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 Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo

Podstawy układów mikroelektronicznych

Podstawy układów mikroelektronicznych Podstawy układów mikroelektronicznych wykład dla kierunku Technologie Kosmiczne i Satelitarne Część 2. Podstawy działania układów cyfrowych. dr inż. Waldemar Jendernalik Katedra Systemów Mikroelektronicznych,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych. DODATEK: FUNKCJE LOGICZNE CD. 1 FUNKCJE LOGICZNE 1. Tablice Karnaugha Do reprezentacji funkcji boolowskiej n-zmiennych można wykorzystać tablicę prawdy o 2 n wierszach lub np. tablice Karnaugha. Tablica

Bardziej szczegółowo

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO IC200UDR002 8 wejść dyskretnych 24 VDC, logika dodatnia/ujemna. Licznik impulsów wysokiej częstotliwości. 6 wyjść przekaźnikowych 2.0 A. Port: RS232. Zasilanie: 24 VDC. Sterownik VersaMax Micro UDR002

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

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

dwójkę liczącą Licznikiem Podział liczników:

dwójkę liczącą Licznikiem Podział liczników: 1. Dwójka licząca Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D.

Bardziej szczegółowo

LICZNIKI Liczniki scalone serii 749x

LICZNIKI Liczniki scalone serii 749x LABOATOIUM PODSTAWY ELEKTONIKI LICZNIKI Liczniki scalone serii 749x Cel ćwiczenia Zapoznanie się z budową i zasadą działania liczników synchronicznych i asynchronicznych. Poznanie liczników dodających

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Schemat ogólny X Y Układ kombinacyjny S Z Pamięć Zegar Działanie układu Zmiany wartości wektora S możliwe tylko w dyskretnych chwilach czasowych

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

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. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych. Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.

Bardziej szczegółowo