Programovatelné obvody, trendy, projekty FEL
Transkript
Programovatelné obvody, trendy, projekty FEL Fakulta elektrotechnická Západočeská univerzita v Plzni www.fel.zcu.cz Martin Poupa Katedra aplikované elektroniky a telekomunikací Obsah Výrobci a architektury prog. log. obvodů Programovací a simulační jazyky Návrh prog. log. obvodů Softwarové procesory v obvodech FPGA Hardwarové procesory v obvodech FPGA Projekty na FEL s obvody FPGA Martin Poupa, KAE FEL ZČU 2 Výrobci PLD obvodů založena 1983 1984 první EPLD Obrat $1954 M/rok založena 1984 1985 první FPGA 1988 první CPLD Obrat $2369 M/rok Pět největších výrobců: Lattice Semiconduct or 6% Microsemi (Actel) 4% QuickLogic 1% Altera 40% Xilinx 49% Podíl na trhu v roce 2010 podle obratu Martin Poupa, KAE FEL ZČU 3 Architektury PLD obvodů (SPLD,CPLD) • SPLD (Simple PLD), EPLD – obvody řady GAL, ispGAL, aj. – nízký počet hradel – nízký počet klopných obvodů – E2PROM, některé ISP prog. • CPLD (Complex PLD) – Altera: MAX3000, MAX7000 – Lattice: ispMACH, ispLSI, ispXPLD – Xilinx: XC9500, CoolRunner – 600 – 12k hradel (Altera, Xilinx) – 600 - 300k hradel, 512 kbit SRAM (Lattice) – ISP programování: IEEE Std 1149.1 nebo IEEE Std 1532 – Napájecí napětí 5V; 3,3V; 2.5V; 1.8V; 1.5V; 1.2V – E2PROM, většina dnes Flash Martin Poupa, KAE FEL ZČU 4 Architektury CPLD obvodů Architektury CPLD obvodů se skládají z: Velkého centrálního propojovacího pole Funkčních bloků skládajících se z: logický blok GND VCCIO I/O blok výstupní propojovací pole TMS TCK GND VCC TDI TDO .. . .. . I/O blok logický blok logický blok výstupní propojovací pole .. . výstupní propojovací pole .. . logický blok velké centrální propojovací pole GCLK výstupní propojovací pole GND VCCIO Výstupního propojovacího pole Vstupních/výstupních bloků I/O blok • • Matice mnoha vstupových AND hradel Několika makrobuněk (většinou 8) GSR GOE • • I/O blok • • Martin Poupa, KAE FEL ZČU 5 CPLD obvody (parametry, vlastnosti) Parametry a vlastnosti současných CPLD obvodů: • • • • Velikost 32 až 1024 makrobuněk (cca 300.000 ekviv. hradel) Garantovaný počet programovacích cyklů: 1.000 až 10.000 Garantované udržení konfiguračních dat: 20 let ISP (In System Programmable) – obvody lze programovat osazené na desce - • • • • • • JTAG - IEEE Standard Test Access Port and Boundary-Scan Architecture (IEEE Std 1149.1) IEEE Standard for In-System Configuration of Programmable Devices (IEEE Std 1532) Pouzdra PLCC, xQFP, BGA Většina obvodů má min. dvojí napájecí napětí (pro jádro a pro I/O) Napájecí napětí 5V; 3.3V; 2.5V; 1.8; 1.5V; 1.2V (záleží na výrobci a řadě obvodu) Podpora mnoha napěťových I/O SE standardů (LVTTL, LVCMOS, PCI, SSTL, HSTL, ...) Podpora mnoha napěťových I/O diff. standardů (SSTL, HSTL, LVDS, RSDS, LVPECL, ...) Některé nové řady obvodů označovaných výrobci jako CPLD NEJSOU CPLD obvody, ale FPGA obvody s konfigurační pamětí na čipu (např. Altera - MAX II, MAX V; Lattice Semiconductor - Mach XO) Martin Poupa, KAE FEL ZČU 6 Architektury FPGA obvodů VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCCPLL GND CLKIN VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O I/O blok PLL PLL VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCC GND VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O TCK TDI TDO TMS TRST VCC GND VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O VCC GND VCCIO GND I/O I/O I/O I/O I/O I/O I/O I/O RAM násobička CLKIN GND VCCPLL I/O I/O I/O I/O I/O I/O I/O I/O GND VCCIO I/O I/O I/O I/O I/O I/O I/O I/O GND VCCIO PLL I/O I/O I/O I/O I/O I/O I/O I/O GND VCCIO PLL CLKIN GND VCCPLL I/O I/O I/O I/O I/O I/O I/O I/O GND VCCIO • bloky LUT/ALUT • propojení lok. / vert. / horiz. • I/O bloky • bloky PLL/fPLL • bloky RAM • bloky násobiček/DSP • bloky XCVR/PCIe VCCPLL GND CLKIN Field Programmable Gate Array logický blok logický prvek lokální propojovací pole horizontální a vertikální propojení RAM Martin Poupa, KAE FEL ZČU 7 Architektury FPGA obvodů – logický element vstup přenosu z předchozího logického prvku LUT logika přenosu vstupy do horizontálních propojení D Q EN CLK SR do vertikálních propojení do lokálního propojení výstup přenosu en clk sr do dalšího logického prvku synchronní / asynchronní řízení klopného obvodu Martin Poupa, KAE FEL ZČU 8 Vlastnosti obvodů FPGA Řady: Altera: • • • Lattice: • Xilinx: • • • • • Cyclone/II/III/IV/V (3k – 301k LUT, 6kbit – 12Mbit RAM) Arria/II/V (21k – 503k LUT, 1.2Mbit – 24Mbit RAM) Stratix/II/III/IV/V(16k – 952k LUT, 425kbit – 52Mbit RAM) ORCA, ispXPGA, XP/2, EC, ECP/2/3 (2k – 150k LUT, 90kbit – 6,8Mbit RAM) Spartan/XL/II/IIE/3/3E/3L/3A/3AN/6 (1k – 150k LUT, 3kbit – 4,8Mbit RAM) Virtex/E/II/II-Pro/4/5/6 (3k – 760k LUT, 32kbit – 38Mbit RAM) Artix-7 (101k - 215 k LUT, 4.8Mbit – 13Mbit RAM) Kintex-7 (65k - 480 k LUT, 4.8Mbit – 34Mbit RAM) Virtex7 (326k – 2M LUT, 4.3Mbit – 68Mbit RAM) Vlastnosti: • Technologie SRAM (3,3V; 2,5V; 1,5V; 1,2V; 1,1V; 1V; 0,9V; 0,85V) • ISP programování: IEEE Std 1149.1 nebo IEEE Std 1532 • SRAM => nutnost naprogramovaní po zapnutí napájení • Rychlé konfigurovatelné paměti (jedno, dvou bránové, fifo, …) • Podpora pro aritmetické operace (rychlé přenosy, hw násobičky, DSP bloky) • Podpora mnoha napěťových I/O SE standardů (LVTTL, LVCMOS, PCI, SSTL, HSTL, ...) • Podpora mnoha napěťových I/O diff. standardů (SSTL, HSTL, LVDS, RSDS, LVPECL, ...) • Fázové závěsy, sync. RAM, SERDES, XCVR, řadiče sync. DRAM, A/D převodníky • Nové řady mají podporu pro šifrování bitstreamu Martin Poupa, KAE FEL ZČU 9 Programovací/simulační jazyky pro návrh PLD Hardware Description Language (HDL): • Firemní jazyky: např. ABEL, AHDL • VHDL - IEEE Std 1076 (1987, 1993, 2000, 2002, 2008) • Verilog HDL - IEEE Std 1364 (1995, 2001, 2005) • SystemVerilog HDL - IEEE Std 1800 (2005, 2009, 2012?) Jazyky založené na jazyku C: • Firemní jazyky: Handel-C, Impulse C • SystemC - IEEE Std 1666 (2011) • OpenCL - Open Computing Language • Verifikace: URM+AVM > OVM+VMM > UVM Vlastnosti HDL jazyků: • Jazyk vysoké úrovně pro popis, simulaci, a syntézu číslicových obvodů a systémů • datové typy, funkce, procedury, práce se soubory, přetížené operátory • Tři druhy popisu: chování, datové toky, strukturální • Signály mohou nabývat více hodnot: • Např. u VHDL-93: 9-úrovňová logika MVL9V (IEEE Std 1164) • Hodnoty: 0, 1, Z, X, U, W, L, H, – Martin Poupa, KAE FEL ZČU 10 Popis pomocí VHDL library ieee; use ieee.std_logic_1164.all all; all entity dff is port ( clk : in std_ std_logic; logic r : in std_ std_logic; logic d : in std_ std_logic; logic q : out std_ std_logic ); end dff; architecture rtl of dff is begin process (clk, r) begin if r = '1' then q <= '0'; elsif rising_edge(clk) then q <= d; end if; if end process; process end rtl; Martin Poupa, KAE FEL ZČU 11 Typické použití programovacích/simulačních jazyků Běžné návrhy číslicových systémů: • • RTL návrh a testbenche: VHDL, Verilog, SystemVerilog Verifikace: System Verilog a UVM Velké systémy (SoC): • • Virtuální prototypy: C++, System C, TLM-2.0 High Level syntéza: C/C++, System C, Open CL Martin Poupa, KAE FEL ZČU 12 Klasický postup návrhu PLD obvodů specifikace zadání systémová analýza rozdělení do bloků popis jednotlivých bloků RTL popisem tvorba testovacího prostředí (testbench) funkční RTL simulace syntéza RTL kódu simulace po syntéze rozmístění a propojení simulace na úrovni hradel časová simulace konfigurování obvodu Martin Poupa, KAE FEL ZČU 13 Softwarové procesory v obvodech FPGA Jedná se o klasické CPU (RISC nebo CISC) realizované v obvodech FPGA. Výhody SW CPU oproti CPU realizovaným jako ASIC: – – – Flexibilita: CPU lze přizpůsobit dle konkrétních požadavků včetně periférií a paměti Snížení ceny: díky realizaci celého mikroprocesorového systému jedním obvodem Dlouhý životní cyklus: v případě že ukončení výroby obvodu, lze SW procesor poměrně snadno realizovat v novějším obvodu bez změny funkčnosti mikroprocesorového systému => žádné změny již např. certifikovného software Vybrané SW procesory: – – – – – – – Altera NIOS II Lattice Micro32 Xilinx Microblaze ARM Cortex M-1, M-3 Freescale V1 ColdFire Gaisler Research Leon 2, 3, 4 MIPS MP32 Martin Poupa, KAE FEL ZČU 14 Nios II/e DMIPS/MHz 0,15 Max DMIPS 28 Fmax MHz 175 Velikost LE 980 Max DMIPS 48 Fmax MHz 340 Velikost ALUT 520 Nios II/s 0,64 77 120 1600 140 230 800 Nios II/f 1,13 170 (CIV) 150 (CIV) 2100 (CIV) 340 (SIII) 290 (SIII) 1020 (SIII) SRAM FLASH CPU IRQ RISC architektura s pipeline 32-Bit instrukce/data NIOS/f/s 1 clk/i, NIOS/e 6 clk/i 32 registrů, 32/64 IRQ, 2GB adresový prostor Až 256 uživatelských instrukcí Hardwarový debuging přes JTAG PBM SW CPU Altera NIOS II Timer Sériový port UART DSP 20k hradel volných Cyclone EP1C3 400k hradel volných Cyclone EP1C20 Martin Poupa, KAE FEL ZČU 15 SW CPU Altera NIOS II Základní prvky SOPC/QSYS: • Procesory: NIOS II / f / e / s • PIO, DMA, SGDMA, Timer, UART • Sběrnice Avalon, AXI, AHB • OnChip RAM/ROM/FIFO • Externí SRAM, Flash, SSRAM • SDR, DDR/2/3, QDR, RLDRAM • SPI, IIC, Tristate Bridge, PLL Operační systémy: Další IP: • CAN 2.0 • USB 1.1 a 2.0 • PCI Bridge • PCI Target • aj, … Celkem cca 90 periférií FreeRTOS, eCos, RTEMS, ... µCLinux Martin Poupa, KAE FEL ZČU 16 Altera Qsys NIOS II Martin Poupa, KAE FEL ZČU 17 Návrh systému se SW CPU Param. procesoru Knihovna periférií Volba periférií Hardware Software Generování Procesor + periférie Hlavičkové soubory (VHDL / Verilog / SV) Uživatelské knihovny Testbench pro simulaci Zavaděč (bootloader) JTAG Syntéza, umístění a propojení Bit stream JTAG/UART Download & Debug Eclipse/GNUPro Aplikační SW Uživatelská logika, IP jádra Koupená IP jádra spustitelný kód FPGA (ASM, C, C++) SW knihovny RTOS Martin Poupa, KAE FEL ZČU 18 Hardwarové procesory v obvodech FPGA Použitelné architektury: • Intel: Atom E6x5C (Intel Atom E6xx + FPGA) • Xilinx: ZYNQ-7000 (ARM Cortex-A9MP + FPGA) • Altera: Cyclone V / Arria V SoC (ARM Cortex-A9MP + FPGA) Programovací jazyky: • VHDL - IEEE Std. 1076 • Verilog - IEEE Std. 1364 • SystemVerilog – IEEE Std. 1800 • C, C++, ASM Výkon procesoru: cca 2.5 DMIPS/MHz • ARM Cortex-A9MP @ 800 MHz ~ 4000 DMIPS • Intel Atom N450 @ 1.6 GHz ~ 4000 DMIPS Martin Poupa, KAE FEL ZČU 19 Xilinx ZYNQ-7000 = Artix-7 / Kintex-7 + ARM Cortex-A9 Martin Poupa, KAE FEL ZČU 20 Altera SoC = Altera Cyclone V / Arria V + ARM Cortex-A9 • • • • HPS-to-FPGA: konfigurovatelné 32/64/128-bit AMBA AXI interface FPGA-to-HPS: konfigurovatelné 32/64/128-bit AMBA AXI interface Více portové HPS (LP)DDR2/3 a FPGA (LP)DDR2/3 kontroléry XCVR, PCIe (5/10 Gbps) Martin Poupa, KAE FEL ZČU 21 BTT - Blade Tip Timing Spolupráce s FAV a Škoda Turbíny Diganostický systém pro nízkotlakou část trubín Měření chvění lopatek v reálném čase s identifikací kritických vibrací Podpora různých typů senzorů a typů lopatek Obvod FPGA EP4CE115 využit pro získávání dat ze senzorů (až 32+1 senzor), předzpracování dat (detekce lopatek, časové značky, měření diferencí) a přenos získaných dat do systému provádějícího výpočet chvění a identifikaci kritických vibrací Martin Poupa, KAE FEL ZČU 22 FRAM kontrolér s PCIe interfejsem Spolupráce s Kontron (Plzeň, Eching) Zakázkový průmyslový ComExpress baseboard pro COMe moduly typu 2 a 6 FPGA Altera Cyclone IV GX (EP4CGX15BF14I7, F169 FBGA) FRAM Ramtron FM28V100 Integrovaný programátor konf. paměti (pgm. při výrobě / upgrade FW u zákazníka) IP FRAM řadič s PCIe x1 interfejsem IP GPIO s IRQ s LPC bus SERIRQ interfejsem Martin Poupa, KAE FEL ZČU 23 COM Express FPGA Starter Kit Spolupráce s Kontron (Plzeň, Deggendorf, Eching) ATX COM Express s Altera C4GX150 Podpora COMe modulů typu 1, 10 a 2 Systémový kontrolér - Altera MAX II (EPM570) Real Time Ethernet demo – PROFINET IO ADAO ETX-e-SC (Huron River/Sandy Bridge), Type 2 module RTS Real-Time Embedded Hypervisor Windows 7 CoDeSys Application CoDeSys HMI Application Virt. Eth. CoDeSys Runtime 200 pin SODIMM CoDeSys IO Drv1 CoDeSys HMI CoDeSys IO Drv2 Softing PNIO Controller Access Kit Avalon Avalon PIO Altera HSMC Mass Storage and Video Card Camera Link In Video Processing IP Altera HSMC Communication Card NIOS II, eCos PIO DVI Out IRQ Softing PNIO Controller Stack IRQ Switch IP Core Sensors DC Motor MII to RMII RMII 1 x Ethernet Marvell 88E1111 CameraLink LPC to Avalon IP PCIe Hard IP HSMC 1 DPRAM 128 kB IRQ DDR2 IP CCD cam. Altera Cyclone IV GX 150 LVDS Video DVI-D LPC LCD mon. PCIe HSMC 2 128MB DDR2 Security EEPROM VxWorks 6.9 PROFINET IO PROFINET IO Device Siemens SIMATIC ET200S, 8DI + 8DO Martin Poupa, KAE FEL ZČU 24 Děkuji za pozornost Doc. Ing. Martin Poupa, Ph.D. Katedra aplikované elektroniky a telekomunikací Fakulta elektrotechnická Západočeská univerzita v Plzni Univerzitní 22 306 14, Plzeň [email protected]
Podobné dokumenty
altera
EPM3264A a family MAX3000.
Nyní jedna poznámka. Při návrhu pomocí grafického či textového editoru jsme nejprve
pomocí File a Save na zvoleného adresáře uložili náš základní soubor, např. pokus1.gdf...
karel_pavlovsky_predavani_parametru
Na úrovni jednotlivých povelů v CL a RPG jazycích se mohou používat různé základní metody předávání,
dále upřesňované pomocí klíčových slov. Pro správnou funkci programů je v každém případě třeba, ...
sborník
vyhovují parametrům Kodexu PS (přenosové soustavy), Vřesová však i při svém poměrně
malém výkonu poskytuje mnohem více podpůrných služeb s lepšími dynamickými
vlastnostmi z hlediska potřeb ES.
V zá...
Manuál - PK Design
Přenosová rychlost až 1MByte/s (D2xx ovladač), až 3MBaud/s (VCP ovladač).
Jednoduché připojení k MCU, FPGA, CPLD apod.
384 byte FIFO vysílací buffer, 128 byte FIFO přijímací buffer.
Kompatibilní s ...
Manuál - PK Design
USB VID, PID, sériové číslo a popis produktu je uloženo v interní EEPROM paměti.
Pro většinu aplikací stačí propojit 3 signály k mikrokontroleru – RxD, TxD a GND.
Umožňuje napájení připojeného hard...