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

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

Architektura układów FPGA

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

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

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

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

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

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

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

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Systemy wbudowane. Układy programowalne

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

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

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

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

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

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

Cyfrowe układy scalone

napięcie-częstotliwość

Architektura komputerów

Współczesne techniki informacyjne

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

Interfejsy szeregowe TEO 2009/2010

Cyfrowe układy scalone

Programowalne Układy Cyfrowe Laboratorium

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

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

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Opis przedmiotu zamówienia

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

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Temat: Pamięci. Programowalne struktury logiczne.

Architektura komputerów

Opis przedmiotu zamówienia CZĘŚĆ 1

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

Technika Mikroprocesorowa

Cyfrowe układy scalone

(przykład uogólniony)

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

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

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

ZL10PLD. Moduł dippld z układem XC3S200

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

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

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

Transceiver do szybkiej komunikacji szeregowej i pętla fazowa do ogólnych zastosowań

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Literatura (w zakresie języka j

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

Altera MAX10: nowa generacja FPGA i jej nowe możliwości

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

Procesory sygnałowe (Analog Devices)

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

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

Programowanie Mikrokontrolerów

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

Systemy uruchomieniowe

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

Systemy Czasu Rzeczywistego FPGA

Układy kombinacyjne - przypomnienie

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Systemy Czasu Rzeczywistego FPGA

REALIZACJA KONTROLERÓW

Mikrokontroler AVR ATmega32 - wykład 9

Układy logiczne układy cyfrowe

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

Wykład Mikroprocesory i kontrolery

Cyfrowe układy scalone c.d. funkcje

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

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

Systemy Czasu Rzeczywistego FPGA

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

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Zwiększanie wiarygodności systemów wykorzystujących układy programowalne

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

Politechnika Warszawska

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Układy reprogramowalne i SoC Implementacja w układach FPGA

Liczniki z zastosowaniem

Szkolenia specjalistyczne

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

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Liczniki z zastosowaniem

Programowalne układy logiczne

PAMIĘCI SYNCHRONICZNE

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

Język opisu sprzętu VHDL

Specyfikacja Techniczna Opis przedmiotu zamówienia

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

Układy logiczne układy cyfrowe

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Transkrypt:

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 Nexys Rajda & Kasperek 2016 Katedra Elektroniki AGH 2

Architektura układów FPGA CPLD kontra FPGA typu PAL więcej logiki kombinacyjnej mała / średnia wielokrotna struktura 22V10 do ~300 MHz przewidywalne opóźnienia ARCHITEKTURA GĘSTOŚĆ SZYBKOŚĆ typu Gate Array więcej przerzutników średnia / duża / bardzo duża do 10 milionów bramek do ~1000 MHz opóźnienia zależne macierz łączeniowa POŁĄCZENIA połączenia odcinkami Rajda & Kasperek 2016 Katedra Elektroniki AGH 3

Architektura układów FPGA Zasoby użytkowe Bloki we/wy (Input Output Block) Bloki logiki (Configurable Logic Block i inne specjalizowane) Zasoby połączeniowe (Logic Interconnect) Rajda & Kasperek 2016 Katedra Elektroniki AGH 4

Architektura układów FPGA Zasoby użytkowe a pamięć konfiguracji Rajda & Kasperek 2016 Katedra Elektroniki AGH 5

Architektura układów FPGA Pamięć konfiguracji zapis podczas konfiguracji i odczyt podczas weryfikacji podczas normalnej pracy tranzystor wyłączony jeden bit danych - steruje jednym punktem konfiguracji niewrażliwa na duże dawki promieniowania alfa Rajda & Kasperek 2016 Katedra Elektroniki AGH 6

Parametry podstawowe technologia 45nm struktura gruboziarnista 4k 150k komórek logicznych 5k 185k przerzutników 862 MHz max toggle frequency clock CMTs: 2...6 pamięć użytkowa Select RAM+ rozproszona: do 1355 Kb blokowa (18Kb): do 4824 Kb zewnętrzna MCB 18-bitowe DSP MAC: 8...180 PCIe 0 1, GTP 0 8, MCB 0 4 User I/Os: 102 576 pamięć konfiguracji SRAM port JTAG (test + konfiguracja) zasilanie: V CCINT : 1,2V V CCAUX : 2,5V V CCO : 1,2...3,3V Rajda & Kasperek 2016 Katedra Elektroniki AGH 7

Configurable Logic Block CLB = 2 x LS = 8 x LC Logic Cell: 2 przerzutniki / 1 zatrzask Clock Enable AP / AC / SS / SR 6-we LUT (Look-Up-Table) carry logic Rajda & Kasperek 2016 Katedra Elektroniki AGH 8

Configurable Logic Block SLICEM SLICEL SLICEX Rajda & Kasperek 2016 Katedra Elektroniki AGH 9

Configurable Logic Block / Look-Up-Table 6-wejściowy generator funkcji SinglePort / DualPort RAM 32-stopniowy rejestr przesuwny Rajda & Kasperek 2016 Katedra Elektroniki AGH 10

Configurable Logic Block: LUT i multipleksery Mux 2:1 / Fun 6-we Mux 4:1 / Fun 7-we (do 13-we) Mux 8:1 / Fun 8-we (do 27-we) Rajda & Kasperek 2016 Katedra Elektroniki AGH 11

Xilinx Spartan-3 Configurable Logic Block: Carry & Arithmetic Equality Comparator Magnitude Comparator Licznik Wide-AND Rajda & Kasperek 2016 Katedra Elektroniki AGH 12

LUT: SRL Shift Register Zastosowania: długie linie opóźniające długie liczniki (także LFSR) synchroniczne FIFO generatory pseudolosowe Mutacje: podwójny 16-bitowy kaskada: 64, 96, 128-bit dłuższe połączenia ogólne Rajda & Kasperek 2016 Katedra Elektroniki AGH 13

Xilinx Spartan-3 LUT: Distributed RAM Rajda & Kasperek 2016 Katedra Elektroniki AGH 14

Block RAM blok 18Kb = 2 bloki 9Kb Single-Port, Dual-Port (Simple/True Mode) Rajda & Kasperek 2016 Katedra Elektroniki AGH 15

Block RAM Zastosowania: duże pamięci (łączenie) pamięci ROM rejestry FIFO pamięć programu dla µp bufory kołowe linie opóźniające złożone automaty złożone funkcje logiczne szybkie, długie liczniki pamięci CAM pamięci 4-portowe tablice funkcji (DDS) Rajda & Kasperek 2016 Katedra Elektroniki AGH 16

Memory Control Block (MCB) do 4 kontrolerów DDR, DDR2, DDR3, LPDDR do 4Gb pojemności do 800MT/s interfejs 4/8/16-bit 12,8Gb/s 1 6 portów wewnętrznych (2 x 2-kier., 4 x 1-kier.) porty 32/64/128-bit Rajda & Kasperek 2016 Katedra Elektroniki AGH 17

Blok DSP48A1 18-bitowe czynniki 36-bitowy iloczyn mnożenie w kodzie U2 opcjonalne rejestry łączenie w większe podział na mniejsze Zastosowania: mnożenie przesuwanie obliczanie modułu generowanie wartości U2 mnożenie zespolone mnożenie macierzy (z podziałem czasu) mnożenie zmiennoprzecinkowe Rajda & Kasperek 2016 Katedra Elektroniki AGH 18

Xilinx Spartan-3 Blok DSP48A1 Rajda & Kasperek 2016 Katedra Elektroniki AGH 19

PCIe Integrated Endpoint Block 0 1 kontrolerów 32-bit user interface 1 lane 2.5 Gb/s Rajda & Kasperek 2016 Katedra Elektroniki AGH 20

GTP Transceivers do 8 transceiverów 614 810Mb/s 1.22 1.62 Gb/s 2.45 3.125 Gb/s 8b/10b coding PCIe/SATA support horizontal eye-scan Rajda & Kasperek 2016 Katedra Elektroniki AGH 21

Input / Output Banks Unipolarne: LVTTL 3.3V LVCMOS 2.5V / 1.8V / 1.5V / 1.2V PCI, I2C, SMBUS, SDIO HSTL, SSTL Różnicowe: LVDS 3.3V / 2.5V, BLVDS, LVPECL display: DP, RSDS, TMDS, PPDS Rajda & Kasperek 2016 Katedra Elektroniki AGH 22

Input / Output Tile Programowalne: pull-up / pull-down weak-keeper DCI (Digital Controlled Impedance) Output Drive Strength (2 24mA) Rajda & Kasperek 2016 Katedra Elektroniki AGH 23

OLOGIC / OSERDES SDR / DDR OFF3 data alignment serializacja 2..8 bitów (5..8 kaskada) niezależna ścieżka Tri-State training pattern Rajda & Kasperek 2016 Katedra Elektroniki AGH 24

ILOGIC / ISERDES SDR / DDR deserializacja 2..8 bitów (5..8 kaskada) bit-slip 3 stopnie synchronizacji Rajda & Kasperek 2016 Katedra Elektroniki AGH 25

IODELAY 256 taps (max 1 bit) master/slave Rajda & Kasperek 2016 Katedra Elektroniki AGH 26

Xilinx Spartan-3 Clock resources 16 wejść zegarów globalnych GCLK po 8 wejść zegarów lokalnych LH/RHCLK 2...8 układów DCM (Digital Clock Manager) dystrybucja kwadrantowa Rajda & Kasperek 2016 Katedra Elektroniki AGH 27

Xilinx Spartan-3 Digital Clock Manager Bloki DCM: DLL (Delay Locked Loop) DFS (Digital Frequency Synthesizer) PS (Phase Shifter) Status Logic Fukcje DCM: eliminacja różnic fazy przesuwanie fazy mnożenie / dzielenie częstotliwości zegara korekcja współczynnika wypełnienia DLL: F in 2 DLL: F in / 1.5, 2, 2.5 7.5, 8 16 DLL: F in >> 0 / 90 / 180 / 270 DFS: F in M/D; M=2...32, D=1..32 Rajda & Kasperek 2016 Katedra Elektroniki AGH 28

Floorplan Rajda & Kasperek 2016 Katedra Elektroniki AGH 29

Zasoby połączeniowe Rajda & Kasperek 2016 Katedra Elektroniki AGH 30

Zasoby połączeniowe Rajda & Kasperek 2016 Katedra Elektroniki AGH 31

Xilinx Spartan-3 Zasoby połączeniowe Interconnect Tile: Switch Matrix podłaczona do elementu funkcyjnego (CLB, IOB, DCM, BRAM, MULT) Połączenia: long lines hex lines double lines direct lines Rajda & Kasperek 2016 Katedra Elektroniki AGH 32

Xilinx Spartan-3 Zasoby połączeniowe 24 linie pionowe i poziome na każdy wiersz i kolumnę, rozciągnięte przez cały układ podłączone co 6 Switch Matrix 8 linii hex w 4 kierunkach sterowanie tylko na początku odbiór w połowie i na końcu podłączone co 3 Switch Matrix 8 linii double w 4 kierunkach sterowanie tylko na początku odbiór w połowie i na końcu linie direct w 8 kierunkach przekazują sygnały z/do w/w zasobów Rajda & Kasperek 2016 Katedra Elektroniki AGH 33

Konfiguracja Tryby konfiguracji: Slave Serial Master Serial Slave Parallel (SelectMAP) Boundary Scan (JTAG) ReadBack: weryfikacja pamięci konfiguracji oraz stanów przerzutników i zawartości pamięci (debug) Rajda & Kasperek 2016 Katedra Elektroniki AGH 34

Sygnały globalne: GSR i GTS GSR Global Set/Reset GTS Global Tri-State Rajda & Kasperek 2016 Katedra Elektroniki AGH 35

Digilent Nexys 3 Spartan-6 FPGA Board Zasoby FPGA Układ XC6LX16-CSG324C: 14,579 Logic Cells = 2,278 Slices 18,224 przerzutników 232 sygnały dla użytkownika w 4 bankach 136Kb pamięci rozproszonej 576Kb pamięci blokowej w 32 blokach 32 bloki DSP48A1 2 bloki CMT 2 bloki MCB Rajda & Kasperek 2016 Katedra Elektroniki AGH 36

Digilent Spartan-3 Starter Kit Board Zasoby PCB Rajda & Kasperek 2016 Katedra Elektroniki AGH 37

Digilent Spartan-3 Starter Kit Board Zasoby PCB Rajda & Kasperek 2016 Katedra Elektroniki AGH 38

Digilent Spartan-3 Starter Kit Board Zasoby PCB Rajda & Kasperek 2016 Katedra Elektroniki AGH 39

Ciąg dalszy nastąpi Rajda & Kasperek 2016 Katedra Elektroniki AGH 40