1 / 20

Sisteme cu FPGA

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 :

abe
Download Presentation

Sisteme cu FPGA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sisteme cu FPGA

  2. 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!

  3. Sisteme cu FPGA Bibliografie: • Pentrudispozitive FPGA: • Website XILINX, www.xilinx.com -> Products -> Silicon Devices: • PentruplacileNexys/Nexys2: Familia Spartan 3E • Varecomandsi V5, S6, V6, Seriile 7 (pot fiintrebari la examen din datasheet!) • Steve Kilts, “Advanced FPGA design”, Architecture, Implementation and Optimization” John Wiley and Sons, 2007 • SorinHintea, “Tehnici de Proiectare cu AriiLogice”, UTPress, 2003 • Website altifurnizori: Altera, Lattice Semiconductor, Cypress Semiconductor • Pentrumediul 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 pentrusinteza! • Placi de Dezvoltare: Manualele de Referință • Website Digilent, inc., www.digilentinc.com sau www.digilent.ro -> FPGA Boards -> • NEXYS2 – 1200, 500 • simaivechi: BASYS, NEXYS • DOC, adică Manuale de referintasifisiere .ucf: G:\Original\Digilent_Boards,

  4. Sisteme cu FPGA • Software: • Mediul: Xilinx Integrated Software Environment (ISE) • Versiuneacurenta: 14.6 (posibilaparepeparcurssiversiunemainoua) • Mediulcontine: • ISE - mediul principal de proiectare. Licentafolosita: Webpack – FREE • Embedded Development Kit (EDK) – Mediu de dezvoltarepentrucrearea de sistemepemicroprocesoareMicroblaze, PowerPC, ARM • PlanAhead – mediu de proiectare la nivel de arhitectura chip • ChipScope – osciloscopprin JTAG a semnalelor interne ale unuiproiect • System Generator – Matlabpe FPGA • Instalare: • www.xilinx.com -> Download. If not user, vainregistrati • 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!)

  5. 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

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

  7. 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)

  8. 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

  9. 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)

  10. 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…

  11. 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!

  12. 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?

  13. 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 ZNYC7000 – 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

  14. 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

  15. 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

  16. Introducere • Există dezavantaje: • 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) De ce FPGA vs ASIC?

  17. Introducere Comparaţie între proiectepe diverseimplementări: • Karen Parnell, Roger Bryner: Comparing and ContrastingFPGA and Microprocessor System Design and Development, XILINX Coorporation, July 2004

  18. Introducere Comparaţie între microcontrollere şi FPGA

  19. 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ă

  20. 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

More Related