1 / 29

Calcul Reconfigurabil

Calcul Reconfigurabil. S.l.dr.ing . Lucian Prodan – Curs 4. Despre ce vorbim ?. . ARHITECTURI RECONFIGURABILE FPGA bazat pe antifuse FPGA bazat pe EEPROM FPGA bazat pe FLASH DESIGN-UL CIRCUITELOR Elemente logice Interconexiuni Programare. . Elemente logice.

kumiko
Télécharger la présentation

Calcul Reconfigurabil

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. CalculReconfigurabil S.l.dr.ing. Lucian Prodan – Curs 4

  2. Despre ce vorbim ? •  ARHITECTURI RECONFIGURABILE FPGA bazat pe antifuse FPGA bazat pe EEPROM FPGA bazat pe FLASH DESIGN-UL CIRCUITELOR Elemente logice Interconexiuni Programare • 

  3. Elemente logice • Asimetrie! Accesul se face mai rapid către Est sau Sud • Nu se cunoaşte dacă asimetria se păstrează pentru oricare CLB • 1997: Von Herzen face harta unui FPGA Xilinx (250 MHz) • Criteriul: acces la oricare CLB în max. 1.6ns (event horizon) • Motivaţia: găsirea locurilor optime pentru plasarea porţiunilor critice din circuitul implementat astfel încât să se obţină performanţa maximă (Courtesy Seth Goldstein)

  4. Reprogramabilitate • Reprogramare FPGA: timp de ordinul 100ms • Timp prea lung pentru Reconfigurable Computing • Soluţii: • Scăderea timpului • Virtualizarea design-ului (reconfigurarea doar a unei părţi din FPGA fabric) • Reconfigurare parţială a FPGA: • partiţionarea FPGA fabric • Adresarea partiţiilor (overhead semnificativ) • Limitare: complexitatea structurii de interconectare • Xilinx: interconexiuni complexe, ierarhice, care fac imposibilă reconfigurarea parţială online

  5. Elemente logice • Un LE din FPGA considerabilmai complex decât o poartă CMOS standard. • Poarta:o funcţie logicăbineprecizată • LE: o varietate de funcţii logice la alegere • LUT vs CMOS • CMOS NAND/NOR: N intrări, 2N tranzistori • LUT: o celulă – 8 tranzistori, 2N celule • Întârzieri: • LUT: independente de funcţia implementată • CMOS: depind de numărul de intrări, funcţia logică şi tehnologie • Putere consumată: CMOS mai eficient

  6. SRAM MUX design • 2 alternative de implementareMUX: • static CMOS • pass tranzistor • MUX cu pass transistors semnificativmaimic decât celbazatpeporti (o poarta cu 2 intraricontine 4 tranzistori) • Dezavantaj: cu cât numărul de pass tranzistors creşte,prininseriereaMUXcreştesemnificativşiîntârziereasemnalului de ieşire • Alegereadintrecele 2 alternative depinde de dimensiuneatabelei LUT

  7. CMOS MUX • CMOS-MUX cu 4 intrări, maimicdecât tabelele LUT, suficient de mare pentru a-iarătastructura internă • 2 nivele de logică, invertoare al 3 -lea nivel • ÎntârziereaprinNAND cu n intrăriproporţională cu (n+2)/3 • Întârziereatotală b lg(b), unde b=4

  8. Pass Transistor MUX • PT-MUX cu 4 intrări şi funcţiile de selecţie, combină defectele porţilor cu cele ale PT • PT-MUX arborescent cu 4 intrări cu pass transistors • Întârziereatotală lg(b2) = 2*lg(b), unde b=4

  9. Exemplu: MUX LE • LE MUX-design utilizatîntr-un FPGAantifuse-based

  10. Exemplu: programarea • Modul de programare a funcţiilorlogiceprinconectareaelementului logic la semnaleconstantesauvariabile.

  11. Numărul pinilor • În circuitele dedicate (custom chips) numărulpinilorestederivat direct din necesarulaplicaţiei. • FPGA oferă logicănededicată  estenecesară găsireaunei căi de estimare a necesaruluinumarului de pini • Pini prea mulţi cost mărit pentru circuit (adeseacostul package-uluiestemai mare decatcostul chip-ului) • Pini prea puţini  pericol de a nu puteautilizatoatalogicaFPGA • E.F. Rent (IBM), 1960: culege date de la diferite design-urişireprezintă numărul de piniîn funcţie de numărul de componente

  12. Legea lui Rent • Np – numărul de pini • Ng – numărul de porţilogice (gates) • β – constantalui Rent • Kp – constantă de proporţionalitate • Parametrideterminaţi empiric, design-uri de referinţă. • Pentru main-frame-urile IBM, β = 0,6, Kp = 2,5 [Wolf] • Pentruprocesoarelemoderne β = 0,45(!!) şiKp= 0,82 [Wolf] • Perimetrulunui circuit creşte cu o rată de Ngβ unde β>0.5

  13. Legea lui Rent • FPGA-urile nu au suficienţi pini! (Courtesy Russell Tessier)

  14. Linii de conexiune • Întrebare: de ce un circuit reconfigurabil are nevoie de maimultetipuri de interconexiuni? • FPGA tipic:interconexiuniscurte, de uz general, globalesispecializate (clock) • Motiv: interconexiunileprezintălungimidiferite care se traducprinîntârzieridiferite • Un fir relativscurt (multmaiscurtdecatdimensiunea FPGA-ului): întârzieriechivalente cu o poartă logică • Traseele pot firelativlungi design precaut • Ceamai mare suprafaţăîntr-un FPGA SRAM-based ocupată de elemente de rutare a semnalelor (routing switches)

  15. Interconexiuni cu PT • 2parametripentruîntârzieri: • întârzieri proporţionale culăţimeatranzistorului • întârzieri proporţionale culăţimealiniei • Buffer tri-state: dimensiunimaimarifaţă de un PT, însăoferăamplificareasemnalului

  16. Reţele pentru clock • Combinădestinaţii variate cu întârzierişidefazărireduse • Dificultatea: reţelele de clock trebuie săacopere tot circuitul • Soluţia: structuriarborescente de driver-e de dimensiunimaimariîn imediatavecinatate a generatorului, mairedusepe măsurăce driver-elesuntmaiapropiate de punctul final de transport

  17. Linii bidirecţionale • Problemă: • jumătate dintre buffer-ele tristate rămân neutilizate • Altă problemă: • buffer-ele domină suprafaţa FPGA (Courtesy Guy Lemieux)

  18. Linii bidirecţionale şi direcţionale • Liniile direcţionale (stânga) implică jumătate dintre interconexiunile necesare pentru linii bidirecţionale! (Courtesy Russell Tessier)

  19. Rutarea liniilor bidirecţionale • Liniile bidirecţionale implică resurse considerabile pentru rutare (switch box)! (Courtesy Russell Tessier)

  20. Rutarea liniilor direcţionale • Liniile direcţionale implică doar jumătate din switch box-urile necesare rutării liniilor bidirecţionale (Courtesy Russell Tessier)

  21. Linii lungi • Liniile lungi se obţin prin interconectarea mai multor segmente • Fiecare MUX adaugă la întârzierea semnalului! (Courtesy Russell Tessier)

  22. Linii lungi • Liniile lungi sunt sensibile la perturbaţii externe • Se utilizează răsucirea liniilor (wire twisting)! (Courtesy Russell Tessier)

  23. Configurarea FPGA • FPGA-urileconfigurateschimbândcontinutulmemoriei • Pinidedicaţiprocesului de configurare, altii pot fiiniţialpentruconfigurare, dupăconfigurareporturi I/O • Configurare relativrară, configurare serială. Accelerareaconfigurăriiposibilă prinparalelizarea biţilor de configurare • Pentru prototipaj FPGA conectatprin cablu la PC • Pentru design industrializat programarecu PROM • La alimentare FPGA-ulrulează un protocol asuprapinilor de configurare, PROM avândlogicanecesarapentru a raspundeacestui protocol • Deşidateleintră serial într-un registru FPGA, apoi se transferă paralelîntr-un bloc al memoriei de configurare

  24. Configurarea FPGA • Memoriapentruconfigurareimună la zgomotele • Altfel, perturbaţiile pot cauzaconfigurareaeronata a FPGA • Memoriile de configurarefolositesuntmailentedecatcele de uz general • Există situaţiiîn care configurareatrebuie să se faca rapid, • Exemplu: monitorul Radius de pe Apple-Macintosh, cu pivotareaecranuluiportrait/landscape • Utilizau un FPGA SRAM pentrurotirea display-ului • Reconfigurea FPGA-uluinecesitată de schimbareaintremoduri era activată de un întrerupător cu mercur

  25. Configurarea FPGA • FPGA-urilemoderneincludlanţulbinar de reconfigurareîn circuitele interne de testare • Modul de testareesteasiguratprinconcordanţă cu JTAG (Joint Test Action Group) • Creatpentru a permitetestareausoara, se mainumeşteşi “Boundary Scan” deoarecepermite “scanarea” la granitadintre circuit şiplaca • Latestare, piniicircuituluisuntdecuplaţi de functionarealor normalăşiformează un registru serial de deplasare • Prin acesta asupra chip-ului pot fiaplicatevalori de intrareşi pot ficitite direct valorile de iesire • Procescontrolat de TAP Controller (Test Access Port)

  26. Configurarea FPGA • TDI – Shift register input • TDO – test mode output • TMS – test mode select • TCK – test clock • IR: Instruction Register - programeaza TAP • BP: Bypass register – permitedeplasareainformaţieiprin IR sau păstrarea IR intact • Fiecare pin FPGA contineaceastă logică!

  27. Configurarea Xilix Spartan II • Necesită biţi de configurareîntre 200.000 –1.300.000 • Moduri de configurare: • Master Serial Mode –circuitulesteprimuldintr-un lanţ de circuitesauestesingurul care trebuieconfigurat. Circuitulîşipreiaconfiguraţia fie dintr-un EPROM fie dintr-un cablu de download • Slave Serial Mode –circuitulesteconfigurat cu ajutorulaltui circuit care se află fie în modul slave serial mode sau master serial mode • Slave Parallel Mode –descarcă a 8 biţisimultan

  28. Configurarea Xilix Spartan II • Boundary Scan Mode – utilizeazapinii JTAG standard • Configurarea se face cu ajutorulunorpinidedicati: • PROGRAM – active low (activpe 0 logic) initializeazaprocesul de configurare • M 0:2 – se selecteazamodul de configurare • DONE – îşischimbăstareacandprocesul de configurareia sfârşit

  29. Vă mulţumesc!

More Related