Avanserte byggeblokker (Maxfield kap.13 og 17) Innhold: Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) INF3430 - H11 1
Organisering av kretskort INF3430 - H11 2
Organisering av FPGA INF3430 - H11 3
Prosessorkjerner (Kap. 4) Hva er det? Prosessorer som inngår i selve FPGAen Hvorfor? De fleste design trenger en prosessor og en kan slippe å ha en ekstern prosessor. Hvilke typer finnes? Myke kjerner Programmerbar logikk i FPGA brukes til å realisere en prosessor på FPGA sammen med annen funksjonalitet. Harde kjerner Prosessor er implementert fysisk i FPGA ved produksjon av kretsen. INF3430 - H11 4
Prosessorkjerner til Xilinx FPGA Power PC (hard prosessorkjerne i eldre FPGA er) ARM (hard prosessorkjerne i ZYNC serien) MicroBlaze (myk prosessorkjerne, oblig 4) PicoBlaze (myk svært enkel mikrokontrollerkjerne) INF3430 - H11 5
Integrering av harde kjerner på FPGA INF3430 - H11 6
Virtex-II Pro FPGA Power PC prosessor INF3430 - H11 7
Harde enheter i Virtex-II Pro INF3430 - H11 8
Noen spørsmål 1. Gir det raskest ytelse å ha program liggende i minne inne på FPGAen (Block- RAM) ellers på eksternt minne? Internt minne på FPGA raskest 2. Hvordan kan en relativt treg intern prosessor gi henimot like god ytelse som en rask ekstern prosessor/pc. Raskere minnegrensesnitt og bedre sammensying av logikk og prosessor 3. Hvorfor er det ønskelig med System-On- Chip? Pris, størrelse, effektforbruk, INF3430 - H11 9
Myke prosessorkjerner Fordeler: Tar med kjerne kun dersom en har behov for den. Antallet kjerner er fleksibelt. Kan enkelt flyttes over til nye generasjoner av FPGAer i framtida. Enklere grensesnitt mot logikken i FPGAen. Ulemper: Er tregere og enklere enn harde kjerner. Ikke så plasseffektivt som hard kjerne INF3430 - H11 10
MicroBlaze INF3430 - H11 11
Maskinvare: Maskinvare versus programvare Tidskritiske deler. Programvare: Mindre tidskritiske/tidskrevende deler. Det som normalt ville blitt utført på en ekstern prosessor. INF3430 - H11 12
Hastighetsøkning av eksisterende kode INF3430 - H11 13
Design med prosessor på FPGA INF3430 - H11 14
Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) Det er nesten praktisk umulig i dagens store FPGA å designe alt fra grunnen av. Løsning: Bruke allerede ferdigutviklede moduler Disse kalles Intellectual Properties (IP). Typer: Laget internt i bedrift Tilgjengelige fra FPGA produsent Tredje-parts leverandører Det er nesten alltid billigere å kjøpe enn å lage selv (du koster ca. 900 kroner timen for bedriften.) Viktig å være sikker på at vi kjøper noe som dekker kravene våre. Overraskende tidkrevende å bruke innkjøpte moduler.. INF3430 - H11 15
Måter å integrere IP er på IP Provider FPGA Designer Ikkekryptert kildekode Create RTL for IP block (a) Create RTL for body of design Incorporate IP block(s) Synthesis Synthesis Unplaced-andunrouted netlist Unplaced-andunrouted netlist LUT/CLB net list Place-and-Route (b) (c) Incorporate IP block(s) Place-and-Route Placed-and-routed netlist Placed-and-routed netlist INF3430 - H11 16
Ikke-kryptert kildekode Fordeler: IP ens implementasjonsdetaljer er tilgjengelig Kan endre kildekoden. Kan lett flyttes mellom FPGA-familier/FPGAprodusenter. Ulemper: Dyrt fra FPGA-produsenter (siden FPGA produsenter ønsker å holde kildekoden for seg selv) Mindre effektiv implementering i forhold til en forhåndsrutet IP. INF3430 - H11 17
IP kjernegeneratorer Brukes for å lage/editere IP er. Sørger for mest mulig effektiv IP med hensyn på ressursutnyttelse og ytelse. Les dokumentasjonen til de genererte IP ene nøye! INF3430 - H11 18
Gratis IP-moduler Maskinvareutviklernes motstykke til gratis programvareutveksling. INF3430 - H11 19
Oppsummering Hva heter den myke prosessorkjernen til Xilinx? MicroBlaze Hva er en IP og hvem lager de? Ferdigutviklede blokker som kalles Intellectual Properties Lages av egen bedrift, FPGA produsent eller tredje-parts leverandører Hvilken form finnes IP er på? Kildekodenivå eller LUT/CLB-nivå INF3430 - H11 20