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 jskoczeńń Układy programowalne generacji Spartan-3AN: Klasyfikacja: grupa, rodziny Paramatry układów rodziny Spartan-3AN Elementy architektury Konfiguracja układów Spartan-3x Dodatek Październik 2014 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 od Xilinx a AGH, WFiIS, IS, st.i, HDL 2

3 ded Spartan 3 3A Exten 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 j ona 25 modeli układów w pięciu ę rodzinach stanowiącychą linięę rozwojową: Rodzina/Platforma 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 implementuje 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, zktórych każda składa sięę zkilku 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 ugóry, a w XC3S700AN i XC3S1400AN dodanod jeszcze po dwa w środku obu kolumn RAM multiplikatory). Bogata sieć ścieżek łączy pięć podstawowych bloków funkcjonalnych przesyłając miedzy nimi sygnały. Każdy element funkcjonalny związny 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 Każdy slice to układ taki jak CLB w rodzinie XC4000XL. AGH, WFiIS, IS, st.i, HDL 7

8 CLB rodziny XC4000XL Składa się z: Dwóch przerzutników D (konfigurowalne także jako zatrzaski), Dwóch 4 o wejściowych pamięci podręcznych LUT (funkcje F i G), Jednej 3 ój wejściowej pamięci podręcznej LUT (funkcja H), Wielu multiplekserów. Rozwiązanie CLB stosowane przez firmę Xilinx w rodzinach XC4000XL, Spartan, Spartan/XL. Dzięki zastosowaniu tablicy H, jeden CLB może realizować dowolna funkcje do 9 zmiennych. Przerzutniki D mają wspólny zegar K i wejścia umożliwiające EC. Akceptuja bezposrednio wejścia H1 i DIN albo wyjścia tablic F, G, H. Sposób kasowania określany jest wejsciem SR. Funkcje F i G zawieraja logike generacji przeniesienia, którą mozna łączyć bezpośrednio z sąsiednimi CLB w celu buduwy szybkich układów artmetycznych dowolnej długości. CLB może być skonfigurowany jako pamięć 16x2, 32x1 lub 16x1 bitów. Pamięć ta może być synchroniczna lub dwuportowa. 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 wrazliwy 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 IO Bank 0 DCM DCM IO Bank 1 BRAM Multiplikator BRAM Multiplikator DCM DCM Matryca CLB DCM DCM BRAM Multiplikator BRAM Multiplikator IO Bank 3 DCM DCM IO Bank 2 Ogólna jednorodna architektura FPGA Architektura Spartan 3AN model XC3S700AN AGH, WFiIS, IS, st.i, HDL 13

14 XC3S700AN Liczba CLB: n CLB = szt. Jeden CLB składa się z czterech SLICE ów: Liczba SLICE: n SLICE = n CLB 4 = szt. Jeden SLICE składa się zdwóchkomóreklogicznychlc: 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 = 4 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 i funkcjami elementów i zasobów je łączących. h 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ści MultiBoot. AGH, WFiIS, IS, st.i, HDL 19

20 Konfiguracja układów Spartan 3AN Po włączeniuą zasilania dane konfiguracyjne sąą przepisywane p do CCL iwewnątrzą FPGA używając jednego z siedmiu trybów: z wewętrznej pamięci SPI Flash (M2M1M0=011), łącze szeregowe do Xilinx Platform Flash PROM, wykorzystywane w pracowni Serial Peripheral Interface (SPI) z zewnętrznej stanadrdowej pamięci SPI Flash, Byte Peripheral Interface (BPI) z zewnętrznej stanadrdowej pamięci równoległej NOR Flash, Slave Serial, ładowane z procesora, Slave Parallel, ładowane z procesora, Boundary Scan (JTAG), ładowane z procesora lub testera systemowego. 33V 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 reconfiguartion) załadowanie konfiguracji gdy aplikacja nie działa i rebootowanie urządzenia, Dynamiczna (dynamic reconfiguartion) 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 CLBlubIOBalerzeczywiście konfigurują częśćę kilku zasobów logicznych lub połączeniowych (routing). Ramki zgrupowane są wwię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 Rozmiar ramki [słowa] s f 202 Rozmiar pamięci ikonfiguracyjnej j [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 ) słowo = 16 bitów 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 Funkcja operacji 0 0 NOP Po tym nagłówku następuje określona przez 5 najmniej j znaczących hbitó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 Command 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 IDCODE Device ID register 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 FAR Frame Address Register konfiguracyjnej danej. Zwykle strumień bitowy typu pełnego zaczyna sie od adresu 0 i jest inkrementowany az do końcowej wartości. FDRI COR 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: Konfiguracja Spartan a 3AN Budzenie z Czyszczenie Próbkowanie Synchro Sprawdzenie Ładowanie Sprawdzenie Sekwencja resetu nizacja ID konfiguracji CRC startowa pamięci konfiguracji Setup pinów sterujących M[2:0] i VS[2:0] Ładowanie strumienia bitowego 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ę znagłówka i odpowiadjącej mu wartości, które zapisywane są do rejestrów konfiguracyjnych sprzetu konfigurującego układ. Nagłówek określa: Typ operacji do wykonania na rejestrze konfiguracyjnym (zwykle null lub write), Adres rejestru do zapisania i (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łówkutypu1jestzbytmałe. Nie zawiera on pola adresu, które jest znany z poprzedzającego go nagłówka typu 1, aby powiększyć pole lczby słów danych. Komentarz 0xFFFFFFFF 0xAA Nagłóweg typu 1 Ładunek Nagłóweg typu 1 Ładunek... 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 AGH, WFiIS, IS, st.i, HDL 28...

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): 33Vlowvoltage 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 to 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, 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. LVDSwymaga 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 odbywasię poprzez odpowiednie ustawienie wartości atrybutu IOSTANDARD.Możeonbyć 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ę dowszystkichelementówwhierarchii, 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 Konfiguracja za pomocą UCF 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: NET pad_net_name IOSTANDARD=LVCMOS25 SLEW=SLOW DRIVE=12 Dostępne wartości: SLEW FAST SLOW QUIETIO DRIVE AGH, WFiIS, IS, st.i, HDL 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. 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 iiq2. 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 Data (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 przypadanachwilę ę 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, kó 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 0,5 mm mm 1,0 06 0,6 mm 30 o 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 0 36 IO różnicowych, 20 IO nieróżnicowych (w tym 6 napięć referencyjnych) h6 zasilań IO nieróżnicowych pięć referencyjnych h) Bank 3 owych, 2 IO n (w tym 2 na 6 zasilań IO 92 IO różnico Bank 2 36 IO różnicowych, 20 IO nieróżnicowych (w tym 6 napięć referencyjnych) 6 zasilań IO Bank 1 94 IO różnicow wych 6 zasilań IO SE Bank Diff Vcco 2 Diff razem razem 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, Wytwarzat przesunięcia i 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 czystyzegarzwypeł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 Czas martwy zegara Clock Rozmycie czasów skew przybycia zegara Całkowity czas jaki zabiera przebycie sygnału zegarowego g 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 Blok DCM przewiduje przyszłość? Idealne zsynchronizowanie zegara 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 wyzerowanieopóźnienia i i (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. f f = CLKIN CLKDV 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 1do32(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_SHIFTSHIFT 0 CLK_FEEDBACK DESKEW_ADJUST Aktywacja dodatkowego dzielenia przez 2 sygnału zegara na wejściu TRUE / FALSE Określenie trybu przesunięcia fazy. Wartości: NONE / FIXED / VARIABLE. Wwersji 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 1X 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( 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 Dostęp do zasobów bibliotek z ISE:.CLK2X180(CLK2X180), // 2X, 180 degree DCM CLK out Project New Source.CLK90(CLK90), // 90 degree DCM CLK output t.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 ); 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 czasaowe symulacje Xilinx Hard IP, takich jak PPC, PCIe, GT, and TEMAC IP. AGH, WFiIS, IS, st.i, HDL 52

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

54 Biblioteki Xilinx a Funkcje arytmetyczne DSP48A Wielofunkcyjny, kaskadowalny, 48 bitowy blok arytmetyczny MULT18X18SIO Multiplikator z opcjonalnymi rejestrami na wejściu i wyjściu, zezwalaniem zegara i synchronicznym kasowaniem AGH, WFiIS, IS, st.i, HDL 54

55 Biblioteki Xilinx a Elementy zegarowe BUFG BUFGCE BUFGMUX DCM_SP IBUFG IBUFGDS Globalny bufor zegara Globalny bufor zegara z zezwalaniem zegara Globalny bufor multiplekser zegara Cyfrowy blok zarządzania zegarem (Digital Clock Manager) Bufor wejściowy zegara Różnicowy bufor wejściowy zegara z opcjonalnym opóźnieniem AGH, WFiIS, IS, st.i, HDL 55

56 Biblioteki Xilinx a Elementy konfiguracji i testowania (BSCAN) BSCAN_SPARTAN3A CAPTURE_SPARTAN3A DNA_PORT ICAP_SPARTAN3A SPI_ACCESS STARTUP_SPARTAN3A Logika dostępowa do rejestrów skanowania JTAG Odczyt strumienia bitowego zawierającego stan rejestrów Port dostępu do danych Device DNA Data Access Port Internal Configuration Access Port Internal Logic Access to the Serial Peripheral Interface (SPI) PROM Data Spartan 3A Global Set/Reset, Global 3 State and Configuration Start Up Clock Interface 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. The use of scan registers to capture state from device input and output pins Interfejs ten określony został normą IEEE Standard Test Access Port and Boundary Scan Architecture (BSAN). AGH, WFiIS, IS, st.i, HDL 56

57 Biblioteki Xilinx a Elementy wejścia wyjścia IBUF Bufor wejściowy IBUF_DLY_ADJ Bufor wejściowy o dynamicznie dostrajanym opóźnieniu wejściowym IBUFDS Różnicowy bufor wejściowy IBUFDS_DLY_ADJ Różnicowy bufor wejściowy o dynamicznie dostrajanym opóźnieniu wejściowym IBUFG Bufor wejściowy przeznaczony dla sygnału zegarowego IBUFGDS Differential Signaling Dedicated Input Clock Buffer and Optional Delay IOBUF Bufor dwukierunkowy IOBUFDS 3 State Differential Signaling I/O Buffer with Active Low Output Enable KEEPER KEEPER Symbol OBUF Bufor wyjściowy OBUFDS Differential Signaling Output Buffer OBUFT 3 State Output Buffer with Active Low Output Enable OBUFTDS 3 State Output Buffer with Differential Signaling, Active Low Output Enable PULLDOWN Resistor to GND for Input Pads, Open Drain, and 3 State Outputs PULLUP Resistor to VCC for Input PADs, Open Drain, and 3 State Output AGH, WFiIS, IS, st.i, HDL 57

58 Pamięci o dostępie swobodnym RAM Biblioteki Xilinx a RAM16X1D 16 Deep by 1 Wide Static Dual Port Synchronous RAM RAM16X1S 16 Deep by 1 Wide Static Synchronous RAM RAM32X1S 32 Deep by 1 Wide Static Synchronous RAM RAM64X1S 64 Deep by 1 Wide Static Synchronous RAM RAMB16BWE 16K bit Data and 2K bit Parity Configurable Synchronous Dual Port Block RAM RAMB16BWE_S18 Primit16K bit Data and 2K bit Parity Synchronous Single Port Block RAM with 18 bit Port RAMB16BWE_S18_S18 16K bit Data and 2K bit Parity Synchronous Dual Port Block RAM with 18 bit Ports RAMB16BWE_S18_S9 16K bit Data and 2K bit Parity Synchronous Dual Port Block RAM with 18 bit and 9 bit Ports RAMB16BWE_S36 16K bit Data and 2K bit Parity Synchronous Single Port Block RAM with 36 Bit Port RAMB16BWE_S36_S18 16K bit Data and 2K bit Parity Synchronous Dual Port Block RAM with 36 bit and 18 bit Ports RAMB16BWE_S36_S36 Prim16K bit Data and 2K bit Parity Synchronous Dual Port Block RAM with 36 bit Ports RAMB16BWE_S36_S9 16K bit Data and 2K bit Parity Synchronous Dual Port Block RAM with 36 bit and 9 bit Ports RAMB16BWER 16K bit Data and 2K bit Parity Configurable Synchronous Dual Port Block RAM with Optional Output Registers AGH, WFiIS, IS, st.i, HDL 58

59 Biblioteki Xilinx a Pamięci stałe ROM ROM128X1 ROM16X1 ROM256X1 ROM32X1 ROM64X1 128 Deep by 1 Wide ROM 16 Deep by 1 Wide ROM 256 Deep by 1 Wide ROM 32 Deep by 1 Wide ROM 64 Deep by 1 Wide ROM AGH, WFiIS, IS, st.i, HDL 59

60 Rejestry i zatrzaski Biblioteki Xilinx a FDCPE D Flip Flop with Clock Enable and Asynchronous Preset and Clear FDCPE_1 D Flip Flop with Negative Edge Clock, Clock Enable, Asynchronous Preset,Clear FDRSE D Flip Flop l with Synchronous Reset and Set and Clock Enable FDRSE_1 D Flip Flop with Negative Clock Edge, Synchronous Reset and Set, Clock Enable IDDR2 Double Data Rate Input D Flip Flop with Optional Data Alignment, Clock Enable and Programmable Synchronous or Asynchronous Set/Reset LDCPE Transparent Data Latch with Asynchronous Clear and Preset and Gate Enable ODDR2 Dual Data Rate Output D Flip Flop with Optional Data Alignment, Clock Enable and Programmable Synchronous or Asynchronous Set/Reset AGH, WFiIS, IS, st.i, HDL 60

61 Biblioteki Xilinx a Rejestry przesuwne w oparciu o LUT SRL16 16 Bit Shift Register Look Up Table (LUT) SRL16_11 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 61

62 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 62

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

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

Projektowanie Systemów Cyfrowych

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

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

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

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

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

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

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

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

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

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

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

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

Liczniki z zastosowaniem

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

Bardziej szczegółowo

Temat: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

Bardziej szczegółowo

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

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

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

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

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

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

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

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

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

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

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

Ć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

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

Ć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

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

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

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

Ć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

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

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

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

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

Bardziej szczegółowo

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

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

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

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

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

Projekt prostego procesora

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

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

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

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

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

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

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe Bufory (BUFFER) Bufory stosuje się po to by: - zwiększyć obciążalność magistrali - chronić układ wysokiej skali integracji - sterować przepływem danych HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy

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

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

UKŁADY CYFROWE. Układ kombinacyjny

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

Bardziej szczegółowo

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

Podział układów cyfrowych. rkijanka

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

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Pamięci Układy pamięci kontaktują się z otoczeniem poprzez szynę danych, szynę owa i szynę sterującą. Szerokość szyny danych określa liczbę bitów zapamiętywanych do pamięci lub czytanych z pamięci w trakcie

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

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

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

Bardziej szczegółowo

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

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

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

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

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

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

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

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

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