Sisteme cu FPGA.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εφαρμογές Ψηφιακών Ηλεκτρονικων
Advertisements

HY 120 "ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ" Programming Logic Devices (PLDs) (Συσκευες Προγραμματιζομενης Λογικης)
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο SoC: System on Chip.
Το εσωτερικό του υπολογιστή
Producerea curentului electric alternativ
High Speed Fiber Optic Coordonator : Conf. Dr. Ing. Stefan Stancescu
Programmable Logic Technologies
EFECTUL LASER Membrii grupei: Crecan Horatiu Oiegar Mihai
COMPUNEREA VECTORILOR
Fenesan Raluca Cls. : A VII-a A
Ce este un vector ? Un vector este un segment de dreapta orientat
Functia de transfer Fourier Sisteme si semnale
Proiectarea Microsistemelor Digitale
Introducere Circuite NMOS statice
Retele induatriale de comunicatii
LB. gr.: Φιλο-σοφία Philo-sophia Iubirea-de-înțelepciune
FLUXUL INFORMATIONAL IN CADRUL SISTEMELOR DE COMANDA NUMERICA
MASURAREA TEMPERATURII
Informatica Industriala
Circuite numerice Parametrii circuitelor logice integrate
Legea lui Ohm.
Amplificatoare de semnal mic cu tranzistoare
Retele induatriale de comunicatii (continuare)
Prof.Elena Răducanu,Colegiul Naţional Bănăţean,Timişoara
Amplificatoare de semnal mic cu tranzistoare
MĂSURAREA ŞI ANALIZA VIBRAŢIILOR STRUCTURILOR
Anul I - Biologie Titular curs: Conf. dr. Zoiţa BERINDE
INSTRUMENTATIE DE BORD PENTRU AUTOVEHICULE
Rata Daunei - o alta perspectiva -
4. TRANSFORMARI DE IMAGINI 4.1. Introducere
CIRCUITE ANALOGICE SI NUMERICE
Intrarile de zone Tipuri de conexiuni Exemplu: PIR Z - Conexiunea EOL
Informatica industriala
MATERIALE SEMICONDUCTOARE
Institutul National de Cercetare Dezvoltare pentru Microtehnologie (IMT- Bucuresti) MICROSISTEME INTEGRATE DE TIP RF MEMS REALIZATE PE SILICIU,
Proiectarea sistemelor digitale
MECANICA este o ramură a fizicii care studiază
G. Gazul ideal G.1. Mărimi ce caracterizează structura materiei
,dar totusi suntem diferite?
Curs 08 Amplificatoare de semnal mic cu tranzistoare
COMPUNEREA VECTORILOR
TEOREMA LUI PITAGORA, teorema catetei si teorema inaltimii
Tipuri de legătură chimică:
Sistemul OM – MASINA – MEDIU si sistemul sociotehnic
SISTEM DE DEZVOLTARE CU MICROCONTROLER PIC
UNDE ELECTROMAGNETICE
EFECTE ELECTRONICE IN MOLECULELE COMPUSILOR ORGANICI
Exemple de probleme rezolvate pentru cursul 09 DEEA
Sisteme de achizitii, interfete si instrumentatie virtuala
Parametrii de repartiţie “s” (scattering parameters)
Sisteme de ordinul 1 Sisteme si semnale Functia de transfer Fourier
In sistemele clasice, fara convertoare de putere se datoreaza:
Lentile.
Lucrarea 3 – Indici ecometrici
Circuite logice combinaţionale
Test.
Curs 6 Sef Luc Dr. Petru A. COTFAS
Reflexia şi refracţia undelor mecanice
Miscarea ondulatorie (Unde)
Familia CMOS Avantaje asupra tehnologiei bipolare:
Aplicatie SL.Dr.ing. Iacob Liviu Scurtu
Aplicatii ale interferentei si difractiei luminii
Curs 08 Amplificatoare de semnal mic cu tranzistoare
Aplicaţiile Efectului Joule
FIZICA, CLASA a VII-a Prof. GRAMA ADRIANA
CURS 5 COMANDA IN SISTEME FLEXIBILE DE FABRICATIE
CUPLOARE.
Oferta Determinanţii principali ai ofertei Elasticitatea ofertei
Teoria ciocnirilor si a imprastierii particulelor
Μεταγράφημα παρουσίασης:

Sisteme cu FPGA

Sisteme cu FPGA Date despre materie: Nota: 1 + 0.2*Proj + 0.2*Teor + 0.2*Tm , daca P>5, E>5 Evaluare partiala la proiect: posibila E: proiect + intrebari de teorie (documentatie permisă) Teme: Voi trebuie sa exersati! Proiecte: Aplicaţii pe placi de dezvoltare Nexys2 + PMODs Exemple functionale cu dispozitivele de pe placa +PMODs, interfete: FLASH, EPP, UART, VGA, SPI in, out, I2C, 1-Wire Exemple cu Logicore Ip: FIFO, DSP etc. Laborator: Cont la laborator: BEL\sfpga, parola sfpga %HOMEDRIVE%%HOMEPATH %= G:\ DIRECTOR DE LUCRU: C:\Temp Va rog, grija cu placile de dezvoltare si modulele PMOD!

Sisteme cu FPGA Bibliografie: Pentru dispozitive FPGA: Website XILINX, www.xilinx.com -> Products -> Silicon Devices: Pentru placile Nexys/Nexys2: Familia Spartan 3E Va recomand si V5, S6, V6, Seriile 7 (pot fi intrebari la examen din datasheet!) Steve Kilts, “Advanced FPGA design”, Architecture, Implementation and Optimization” John Wiley and Sons, 2007 Sorin Hintea, “Tehnici de Proiectare cu Arii Logice”, UTPress, 2003 Website alti furnizori: Altera, Lattice Semiconductor, Cypress Semiconductor Pentru mediul de dezvoltare Website XILINX, www.xilinx.com -> Documentation -> Design Tools -> ISE Design Tools (curent: 14.6) In mod special User Guides -> Synthesis and Simulation Design Guide, UG626 E un manual complet de HDL pentru sinteza! Placi de Dezvoltare: Manualele de Referință Website Digilent, inc., www.digilentinc.com sau www.digilent.ro -> FPGA Boards -> NEXYS2 – 1200, 500 si mai vechi: BASYS, NEXYS DOC, adică Manuale de referinta si fisiere .ucf: G:\Original\Digilent_Boards,

Sisteme cu FPGA Software: Mediul contine: Instalare: Mediul: Xilinx Integrated Software Environment (ISE) Versiunea curenta: 14.6 (posibil apare pe parcurs si versiune mai noua) Mediul contine: ISE - mediul principal de proiectare. Licenta folosita: Webpack – FREE Embedded Development Kit (EDK) – Mediu de dezvoltare pentru crearea de sisteme pe microprocesoare Microblaze, PowerPC, ARM PlanAhead – mediu de proiectare la nivel de arhitectura chip ChipScope – osciloscop prin JTAG a semnalelor interne ale unui proiect System Generator – Matlab pe FPGA Instalare: www.xilinx.com -> Download. If not user, va inregistrati Kit: About 7GB (.tar), Install: About 13GB (Webpack) Instalati ISE WEBPACK! NU FOLOSITI VARIANTE CRACKED!!! NU ARE ROST! Bibliografie: Help si Online Documentation ale programelor respective (BECUL GALBEN!)

Sisteme cu FPGA Bibliografie pentru Verilog Google cu “verilog tutorial” (http://www.asic-world.com/verilog/veritut.html) Nu e singurul tutorial! Majoritatea acestora depind de mediul de proiectare/dezvoltare/simulare folosit Medii de proiectare: zeci Limbaje Verilog: unul singur! Standardizări: 3+2: Verilog-95, -2001, -2005 + SystemVerilog + Verilog-A Fiecare limbaj este o extensie a celui precedent

Introducere Ce este FPGA? Începem de la câteva componente digitale simple, vezi pe tablă

Arii Logice Programabile Introducere Arii Logice Programabile Recapitulare scurtă Implementarea sistemelor digitale se poate face cu: Circuite logice ”discrete” (74XX, 4XX) Sisteme de procesare: Sisteme pe microprocesor Sisteme cu microcontroller Sisteme cu DSP Sisteme cu arii logice reconfigurabile (programabile?) PLA, PAL GAL CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array)

Arii Logice Programabile Introducere Arii Logice Programabile Mai exact: circuitele FPGA sunt circuite ale căror “schemă internă” se poate configura / modifica în funcţie de cerinţele proiectului Principali producători: Xilinx, Altera, Actel, Cypress, Lattice etc De la fiecare producator: componentele sunt categorizate in FAMILII – similar cu alte produse comerciale

Arii Logice Programabile Introducere Arii Logice Programabile Configuratia poate fi de tip FLASH (în general, CPLD + S3NV, se păstrează configuraţia nonvolatil) de tip RAM (în general FPGA, pierde configuraţia la întreruperea alimentării) Cum putem stoca (sau măcar reproduce) configuratia in FPGA? Metode de configurare: JTAG (Joint Test Action Group) – interfață similară cu SPI Folosind memorie SerialFlash (Interfață Xilinx sau SPI) Mai nou, de la S6+ : Interfață Dual/Quad SPI (Atlys, Nexys3, Nexys4, Atlys2, Genesys2) Folosind memorie ParalellFlash (Vezi plăci S3E, V5, V6, Atlys, Nexys3) Mai nou: Stick USB (Nexys3, interfețe prin microcontrollere PIC/FTDI)

Arii Logice Programabile Introducere Arii Logice Programabile FAMILII Dispozitive Xilinx: FPGA: Spartan 3E, 3AN Spartan 6 Virtex 4, 5, 6 Seria 7: ARTIX, KINTEX, VIRTEX ZYNQ UltraScale (disponibilitate?) CPLD: CoolRunner 2 Exemple de codificare: Identificator Xilinx, Familie, Dispozitiv, Capsula, Speed Grade XC 2C 256 TQ144 – 1: Coolrunner 2, 256 Celule, capsula TQFP 144, -1 XC 3S 500E FG320 -4: Spartan 3E, 500 Kporti echivalente, … XC 5V LX110T FF1132 -1 – Virtex 5 LXT, 110 Mporti echivalente…

Arii Logice Programabile Introducere Arii Logice Programabile Cat de “mare” – complex este un dispozitiv CPLD sau FPGA? XILINX CPLD de la XC2C32 – (Coolrunner II CPLD) 32 celule (32 bistabili, 750 porti logice, 33 User IO) până la XC2C512 – 512 celule (12000 porti logice echivalente, 270 User I/O) Xilinx Spartan 3E FPGA (2005, Placile Digilent Nexys2!) XC3S500E – 500 Kporți echivalente (10,476 bistabili, max. 232 User I/O) XC3S1200E – 1200 Kporți echivalente (19,512 bistabili, max. 304 User I/O) În 3S500E “Încape” un sistem pe microprocesor Microblaze pe 32 biți + periferice aferente (3 X GPIO, 1 X UART, 1 X USB-EPP, 1X PS/2, 16 KB BRAM), toate ocupând aprox 54% din FPGA Xilinx Virtex 7 FPGA (2012..2013) de la XC7V330T – (408,000 bistabili, max. 700 User I/O) până la XC7V2000T (2,443,200 bistabili, max. 1200 User I/O) XC7V2000T – ar fi echivalent cu 233 X S3E500!

Arii Logice Programabile Introducere Arii Logice Programabile Însă: Arhitectura FPGA NU poate permite viteze de lucru mari, comparativ cu ASIC 1. Ce este ASIC? 2. DE CE? 3. Ce solutii exista?

Arii Logice Programabile Introducere Arii Logice Programabile 3. Ce solutii exista? Componente hardware in FPGA (CORE) 1. Specializate pentru FPGA BRAM DistRAM (Distributed, nu Dinamic!) DSP48 LUT4, 5, 6 SLR16 (ocupa un singur LUT!) … Ar mai trebui sa fie câteva, cautati! 2. Specialiazate pe aplicatie Ethernet MCB (Memory Control Block), mai nou : Memory Interface Generator Procesoare Încapsulate (PowerPC, mai nou: ARM) Video Controller/OSD/DMA etc Caz foarte special: ZNYC, mai exact familia ZNYC 7000 – EPP (Extensible Processing Platform): NU e o idee noua! Atmel a iesit pe piata cu AtMega + Celule Configurabile Dual ARM Cortex™-A9 MPCore + Memorie Cache + Celule Configurabile

Arii Logice Programabile Introducere Arii Logice Programabile Frecvența de lucru? Este mai puțin relevantă decât în cazul unui procesor Contează mai mult timpii de propagare în interiorul circuitului Ex. dacă la XC2C32 timpul minim de propagare = 3.8ns, rezultă FMax= 263 MHz În realitate, frecvența e aprox. de 5..10 ori mai mică, datorită rutării din interiorul FPGA Rutele devin mai lungi la creșterea complexității proiectului Ex. la FPGA S3E500, 1200 (plăcile Nexys2), frecvența cea mai uzuală e 50MHz. Proiectele optimizate pot lucra până la 100..125MHz Ex. la FPGA XC5VLX50T..LX110T (plăcile ML50X..XUPV5) frecvența cea mai uzuală e 125MHz Există însă mai multe DOMENII DE TACT (CLOCK DOMAINS): În același proiect, pot lucra componente la frecvențe de tact diferite: Un procesor soft-core la frecvența de 125MHz Un controller DDR2 la frecvența de 2X400MHz în front Un controller video la frecvența de 145 MHz (Pixelclock, HDMI 1080p) Transciever-e GTP la frecvențe de GHz (3.2Gbps, 6.25Gbps, 12.5Gbps, etc) Un controller AC’97 (audio) la frecvența de 12.28MHz

Introducere Piaţa circuitelor logice programabile: Avantaj Proiectare FPGA vs ASIC: Time-To Market Karen Parnell, Roger Bryner: Comparing and ContrastingFPGA and Microprocessor System Design and Development, XILINX Coorporation, July 2004

Introducere De ce FPGA vs ASIC? Există dezavantaje: ÎNSĂ: Consum de putere foarte mare Multe circuite “în plus”, care consumă suplimentar – switch-uri, multiplexoare Viteza FPGA nu poate concura cu cea ASIC Majoritatea traseelor de semnal trec prin puncte de comutare ÎNSĂ: În cazul producţiei la scară mică – medie e mai ieftin ASIC rentabil doar la producţia în masă – Circuite pentru tf. mobile, procesoare, circuite pentru plăci de bază etc. UN PROIECT PE FPGA POATE FI FOARTE UŞOR MODIFICAT, PE ASIC ÎNSĂ NU O foarte largă utilizare actuală a FPGA: VERIFICAREA FUNCŢIONALĂ a proiectelor foarte complexe Există plăci de dezvoltare foarte complexe, cu ARII de FPGA (scumpe)

Comparaţie între proiecte pe diverse implementări: Introducere Comparaţie între proiecte pe diverse implementări: Karen Parnell, Roger Bryner: Comparing and ContrastingFPGA and Microprocessor System Design and Development, XILINX Coorporation, July 2004

Comparaţie între microcontrollere şi FPGA Introducere Comparaţie între microcontrollere şi FPGA Facilităţi μC Soluţii μC FPGA Soluţii FPGA Viteză de lucru mică CLK> mare CLK>, paralelism Periferice predefinite da Interfeţe I/O standard: SPI, SCI, USB etc Nu Componente CORE Reprogramabilitate FLASH Da FLASH, RAM Interfeţe Analogice Convertoare D/A, A/D Circuite externe Versatilitate Pini partajaţi Mare Reconfigurabil la nivel de pin I/O Algoritmi complecşi uşor Programare C, Asm Greu Preţ de cost Familii Low-Cost Medie Preţ de cost/poartă logică <<

Comparaţie între implementările sistemelor digitale Introducere Comparaţie între implementările sistemelor digitale Concluzii: Sisteme cu microprocesoare sunt recomandate aplicațiilor de complexitate medie (sisteme de calcul), viteză medie Sisteme cu microcontrollere: în aplicaţii industriale de viteză redusă – PLC - uri (Programmable Logic Controller) Sisteme cu DSP: în aplicații de mare viteză, de complexitate redusă/medie FPGA: recomandate aplicaţii de mare viteză şi-sau cu multe I/O, complexitate medie/mare ex: prelucrări de semnale, (datorită paralelismului), sisteme de comunicaţii de mare viteză

Avantajul FPGA faţă de DSP: Introducere Avantajul FPGA faţă de DSP: Paralelism Xilinx System Generator: Toolbox MATLAB, pentru creare de filtre digitale Karen Parnell, Roger Bryner: Comparing and ContrastingFPGA and Microprocessor System Design and Development, XILINX Coorporation, July 2004