Projektowanie Systemów Cyfrowych

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

Download "Projektowanie Systemów Cyfrowych"

Transkrypt

1 Projektowanie Systemów Cyfrowych Prowadzący: dr inż. Andrzej Skoczeń Układy programowalne generacji Spartan-3AN: Dodatek Grudzień 2017 Klasyfikacja: grupa, rodziny Paramatry układów rodziny Spartan-3AN Elementy architektury Konfiguracja układów Spartan-3x Bloki wejścia/wyjścia IOB; standardy sygnałów i ich konfiguracja UCF Drzewo zegara i blok DCM Biblioteki firmy Xilinx dla Spartana-3x AGH WFiIS Informatyka Stosowana, I stopień Języki Opisu Sprzętu 1

2 Spartan-3AN FPGA Family Data Sheet; DS557 June 12, 2014 (123 str.) Spartan-3 Generation FPGA User Guide; (512 str.) Extended Spartan-3A, Spartan-3E, and Spartan-3 FPGA Families; UG331 (v1.8) June 13, 2011 Spartan-3 Generation Configuration User Guide, Extended Spartan-3A; Spartan-3E, and Spartan-3 FPGA Families; UG332 (v1.7) January 27, 2015 (354 str.) Spartan-3AN FPGA In-System Flash User Guide; For Spartan -3AN FPGA applications that read or write data to or from the In-System Flash memory after configuration; (98 str.) UG333 (v2.4) June 11, 2015 AGH, WFiIS, IS, st.i, HDL 2

3 Extended Spartan-3A Rodzina/Platforma Grupa układów Spartan-3x Spartan-3x jest grupą układów FPGA przeznaczoną do zastosowań w szerokim zakresie elektroniki użytkowej: dostęp szerokopasmowy, sieci domowe, wyświetlacze-projektory, urządzenia telewizji cyfrowej. Obejmuje ona 25 modeli układów w pięciu rodzinach stanowiących linię rozwojową: Opis Liczba modeli w grupie Spartan-3 pierwszy przemysłowy FPGA w technologii 90nm 8 Spartan-3E z dodanymi cechami zwiększającymi wydajność i redukującymi koszt konfiguracji Spartan-3A kolejne polepszenie konfiguracji i redukcja zużycia mocy 5 Spartan-3AN Spartan-3A DSP wyposażony w nie-ulotną pamięć i dużą ilość pamięci typu flash dostępnej dla użytkownika posiada zasoby wymagane dla cyfrowego przetwarzania sygnałów (DSP48A) Najmniejszy z tych układów zawiera bramek systemowych, a największy 5 milionów. AGH, WFiIS, IS, st.i, HDL 3

4 Architektura układów Spartan-3x Architektura opiera się na pięciu podstawowych programowalnych elementach funkcjonalnych: CLBs IOBs BRAM MBs DCMBs Configurable Logic Blocks Input/Output Blocks Block RAM Multiplier Blocks Digital Clock Manager Blocks Złożony z czterech SLICE, z których każdy zawiera dwie elastyczne pamięci podręczne LUT, które implementują logikę, dwa multipleksery i dwa elementy pamięciowe używane jako przerzutnik lub zatrzask oraz logikę arytmetyczną z przeniesieniem. Sterują przepływem danych między pinami I/O i wewnętrzną logiką układu. Są dwukierunkowe i trójstanowe. Wspierają wiele standardów sygnałów, a wśród nich kilka wysokowydajnych standardów różnicowych. Dostępne są także rejestry typu DDR. Magazyn danych w postaci bloków 18-kbityowych o podwójnych portach. Akceptują 18-bitowe liczby binarne jako dwa argumenty i obliczają ich iloczyn. Układy rodziny Spartan-3A DSP posiadają także specjalne bloki mnożąco-akumulujące DSP. Całkowicie cyfrowy, samokalibrujący się układ dystrybucji, opóźniania, mnożenia, dzielenia i przesuwania fazy sygnałów zegarowych. Objaśnienia: LUT Look-Up Table DDR Double Data-Rate DSP Digital Signal Processing AGH, WFiIS, IS, st.i, HDL 4

5 Architektura układów Spartan-3x AGH, WFiIS, IS, st.i, HDL 5

6 W centrum znajduje się regularna tablica CLBs-ów. Dookoła umieszczony jest podwójny pierścień naprzemiennie ułożonych IOBs-ów. Pamięć BRAM zorganizowana jest w dwie kolumny, z których każda składa się z kilku bloków o pojemności 18-kbitów (wyjątek stanowi XC3S50AN, który ma tylko jedna kolumnę). Każdy blok BRAMu związany jest z multiplikatorem. Układy zarządzania zegarem DCM-y umieszczone są w środku, dwa u góry i dwa na dole. (w układzie XC3S50AN tylko u góry, a w XC3S700AN i XC3S1400AN dodano jeszcze po dwa w środku obu kolumn RAM-multiplikatory). Bogata sieć ścieżek łączy pięć podstawowych bloków funkcjonalnych przesyłając między nimi sygnały. Każdy element funkcjonalny związany jest z matrycą przełączników zabezpieczających przed wielokrotnymi połączeniami. AGH, WFiIS, IS, st.i, HDL 6

7 Architektura CLB układów Spartan-3x SLICEM umożliwiają tworzenie: funkcji logicznych (LUT) rejestrów przesuwnych (SR) pamięci rozporoszonych (DRAM) SLICEL umożliwiają tworzenie: funkcji logicznych (LUT) AGH, WFiIS, IS, st.i, HDL 7

8 SLICE Składa się z dwóch komórek logicznych LC (logic cell). W szczególności SLICE składa się z: Dwóch przerzutników D (konfigurowalne także jako zatrzaski) kolor niebieski, Dwóch 4-o wejściowych pamięci podręcznych LUT (funkcje F i G) kolor zielony, Logika arytmetyczna i przeniesienia kolor brązowy, Dwa szerokie multipleksery F5MUX i FiMUX (i=6, 7, 8) kolor czerwony. AGH, WFiIS, IS, st.i, HDL 8

9 Architektura SLICE ów Spartan a-3x Look-Up Table (LUT) jest generatorem funkcji logicznych zbudownym w oparciu o pamięć RAM. Ponieważ ma cztery wejścia to nadaje się do funkcji 4-ech zmiennych. Dalszą rozbudowę umożliwiają multipleksery Fi(5)MUX. W przypadku SLICE ów M, LUT-y można skonfigurować jako 16-bitowe bloki rozproszonej pamięci (Distributed RAM) lub rejestrów przesuwnych (SRL). AGH, WFiIS, IS, st.i, HDL 9

10 LUT może być połączony do: Multipleksera F5MUX, Logiki arytmetyki i przeniesienia, Bezpośrednio do wyjścia CLB, Do elementu sekwencyjnego FFX(Y). i adres 6 X0Y0, X1Y0 7 X0Y1 8 X1Y1 Każdy SLICE ma 2 multipleksery: F5MUX w dolnej części, FiMUX w górnej części. F5MUX multipleksuje wyjścia dwóch LUT-ów. FiMUX multipleksuje bezpośrednio wejścia CLB. Wejścia te mogą być połączone z wyjściami Fi(5)MUX tego samego lub innego SLICE. AGH, WFiIS, IS, st.i, HDL 10

11 Sekwencyjny element pamięciowy, programowalny do pracy jako przerzutnik typu D lub wrażliwy na poziom przeźroczysty zatrzask, dostarcza sposobu synchronizacji danych do zegara. Element ten dodatkowo zaopatrzony jest w multiplekser na wejściu D, który umożliwia ominięcie elementu sekwencyjnego i wykorzystanie wyjścia kombinacyjnego. Synchroniczne kasowanie i ustawianie AGH, WFiIS, IS, st.i, HDL 11

12 Rodzina układów Spartan-3AN System Gates Equivalent Logic Cells CLBs Slices Distributed RAM Bits Block RAM Bits XC3S50AN 50k k 54k XC3S200AN 200k k 288k XC3S400AN 400k k 360k XC3S700AN 700k k 360k XC3S1400AN 1400k k 576k Multiplkatory DCM Maksymalna liczba linii I/O Maksymalna liczba par I/O Rozmiar strumienia bitów In-System Flash Bits XC3S50AN k 1M XC3S200AN k 4M XC3S400AN k 4M XC3S700AN k 8M XC3S1400AN k 16M DCM Digital Clock Manager układ zarządzania sygnałem zegara AGH, WFiIS, IS, st.i, HDL 12

13 BRAM Multiplikator BRAM Multiplikator IO Bank 3 IO Bank 1 BRAM Multiplikator BRAM Multiplikator IO Bank 0 DCM DCM DCM DCM Matryca CLB DCM DCM DCM DCM IO Bank 2 Ogólna jednorodna architektura FPGA Architektura Spartan-3AN model XC3S700AN AGH, WFiIS, IS, st.i, HDL 13

14 Liczba CLB: n CLB = szt. Jeden CLB składa się z czterech SLICE-ów: Liczba SLICE: n SLICE = n CLB 4 = szt. XC3S700AN Jeden SLICE składa się z dwóch komórek logicznych LC: Liczba LC: n LC = n SLICE 2 = szt. Równoważna komórka logiczna ELC jest obliczana ze współczynnikiem 1,125: Liczba ELC: n ELC = 1,125 n LC = szt. Liczba bramek systemowych wynika ze skomplikowanych przeliczeń poszczególnych elementów układu na dwuwejściowe bramki NAND i ma charakter raczej marketingowy. Maksymalny rozmiar pamięci rozproszonej DRAM konfigurowalny na LUT-ch SLICE-ów M: s DRAM = 2 2 n CLB 16 bitów = bitów = 92 kbity gdyż cztery LUT-y na CLB mają własność konfigurowalności do DRAM. Liczba bloków BRAM: n BRAM = 20 szt. czyli rozmiar pamięci blokowej: s BRAM = n BRAM 18kbitów = 360 kbitów gdyż jeden blok ma rozmiar 18kbitów. AGH, WFiIS, IS, st.i, HDL 14

15 Blok pamięci rozproszonej DRAM16 Kofiguracja LUT-ów SLICE-M do pracy jako DRAM. słowo adresowane przez data_a data_d A3-A0 DPRA3-DPRA0 AGH, WFiIS, IS, st.i, HDL 15

16 Blok Rejestru przesuwnego SRL16 Kofiguracja LUT-ów SLICE-M do pracy jako SRL. m = 0, 1, 2, 3 AGH, WFiIS, IS, st.i, HDL 16

17 Blok pamięci rozproszonej BRAM AGH, WFiIS, IS, st.i, HDL 17

18 Blok multiplikatora AGH, WFiIS, IS, st.i, HDL 18

19 Konfiguracja układów Spartan-3AN Programowanie odbywa się przez załadowanie danych konfiguracyjnych do reprogramowalnych zatrzasków CCL (CMOS Configuration Latches), które zbiorowo sterują wszystkimi funkcjami elementów i zasobów je łączących. Komórki CCL są reprogramowalne jak pamięć SRAM ale zaprojektowane są dla zachowania integralności danych a nie wydajności. Dane w CCL-sach są zapisywane tylko w czasie konfiguracji i pozostają niezmienione aż do kolejnej rekonfiguracji. Dane konfiguracyjne przechowywane są w: układzie (on-chip) w pamięci nieulotnej Flash lub zewnętrznie w układzie PROM lub w jakimś innym rodzaju nieulotnego (NVM) nośnika danych (na płycie lub poza nią). W wewnętrznej pamięci Flash możliwe jest przechowywanie wielu plików konfiguracyjnych. Jest to własność MultiBoot. AGH, WFiIS, IS, st.i, HDL 19

20 Konfiguracja układów Spartan-3AN Po włączeniu zasilania dane konfiguracyjne są przepisywane do CCL-i wewnątrz FPGA używając jednego z siedmiu trybów: z wewnętrznej pamięci SPI Flash (M2M1M0 = 011), łącze szeregowe do Xilinx Platform Flash PROM (M2M1M0 = 000), Serial Peripheral Interface (SPI) z zewnętrznej pamięci SPI Flash (M2M1M0 = 001), Byte Peripheral Interface (BPI) z zewnętrznej pamięci równoległej NOR Flash (M2M1M0 = 010), Slave Serial, ładowane z procesora (M2M1M0 = 111), Slave Parallel, ładowane z procesora (M2M1M0 = 110), Boundary-Scan (JTAG), ładowane z procesora lub testera systemowego (M2M1M0 = 101). 3,3V Wskazują chwilę zakończenia konfiguracji AGH, WFiIS, IS, st.i, HDL 20

21 Strumień bitowy konfiguracji Plik strumienia bitowego jest binarnym plikiem zawierającym dane konfiguracyjne do przepisania do konfiguracyjnej pamięci SRAM. Konfiguracja może być: Statyczna (static reconfiguration) załadowanie konfiguracji gdy aplikacja nie działa i rebootowanie urządzenia, Dynamiczna (dynamic reconfiguration) konfiguracja jest częścią aplikacji tzn. sprzęt może być adaptowany do potrzeb w czasie wykonania. Chwila przeprowadzenia częściowej rekonfiguracji jest ukryta, gdyż pozostała część układu pracuje. Strumień bitowy może być pełny lub częściowy: Pełny (full) pełna konfiguracja układu w projekcie statycznym lub początkowa konfiguracja w projekcie typu dynamicznego. Częściowy (partial) - konfiguracja części układu lub jedna z rekonfiguracji w podejściu dynamicznym. AGH, WFiIS, IS, st.i, HDL 21

22 Pamięć konfiguracji jest zorganizowana w ramki (frames), które pokrywają cały układ. Ramki są najmniejszym adresowalnym segmentem przestrzeni pamięci konfiguracji. Wszystkie operacje muszą działać na ramce. Pamięć konfiguracji jest prostokątną tablicą bitów. Ramki grupują bity w pionie i mają szerokość jednego bitu i wysokość całej tabeli. Ramka jest podstawową jednostką budującą konfigurację, najmniejszą częścią, która może być zapisywana lub odczytywana. Ramki nie odpowiadają bezpośrednio żadnemu fragmentowi sprzętu, tzn. nie konfigurują konkretnego CLB lub IOB ale rzeczywiście konfigurują część kilku zasobów logicznych lub połączeniowych (routing). Ramki zgrupowane są w większe jednostki zwane kolumnami. Liczba i rozmiar ramek są inne dla każdego członka rodziny Spartan, np. dla XC3S700AN: Liczba ramek n f 844 słowo = 16 bitów Rozmiar ramki [słowa] s f 202 Rozmiar pamięci konfiguracyjnej [słowa] s cm =n f s f Dodatkowe informacje w strumieniu bitowym [słowa] d ad 302 Rozmiar strumienia bitowego [bity] s bs =(s cm +d ad ) AGH, WFiIS, IS, st.i, HDL 22

23 Pamięć Flash w systemie Każdy Spartan-3AN zawiera pamięć typu Flash (z szeregowym interfejsem SPI), której zastosowanie jest: Przechowywanie konfiguracyjnego strumienia bitowego (mieszczą się dwa różne) lub Jako nieulotna pamięć aplikacji. AGH, WFiIS, IS, st.i, HDL 23

24 Konfiguracja Spartan a-3an Układ nadzorujący konfigurację składa się z: procesora pakietów, który steruje przepływem danych przez interfejs do odpowiedniego rejestru, zbioru 29 rejestrów, które sterują wszystkimi innymi aspektami konfiguracji, sygnałów globalnych, które są sterowane przez zawartość rejestrów. Nagłówek pakietu typu 1: Typ pakietu Kod operacji Adres rejestru Liczba słów x x 0 x x x x x x x x x x Kod operacji 0 0 NOP Funkcja Po tym nagłówku następuje określona przez 5 najmniej znaczących bitów liczba słów 16 bitowych. 0 1 Read 1 0 Write 1 1 Reserved AGH, WFiIS, IS, st.i, HDL 24

25 Konfiguracja Spartan a-3an Nagłówek pakietu typu 2: Typ pakietu Kod operacji Adres rejestru Liczba słów x x 0 x x x x x R R R R R x x x x x x x x x x x x x x x x x x x x x x x x x x x x Po tym nagłówku następuje określona przez 28 bitów dwóch słów 16-bitowych liczba słów 16 bitowych. AGH, WFiIS, IS, st.i, HDL 25

26 Konfiguracja Spartan a-3an Opis niektórych rejestrów konfiguracyjnych: CRC Cyclic Redundant Check Sprawdzenie poprawności transmisji. CMD IDCODE FAR FDRI COR Command Register Device ID register Frame Address Register Służy do wygenerowania sygnałów globalnych i wykonania czynności konfiguracji. Komenda z tego rejestru jest wykonywana przy każdej modyfikacji rejestru FAR. Dla Spartana-3AN jest 16 komend. 32-bitowe słowo specyficzne dla każdego układu. Jego porównanie z zapisanym w hardwarze identyfikatorem układu w celu ustalenia czy strumień przygotowano dla właściwego układu. Zawiera adres początkowego bloku i kolumny dla następnej konfiguracyjnej danej. Zwykle strumień bitowy typu pełnego zaczyna sie od adresu 0 i jest inkrementowany az do końcowej wartości. Frame Data Register, Input Rejestr przesuwny do zapisu słów tworzących ramkę. Configuration Option Register AGH, WFiIS, IS, st.i, HDL 26

27 Sekwencja czasowa: Budzenie z resetu Czyszczenie pamięci konfiguracji Setup Próbkowanie pinów sterujących M[2:0] i VS[2:0] Synchronizacja Sprawdzenie ID Ładowanie konfiguracji Ładowanie strumienia bitowego Sprawdzenie CRC Sekwencja startowa AGH, WFiIS, IS, st.i, HDL 27

28 Strumień bitowy konfiguracji Część kometarzowa głównie ASCII, zawierająca nazwę pliku, datę utworzenia, oznaczenie modelu układu i inne. Słowo ślepe Słowo synchronizacji Seria pakietów składających się z nagłówka i odpowiadjącej mu wartości, które zapisywane są do rejestrów konfiguracyjnych sprzętu konfigurującego układ. Nagłówek określa: Typ operacji do wykonania na rejestrze konfiguracyjnym (zwykle null lub write), Adres rejestru do zapisania (5 bitów), Liczbę następujących po nim słów danych do wpisania do tego rejestru. Początkowe wpisy do rejestrów Pakiety typu 1 są najbardziej powszechne. Pakiety typu 2 są używane tylko gdy pole liczby słów danych w nagłówku typu 1 jest zbyt małe. Nie zawiera on pola adresu, które jest znany z poprzedzającego go nagłówka typu 1, aby powiększyć pole liczby słów danych. Komentarz 0xFFFFFFFF 0xAA Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Ładunek AGH, WFiIS, IS, st.i, HDL Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Nagłóweg typu 2 Słowo konfiguracyjne Słowo konfiguracyjne Słowo konfiguracyjne...

29 Strumień bitowy konfiguracji... Kolejna seria pakietów zapisujących rejestry konfiguracyjne sprzętu konfigurującego układ oraz wysłanie komend startowych. Końcowe wpisy do rejestrów Słowo konfiguracyjne Słowo konfiguracyjne Słowo konfiguracyjne Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Ładunek AGH, WFiIS, IS, st.i, HDL 29

30 Blok wejścia/wyjścia IOB Spartan-3AN model XC3S50AN XC3S200AN XC3S400AN XC3S700AN XC3S1400AN Liczba IOB Bloki I/O Spartan-3AN wspierają następujące stanadrdy sygnałowe asymetryczne (single-ended): 3.3V low-voltage TTL (LVTTL), Low-voltage CMOS (LVCMOS) z zasilaniem 3.3V, 2.5V, 1.8V, 1.5V, lub 1.2V, 3.3V PCI (Peripheral Component Interface) o częstotliwości 33 MHz or 66 MHz, HSTL (High-Speed Transceiver Logic) I, II, i III z zasilaniem 1.5V i 1.8V, zwykle używany do współpracy z pamięciami, SSTL (Stub Series Terminated Logic) I i II z zasilaniem 1.8V, 2.5V, i 3.3V, zwykle używany do współpracy z pamięciami. AGH, WFiIS, IS, st.i, HDL 30

31 Blok wejścia/wyjścia IOB Spartan-3AN Bloki I/O Spartan-3AN wspierają następujące stanadrdy sygnałowe symetryczne (differential): LVDS (Low Voltage Differential Signal), mini-lvds, RSDS (Reduced Swing Differential Signaling), i PPDS (Point-to-Point Differential Signaling) I/O na 2.5V lub 3.3V, BLVDS (Bus Low Voltage Differential Signal) I/O na 2.5V, TMDS (Transition Minimized Differential Signaling) I/O na 3.3V, używany przez DVI i HDMI, Różnicowe odmiany HSTL (High-Speed Transceiver Logic) i SSTL (Stub Series Terminated Logic) I/O, LVPECL (Low Voltage Positive Emitter Coupled Logic) wejścia na 2.5V lub 3.3V. AGH, WFiIS, IS, st.i, HDL 31

32 Różnicowe (differential) standardy sygnałów wymagają dwóch linii sygnałowych dla przenoszenia jednego bitu. Pozwala to na osiągnięcie wysokiej odporności na zkłócenia w stosunku do sygnałów przesyłanych asymetrycznie. Dla LVPECL amplituda logiczna napięcia (voltage swing) pomiędzy dwiema liniami sygnałowymi wynosi około 850 mv. Wymaga użycia rezystora kończącego linię przesyłową (resistor termination). AGH, WFiIS, IS, st.i, HDL 32

33 Dla LVDS amplituda logiczna napięcia pomiędzy dwiema liniami sygnałowymi wynosi około 350 mv. LVDS wymaga użycia rezystora kończącego linię przesyłową. BLVDS (Bus LVDS) jest wersją standardu przystosowaną do formowania dwukierunkowych magistral między wieloma urządzeniami. Wymagane są zewnętrzne rezytory kończące. LVDS Extended (Extended Mode LVDS) dostarcza wyższy prąd wyjściowy i amplitudę logiczną ( mv), umożliwiając przesył kablem na większe odległości. AGH, WFiIS, IS, st.i, HDL 33

34 Konfiguracja standardu sygnałowego Określenie standardu sygnałów wejścia/wyjścia odbywa się poprzez odpowiednie ustawienie wartości atrybutu IOSTANDARD. Może on być określony: na węźle lub sygnale dołączonym do padu. Wtedy IOSTANDARD jest dołączony do komórki pierwotnej IOB. do elementu projektu i wtedy stosuje się do wszystkich elementów w hierarchii, do których może być zastosowany. Metoda 1: W kodzie Verilog-a IOSTANDARD można określić za pomocą atrybutu syntezy: //synthesis attribute iostandard [of] {modname insname} [is] iostandard_name; Metoda 2: Z wykorzystaniem pliku ograniczeń użytkownika User Constraints File (UCF): NET pad_net_name IOSTANDARD=iostandard_name; Lub na konkretyzacji elementu I/O: INST instance_name IOSTANDARD=iostandard_name; AGH, WFiIS, IS, st.i, HDL 34

35 W standardach LVTTL i LVCMOS dostępne jest niezależne progamowanie nachylenia zbocza sygnału (slew rate) i siły sterowania sygnału (drive strength). Wykonuje się to za pomocą opcji DRIVE i SLEW do atrybutu IOSTANADRD. Przykład: NET pad_net_name IOSTANDARD=LVCMOS15 SLEW=SLOW DRIVE=4 Wartości domyślne: Konfiguracja za pomocą UCF NET pad_net_name IOSTANDARD=LVCMOS25 SLEW=SLOW DRIVE=12 Dostępne wartości: SLEW FAST SLOW QUIETIO DRIVE Używaj najmniejszego nachylenia zboczy i najmniejszego prądu wyjściowego, które spełniają wymagania projektu. Zwróć uwagę, że dla rodziny Extended Spartan-3A, 16 ma prądu wyjścia daje większą szybkość niż 24 ma z ustawieniem SLOW dla opcji SLEW. AGH, WFiIS, IS, st.i, HDL 35

36 Architektura IOB Spartan-3AN T T1 D Q TFF1 Blok IOB posiada trzy możliwe drogi sygnału: T2 D Q DDR Wejściowa przenosi dane z padu PAD, poprzez element programowanego opóźnienia DL bezpośrednio do wnętrza układu I lub poprzez parę przerzutników IFF1 i IFF2 na linie IQ1 i IQ2. Wyjściowa - przenosi dane z linii O1 i O2 z wnętrza układu poprzez multiplekser i bufor trój-stanowy bezpośrednio do padu PAD lub poprzez parę przerzutników OFF1 i OFF2. O1 O2 TFF1 D Q OFF1 D Q OFF1 DDR Trójstanowa Wyjściowa IO Pin PAD Trój-stanowa służy do określenia kiedy bufor wyjściowy jest w stanie wysokiej impedancji. Linie T, T1 i T2 niosą dane z wnętrza układu i bezpośrednio lub poprzez multiplekser lub dodatkowo przez parę przerzutników trafiają na wejście sterujące bufora. I IQ1 IQ2 Q D IFF1 Q D IFF1 DL DL Wejściowa LV SE Diff V ref Pin PAD IO Pin Sąsiedniego IOB PAD AGH, WFiIS, IS, st.i, HDL 36

37 Blok wejścia/wyjścia IOB Spartan-3AN do wnętrza Wejście o podwójnej prędkości danych DDR Transmisja Double-Data-Rate (DDR) to technika synchronizacji sygnałów do obydwu narastającegi i opadajacego zbocza sygnału zegarowego. Każda z trzech dróg sygnałowych w bloku IOB jest zdolna do wykonywania operacji DDR, gdyz każda z nich zawiera dwa przerzutniki. Para przerzutników stanowi wejściowy rejestr. Jeden przerzutnik D1 jest taktowany narastającym zboczem zegara ICLK1 i drugi przerzutnik D2 jest taktowany narastającym zboczem zegara ICLK2. Zegary są względem siebie przesunięte o pół okresu tak, że zbocze narastające ICLK2 przypada na chwilę opadającego zbocza ICLK1. Do wygenerowania odpowiednich zegarów słóży blok DCM. Następnie dane dwiema liniami trafiają do wnętrza układu gdzie w pewnym momencie muszą zostać wprowadzone w jedną domenę zegarową, którą zwykle jest zegar ICLK1. Operacja ta jest trudna przy dużych częstotliwościach ponieważ dostępny czas stanowi tylko połowę okresu zegara (przy wypełnienu 50%). AGH, WFiIS, IS, st.i, HDL 37

38 Blok wejścia/wyjścia IOB Spartan-3AN Wyjście o podwójnej prędkości danych DDR z wnętrza Para przerzutników stanowi wyjściowy rejestr. Jeden przerzutnik D1 jest taktowany narastającym zboczem zegara ICLK1 i drugi przerzutnik D2 jest taktowany narastającym zboczem zegara ICLK2. Po wyjściu z rejestru te dwa bity danych są multipleksowane przez multiplekser DDR i przekazywane na pad wyjściowy. Wewnątrz układu bity danych wędrujące linią D2 muszą być przesynchronizowane z domeny podstawowej, którą zwykle jest OCKL1 do domeny zegara OCLK2. Robi się to za pomocą przerzutników wewnątrz SLICE. Przy wysokich częstotliwościach położenie SLICE-ów wykonujących ta operację jest krytyczne ponieważ dostępny czas stanowi tylko połowę okresu zegara (przy wypełnienu 50%). AGH, WFiIS, IS, st.i, HDL 38

39 Obudowa FG484 2,6 mm 30 o 0,5 mm 1,0 mm 0,6 mm 21 mm 23 mm Liczba pinów: 22 kolumny 22 rzędy = 484 pinów AGH, WFiIS, IS, st.i, HDL 39

40 INPUT VREF Piny ogólnego przeznaczenia IO, które mogą być parowane w różnicowe Piny ogólnego przeznaczenia ale wyłącznie wejściowe INPUT Normalne piny IO lub INPUT, ale mogą dostarczać napięć referncyjnych w niektórych trybach nieróżniciwych (wtedy muszą być zwarte w obrębie jednego banku) Normalne piny IO ale mogą mieć drugą funkcję w czasie konfiguracji Normalne piny IO albo specjalne wejścia zegarowe po 4 na każdy bank z czego 8 taktuje prawą cześć układu, a 8 lewą. Dedykowane piny do konfiguracji układu Nadzór modu oszczędzania energii JTAG (Joint Test Action Group) to nazwa standardu IEEE definiującego protokół używany do testowania połączeń w układach cyfrowych lub ich programowania. Cztery dedykowane piny do obsługi interfejsu JTAG Uziemienia. Wszystkie muszą być połączone. Zasilanie pomocnicze 2,5 lub 3,3 V. Wszystkie muszą być połączone. Zasilanie buforów wyjściowych niezależne dla każdeho banku IO (6 linii). Możliwe wartości: 3.3V, 3.0V, 2.5V, 1.8V, 1.5V, or 1.2V Zasilanie rdzenia układu 1,2 V. Wszystkie muszą być połączone. AGH, WFiIS, IS, st.i, HDL 40

41 Bank 3 92 IO różnicowych, 2 IO nieróżnicowych (w tym 2 napięć referencyjnych) 6 zasilań IO Bank 1 94 IO różnicowych 6 zasilań IO Bank 0 36 IO różnicowych, 20 IO nieróżnicowych (w tym 6 napięć referencyjnych) 6 zasilań IO Bank Diff 2 Diff SE razem Vcco razem Bank 2 36 IO różnicowych, 20 IO nieróżnicowych (w tym 6 napięć referencyjnych) 6 zasilań IO AGH, WFiIS, IS, st.i, HDL 41

42 Sygnały zegarowe Spartan-3AN Globalne zasoby zegarowe składają się z trzech elementów: Pady wejściowe GCLK Global Clock, Bufor-multiplekser BUFGMUX globalnego zegara, i Prowadzenie (routing) globalnego zegara Ścieżka zegara pierwotnego zaznaczona jest pogrubioną linią od padu GCLK sterującego centralny bufor-multiplekser BUFGMUX, który poprzez sieć połączeń (global routing) dostarcza zegar do wejść przerzutników i innych elementów wymagających zegara. Pady GCLK mogą być użyte jako wejście/wyjście ogólnego przeznaczenia. Blok DCM (Digital Clock Manager) może być wstawiony w ścieżkę pomiędzy pad a bufor w celu obróbki zegara. DCM może także uformować sygnał zegarowy z zasobów ogólnego przeznaczenia. Bufor BUFGMUX możę multipleksować między dwoma źródłami zegara lub może pracować jako zwykły bufor zegara. Tylko ten bufor może sterować zasoby prowadzenia zegara (global routing). Tylko tą drogą wysterowane zostają wejścia zegarowe. Jednak, wejścia zegarowe przerzutników mogą także być sterowane z sieci ogólnego przeznaczenia (general-purpose routing), chociaż takie postępowanie nie jest rekomendowane ze względu na wyższe rozbieżności dostarczania zboczy zegara (skew). AGH, WFiIS, IS, st.i, HDL 42

43 Układy zarządzania zegarem Układy zarządzania zegarem DCM (Digital Clock Managers) służą do generacji sygnałów zegarowych odpowiednich dla projektowanego urządzenia, szczególnie dla zastosowań wysokoczęstotliwościowych: Eliminuje różnice czasów przybycia zegara (clock ckew) wewnątrz układu i do zewnętrznych elementów w celu poprawy paramatrów całego projektowanego układu i eliminacji opóźnień rozprowadzania zegara, Wytwarza przesunięcia fazowe zegara o stały procent okresu lub o wartość wzrastającą, Mnoży lub dzieli częstotliwość przychodzącego zegara lub syntezuje zupełnie nowy sygnał zegarowy stosując obie te operacje, Kondycjonuje zegar zapewniając czysty zegar z wypełnieniem 50%, Buforuje, przekazuje lub wytawrza odbicie lustrzane, konwertuje standardy sygnałowe zegara, a także likwiduje różnice w czasach przybycia zegara (deskew), Powyższe operacje może wykonywać równocześnie. AGH, WFiIS, IS, st.i, HDL 43

44 Rozmycie czasów przybycia zegara Clock latency Clock skew Czas martwy zegara Rozmycie czasów przybycia zegara Całkowity czas jaki zabiera przebycie sygnału zegarowego od źródła (definicji) do punktu końcowego (zegarowe wejście przerzutnika). Różnica w czasie przybycia sygnału zegara do punktów końcowych drzewa wynikająca z różnych dróg jakie pokonuje sygnał zegarowy na drodze do różnych przerzutników. Skew pogarsza pracę układu synchronicznego poprzez wzrost czasu przygotowania (setup time) i wydłużenie opóźnienia między zegarem i wyjściem (clock-to-output). Razem wydłuża to potrzebny czas okresu zegara. Podobnie skew może zwiększyć wymagany czas trzymania (hold time) na niektórych przerzutnikach, czyli prowadzić do pogorszenie się niezawodności układu. Urządzenie zewnętrzne na płycie AGH, WFiIS, IS, st.i, HDL 44

45 Rozmycie czasów przybycia zegara Urządzenie zewnętrzne na płycie Idealne zsynchronizowanie zegara Blok DCM przewiduje przyszłość? Wyprzedzone zegary eliminują rozmycie Okres T Opóźnienie przebiegu o stałej częstotliwości wygląda jakby przwidywanie przyszłośći! AGH, WFiIS, IS, st.i, HDL 45

46 Układ zarządzania zegarem Składa się z czterech elementów: Delay-Locked Loop (DLL) pętla opóźnieniowa umożliwiająca eliminację skew zegara, Digital Frequency Synthesizer (DFS) generowanie częstotliwości w oparciu o dwa atrybuty, Phase Shift (PS) statyczne i dynamiczne przesunięcie fazowe z precyząa 15-35ps, Status Logic sygnalizuje stan pracy DCM poprzez sygnały LOCKED i STATUS[7:0]. AGH, WFiIS, IS, st.i, HDL 46

47 Delay-Locked Loop CLKIN Linia opóźniająca o zmiennym opóźnieniu CLKOUT Sieć rozprowadzania zegara Global Routing CLKFB Sterowanie Układ sterowania próbkuje zegar wchodzący CLKIN i zegar sprzężenia zwrotmego CLKFB i w oparciu o ich czasowy odstęp odpowiednio dostraja linię opóźniającą. Linia opóźniająca jest układem cyfrowym złożonym z szeregowo połączonych elementów opóźniających. DLL wstawia opóźnienia między zegar wejściowy i ze sprzężenia zwrotnego, aż ich zbocza narastające zsynchronizują się, faktycznie opóźniając CLKFB o cały okres. Oznacza to wyzerowanie opóźnienia (fazy), czyli stan synchronizacji pętli (lock). AGH, WFiIS, IS, st.i, HDL 47

48 Delay-Locked Loop AGH, WFiIS, IS, st.i, HDL 48

49 CLKDV_DIVIDE CLKFX_MULTIPLY CLKFX_DIVIDE Atrybuty DCM Określa częstotliwość na wyjściu CLKDV. Dozwolone wartości dla CLKDV_DIVIDE: 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15, 16. Wartości nie całkowite wydłużają czas synchronizacji. fclkin fclkdv CLKDV_DIVIDE Określają współczynnik podziału i/lub mnożenia częstotliwości na wyjściach CLKFX i CLKFX180. Dozwolone wartości to liczby całkowite: dla CLKFX_MULTIPLY od 2 do 32 (domyślnie 4), a dla CLKFX_DIVIDE od 1 do 32 (domyślnie 1). f CLKFX f CLKIN CLKFX_MULTIPLY CLKFX_DIVIDE Przykład: aby utworzyć zegar 155 MHz mając na wejściu przebieg o częstotliwości 75 MHz potrzebny jest współczynnik 31/15. Nie oznacza to mnożenia przez 31! AGH, WFiIS, IS, st.i, HDL 49

50 Atrybuty DCM CLKIN_PERIOD 0.0 Okres zegara na wejściu CLKIN_DIVIDE_BY_2 FALSE CLKOUT_PHASE_SHIFT NONE PHASE_SHIFT 0 CLK_FEEDBACK DESKEW_ADJUST 1X Aktywacja dodatkowego dzielenia przez 2 sygnału zegara na wejściu TRUE / FALSE Określenie trybu przesunięcia fazy. Wartości: NONE / FIXED / VARIABLE. W wersji VARIABLE wartość może być zmieniana przez aplikację przy pomocy wejść sterujących PSEN, PSCLK, PSINCDEC, PSDONE. Wartość stałego przesunięcia (FIXED) fazy wyrażona w 1/256 okresu. Wartości: od -255 do 255 Określa częstotliwość wyjściową względem wejściowej. Wartości: NONE (gdy tylko wyjścia CLKFX są używane), 1X (zegar wykorzystuje wyjście CLK0), 2X (podwojona częstotliwość wejściowa jest dostępna na wyjściach CLK2X. SYSTEM_ Wartości: SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS lub SYNCHRONOUS wartość od 0 do 15 DLL_FREQUENCY_MODE LOW HIGH or LOW frequency mode for DLL DUTY_CYCLE_CORRECTION FALSE Korekcja współczynnika wypełnienia. Wartości: TRUE / FALSE STARTUP_WAIT FALSE Konfiguracja czeka na sygnał LOCKED zanim uaktywni DONE AGH, WFiIS, IS, st.i, HDL 50

51 Atrybuty DCM DCM_SP #(.CLKDV_DIVIDE(2.0), // Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0.CLKFX_DIVIDE(1), // Can be any integer from 1 to 32.CLKFX_MULTIPLY(4), // Can be any integer from 2 to 32.CLKIN_DIVIDE_BY_2("FALSE"), // TRUE/FALSE to enable CLKIN divide by two feature.clkin_period(0.0), // Specify period of input clock.clkout_phase_shift("none"), // Specify phase shift of NONE, FIXED or VARIABLE.CLK_FEEDBACK("1X"), // Specify clock feedback of NONE, 1X or 2X.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), // SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or an integer from 0 to 15.DLL_FREQUENCY_MODE("LOW"), // HIGH or LOW frequency mode for DLL.DUTY_CYCLE_CORRECTION("TRUE"), // Duty cycle correction, TRUE or FALSE.PHASE_SHIFT(0), // Amount of fixed phase shift from -255 to 255.STARTUP_WAIT("FALSE") // Delay configuration DONE until DCM LOCK, TRUE/FALSE ) DCM_SP_inst (.CLK0(CLK0), // 0 degree DCM CLK output.clk180(clk180), // 180 degree DCM CLK output.clk270(clk270), // 270 degree DCM CLK output.clk2x(clk2x), // 2X DCM CLK output.clk2x180(clk2x180), // 2X, 180 degree DCM CLK out.clk90(clk90), // 90 degree DCM CLK output.clkdv(clkdv), // Divided DCM CLK out (CLKDV_DIVIDE).CLKFX(CLKFX), // DCM CLK synthesis out (M/D).CLKFX180(CLKFX180), // 180 degree CLK synthesis out.locked(locked), // DCM LOCK status output.psdone(psdone), // Dynamic phase adjust done output.status(status), // 8-bit DCM status bits output.clkfb(clkfb), // DCM clock feedback.clkin(clkin), // Clock input (from IBUFG, BUFG or DCM).PSCLK(PSCLK), // Dynamic phase adjust clock input.psen(psen), // Dynamic phase adjust enable input.psincdec(psincdec), // Dynamic phase adjust increment/decrement.rst(rst) // DCM asynchronous reset input ); Dostęp do zasobów bibliotek z ISE: Project New Source Wybrać IP Coregen & Architecture Wizard i podać nazwę pliku.xaw Z listy wybrać potrzebny element (w tym wypadku single DCM_SP). Sposób alternatywny: Edit Language Templates Rozwinąć drzewo Verilog i kolejne poziomy aby znaleźć właściwy element (Device Primiyive Instantiation Spartan-3A Clock Component DCM_SP) W sąsiednim oknie dostępny będzie kod instansu wraz z obszernym opisem parametrów i portów Copy and Paste do swojego pliku *.v. AGH, WFiIS, IS, st.i, HDL 51

52 Biblioteki Xilinx a Xilinx dostarcza następujące biblioteki symulacyjne dla symulacji komórek pierwotnych i rdzeni: UNISIM funkcjonalne symulacje komórek pierwotnych UniMacro funkcjonalne symulacje makr XilinxCoreLib funkcjonalne symulacje rdzeni Xilinx EDK behawioralne symulacje elementów IP Xilinx Embedded Development Kit EDK SIMPRIM czasowe symulacje komórek pierwotnych SmartModel/SecureIP funkcjonalne i czasowe symulacje Xilinx Hard-IP, takich jak PPC, PCIe, GT, and TEMAC IP. Spartan-3A and Spartan-3A DSP Libraries Guide for HDL Designs (UG613 v14.7, 2013) AGH, WFiIS, IS, st.i, HDL 52

53 Biblioteki Xilinx a Elementy pierwotne na CLB lub SLICE Slice/CLB Primitives 32 Rejestry i zatrzaski Registers/Latches 11 Rejestry przesuwne w oparciu o LUT Shift Register LUT 8 Funkcje arytmetyczne Arithmetic Functions 4 Elementy zegarowe Clock Components 6 Elementy konfiguracji i testowania Config/BSCAN Components 6 Elementy wejścia-wyjścia I/O Components 15 Pamięci rozproszona o dostępie swobodnym Distributed RAM 10 Pamięci blokowa o dostępie swobodnym Block RAM 29 Pamięci stałe ROM 5 RAZEM 94 AGH, WFiIS, IS, st.i, HDL 53

54 Biblioteki Xilinx a Elementy pierwotne na CLB lub SLICE BUFCF Fast Connect Buffer LUT1 1-Bit Look-Up Table with General Output LUT1_D 1-Bit Look-Up Table with Dual Output LUT1_L 1-Bit Look-Up Table with Local Output LUT2 2-Bit Look-Up Table with General Output LUT2_D 2-Bit Look-Up Table with Dual Output LUT2_L 2-Bit Look-Up Table with Local Output LUT3 3-Bit Look-Up Table with General Output LUT3_D 3-Bit Look-Up Table with Dual Output LUT3_L 3-Bit Look-Up Table with Local Output LUT4 4-Bit Look-Up-Table with General Output LUT4_D 4-Bit Look-Up Table with Dual Output LUT4_L 4-Bit Look-Up Table with Local Output AGH, WFiIS, IS, st.i, HDL 54

55 Biblioteki Xilinx a Elementy pierwotne na CLB lub SLICE c. d. MULT_AND MUXCY MUXCY_D MUXCY_L MUXF5 MUXF5_D MUXF5_L MUXF6 MUXF6_D MUXF6_L MUXF7 MUXF7_D MUXF7_L MUXF8 MUXF8_D MUXF8_L XORCY XORCY_D XORCY_L Bramk AND z przeznaczeniem do budowy szybkich multiplikatorów 2-to-1 Multiplexer for Carry Logic with General Output 2-to-1 Multiplexer for Carry Logic with Dual Output 2-to-1 Multiplexer for Carry Logic with Local Output 2-to-1 Look-Up Table Multiplexer with General Output 2-to-1 Look-Up Table Multiplexer with Dual Output 2-to-1 Look-Up Table Multiplexer with Local Output 2-to-1 Look-Up Table Multiplexer with General Output 2-to-1 Look-Up Table Multiplexer with Dual Output 2-to-1 Look-Up Table Multiplexer with Local Output 2-to-1 Look-Up Table Multiplexer with General Output 2-to-1 Look-Up Table Multiplexer with Dual Output 2-to-1 look-up table Multiplexer with Local Output 2-to-1 Look-Up Table Multiplexer with General Output 2-to-1 Look-Up Table Multiplexer with Dual Output 2-to-1 Look-Up Table Multiplexer with Local Output XOR for Carry Logic with General Output XOR for Carry Logic with Dual Output XOR for Carry Logic with Local Output AGH, WFiIS, IS, st.i, HDL 55

56 Biblioteki Xilinx a Rejestry i zatrzaski (11) FDCE FDCE_1 FDCPE FDCPE_1 FDRSE FDRSE_1 IDDR2 ODDR2 LDCE LDCPE LDPE Przerzutnik D aktywny zboczem narastającym z zezwoleniem zegara i asynchronicznym kasowaniem Przerzutnik D aktywny zboczem opadającym z zezwoleniem zegara i asynchronicznym kasowaniem Przerzutnik D aktywny zboczem narastającym z zezwoleniem zegara i asynchronicznym kasowaniem i ustawianiem Przerzutnik D aktywny zboczem opadającym z zezwoleniem zegara i asynchronicznym kasowaniem i ustawianiem Przerzutnik D aktywny zboczem narastającym z zezwoleniem zegara i synchronicznym kasowaniem i ustawianiem Przerzutnik D aktywny zboczem opadającym z zezwoleniem zegara i synchronicznym kasowaniem i ustawianiem Wejściowy przerzutnik D typu DDR z opcjami: układanie danych, zezwolenie zegara, synch/asynch ustawanie/kasowanie Wyjściowy przerzutnik D typu DDR z opcjami: układanie danych, zezwolenie zegara, synch/asynch ustawanie/kasowanie Zatrzask przeźroczysty z zezwoleniem bramki i asynchronicznym kasowaniem Zatrzask przeźroczysty z zezwoleniem bramki i asynchronicznym kasowaniem i ustawianiem Zatrzask przeźroczysty z zezwoleniem bramki i asynchronicznym ustawianiem DDR Double Data Rate AGH, WFiIS, IS, st.i, HDL 56

57 Biblioteki Xilinx a Rejestry przesuwne w oparciu o LUT SRL16 16-Bit Shift Register Look-Up Table (LUT) SRL16_1 16-Bit Shift Register Look-Up Table (LUT) with Negative-Edge Clock SRL16E 16-Bit Shift Register Look-Up Table (LUT) with Clock Enable SRL16E_1 16-Bit Shift Register Look-Up Table (LUT) with Negative-Edge Clock and Clock Enable SRLC16 16-Bit Shift Register Look-Up Table (LUT) with Carry SRLC16_1 16-Bit Shift Register Look-Up Table (LUT) with Carry and Negative-Edge Clock SRLC16E 16-Bit Shift Register Look-Up Table (LUT) with Carry and Clock Enable SRLC16E_1 16-Bit Shift Register Look-Up Table (LUT) with Carry, Negative-Edge Clock, Clock Enable AGH, WFiIS, IS, st.i, HDL 57

58 Biblioteki Xilinx a Funkcje arytmetyczne (4) DSP48A MULT18X18 MULT18X18S MULT18X18SIO Wielofunkcyjny, kaskadowalny, 48-bitowy blok arytmetyczny Multiplikator ze znakiem Multiplikator ze znakiem - rejestrowany Multiplikator ze znakiem, kaskadowalny z opcjonalnymi rejestrami na wejściu i wyjściu, zezwalaniem zegara i synchronicznym kasowaniem AGH, WFiIS, IS, st.i, HDL 58

59 Biblioteki Xilinx a Elementy zegarowe (6) BUFG Globalny bufor zegara BUFGCE Globalny bufor zegara z zezwalaniem zegara BUFGCE_1 Globalny bufor zegara z zezwalaniem zegara; wyjście w stanie wysokim gdy zezwolenie niskie BUFGMUX Globalny bufor-multiplekser zegara BUFGMUX_1 Globalny bufor-multiplekser zegara; wyjście w stanie wysokim gdy zbocze jest na adresie DCM_SP Cyfrowy blok zarządzania zegarem DCM (Digital Clock Manager) AGH, WFiIS, IS, st.i, HDL 59

60 Biblioteki Xilinx a Elementy konfiguracji i testowania (BSCAN) (6) BSCAN_SPARTAN3A CAPTURE_SPARTAN3A DNA_PORT ICAP_SPARTAN3A SPI_ACCESS STARTUP_SPARTAN3A Logika dostępowa do rejestrów skanowania JTAG (Joint Test Action Group) Odczyt strumienia bitowego zawierającego stan rejestrów chwytających Port dostępu do identyfikatora DNA układu FPGA Port dostępu do konfiguracji FPGA Port dostępu do wewnętrznej pamięci stałej ISF (In-System Flash) Interfejs do sygnałów GSR (Global Set/Reset), GTS (Global TriState) i modyfikacji zegara startowego DNA to unikalny identyfikator urządzenia FPGA. Jest nieulotny, na stałe zaprogramowany w FPGA i jest niezmienny, dzięki czemu jest odporny na manipulacje Joint Test Action Group (JTAG) jest powszechnie stosowaną nazwą na intefejs początkowo przeznaczony do testowania obwodów drukowanych przy użycia skanowania rejestrów. Interfejs ten określony został normą IEEE Standard Test Access Port and Boundary- Scan Architecture (BSAN). AGH, WFiIS, IS, st.i, HDL 60

61 Elementy wejścia-wyjścia (15) Biblioteki Xilinx a IBUF IBUF_DLY_ADJ IBUFDS IBUFDS_DLY_ADJ IBUFG IBUFGDS IOBUF IOBUFDS KEEPER OBUF OBUFDS OBUFT OBUFTDS PULLDOWN PULLUP Bufor wejściowy Bufor wejściowy o dynamicznie dostrajanym opóźnieniu wejściowym Różnicowy bufor wejściowy Różnicowy bufor wejściowy o dynamicznie dostrajanym opóźnieniu wejściowym Bufor wejściowy przeznaczony dla sygnału zegarowego Różnicowy bufor wejściowy zegara z opcjonalnym opóźnieniem Bufor dwukierunkowy Trójstanowy, różnicowy bufor dwukierunkowy z wejściem zezwalającym aktywnym stanem niskim Element, który zachowuje wartość połączonej sieci Bufor wyjściowy Różnicowy bufor wyjściowy Trójstanowy bufor wyjściowy z wejściem zezwalającym aktywnym stanem niskim Różnicowy trójstanowy bufor wyjściowy z wejściem zezwalającym aktywnym stanem niskim Rezystor do masy GND dla padów wejściowych, otwartego drenu i trójstanowych wyjść. Rezystor do zasilania VCC dla padów wejściowych, otwartego drenu i trójstanowych wyjść. AGH, WFiIS, IS, st.i, HDL 61

62 Biblioteki Xilinx a Pamięci rozproszone o dostępie swobodnym RAM (4 z 10) RAM16X1D RAM16X1S RAM32X1S RAM64X1S Synchroniczna pamięć RAM o dwóch portach; 16-słów 1-bitowych Synchroniczna pamięć RAM; 16-słów 1-bitowych Synchroniczna pamięć RAM; 32-słów 1-bitowych Synchroniczna pamięć RAM; 64-słów 1-bitowych AGH, WFiIS, IS, st.i, HDL 62

63 Biblioteki Xilinx a Pamięci blokowe o dostępie swobodnym RAM (9 z 29) RAMB16BWE RAMB16BWE_S18 RAMB16BWE_S18_S18 RAMB16BWE_S18_S9 RAMB16BWE_S36 RAMB16BWE_S36_S18 RAMB16BWE_S36_S36 RAMB16BWE_S36_S9 RAMB16BWER Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; konfigurowalna dla słów 1-, 2-, 4-, 9-, 18-, 36-bitowych Synchroniczna pamięć RAM; 16k-słów 1-bitowych i 2k-bitów parzystości; port 18-bitowy Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; porty 18-bitowe Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; porty 18-bitowy i 9-bitowy Synchroniczna pamięć RAM; 512-słów 32-bitowych i 4-bity parzystości Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; porty 36-bitowy i 18-bitowy Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; porty 36-bitowe Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości; porty 36-bitowy i 9-bitowy Synchroniczna pamięć RAM o dwóch portach; 16k-słów 1-bitowych i 2k-bitów parzystości z opcjonalnym rejestrem wyjściowym AGH, WFiIS, IS, st.i, HDL 63

64 Biblioteki Xilinx a Pamięci stałe ROM (5) ROM16X1 Pamięć stała ROM 16-słów 1-bitowych ROM32X1 Pamięć stała ROM 16-słów 1-bitowych ROM64X1 Pamięć stała ROM 16-słów 1-bitowych ROM128X1 Pamięć stała ROM 16-słów 1-bitowych ROM256X1 Pamięć stała ROM 16-słów 1-bitowych AGH, WFiIS, IS, st.i, HDL 64

65 Biblioteki Xilinx a Biblioteka czasowa SIMPRIM Biblioteka funkcjonalna UNISIM `timescale 1 ps / 1 ps module BUF (O, I); output O; input I; buf B1 (O, I); endmodule `timescale 1 ps/1 ps module X_BUF (O, I); parameter LOC = "UNPLACED"; output O; input I; buf (O, I); specify (I => O) = (0:0:0, 0:0:0); specparam PATHPULSE$ = 0; endspecify endmodule AGH, WFiIS, IS, st.i, HDL 65

Projektowanie Systemów Cyfrowych

Projektowanie Systemów Cyfrowych Projektowanie Systemów Cyfrowych Prowadzący: dr inż. ż Andrzej jskoczeńń Układy programowalne generacji Spartan-3AN: Klasyfikacja: grupa, rodziny Paramatry układów rodziny Spartan-3AN Elementy architektury

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

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1 Kierunek Elektronika, III rok Języki Opisu Sprzętu Platforma sprzętowa Rajda & Kasperek 2016 Katedra Elektroniki AGH 1 Program wykładu Architektura układów FPGA Rodzina Xilinx Spartan-6 Platforma Digilent

Bardziej szczegółowo

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Konfiguracja układu DCM Digital

Bardziej szczegółowo

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

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

Programowalne Układy Logiczne. Wykład III FPGA dr inż. Paweł Russek Programowalne Układy Logiczne Wykład III FPGA dr inż. Paweł Russek Układy FPGA Cechy architektury Virtex II Fast look-ahead carry Wide functions Block Select RAM Distributed RAM 18 bitowe układy mnożące

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

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

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

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

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

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

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI Pierwszy projekt w środowisku ISE Design Suite Xilinx 1. Zapoznanie ze środowiskiem Xilinx ISE Design oraz językiem opisu sprzętu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych parametrów, tym szybszy dostęp do komórek, co przekłada się

Bardziej szczegółowo

Wykład 10. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń. 20 grudzień 2017

Wykład 10. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń. 20 grudzień 2017 Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Konstrukcje syntezowalne Przegląd syntezatorów Generacja i anotacja przypisów czasowych Warstwa fizyczna projektu układu ASIC Wykład 10 2017 20

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

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

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

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

Bardziej szczegółowo

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

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD Wymagania: V, GND Zasilanie LED podswietlenia (opcjonalne) Regulacja kontrastu (potencjometr) Enable Register Select R/W (LOW) bity szyny danych Systemy Wbudowane Arduino - rozszerzanie mgr inż. Marek

Bardziej szczegółowo

Podstawy elektroniki cz. 2 Wykład 2

Podstawy elektroniki cz. 2 Wykład 2 Podstawy elektroniki cz. 2 Wykład 2 Elementarne prawa Trzy elementarne prawa 2 Prawo Ohma Stosunek natężenia prądu płynącego przez przewodnik do napięcia pomiędzy jego końcami jest stały R U I 3 Prawo

Bardziej szczegółowo

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów cyfrowych

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

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

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: ETD623 Pamięć w układach programowalnych W6 4.4.28 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu Powtórka wiadomości Pamięć w układach

Bardziej szczegółowo

(przykład uogólniony)

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

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

RODZAJE PAMIĘCI RAM. Cz. 1

RODZAJE PAMIĘCI RAM. Cz. 1 RODZAJE PAMIĘCI RAM Cz. 1 1 1) PAMIĘĆ DIP DIP (ang. Dual In-line Package), czasami nazywany DIL - w elektronice rodzaj obudowy elementów elektronicznych, głównie układów scalonych o małej i średniej skali

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Pierwszy projekt w środowisku

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej

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

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

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

ZL10PLD. Moduł dippld z układem XC3S200

ZL10PLD. Moduł dippld z układem XC3S200 ZL10PLD Moduł dippld z układem XC3S200 Moduły dippld opracowano z myślą o ułatwieniu powszechnego stosowania układów FPGA z rodziny Spartan 3 przez konstruktorów, którzy nie mogą lub nie chcą inwestować

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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_pamięci(a).

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

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

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

Cyfrowe układy scalone

Cyfrowe układy scalone Cyfrowe układy scalone Ryszard J. Barczyński, 2012 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Publikacja współfinansowana ze środków

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

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

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

Ć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

Laboratorium Asemblerów, WZEW, AGH WFiIS Tester NMOS ów

Laboratorium Asemblerów, WZEW, AGH WFiIS Tester NMOS ów Pomiar charakterystyk prądowonapięciowych tranzystora NMOS Napisz program w asemblerze kontrolera picoblaze wykorzystujący możliwości płyty testowej ze Spartanem 3AN do zbudowania prostego układu pomiarowego

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

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy Załącznik nr 6 do SIWZ Szczegółowy opis przedmiotu zamówienia Ilość: 3 sztuki (kpl.) CPV 38434000-6 analizatory Część 1 - Laboratoryjny zestaw prototypowy Parametry urządzenia: Zintegrowany oscyloskop:

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

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

Bardziej szczegółowo

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

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

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

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2 Cyfrowe układy sekwencyjne 5 grudnia 2013 Wojciech Kucewicz 2 Układy sekwencyjne Układy sekwencyjne to takie układy logiczne, których stan wyjść zależy nie tylko od aktualnego stanu wejść, lecz również

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

Cyfrowe układy scalone

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

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

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

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci

Bardziej szczegółowo

Cyfrowe układy scalone c.d. funkcje

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

Bardziej szczegółowo

Opis przedmiotu zamówienia

Opis przedmiotu zamówienia Opis przedmiotu zamówienia Stanowiska do badań algorytmów sterowania interfejsów energoelektronicznych zasobników energii bazujących na układach programowalnych FPGA. Stanowiska laboratoryjne mają służyć

Bardziej szczegółowo

PAMIĘCI SYNCHRONICZNE

PAMIĘCI SYNCHRONICZNE PAMIĘCI SYNCHRONICZNE SDRAM SDRAM Synchroniczna, dynamiczna pamięć RAM Pamięci SDRAM to moduły 168-pinowe z 64-bitową magistralą (lub 72-bitową z kontrolą parzystości). Jest ich kilka rodzajów, ale te

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

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

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

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

Cyfrowe układy scalone

Cyfrowe układy scalone Ryszard J. Barczyński, 2 25 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Układy cyfrowe stosowane są do przetwarzania informacji zakodowanej

Bardziej szczegółowo

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania 43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania Typy pamięci Ulotność, dynamiczna RAM, statyczna ROM, Miejsce w konstrukcji komputera, pamięć robocza RAM,

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

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 8 Magistrale systemowe Magistrala Układy składające się na komputer (procesor, pamięć, układy we/wy) muszą się ze sobą komunikować, czyli być połączone. Układy łączymy ze

Bardziej szczegółowo

LEKCJA. TEMAT: Funktory logiczne.

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

Bardziej szczegółowo

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania. I. OPIS STANOWISKA DO BADANIA SILNIKÓW KROKOWYCH LINIOWYCH Pracą silnika można sterować za pomocą sterownika lub przez łącze szeregowe RS485/232 z komputera. Rysunek przedstawiający sposób podłączenia

Bardziej szczegółowo

Pamięć operacyjna komputera

Pamięć operacyjna komputera Pamięć operacyjna komputera Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera zwana pamięcią RAM (ang. Random Access Memory pamięć o swobodnym dostępie) służy do przechowywania danych

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,

Bardziej szczegółowo

Opis przedmiotu zamówienia CZĘŚĆ 1

Opis przedmiotu zamówienia CZĘŚĆ 1 Opis przedmiotu zamówienia CZĘŚĆ 1 Stanowiska do badań algorytmów sterowania interfejsów energoelektronicznych zasobników energii bazujących na układach programowalnych FPGA. Stanowiska laboratoryjne mają

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

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

Układy FPGA w przykładach, część 1 Układy FPGA w przykładach, część 1 K U R S Duże układy PLD tanieją w tempie zbliżonym do popularnych mikrokontrolerów, co spowodowało, że układy FPGA o dużych zasobach logicznych nie tylko są już tańsze

Bardziej szczegółowo

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source... 1. Synteza układów opisanych w języku VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL, także przetwornikiem

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

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW POLITECHNIKA POZNAŃSKA FILIA W PILE LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW numer ćwiczenia: data wykonania ćwiczenia: data oddania sprawozdania: OCENA: 6 21.11.2002 28.11.2002 tytuł ćwiczenia: wykonawcy:

Bardziej szczegółowo

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są

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

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

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

Bardziej szczegółowo

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB Ćw. 9 Przerzutniki 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami sekwencyjnymi, czyli przerzutnikami. Zostanie przedstawiona zasada działania przerzutników oraz sposoby

Bardziej szczegółowo

Bramki Instrukcja do laboratorium AGH w Krakowie Katedra Elektroniki Ernest Jamro Aktualizacja:

Bramki Instrukcja do laboratorium AGH w Krakowie Katedra Elektroniki Ernest Jamro Aktualizacja: Technika Cyfrowa i Układy Programowalne Bramki Instrukcja do laboratorium AGH w Krakowie Katedra Elektroniki Ernest Jamro Aktualizacja: 21-10-2016 1. Podłączenie układu Podłącz wyprowadzenia płytki z układem

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

SML3 październik

SML3 październik SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu

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

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

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Enkoder magnetyczny AS5040.

Enkoder magnetyczny AS5040. Enkoder magnetyczny AS5040. Edgar Ostrowski Jan Kędzierski www.konar.ict.pwr.wroc.pl Wrocław, 28.01.2007 1 Spis treści 1 Wstęp... 3 2 Opis wyjść... 4 3 Tryby pracy... 4 3.1 Tryb wyjść kwadraturowych...

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo