intel logoAN 824 FPGA SDK for OpenCL Board
Støttepakke Planløsning
Brukerveiledning

 Intel® FPGA SDK for OpenCL ™ Board Support Package Planløsningsoptimaliseringsveiledning
Intel/® FPGA SDK for OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide gir retningslinjer for gulvplanlegging for OpenCL) BSP. Den gir også veiledning om hvordan du kan anskaffe basisfrøet med den beste gjennomsnittlige maksimale driftsfrekvensen og evaluere effektiviteten av BSP-ressursutnyttelsen.
Dette dokumentet forutsetter at du er kjent med OpenCL(2)-konsepter som beskrevet i OpenCL-spesifikasjonen versjon 1.0 av Khronos Group.

OpenCL BSP-kompilasjonsflyt
OpenCL BSP støtter følgende typer kompileringsflyter:

  • Flat kompilering [–bsp-flow flat]: Utfører en flat kompilering av hele designet (BSP sammen med kjernegenerert maskinvare).
  • Base kompilering [–bsp-flow base]: Utfører en base kompilering ved å bruke LogicLock restriksjoner fra base.qsf file. Kjerneklokkemålet er avslappet slik at BSP-maskinvaren har større frihet til å møte timing. En base.qar-database er opprettet for å bevare BSP-maskinvaren, som er den statiske regionen.
  • Importer kompilering [ ]: Gjenoppretter den lukkede statiske regionen for timing fra base.qar-databasen og kompilerer kun den kjernegenererte maskinvaren. Den øker også kjerneklokkemålet for å oppnå den beste kjernens maksimale driftsfrekvens (fmax).

OpenCL BSP Planløsning partisjon
OpenCL BSP planløsning er hovedsakelig delt inn i følgende to regioner:

  • Statisk region: Representerer regionen som har BSP-relatert maskinvare som forblir statisk. Tidspunktet er stengt for denne regionen under basiskompilering. Generelt er målet å minimere chip-ressursene som brukes av denne regionen til lukketid.
  • Kjerneregion: Representerer regionen for delvis rekonfigurasjon (PR) som er reservert for freeze_wrapper_inst|kernel_system_inst-modulen, som inneholder kjernen. Generelt er målet å reservere brikkeressurser i størst mulig grad for denne regionen.
  1. Intel FPGA SDK for OpenCL er basert på en publisert Khronos-spesifikasjon, og har bestått Khronos Conformance Testing Process. Gjeldende samsvarsstatus finner du på www.khronos.org/conformance.
  2. OpenCL og OpenCL-logoen er varemerker for Apple Inc. og brukes med tillatelse fra Khronos Group™.

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med unntak av det som er uttrykkelig skriftlig avtalt av Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester.
*Andre navn og merker kan gjøres krav på som andres eiendom.

Retningslinjer for OpenCL BSP gulvplanlegging

  • Begynn med flat kompilering for å forstå hvor alle hovedkomponentene til BSP blir plassert naturlig (spesielt IP-blokkene med I/O-tilkoblinger som PCIe eller DDR). Mens du designer BSP, må du kanskje vurdere å etablere rørledningertages mellom IP-ene for å lukke timing. Du bør først kjøre en flat kompileringsseed-sweep for å identifisere de tilbakevendende feilbanene, og deretter prøve å fikse dem.
    Tips: — En god timing-lukkingshastighet i forhold til flate kompileringsfrø-sveip vil ha høyere sjanser for å lukke basekompileringstidspunktet.
    — Hvis du observerer konsekvente feil i mm_interconnect* (komponent lagt til av Qsys), åpner du systemet med Qsys Interconnect viewer og observer kompleksiteten til den sviktende sammenkoblingen. Du kan legge til pipelining flipflops i viewfor å forbedre timingen. Hvis du fortsatt ikke kan løse problemet, må du kanskje bryte ned den kritiske banen mm_interconnect* ved å legge til Avalon-rørledningsbroer.
  • Under basiskompilering, start med LogicLock på kjerneregionen som inneholder freeze_wrapper_inst|kernel_system_inst. Uten andre begrensninger kan Intel Quartus Prime plassere BSP-maskinvaren fritt i det gjenværende statiske området av brikken. Bruk flat kompilering og chipplanlegger for å identifisere størrelsen og plasseringen av BSP-maskinvaren, for eksempel PCIe og DDR. Deretter reserverer du kjerneregionen ved å bruke LogicLock mens du unngår de viktigste grupperte områdene til BSP-maskinvaren.
    Tips: Hvis brikkefamilien som brukes er den samme som referanseplattformen og hvis BSP-komponentene er like, kan det være raskere å starte med LogicLock-regionene for freeze_wrapper_inst|kernel_system_inst som leveres med OpenCL-referanse-BSP og jobbe gjennom feilene.
  • Du kan legge til følgende tilleggskomponenter til din BSP:
    — Minnebanker: Hvis du legger til flere minnebanker, bør du identifisere I/O-bankplasseringen siden du kanskje må legge til rørledningsbroer for å møte timingen.
    — I/O-kanaler: Du kan legge til I/O-kanaler som video, Ethernet eller seriell grensesnitt. Hvis du legger til I/O-kanaler, bør du identifisere I/O-bankens plassering siden du kanskje må bruke nye LogicLock-regioner for pipelining hvis lukkingstid er vanskelig.
    Tips: Hvis du trenger å legge til rørledningsbroer (f.eksample, på grunn av store rutingforsinkelser som forårsaker tidsfeil), så vurder rutingavstanden fra kilde til destinasjonslogikk i brikken og frigjør litt plass reservert for kjerneregionen.
  • Følg disse generelle retningslinjene når du reserverer LogicLock-regioner for kjernen:
    — Forsøk å plassere alle DSP-kolonner i kernel_system med mindre det kreves av BSP.
    — Forsøk å reservere flere ressurser for kernel_system.
    — Forsøk å holde antall hakk i kjerneregionen på et minimum.
    Følgende figur illustrerer et hakk som ble lagt til for å plassere en rørledningsbro mellom PCIe og DDR-bank.

Figur 1. Planløsning for OpenCL BSP for Intel Arria® 10 GX i 17.0-versjonen

intel AN 824 FPGA SDK for OpenCL Board Support Package Planløsning

Retningslinjer for maksimal driftsfrekvens
Maksimal driftsfrekvens (fmax) oppnådd av kjerner avhenger i stor grad av FPGA-hastighet siden de fleste IP-ene allerede burde være optimalisert . Imidlertid kan det være noen fmax-tap avhengig av BSP-planløsningen. For eksample, vanligvis påvirker antallet utskjæringer i kjerneregionen til BSP kjernen fmax.
Som illustrert i følgende figur, for å skaffe det beste basisfrøet som gir den beste gjennomsnittlige fmax:

  1. Utfør et frøsveip på basiskompileringen i stedet for å velge det første basisfrøet som oppfyller tidspunktet.
  2. Utfør importkompilering (ved å bruke noen få kjerner fra eksample designs) på alle de passerende basefrøene.
  3. Beregn gjennomsnittlig fmax for alle basisfrø.
  4. Velg basisfrøet som gir høyest gjennomsnittlig fmax.
    Basefrøet med den beste gjennomsnittlige fmax er en god kandidat for utgivelse med BSP. Hvis du bestemmer deg for å følge en annen tilnærming enn de anbefalte trinnene, kan du observere 5-10 % variasjon i fmax for kjerneimportkompileringsprosessen.

Figur 2. Identifisering av det beste basisfrøetintel AN 824 FPGA SDK for OpenCL Board Support Package Planløsning - fig

  • For å forstå hvor raskt kjernen kan kjøre uten begrensninger i planløsning:
    1. Utfør en flat kompilering av kjernen og observer fmax.
    2. Utfør en importkompilering på den samme kjernen og observer fmax.
    3. Sammenlign fmax-resultater.
    På grunn av plantegningsbegrensningene er import compile fmax alltid lavere enn flat compile fmax. For å unngå frøstøy, kompiler kjernen med flere basisfrø og vurder en gjennomsnittlig fmax mens du sammenligner fmax-resultater.
  • Sammenlign aldri kjerne-fmax fra en basiskompilasjon med en flat- eller importkompilasjon. Kjerneklokkemål avslappes under basiskompilering, og du vil derfor aldri oppnå gode resultater.
  • Observer kjerneklokkens kritiske bane i base- eller importkompilering. Hvis den kritiske banen krysser fra kjernen til den statiske regionen i plantegningen, endre plantegningen eller kjør noen flere grunnfrø for å unngå denne kritiske banen.

Retningslinjer for evaluering av BSP-ressursutnyttelseseffektivitet

Jo høyere ressursutnyttelsesprosenttage, jo bedre arealutnyttelse i det statiske området til din BSP. En høy ressursutnyttelsesprosenttage innebærer også at flere ressurser er tilgjengelige for kjerneregionen.
Følg trinnene nedenfor for å beregne ressursutnyttelsesprosententage av din BSP:

  1. Skaff verdier for alle ressursene i FPGA fra top.fit.rpt eller base.fit.rpt tilgjengelig under Partisjonsstatistikk-delen av Fitter-rapporten.
  2. Trekk fra verdien for "freeze_wrapper_inst|kernel_system_inst" (kjerneregion).

Tupp:
Fokuser mer på verdiene til adaptiv logikkmodul (ALM) enn på verdiene til andre ressurser. Sørg for at ressursutnyttelsen prosenttage for ALM er nærmere OpenCL-referansen BSP. En veldig høy prosentandeltage for ALM kan føre til overbelastning, noe som kan øke kompileringstiden og introdusere rutingstopper i komplekse kjerner. Du kan imidlertid alltid øke eller redusere det statiske områdeområdet, og observere kompileringstiden og fmax.
Følgende tabell gjenspeiler OpenCL BSP-ressursutnyttelsen av Arria ® 10 GX-enheter i 17.0-versjonen.

Tabell 1.
OpenCL BSP-ressursutnyttelse av IntelArria 10 GX-enheter i 17.0-versjonen

Totalt tilgjengelig Reservert for kjerne Tilgjengelig for BSP Brukes av BSP 0/0
ALM 427200 393800 33400 23818. 71.%
Registrerer 1708800 1575200 133600 38913 29.%
M2 OK 2713 2534 179 134 75.%
DSP 1518 1518 0 0 N/A

Vær oppmerksom på at gulvplanleggingen utføres på en slik måte at det statiske området ikke vil ha noen DSP-blokker.

Dokumentrevisjonshistorikk

Tabell 2.
Dokumentrevisjonshistorikk for Intel FPGA SDK for OpenCL Board Support Package Planløsningsoptimaliseringsveiledning

Dato Versjon Endringer
august-17 Første utgivelse.

ikon Online versjon
cardo 590878 Spirit Bluetooth Intercom - ICON 14 Send tilbakemelding
ID: 683312
AN-824
Versjon: 2017.08.08
AN 824: Intel® FPGA SDK for OpenCL™ Board

Støttepakke plantegningsoptimaliseringsveiledning

Dokumenter / Ressurser

intel AN 824 FPGA SDK for OpenCL Board Support Package Planløsning [pdfBrukerhåndbok
AN 824 FPGA SDK for OpenCL Board Support Package Planløsning, AN 824, FPGA SDK for OpenCL Board Support Package Planløsning, OpenCL Board Support Package Plantegning, Board Support Package Planløsning, Support Package Plantegning, Pakke Planløsning, Planløsning

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *