INF H131 Avanserte byggeblokker (Maxfield kap.13 og 17) Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) Innhold:
INF H132 Organisering av kretskort
INF H133 Organisering av FPGA
INF H134 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.
INF H135 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)
INF H136 Integrering av harde kjerner på FPGA
INF H137 Virtex-II Pro FPGA Power PC prosessor
INF H138 Harde enheter i Virtex-II Pro
INF H139 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,…
INF H1310 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
INF H1311 MicroBlaze
INF H1312 Maskinvare versus programvare Maskinvare: –Tidskritiske deler. Programvare: –Mindre tidskritiske/tidskrevende deler. –Det som normalt ville blitt utført på en ekstern prosessor.
INF H1313 Hastighetsøkning av eksisterende kode
INF H1314 Design med prosessor på FPGA
INF H1315 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 …..
INF H1316 Måter å integrere IP’er på Ikke- kryptert kildekode LUT/CLB net list
INF H1317 Ikke-kryptert kildekode Fordeler: –IP’ens implementasjonsdetaljer er tilgjengelig –Kan endre kildekoden. –Kan lett flyttes mellom FPGA-familier/FPGA- produsenter. Ulemper: –Dyrt fra FPGA-produsenter (siden FPGA produsenter ønsker å holde kildekoden for seg selv) –Mindre effektiv implementering i forhold til en forhåndsrutet IP.
INF H1318 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!
INF H1319 ”Gratis” IP-moduler Maskinvareutviklernes motstykke til gratis programvareutveksling.
INF H1320 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å