avanserte byggeblokker (maxfield kap.13 og 17)
DESCRIPTION
Avanserte byggeblokker (Maxfield kap.13 og 17). Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs). Innhold:. Organisering av kretskort. Organisering av FPGA. Prosessorkjerner (Kap. 4). Hva er det? - PowerPoint PPT PresentationTRANSCRIPT
INF3430 - H13 1
Avanserte byggeblokker (Maxfield kap.13 og 17)
• Kap 13: Embedded prosessorer (prosessorkjerner)
• Kap 17: Virtuelle komponenter (Intellectual Properties - IPs)
Innhold:
INF3430 - H13 2
Organisering av kretskort
CPU FPGA
“Stuff”MEM
CPU FPGA
Circuit Board
CPU FPGA
MEM
FPGA
Circuit Board
CPU
MEM(TCM) Dedicated
memory bus
(a) Memory connected to CPU viageneral-purpose processor bus
(b) Tightly-coupled memory (TCM)connected to CPU via dedicated bus
“Stuff”More“Stuff” “Stuff”
More“Stuff”
Some“Stuff”
MEM “Stuff”Some“Stuff”
Processorbus
Processorbus
INF3430 - H13 3
Organisering av FPGA
MEM
Circuit BoardMEM
Circuit BoardMEM(TCM)
Dedicatedmemory bus
(a) Memory connected to CPU viageneral-purpose processor bus
(b) Tightly-coupled memory (TCM)connected to CPU via dedicated bus
“Stuff”More“Stuff” “Stuff”
More“Stuff”
MEM
FPGAProcessor
bus
FPGA
EmbeddedCPU
Embedded“stuff”
FPGA
Processor bus
FPGA
EmbeddedCPU Embedded “stuff”
INF3430 - H13 4
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 - H13 5
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 - H13 6
Integrering av harde kjerner på FPGA
uP
(a) One embedded core (b) Four embedded cores
uP uP
uP uP
INF3430 - H13 7
Virtex-II Pro FPGA
Power PC prosessor
INF3430 - H13 8
Harde enheter i Virtex-II Pro
INF3430 - H13 9
Noen spørsmål1. Gir det raskest ytelse å ha program
liggende i minne inne på FPGAen (Block-RAM) ellers på eksternt minne?
• Internt minne på FPGA raskest2. 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 - H13 10
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 - H13 11
MicroBlaze
INF3430 - H13 12
Maskinvare versus programvare
• Maskinvare:– Tidskritiske deler.
• Programvare:– Mindre tidskritiske/tidskrevende deler.– Det som normalt ville blitt utført på
en ekstern prosessor.
INF3430 - H13 13
Hastighetsøkning av eksisterende kode
INF3430 - H13 14
Design med prosessor på FPGAOriginalConcept
System architects partition designinto hardware and softwarefunctional blocks (may be partof system/algorithmic-levelenvironment or done by hand)
Hardware designentry (RTL)
SynthesizeCompile and/or
Assemble
Software designentry (C/C++ or A)
Place-and-Route Link etc.
Configuration file Executable image
Download todevelopment board
INF3430 - H13 15
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 - H13 16
Måter å integrere IP’er på
Create RTLfor IP block
IP Provider FPGA Designer
IncorporateIP block(s)
Unplaced-and-unrouted netlist
Synthesis
Create RTL forbody of design
Unplaced-and-unrouted netlist
Synthesis
IncorporateIP block(s)
Place-and-Route Place-and-Route
Placed-and-routednetlist
Placed-and-routednetlist
(a)
(b)
(c)
Ikke-kryptert
kildekode
LUT/CLB net list
LUT/CLB net list
INF3430 - H13 17
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.
INF3430 - H13 18
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!
RTLfor IP block
FPGA Designer Input
Unplaced-and-unrouted netlist
Placed-and-routed netlist
Cycle-accurateC/C++ model
IP block/coregenerator
INF3430 - H13 19
”Gratis” IP-moduler
Maskinvareutviklernes motstykke til gratis programvareutveksling.
INF3430 - H13 20
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å