Projektowanie systemów cyfrowych w językach opisu sprzętu Studium Zaoczne IV rok kierunek Elektronika Wykład 7
Program wykładu 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) 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
Dziękuję za uwagę To już jest koniec... 114