avanserte byggeblokker  (maxfield kap.13 og 17)

20
INF3430 - H13 1 Avanserte byggeblokker (Maxfield kap.13 og 17) Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) Innhold:

Upload: serina-holder

Post on 02-Jan-2016

29 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 1

Avanserte byggeblokker (Maxfield kap.13 og 17)

• Kap 13: Embedded prosessorer (prosessorkjerner)

• Kap 17: Virtuelle komponenter (Intellectual Properties - IPs)

Innhold:

Page 2: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 3: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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”

Page 4: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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.

Page 5: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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)

Page 6: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 6

Integrering av harde kjerner på FPGA

uP

(a) One embedded core (b) Four embedded cores

uP uP

uP uP

Page 7: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 7

Virtex-II Pro FPGA

Power PC prosessor

Page 8: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 8

Harde enheter i Virtex-II Pro

Page 9: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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,…

Page 10: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 11: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 11

MicroBlaze

Page 12: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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.

Page 13: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 13

Hastighetsøkning av eksisterende kode

Page 14: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 15: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 16: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 17: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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.

Page 18: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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

Page 19: Avanserte byggeblokker  (Maxfield kap.13 og 17)

INF3430 - H13 19

”Gratis” IP-moduler

Maskinvareutviklernes motstykke til gratis programvareutveksling.

Page 20: Avanserte byggeblokker  (Maxfield kap.13 og 17)

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å