Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika. Wykład 1

Podobne dokumenty
Architektura układów FPGA

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

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

Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika. Wykład 7

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

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

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

Języki Opisu Sprzętu

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

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

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

Systemy na Chipie. Robert Czerwiński

Język opisu sprzętu VHDL

Literatura (w zakresie języka j

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

Cyfrowe układy scalone

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

Opis przedmiotu zamówienia CZĘŚĆ 1

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

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Cyfrowe układy scalone

LCD (Liquid Crystal Display)

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

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Układy reprogramowalne i SoC Wprowadzenie

OPBOX ver USB 2.0 Mini Ultrasonic Box with Integrated Pulser and Receiver

Rev Źródło:

Opis przedmiotu zamówienia

Elementy cyfrowe i układy logiczne

Cyfrowe układy scalone

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

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

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

Wybrane firmowe programowalne cyfrowe układy scalone PLD

Politechnika Warszawska

Systemy wbudowane. Układy programowalne

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

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

MAXimator. Zestaw startowy z układem FPGA z rodziny MAX10 (Altera) Partnerzy technologiczni projektu:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Wybrane zagadnienia projektowania i testowania PLD

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

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

Technika Mikroprocesorowa

Systemy Czasu Rzeczywistego FPGA

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

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

Układy programowalne

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

Elektronika i techniki mikroprocesorowe

MDK-Plus. Licencja Node-Locked 8260 EUR 5740 EUR 3340 EUR gratis 3300 EUR 2300 EUR 1330 EUR 650 EUR 3970 EUR 2760 EUR 1600 EUR

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara


Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Komp m u p t u ery w bu b d u o d wane Cezary Ziółkowski

Szkolenia specjalistyczne

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

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

Bezpieczeństwo informacji oparte o kryptografię kwantową

Systemy Czasu Rzeczywistego FPGA

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

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

Sensory w systemach wbudowanych Dr inż. Cezary Worek

Stosowanie tego urządzenia zwiększa możliwości stosowanego sprzętu jak i sofware.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

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

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

Moxa Solution Day Cezary Ziółkowski

1. Charakterystyka układu napędowego

Liczniki z zastosowaniem

Wygląd okna aplikacji Project Navigator.

Liczniki z zastosowaniem

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

Szkolenia specjalistyczne

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

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Projekt prostego procesora

Debugger/programator z interfejsem JTAG oraz SWD dla mikrokontrolerów ARM zgodny z KEIL ULINK 2. Gotronik

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

Programowanie Mikrokontrolerów

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

Rev Źródło:

Analiza i Synteza Układów Cyfrowych

Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3

Programowalne układy logiczne

System mikroprocesorowy i peryferia. Dariusz Chaberski

Programowalne układy logiczne kod kursu: ETD Wprowadzenie do techniki FPGA W mgr inż. Maciej Rudek dr inż.

Procesory rodziny x86. Dariusz Chaberski

Projektowanie automatów z użyciem VHDL

Systemy Czasu Rzeczywistego FPGA

Moduł mikrokontrolera PROTON (v1.1)

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

Technika mikroprocesorowa

Transkrypt:

Projektowanie systemów cyfrowych w językach opisu sprzętu Studium Zaoczne IV rok kierunek Elektronika Wykład 1

Program wykładu 1. Organizacja zajęć wykład, laboratorium, warunki zaliczenia 2. Układy PLD (Programmable Logical Devices) jako platforma sprzętowa dla HDL (Hardware Descrip. Lang.) układy SPLD (Simple PLD) i jak się to programowało... układy CPLD (Complex PLD) układy FPGA (Field Programmable Gate Array) 3. VHDL - wprowadzenie po co mi HDL? czyli parę uwag o historii... jak? gdzie? kiedy? przykłady środowisko projektowe AHDL Kontakt z prowadzącymi: C-3 p.502 tel. (617)3980 dr inż. Jerzy Kasperek kasperek@agh.edu.pl dr inż. Paweł J.Rajda pjrajda@agh.edu.pl C-3 p.413 tel. (617) 2702 mgr inż. Sebastian Głąb sglab@agh.edu.pl http://www.embedded.agh.edu.pl/?page_id=70 home.agh.edu.pl/~sglab/ 2

Technologiczne wahadło Makimoto s Wave 1957 to 67 Standard discrete devices (transistors, diodes) 1958 Opracowanie pierwszych układów scalonych 1964 Uruchomienie produkcji układów serii TTL 1967 to 77 Custom LSI for calculators, radio, TV 1971 Opracowanie 4 bitowego procesora p-mos/lsi 1974 Uruchomienie produkcji układów programowalnych 1977 to 87 Standard microprocessors, custom software 1978 Uruchomienie produkcji układów PAL (AMD) 1985 Uruchomienie produkcji układów FPGA (Xilinx) 1987 to 97 Custom logic in ASICs 1995 Układy FPGA większa produkcja niż układy GateArray <10K 1997 to 07 Standard Field-Programmable devices 1999 Układy FPGA większa produkcja niż wszystkie GateArray FPGA vs ASIC - it is a war!!! 3

RAW 2003 invited paper Reiner Hartenstein IEEE fellow Kaiserslautern University of Technology standard 1957 TTL custom hardwired 1967 LSI, MSI algorithm: fixed resources: fixed procedural programming µproc., memory 1977 1987 algorithm: variable resources: fixed ASICs, accel s vn machine paradigm structural programming 1997 2007 algorithm: variable resources: variable 2 sources new machine paradigm needed The Programmable System-on-a-Chip is the next wave 4

RAW 2003 invited paper Reiner Hartenstein IEEE fellow Kaiserslautern University of Technology Current Computer Science Education is based on the Submarine Model This model disables... Algorithm Brain usage: procedural-only procedural high level Programming Language Assembly Language Hardware invisible: under the surface Hardware 5

Hardware and Software as Alternatives procedural structural Algorithm partitioning Brain usage: both hemispheres Hardware, Configware Hardw/Configw only Software Software only Software & Hardw/Configw 6

Klasyfikacja układów PLD Source: Dataquest Logic Standard Logic ASIC Programmable Logic Devices (PLDs) Gate Arrays Cell-Based ICs Full Custom ICs SPLDs (PALs) CPLDs FPGAs SPLD = Simple Prog. Logic Device PAL = Programmable Array of Logic CPLD = Complex PLD FPGA = Field Prog. Gate Array Configurable Logic Blocks (CLB) memory Look-Up Table AND-OR planes simple gates Input / Output Blocks (IOB) bidirectional, latches, inverters, pullup/pulldown Interconnect or Routing local, internal feedback, and global ISP In System Programmable 7

Układy PLD Literatura Majewski, Łuba, Jasiński, Zbierzchowski, Programowalne moduły logiczne w syntezie układów cyfrowych Łuba, Markowski, Zbierzchowski, Komputerowe projektowanie układów cyfrowych w strukturach PLD Łuba, Jasiński, Zbierzchowski, Specjalizowane układy cyfrowe w strukturach PLD i FPGA Strony WWW producentów układów PLD www.actel.com www.altera.com www.atmel.com www.latticesemi.com www.xilinx.com i strony inne np. www.pldesignline.com www.fpgajournal.com www.design-reuse.com www.opencores.org 8

Firmy branży PLD 9

SPLD - Simple-Programmable Logic Devices PAL (Programmable Array Logic, AMD Vantis) PLA (Programmable Logic Array) GAL (Generic Array Logic, Lattice) 10

Podstawowa struktura układu typu PAL Układy typu PAL: programowalna matryca AND stała matryca OR 11

Przykład realizacji funkcji w układzie PAL 12

Układy PLD SPLD (Simple PLD) PAL (Programmable Array Logic) 16L8, 16R4, 16R6, 16R8 GAL (Generic Array Logic) 16V8, 20V8, 22V10, 26V12 PLA (Programmable Logic Array) 13

Układy PLD PAL16L8 Schemat blokowy i struktura układu 14

Układy PAL rodziny 12,14,16,20 Technologia bipolarna Jednokrotne programowanie przez przepalenia fuse Rozkodowanie symbolu PAL xx Y z xx - liczba wejść Y - L logika ujemna H logika dodatnia C wyjścia komplementarne R wersja z przerzutnikami synchronicznymi RA wersja z przerzutnikami asynchronicznymi X, A wersja z układami arytmetycznymi S wersja z dzielonymi iloczynami z - liczba wyjść (kombinacyjnych lub rejestrowych) 15

Układy GAL - Generic Array Logic Rok 1985 Technologia E 2 CMOS Wielokrotne programowanie Czas kasowania 100ms GAL16V8 GAL 20V10 - światowy standard 16

Układy GAL ISP (In System Programmable) HDPLD High Density PLD 17

Układy PLD GAL22V10 W większych układach GAL liczba termów nie jest równa dla każdego pinu 18

Układy PLD GAL22V10 Makrocela układu GAL 22V10 Przerzutnik D z wejściami: Asynchronic Reset (AR) Synchronic Set (SR) 19

Makrocela układu GAL22V10 20

SPLD wciąż na rynku... Firmy: Atmel Texas Instruments 2014 w ciągłej sprzedaży układy SPLD np. DigiKey (64 modele) 21

Architektura układów CPLD Typowa architektura układów CPLD: Makrocele (typu PAL) Matryce łączeniowe Technologia:CMOS Komórki konfigurujące: EPROM (UV + wersje OTP) EEPROM FLASH (ISP) CPLD- Przewidywalne opóźnienia (Predictable timing!!!) 22

CPLD - Complex-Programmable Logic Devices Altera (chyba lider na rynku CPLD..) Atmel (wsparcie dla standardowych rozwiązań np. 22V10 + military std) Lattice (chyba vice lider na rynku CPLD.. + nieocenione tradycje) Xilinx (segment CPLD jako uzupełnienie do FPGA) Wartości akcji firm Xilinx, Altera i Lattice w latach1990..2011 23

Oferta CPLD z firmy Lattice The Do-it-All PLD - MachXO2 Offers an unprecedented mix of low cost, low power and high system integration for system and consumer designs Most Versatile Non-Volatile PLD - MachXO Combines FPGA flexibility with CPLD performance, instant-on and high pin to logic ratio Ultra Low Power CPLD - ispmach 4000ZE As low as 10µA standby current, packages as small as 4x4 mm, 5V-tolerant I/Os + Mature devices (PAL, PALCE, GAL, ispgdx, isplsi 1k..8k,ORCA,MACH 1,2,4) 24

Przykład CPLD z firmy Lattice ispmach4000 Key Features and Benefits SuperFAST Performance 2.5 ns tpd Pin-to-Pin Delay 400 MHz System Performance Industry s Lowest Power Consumption 1.8V Core for Low Dynamic Power Low Static Current - 1.3-3 ma (1.8V Device Family) - 11.3-13 ma (2.5V and 3.3V Device Families) Multiple Temperature Range Options Commercial: 0 to 70º C TA (Ambient) Industrial: -40 to 85ş C TA (Ambient) Automotive: -40 to 125ş C TA (Ambient) Ease of Design Excellent First-Time Fit and Refit Capability 4 Global Clocks 36 Inputs per Logic Block Up to 80 Product Terms (PT) per Output ORP for Pin Locking Density Migration Flexible Control, Clocking and OE Fast, SpeedLocking, and Wide PT Paths 5V Tolerant Inputs and I/O Easy System Integration Operation with 1.8V, 2.5V and 3.3V Supplies 1.8V, 2.5V, 3.3V I/O Support IEEE 1532 In-System Programmable (ISP ) IEEE 1149.1 Boundary Scan Test Open Drain Output for Flexible Bus Interface Capability Programmable Pull-Up or Bus-Keeper Inputs Hot Socketing Capability 3.3V PCI Compatible Programmable Output Slew Rate Lead-free Package Options 25

Przykład CPLD z firmy Lattice ispmach4000 26

Przykład CPLD z firmy Lattice ispmach4000 27

Oferta CPLD z firmy Altera Układy MAX V, MAX II, MAX Oprogramowanie Środowisko Quartus II (dla CPLD darmowe) 28

Przykład CPLD Altera seria MAX V Feature Summary The following list summarizes the MAX V device family features: Low-cost, low-power, and non-volatile CPLD architecture Instant-on (0.5 ms or less) configuration time Standby current as low as 25 μa and fast power-down/reset operation Fast propagation delay and clock-to-output times Internal oscillator Emulated RSDS output support with a data rate of up to 200 Mbps Emulated LVDS output support with a data rate of up to 304 Mbps Four global clocks with two clocks available per logic array block (LAB) User flash memory block up to 8 Kbits for non-volatile storage with up to 1000 read/write cycles Single 1.8-V external supply for device core MultiVolt I/O interface supporting 3.3-V, 2.5-V, 1.8-V, 1.5-V, and 1.2-V logic levels Bus-friendly architecture including programmable slew rate, drive strength, bus-hold, and programmable pull-up resistors Schmitt triggers enabling noise tolerant inputs (programmable per pin) 29

CPLD Altera MAX V - architektura The CFM block provides the non-volatile storage for all of the SRAM configuration information. The CFM automatically downloads and configures the logic and I/O at power-up, providing instant-on operation. A portion of the flash memory within the MAX V device is partitioned into a small block for user data. This user flash memory (UFM) block provides 8,192 bits of general-purpose user storage. The UFM provides programmable port connections to the logic array for reading and writing. 30

CPLD Altera MAX V - połączenia LE zgrupowane po 10 w Logic Array Block Magistrale łączeniowe kolumny, wiersze Połączenia bezpośrednie LAB Połączenia bezpośrednie do I/O Globalne sygnały zegarowe 31

CPLD Altera MAX V bloki I/O i LE I/O block LVTTL, LVCMOS, LVDS, and RSDS I/O standards JTAG boundary-scan test (BST) support programmable drive strength control weak pull-up resistors during power-up and in system programming tri-state buffers with individual output enable bus-hold circuitry programmable pull-up resistors in user mode open-drain outputs Schmitt trigger inputs, programmable input delay Each LE contains: four-input LUT, programmable register (D, T, JK, or SR operation) carry chain with carry-select capability. supports dynamic single-bit addition or subtraction mode clock enable, preset, asynchronous load, and asynchronous data. 32

Oferta CPLD Xilinx 33

CPLD Xilinx seria XC95xx 34

CPLD Xilinx seria XC95xx Blok funkcyjny Makrocela 35

CPLD Xilinx seria XC95xx Optimized for high-performance 3.3V systems - 5 ns pin-to-pin logic delays, with internal system frequency up to 208 MHz - Small footprint packages including VQFPs, TQFPs and CSPs (Chip Scale Package) - Pb-free available for all packages - Lower power operation - 5V tolerant I/O pins accept 5V, 3.3V, and 2.5V signals - 3.3V or 2.5V output capability - Advanced 0.35 micron feature size CMOS FastFLASH technology Advanced system features - In-system programmable - Superior pin-locking and routability with FastCONNECT II switch matrix - Extra wide 54-input Function Blocks - Up to 90 product-terms per macrocell with individual product-term allocation - Local clock inversion with three global and one product-term clocks - Individual output enable per output pin with local inversion - Input hysteresis on all user and boundary-scan pin inputs - Bus-hold circuitry on all user pin inputs - Supports hot-plugging capability - Full IEEE Standard 1149.1 boundary-scan (JTAG) support on all devices Four pin-compatible device densities - 36 to 288 macrocells, with 800 to 6400 usable gates Fast concurrent programming Slew rate control on individual outputs Enhanced data security features Excellent quality and reliability - 10,000 program/erase cycles endurance rating - 20 year data retention Pin-compatible with 5V core XC9500 family in common package footprints 36

CPLD Xilinx CoolRunner 37

Aplikacje CPLD materiały Lattice 38

Aplikacje CPLD materiały Xilinx This Chapter contains the following topics: IrDA and UART Design in a CoolRunner CPLD Serial ADC Interface Using a CoolRunner CPLD Wireless Transceiver for the CoolRunner CPLD CoolRunner-II Smart Card Reader CoolRunner-II CPLD I2C Bus Controller Implementation CoolRunner-II Serial Peripheral Interface Master Design of a Digital Camera with CoolRunner-II CPLDs CompactFlash Card Interface for CoolRunner-II CPLDs Interfacing to Mobile SDRAM with CoolRunner-II CPLDs An SMBus/I2C-Compatible Port Expander Driving LEDs with Xilinx CPLDs CoolRunner-II CPLDs in Cell Phone Handsets/Terminals Implementing Keypad Scanners with CoolRunner-II Level Translation Using Xilinx CoolRunner-II CPLDs CoolRunner-II Character LCD Module Interface Using Xilinx CPLDs to Interface to a NAND Flash Memory Device Cell Phone Security Demoboard On The Fly Reconfiguration Technique Using CoolRunner-II with OMAP, XScale, i.mx & Other Chipsets Connecting Intel PXA27x Processors to Hard-Disk Drives with a CoolRunner-II CPLD A Low-Power IDE Controller Design Using a CoolRunner-II CPLD Using a Xilinx CoolRunner-II CPLD as a Data Stream Switch Supporting Multiple SD Devices with CoolRunner-II CPLDs 39

Aplikacje CPLD materiały Altera 40

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 do 10 milionów bramek do 500 MHz opóźnienia zależne macierz łączeniowa POŁĄCZENIA połączenia odcinkami 41

Układy FPGA literatura Strony WWW producentów układów FPGA Wielcy ( alfabetycznie) www.actel.com (Microsemi) www.altera.com www.atmel.com www.latticesemi.com www.quicklogic.com www.xilinx.com (wykład) Nowe podmioty na rynku FPGA http://www.achronix.com http://www.siliconbluetech.com http://www.tabula.com Plus ciekawostki http://www.easic.com i strony inne np. http://www.soccentral.com www.eetimes.com/design/programmable-logic 42

Cechy użytkowe układów FPGA Idealna technologia dla aplikacji dedykowanych Fast Time-to-Market Zalety integracji niski koszt, mały pobór mocy, małe wymiary, System on Chip Niższe koszty i mniejsze ryzyko niż układy ASIC no NRE, minimum order size nor inventory risk, no long delay in design and testing Bardzo szybkie przetwarzanie danych massively parallel operation much faster than DSP engines Reprogramowalne w każdym z etapów produkcji i użytkowania in design, in manufacturing, after installation allows unlimited product differentiation 43

Internet Recofigurable Logic 44

ASIC? ASSP? czy FPGA 45

ASIC? ASSP? czy FPGA Dotychczasowy sposób myślenia... 46

ASIC? ASSP? czy FPGA 47

ASIC? ASSP? czy FPGA 48

ASIC? ASSP? czy FPGA 49

ASIC? ASSP? czy FPGA 50

Architektura FPGA Bloki we/wy (Input Output Block) Bloki logiki (Configurable Logic Block) Zasoby połączeniowe 51

Architektura FPGA 52

Rynek układów FPGA Źródło: http://www.fpgadeveloper.com/2 011/07/list-and-comparison-offpga-companies.html Xilinx $2.4B in revenues in fiscal year 2011 (Intel $3.1B) 53

Oferta układów FPGA XILINX XC 2000 1985 0,8...1,5 tys. LGEs XC 3000 & 3100 /A/L 1987 1,5...7,5 tys. LGEs XC 4000 : A/H/D/E/L/EX/XL/XLT/XLA/XV 1990 2...250tys. LGEs XC 5200 1994 3...23 tys. LGEs XC 6200 1996 13...100 tys. LGEs XCS /XL (Spartan) 1997 5...40 tys. LGEs XCV E/EM (Virtex) 1998 58... 4.074 tys. LGEs XCS-2 (Spartan-2) 2000 15...200 tys. LGEs XCV-2 (Virtex-2) 2001 40...10.000 tys. LGEs XCS-3 (Spartan-3) 2004 XCV-4 (Virtex-4) 2004 XCV-5 (Virtex-5) 2007 XCS-6 (Spartan-6) 2009 3,8...147 tys. Logic Cells XCV-6 (Virtex-6) 2009 75...567 tys. Logic Cells XCV-7 (Virtex-7,Artix-7,Kintex-7) 2010-2016 8...1955 tys. Logic Cells 54

Xilinx Spartan3 technologia 90nm struktura gruboziarnista 50k 5.000k system gates 725 MHz max toggle frequency clock DCMs: 2...4 18-bitowe mnożarki: 4...104 pamięć użytkowa Select RAM+ rozproszona: do 520 Kb blokowa (18Kb): do 1872 Kb zewnętrzna pamięć konfiguracji SRAM (4 tryby + ReadBack) port JTAG zasilanie: (testowanie + konfiguracja) V CCINT : 1,2V V CCAUX : 2,5V V CCO : 1,2...3,3V 55

Spartan3 CLB CLB = 2 x LS = 4 x LC przerzutnik / zatrzask Clock Enable AP / AC / SS / SR LUT (Look-Up-Table) carry logic 56

Spartan3 CLB LUT LUT: 4-wejściowy generator funkcji SinglePort / DualPort RAM 16-stopniowy rejestr przesuwny 57

Spartan3 CLB multipleksery brak BUFT/BUFE funkcje magistral realizowane przez multiplexery inne multipleksery: CYMUX, BUFGMUX 58

Spartan3 Carry & Arithmetic logic sumator licznik mnożarka 59

Spartan3 Carry & Arithmetic logic sumator wide-and Equality Comparator Magnitude Comparator Wide-AND 60

Spartan3 - IOB DDR: pary przerzutników DDR mux każdy sygnał z core może być w inwersji Programowalne: pull-up pull-down weak-keeper DCI Digital Controlled Impedance delay 61

Spartan3 - IOB Interfejs z logiką 5V przy użyciu buforów LVTTL: wejścia (IBUF) I IK <100mA, <100wejść jednocześnie wyjścia (OBUF, OBUFT) ew. dodatkowy driver we/wy (IOBUF) nie: dwukierunkowy we. zegar. (IBUFG) konieczny dzielnik 62

Spartan3 LUT as Distributed RAM RAM32X1S RAM16X1D 63

Spartan3 LUT as Shift Register Zastosowania: długie linie opóźniające długie liczniki (także LFSR) synchroniczne FIFO generatory pseudolosowe 64

Spartan3 Block RAM 65

Spartan3 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) 66

Spartan3 mnożarki 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 67

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

Spartan3 DCM 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 69

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

Spartan3 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 podłączone do 3 Switch Matrix linie direct w 8 kierunkach przekazują sygnały z/do w/w zasobów 71

Spartan3 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) 72

Virtex 6 Spartan6 73

Virtex 6 Spartan6 74

Virtex 6 Spartan6 75

Spartan6 76

Virtex 6 Spartan6 77

Virtex 6 78

Virtex 6 Spartan6 79

Virtex 6 80

Virtex 6 81

Virtex 6 82

Virtex 6 83

Virtex 6 84

Virtex 6 Spartan6 85

Virtex 6 86

Virtex 6 87

Spartan6 88

Spartan6 89

Spartan6 90

Spartan6 91

Seria 7 92

Seria 7 93

Seria 7 94

EasyPath FPGA 95

EasyPath FPGA EasyPath FPGA 30..70 % cost FPGA 96

Digilent Spartan3 Starter Kit Board Układ XC3S200-FT256: macierz CLB 24 x 20 (480 CLBs, 4,320 LCs) 173 sygnały dla użytkownika max. 76 sygnałów różnicowych 30Kb pamięci rozproszonej 216Kb pamięci blokowej (12 bloków) 12 mnożarek 4 bloki DCM 97

Digilent Spartan3 Starter Kit Board układ XC3S200-FT256 pamięć FLASH konfiguracji 2Mb jumper konfiguracji szeregowej 2 układy pamięci statycznej 10ns 256K 16bitów złącze portu VGA (8 kolorów) złącze portu RS-232 driver portu RS-232 złącze dodatkowego portu RS-232 złącze portu PS/2 4-znakowy, multipleksowany wyświetlacz 7-segmentowy LED 8 przełączników 8 diod LED 4 przyciski oscylator 50MHz gniazdo dodatkowego oscylatora jumpery trybu konfiguracji przycisk PROGRAM dioda LED DONE złącze B1 rozszerzenia złącze A2 rozszerzenia złącze A1 rozszerzenia złącze sondy JTAG Centronics sonda JTAG Centronics (w zestawie) złącze sondy JTAG MultiPro zasilacz sieciowy 5V/2A (w zestawie) dioda LED POWER stabilizatory napięć zasilania 98

Digilent Nexys3 Starter Kit Board Xilinx Spartan6 XC6LX16-CS324 16Mbyte Micron Cellular RAM, 16Mbyte Micron Parallel PCM 16Mbyte Micron Quad-mode SPI PCM 10/100 SMSC LAN8710 PHY Digilent Adept USB port for power, programming & data transfers USB-UART Type-A USB host for mouse, keyboard or memory stick 8-bit VGA 100MHz fixed-frequency oscillator 8 slide switches, 4 push buttons, 4-digit 7seg display, 8 LEDs Four double-wide Pmod connectors, one VHDC connector 99

Digilent Altys Starter Kit Board The Spartan-6 LX45 is optimized for high-performance logic and offers: 6,822 slices each containing four 6-input LUTs and eight flipflops 2.1Mbits of fast block RAM 4 clock tiles (8 DCMs & 4 PLLs) 6 phased-locked loops 58 DSP slices 500MHz+ clock speeds Xilinx Spartan-6 LX45 FPGA, 324-pin BGA package 128Mbyte DDR2 16-bit wide data 10/100/1000 Ethernet PHY On-board USB2 ports for programming & data transfer USB-UART and USB-HID port (for mouse/keyboard) Two HDMI video input ports & two HDMI output ports AC-97 Codec with line-in, line-out, mic, & headphone Real time power monitors on all power rails 16Mbyte x4 SPI Flash for configuration & data storage 100MHz CMOS oscillator 48 I/O s routed to expansion connectors GPIO includes 8 LEDs, 6 buttons, & 8 slide switches 100

Altera - najnowsze układy FPGA Densities ranging from 25K logic elements (LEs) up to 1.1 million LEs Transceiver bandwidth ranging from 600 Mbps up to 28 Gbps Up to 40 percent lower total power compared to previous-generation FPGAs Hard processor system (HPS) with a dual-core ARM Cortex -A9 MPCore processor 101 integrated into the 28-nm Low-Power (28LP) FPGA fabric

FPGA firmy Lattice This is not to say that Lattice doesn t innovate. They do. In fact, Lattice basically created the mid-range FPGA category that both Xilinx and Altera have now adopted. When Lattice rolled out the first low-cost FPGA with high-speed serial interfaces, they sent their larger competitors into a spin, trying to rapidly re-define the line between their expensive, highend FPGAs with SerDes and their market-saturating low-cost FPGAs with conventional IO. Lattice has consistently looked at profitable market segments, designed better mouse traps specifically for those segments, and quietly raised victory flags over numerous applications in whose small ponds they had suddenly become the big fish.

FPGA firmy Actel (Microsemi) 103

Actel lider technologii antifuse 104

Cypress PSoC Programmable System-on-Chip 105

Cypress PSoC Programmable System-on-Chip 106

FPGA SoC (materiały firmy Altera) 107

Softprocessor for FPGA 108

Dlaczego ARM?? 109

Altera ARM based SoC SoC FPGAs integrate an ARM-based hard processor system (HPS) consisting of processor, peripherals, and memory interfaces with the FPGA fabric using a highbandwidth interconnect backbone. The Arria V SoC FPGAs reduce system power, system cost, and board size while increasing system performance by integrating discrete processor, FPGA, and digital signal processing (DSP) functions into a single, user customizable ARM-based system on a chip (SoC). SoC FPGAs provide the ultimate combination of hardened intellectual property (IP) for performance and power savings, with the flexibility of programmable logic

Xilinx PicoBlaze softprocessor PicoBlaze microcontroller supports the following features: 16 byte-wide general-purpose data registers 1K instructions of programmable on-chip program store, automatically loaded during FPGA configuration Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZERO indicator flags 64-byte internal scratchpad RAM 256 input and 256 output ports for easy expansion and enhancement Automatic 31-location CALL/RETURN stack Predictable performance, always two clock cycles per instruction, up to 200 MHz or 100 MIPS in a Virtex-II Pro FPGA Fast interrupt response; worst-case 5 clock cycles Optimized for Xilinx Spartan-3 architecture just 96 slices and 0.5 to 1 block RAM Support in Spartan-6, and Virtex-6,7 FPGA architectures Assembler, instruction-set simulator support 111

IDE for PicoBlaze (Mediatronix) 112

Xilinx Zynq-7000 Extensible Processing Platform 113

Język VHDL VHDL: po co? VHDL: co to jest? VHDL: jak, gdzie, kiedy? VHDL: przykłady VHDL: i co z tego? VHDL: narzędzia Active HDL ALDEC współpraca 114

VHDL po co? Złożoność projektów Wymogi pamięci: 1.50 na rok Wymogi CPU: 1.35 na rok Ogólnie prawo Moora: 2 co 2 lata 115

VHDL po co? Złożoność projektów Potrzeba narzędzia: 1970 - INTEL 4004 4 projektantów 1 tys tranzystorów 1982 - INTEL 80286 20 projektantów 100 tys tranzystorów 1992 - INTEL PENTIUM 100 projektantów 3 mln tranzystorów 2003 -??? 1000 projektantów 150 mln tranzystorów Współczesne wymagania: design reuse hardware-software codesign Rozwiązanie: wykorzystanie języka HDL (VHDL, Verilog, Handel C) 116

VHDL co to jest? Definicja VHDL - VHSIC Hardware Description Language Very High Speed Integrated Circuit It is "a formal notation intended for use in all phases of the creation of electronic systems.... it supports the development, verification, synthesis, and testing of hardware designs, the communication of hardware design data..." [IEEE Standard VHDL Language Reference Manual] 117

VHDL histora 1980 DoD USA początek programu rozwijania technologii układów VHSIC (Very High Speed Integrated Circuits) 1981 Woods Hole, Massachusetts - konferencja na temat założeń przyszłego standardu HDL 1983 DoD ustala założenia VHDL: VHSIC Hardware Description Language kontrakt otrzymują : Intermetrics, TI i IBM 1984 gotowa wersja 6.0 1985 zwolnienie z restrykcji ITAR (US International Traffic and Arm Regulation), VHDL 7.2 wraz z referencjami przekazany do IEEE celem standaryzacji i dalszego rozwoju 1987 wydany opis IEEE Std 1076 1993 wydana nowelizacja IEEE Std 1076-1993 2000 wydana errata IEEE Std 1076a-1993 2003 wydana nowelizacja IEEE Std 1076-2003 2005 przejęcie inicjatywy przez Accelera 2006 wydana nowelizacja IEEE Std 1076-2006 2008 wydana nowelizacja IEEE Std 1076-2008 118

VHDL teraźniejszość i przyszłość VHDL Analysis and Standarization Group (VASG) http://www.eda.org/vasg/ VHDL 200x TextIO enhancements/improvements Direct C/C++, Verilog calls / interface Performance XMR (Signal Spy) 119

VHDL jak, gdzie, kiedy? Zakres stosowania Modelowanie A(1..0) A= 01? Z Z <= 1 when A = 01 else 0 ; 120

VHDL jak, gdzie, kiedy? Zakres stosowania Symulacja A(1) A(0) Z 121

VHDL jak, gdzie, kiedy? Zakres stosowania Synteza (automatyczna) translacja opisu w języku HDL na strukturę w postaci listy połączeń elementarnych bloków funkcyjnych docelowej platformy sprzętowej (bramek, przerzutników, pamięci i innych). A(0) A(1) Z 122

VHDL jak, gdzie, kiedy? Projektowanie systemu 123

VHDL jak, gdzie, kiedy? Projektowanie systemu 124

VHDL jak? Jednostki projektowe entity name entity COMPARE is port (A,B: in bit; C: out bit); end COMPARE; architecture style of name architecture BEHAVIORAL of COMPARE is begin process (A,B) begin if (A=B) then C <= 1 ; else C <= 0 ; end if; end process; end arch_behavioral; 125

VHDL przykłady Dekoder entity DECODER is port(d: in bit_vector (0 to 3); ZERO: out boolean; ONE: out boolean; EIGHT: out boolean; NINE: out boolean); end DECODER; architecture FIRST of DECODER is begin NINE <= (D= 1001 ); EIGHT <= (D= 1000 ); ONE <= (D= 0001 ); ZERO <= (D= 0000 ); end FIRST; 126

VHDL przykłady Komparator entity COMPARE is port(a,b: in bit_vector (0 to 7); EQL: out bit_vector (0 to 7)); end COMPARE; architecture SECOND of COMPARE is begin EQL <= not (A xor B); end SECOND; 127

VHDL przykłady Multiplekser entity MPLEXER is port(d: in bit_vector (0 to 7); A: in integer range 0 to 7; X: out bit); end MPLEXER; architecture THIRD of MPLEXER is begin X <= D(A); end THIRD; 128

VHDL przykłady Licznik architecture FOURTH of COUNT is begin process (C, CLR) variable Q : integer; begin if CLR='1' then Q := 0; elsif C='1' and C'event then if CE='1' then if Q = 9 then Q := 0; else Q := Q + 1; end if; end if; end if; end process; end FOURTH; 129

VHDL i co z tego? Zalety Specyfikacja projektu niezależna od technologii możliwość współpracy z wieloma producentami uniknięcie problemów z wycofywanymi technologiami łatwe sprawdzanie opcjonalnych technologii łatwe ulepszenie i poprawy Automatyzacja projektowania niskiego poziomu krótszy czas projektowania redukcja kosztów eliminacja błędów niskiego poziomu Poprawa jakości projektu weryfikacja działania na wysokim poziomie łatwa weryfikacja implementacji modularność projektu łatwa wymiana do innych celów samodokumentacja 130

VHDL literatura A Guide to VHDL, S. Mazor, P. Langstraat VHDL Analysis and Modelling of Digital Systems, Z. Navabi VHDL Hardware Description and Design, R. Lipsett, C. Schaefer, C. Ussery The VHDL Cookbook, P. J. Ashenden VHDL programming: with advanced topics, L. Baker VHDL starter's guide, S. Yalamanchili VHDL for designers, S. Sjoholm, L. Lindh VHDL made easy!, D. Pellerin, D. Taylor VHDL answers to frequently asked questions, B. Cohen VHDL and AHDL digital systems implementation, F. A. Scarpino VHDL: język opisu i projektowania układów cyfrowych, W. Wrona Active-VHDL Series BOOK#2 EVITA Interactive Tutorial, J. Mirkowski, M. Kapustka, Z. Skowroński, A. Biniszkiewicz VHDL: a logic synthesis approach, D. Naylor, S. Jones 131

VHDL literatura Kevin Skahill Józef Kalisz Marek Zwoliński Włodzimierz Wrona 132

VHDL zasoby w Internecie VHDL: http://www.vhdl.org/ Grupa dyskusyjna: comp.lang.vhdl (FAQ - 4części) Accellera: http://www.accellera.org/ EDA Industry Working Groups homepage: http://www.eda.org/ FPGA Journal http://www.fpgajournal.com/ - (ładne lekcje ChalkTalk ) Design Automation Cafe: http://www.dacafe.com/ Doulos High Level Design Web site: http://www.doulos.com/ VHDL-online, University of Erlangen-Nürnberg: http://www.vhdl-online.de/ VHDL info pages of the Microelectronics Department (University of Ulm, Germany): http://mikro.e-technik.uni-ulm.de/vhdl/vhdl_infos.html 133

VHDL tutoriale Evita Interactive VHDL Tutorial from Aldec, Inc.: http://www.aldec.com Doulos High Level Design Web site; A Hardware Engineers Guide to VHDL: http://www.doulos.com/hegv/index.htm An Introductory VHDL Tutorial, Green Mountain Computing Systems: http://www.gmvhdl.com/vhdl.html VHDL Tutorial by Ulrich Heinkel, Thomas Bürner and Martin Padeffke (in English and German): http://www.vhdl-online.de/~vhdl/tutorial/ VHDL-FSM-Tutorial by Martin Padeffke: http://www.vhdl-online.de/fsm/ VHDL Verification Course by Stefan Doll: http://www.stefanvhdl.com/ 134

VHDL free IP cores OpenIP home page: http://www.opencores.org System On Chip http://www.soccentral.com/ Free behavioral models from Alatek: http://www.alatek.com/ The Hamburg VHDL archive: http://tams-www.informatik.uni-hamburg.de/research/vlsi/vhdl/ Rapid Prototyping of Application Specific Signal Processors (RASSP) www site: http://www.eda.org/rassp/ Doulos High Level Design Web site; Monthly-updated Original Models (developed by Doulos): http://www.doulos.com/fi/ A VHDL synthesizable model for the MICROCHIP PIC 16C5X microcontroller by Tom Coonan: http://www.mindspring.com/~tcoonan/ VHDL Library of Arithmetic Units developed by R. Zimmermann: http://www.iis.ee.ethz.ch/~zimmi/arith_lib.html 135

VHDL firmy (produkty) AccelChip Aldec, (Active-HDL) Altera Altium Cadence Design Systems Cypress Semiconductor (Warp) Green Mountain Computing Systems, (VHDL Studio) Lattice ISP Lever Magma Design Automation Mentor Graphic (ModelSim LeonardoSpectrum) Synopsys (FPGA Compiler, FPGA Express) Synplicity (SynplifyPro) Xilinx, (XST) 136

VHDL Aldec / Alatec Produkty Software (ActiveCAD, ActiveHDL, Riviera) Hardware-based Simulation Accelerators IP Cores Donacja dla laboratorium: Komputery 11 PC Oprogramowanie 50 sites license, keylocks Oddział Kraków! 137

VHDL Aldec / Alatec Praktyki Prace dyplomowe IP Cores P/ C: PIC17C4x, PIC16C5x, 8051-SoC peryferia: 8251-SIO, 8255-PIO, 8257-DMA, 8259-INT interfejsy: CAN, UART/IrDA, USB, I2S, LAN telekom: Reed-Solomon, Viterbi, Utopia, DTMF, MP3, ADPCM, Kasumi, AES i wiele innych! Praca 138

ActiveHDL proces projektowania 139

ActiveHDL moduły 140

ActiveHDL HDL 141

ActiveHDL BDE 142

ActiveHDL FSM 143

ActiveHDL Design Browser 144

ActiveHDL Waveform Viewer 145

Dziękuję za uwagę Ciąg dalszy nastąpi... 146