Intel-logo

Intel FPGA programmeerbare versnellingskaart D5005

Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-produk

Oor hierdie dokument

Hierdie dokument beskryf die implementering van die direkte geheue toegang (DMA) Accelerator Functional Unit (AFU) en hoe om die ontwerp te bou om op hardeware of in simulasie te loop.

Beoogde gehoor

Die beoogde gehoor bestaan ​​uit hardeware- of sagteware-ontwikkelaars wat 'n versnellerfunksie (AF) benodig om data plaaslik in die geheue te buffer wat aan die Intel FPGA-toestel gekoppel is.

Konvensies

Dokumentkonvensies

Konvensie Beskrywing
# Gaan voor 'n opdrag wat aandui dat die opdrag as wortel ingevoer moet word.
$ Dui aan dat 'n opdrag as 'n gebruiker ingevoer moet word.
Hierdie lettertipe Filename, opdragte en sleutelwoorde word in hierdie lettertipe gedruk. Lang opdraglyne word in hierdie lettertipe gedruk. Alhoewel lang opdragreëls na die volgende reël mag oorgaan, is die terugkeer nie deel van die opdrag nie; moenie enter druk nie.
Dui aan dat die plekhouerteks wat tussen die hoekhakies verskyn, met 'n toepaslike waarde vervang moet word. Moenie die hoekhakies betree nie.

Akronieme

Akronieme

Akronieme Uitbreiding Beskrywing
AF Versneller funksie Saamgestelde Hardware Accelerator-beeld geïmplementeer in FPGA-logika wat 'n toepassing versnel.
AFU Versneller funksionele eenheid Hardewareversneller geïmplementeer in FPGA-logika wat 'n rekenaarbewerking vir 'n toepassing van die SVE aflaai om werkverrigting te verbeter.
API Toepassingsprogrammeringskoppelvlak 'n Stel subroetine-definisies, protokolle en gereedskap vir die bou van sagtewaretoepassings.
CCI-P Kernkas-koppelvlak CCI-P is die standaard koppelvlak wat AFU's gebruik om met die gasheer te kommunikeer.
DFH Toestelkenmerkopskrif Skep 'n gekoppelde lys kenmerkopskrifte om 'n uitbreidbare manier te bied om kenmerke by te voeg.
voortgesit …

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Akronieme Uitbreiding Beskrywing
FIM FPGA-koppelvlakbestuurder Die FPGA hardeware wat die FPGA Interface Unit (FIU) bevat en eksterne koppelvlakke vir geheue, netwerk, ens.

Die versnellerfunksie (AF) koppel met die FIM tydens looptyd.

FIU FPGA-koppelvlak-eenheid FIU is 'n platform-koppelvlaklaag wat dien as 'n brug tussen platform-koppelvlakke soos PCIe*, UPI en AFU-kant-koppelvlakke soos CCI-P.
MPF Geheue-eienskappefabriek Die MPF is 'n basiese boublok (BBB) ​​wat AFU's kan gebruik om CCI-P verkeersvormingsoperasies vir transaksies met die FIU te verskaf.

Versnellingswoordelys

Versnellingsstapel vir Intel® Xeon® SVE met FPGA's Woordelys

Termyn Afkorting Beskrywing
Intel® Acceleration Stack vir Intel Xeon® CPU met FPGA's Versnellingsstapel 'n Versameling sagteware, firmware en gereedskap wat prestasiegeoptimaliseerde konneksie tussen 'n Intel FPGA en 'n Intel Xeon-verwerker bied.
Intel FPGA programmeerbare versnellingskaart Intel FPGA PAC PCIe FPGA versneller kaart.

Bevat 'n FPGA Interface Manager (FIM) wat saam met 'n Intel Xeon verwerker oor die PCIe bus.

  • DMA Accelerator Funksionele Eenheid Gebruikersgids: Intel FPGA Programmeerbare Acceleration Card D5005

DMA AFU Beskrywing

Inleiding

Die Direct Memory Access (DMA) AFU example wys hoe om geheue-oordragte tussen die gasheerverwerker en die FPGA te bestuur. Jy kan die DMA AFU in jou ontwerp integreer om data tussen die gasheergeheue en die FPGA plaaslike geheue te skuif. Die DMA AFU bestaan ​​uit die volgende submodules:

  • Memory Properties Factory (MPF) Basiese Boublok (BBB)
  • Core Cache Interface (CCI-P) na die Avalon® Memory-Mapped (Avalon-MM) Adapter
  • DMA-toetsstelsel wat die DMA BBB bevat

Hierdie submodules word in meer besonderhede beskryf in die DMA AFU Hardewarekomponente-onderwerp hieronder.

Verwante inligting

  • Die DMA AFU-hardewarekomponente op bladsy 6
  • Avalon-koppelvlakspesifikasies

Vir meer inligting oor die Avalon-MM-protokol, insluitend tydsberekeningdiagramme vir lees- en skryftransaksies.

Die DMA AFU sagteware pakket

Die Intel Acceleration Stack vir Intel Xeon CPU met FPGAs-pakket file (*.tar.gz), sluit die DMA AFU example. Hierdie example verskaf 'n gebruikerspasiebestuurder. Die gasheertoepassing gebruik hierdie drywer sodanig dat die DMA data tussen gasheer- en FPGA-geheue skuif. Die hardeware binaries, bronne en die gebruikerspasiebestuurder is beskikbaar in die volgende gids: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Voordat jy met die DMA AFU eksperimenteer, moet jy die Open Programmable Acceleration Engine (OPAE) sagtewarepakket installeer. Verwys na Installering van die OPAE-sagtewarepakket in die Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmeerbare Acceleration Card D5005 vir installasie-instruksies. Hierdie vinnige begingids bevat ook basiese inligting oor die oop programmeerbare versnellingsenjin (OPAE) en die opstel van 'n AFU. Na die installering van die Open Programmable Acceleration Engine (OPAE) sagtewarepakket, asampDie gasheertoepassing en die DMA AFU-gebruikerspasiebestuurder is beskikbaar in die volgende gids: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Om die s uit te voerample gasheertoepassing, fpga_dma_test op u Intel FPGA PAC D5005 hardeware, verwys na die stappe in afdeling Die uitvoer van die DMA AFU Example. Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Verwante inligting

  • Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmeerbare Acceleration Card D5005
  • Installeer die OPAE-sagtewarepakket

Die DMA AFU hardeware komponente

Die DMA AFU koppel met die FPGA Interface Unit (FIU) en FPGA geheue. Verwys na die FPGA Interface Manager Data Sheet vir Intel FPGA Programmable Acceleration Card D5005 vir gedetailleerde spesifikasies van die FPGA geheue. Die tans beskikbare hardeware dikteer hierdie geheuekonfigurasie. Toekomstige hardeware kan verskillende geheuekonfigurasies ondersteun. Jy kan die DMA AFU gebruik om data tussen die volgende bron- en bestemmingsliggings te kopieer:

  • Die gasheer tot toestel FPGA geheue
  • Toestel FPGA geheue aan die gasheer

'n Platformontwerperstelsel, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys implementeer die meeste van die DMA

  • AFU. Deel van die DMA AFU wat in die Platform Designer-stelsel geïmplementeer is, kan in die volgende gevind word

ligging:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Jy kan die DMA BBB op die volgende plek vind:

  • $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb

DMA Accelerator Funksionele Eenheid Gebruikersgids: Intel FPGA Programmeerbare Acceleration Card D5005

DMA AFU Hardeware Blokdiagram

Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-1

Die DMA AFU sluit die volgende interne modules in om met die FPGA Interface Unit (FIU) te koppel:

  • Geheue-gekarteerde IO (MMIO)-dekodeerderlogika: bespeur MMIO-lees- en skryftransaksies en skei dit van die CCI-P RX-kanaal 0 waaruit hulle kom. Dit verseker dat MMIO-verkeer nooit die MPF BBB bereik nie en deur 'n onafhanklike MMIO-bevelkanaal bedien word.
  • Memory Properties Factory (MPF): Hierdie module verseker dat die antwoorde van die DMA teruggelees word in die volgorde waarin hulle uitgereik is. Die Avalon-MM-protokol vereis dat leesantwoorde in die korrekte volgorde terugkeer.
  • CCI-P na Avalon-MM Adapter: Hierdie module vertaal tussen CCI-P en Avalon-MM transaksies, soos volg:
  • CCI-P na Avalon-MMIO Adapter: Hierdie pad vertaal CCI-P MMIO-transaksies in Avalon-MM-transaksies.
  • Avalon na CCI-P-gasheeradapter: Hierdie paaie skep afsonderlike leesalleen- en slegs-skryfpaaie vir die DMA om toegang tot gasheergeheue te verkry.
  • DMA-toetsstelsel: Hierdie module dien as 'n omhulsel om die DMA BBB om die DMA-meesters bloot te stel aan die res van die logika in die AFU. Dit bied die koppelvlak tussen die DMA BBB en die CCI-P na Avalon Adapter. Dit bied ook die koppelvlak tussen die DMA BBB en die plaaslike FPGA SDRAM-banke.

Verwante inligting
FPGA-koppelvlakbestuurder-datablad vir Intel FPGA-programmeerbare versnellingskaart D5005

DMA toetsstelsel

Die DMA-toetsstelsel verbind die DMA BBB met die res van die FPGA-ontwerp, insluitend CCI-P-aanpassing en die plaaslike FPGA-geheue.

DMA Toetsstelsel Blokdiagram
Hierdie blokdiagram toon die internals van die DMA-toetsstelsel. Die DMA-toetsstelsel word as 'n monolitiese blok in Figuur 1 op bladsy 7 getoon.Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-2

Die DMA-toetsstelsel sluit die volgende interne modules in:

  • Verreikbrug/Pyplynbrug: 'n Pyplynbrug met verstelbare latensie ingesluit om topologie te beheer en die ontwerp Fmax te verbeter.
  • DMA AFU Device Feature Header (DFH): Dit is 'n DFH vir die DMA AFU. Hierdie DFH wys na die volgende DFH geleë teen offset 0x100 (DMA BBB DFH).
  • Nul DFH: Hierdie komponent beëindig die DFH-gekoppelde lys. As jy meer DMA BBB'e by die ontwerp voeg, maak seker dat die nul DFH-basisadres aan die einde van die DFH-gekoppelde lys geleë is.
  • MA Basiese Boublok (BBB): Hierdie blok skuif data tussen die gasheer en die plaaslike FPGA geheue. Dit kry ook toegang tot gasheergeheue om toegang tot beskrywingskettings te verkry.

DMA BBB

Die DMA BBB-substelsel dra data van bron- na bestemmingsadresse oor deur Avalon-MM-transaksies te gebruik. Die DMA-bestuurder beheer die DMA BBB deur toegang te verkry tot die beheer- en statusregister van die verskillende komponente binne die stelsel. Die DMA-bestuurder beheer ook die DMA BBB deur gedeelde geheue te gebruik om oordragbeskrywers te kommunikeer. Die DMA BBB kry toegang tot data in FPGA-geheue teen offset 0x0. Die DMA BBB kry toegang tot data en beskrywings in gasheergeheue teen offset 0x1_0000_0000_0000.

DMA BBB Platform Ontwerper Blokdiagram
Hierdie blokdiagram sluit sommige interne Pipeline Bridge IP-kerne uit.Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-6

DMA Accelerator Funksionele Eenheid Gebruikersgids: Intel FPGA Programmeerbare Acceleration Card D5005

DMA AFU Beskrywing

Die komponente in die DMA BBB Platform Designer implementeer die volgende funksies:

  • Verreikbrug/Pyplynbrug: 'n Pyplynbrug met verstelbare latensie ingesluit om topologie te beheer en die ontwerp Fmax te verbeter.
  • MA BBB DFH: Dit is 'n toestelkenmerkopskrif vir die DMA BBB. Hierdie DFH wys na die volgende DFH geleë teen offset 0x100 (Nul DFH).
  • Beskrywing Frontend: Verantwoordelik om beskrywers te gaan haal en na die Versender oor te dra. Wanneer 'n DMA-oordrag voltooi is, ontvang die frontend statusvorming van die Dispatcher en skryf die beskrywer in die gasheergeheue oor.
  • Versender: Hierdie blok skeduleer DMA-oordragversoeke na die Lees- en Skryfmeester.
  • Lees Meester: Hierdie blok is verantwoordelik vir die lees van data vanaf gasheer- of plaaslike FPGA-geheue en stuur dit as stroomdata na Write Master.
  • Skryf Meester: Hierdie blok is verantwoordelik vir die ontvangs van stroomdata vanaf die Leesmeester en die skryf van die inhoud na die gasheer- of plaaslike FPGA-geheue.

Registreer kaart- en adresruimtes

Die DMA AFU ondersteun twee geheue views: Die DMA view en die gasheer view. Die DMA view ondersteun 'n 49-bis adresspasie. Die onderste helfte van die DMA view kaarte na die plaaslike FPGA geheue. Die boonste helfte van die DMA view kaarte om geheue te huisves. Die gasheer view sluit al die registers in wat toeganklik is deur MMIO-toegange soos die DFH-tabelle, en die beheer-/statusregisters van die verskillende IP-kerne wat binne die DMA AFU gebruik word. Die MMIO registreer in die DMA BBB en AFU ondersteun 32- en 64-bis toegang. Die DMA AFU ondersteun nie 512-bis MMIO-toegange nie. Toegange tot die Dispatcher-registers binne die DMA BBB moet 32 ​​biss wees (Descriptor frontend implementeer 64-bis registers).

DMA AFU Registreer Kaart

Die DMA AFU-registerkaart verskaf die absolute adresse van al die liggings binne die eenheid. Hierdie registers is in die gasheer view want dit is net die gasheer wat toegang tot hulle het.

DMA AFU geheue kaart

Byte-adresverskuiwings Naam Span in grepe Beskrywing
0x0 DMA AFU DFH 0x40 Toestelkenmerkopskrif vir die DMA AFU. Die ID_L is gestel op 0x9081f88b8f655caa en ID_H is gestel op 0x331db30c988541ea. Die DMA AFU DFH is geparameteriseer om te wys na offset 0x100 om die volgende DFH (DMA BBB DFH) te vind. Jy mag nie die basisadres van die DMA AFU DFH verander nie, aangesien dit by adres 0x0 geleë moet wees soos gedefinieer deur die CCIP-spesifikasie.
0x100 DMA BBB 0x100 Spesifiseer DMA BBB beheer en status register koppelvlak. U kan na die DMA BBB-registerkaart verwys vir meer inligting. Binne die DMA BBB by offset 0 sluit die DMA BBB sy eie DFH in. Hierdie DFH is ingestel om die volgende DFH te vind teen offset 0x100 (NULL DFH). As jy meer DMA BBB's byvoeg, spasieer hulle 0x100 uitmekaar en verseker dat die NULL DFH die laaste DMA met 0x100 volg.
0x200 NULL DFH 0x40 Beëindig die DFH-gekoppelde lys. Die ID_L is gestel op 0x90fe6aab12a0132f en ID_H is gestel op 0xda1182b1b3444e23. Die NULL DFH is geparameteriseer om die laaste DFH in hardeware te wees. Om hierdie rede is die NULL DFH by adres 0x200 geleë. As jy bykomende DMA BBB's by die stelsel voeg, moet jy die NULL DFH-basisadres dienooreenkomstig verhoog sodat dit by die hoogste adres bly. Die DMA-bestuurder en toetstoepassing gebruik nie hierdie hardeware nie.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Registreer kaart- en adresruimtes

DMA BBB geheue kaart
Die volgende greepadresse is relatiewe afwykings vanaf die DMA BBB-basisadres in die DMA AFU-stelsel (0x100).

Byte-adresverskuiwings Naam Span in grepe Beskrywing
0x0 DMA BBB DFH 0x40 Toestelkenmerkopskrif vir die DMA AFU. Die ID_L is ingestel op 0xa9149a35bace01ea en ID_H is ingestel op 0xef82def7f6ec40fc. Die DMA BBB DFH is geparameteriseer om te wys na 0x100 vir die volgende DFH offset. Hierdie volgende offset kan 'n ander DMA BBB, 'n ander DFH (nie ingesluit in hierdie ontwerp) of die NULL DFH wees.
0x40 Versender 0x40 Beheerpoort vir die versender. Die DMA-bestuurder gebruik hierdie ligging om die DMA te beheer of die status daarvan te bevraagteken.
0x80 Beskrywing Frontend 0x40 Die beskrywer-frontend is 'n pasgemaakte komponent wat beskrywers uit gasheergeheue lees en die beskrywer oorskryf wanneer die DMA-oordrag voltooi is. Die bestuurder gee die voorkant opdrag waar die eerste beskrywer in gasheergeheue woon en dan kommunikeer die voorkanthardeware met die bestuurder hoofsaaklik deur beskrywings wat in gasheergeheue gestoor is.

DMA AFU-adresruimte

Die gasheer kan toegang verkry tot registers wat in die Tabel 4 op bladsy 12 en die Tabel 5 op bladsy 13 gelys word. Die DMA BBB-substelsel het toegang tot die volle 49-bis adresspasie. Die onderste helfte van hierdie adresruimte sluit die plaaslike FPGA-geheue in. Die boonste helfte van hierdie adresspasie sluit die 48-bis gasheeradresgeheue in. Die volgende figuur toon die gasheer en DMA views van geheue.

Die DMA AFU en Gasheer Views van geheue

Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-3

Toestelkenmerkkop-gekoppelde lys

Die DMA AFU-ontwerp example bevat drie toestelkenmerkopskrifte (DFH) wat 'n gekoppelde lys vorm. Hierdie gekoppelde lys laat die sample aansoek om die DMA AFU te identifiseer sowel as die bestuurder om die DMA BBB te identifiseer. Die DFH-lys bevat 'n NULL DFH aan die einde. Die insluiting van die nul-DFH aan die einde van die gekoppelde lys laat jou toe om meer DMA BBB's by jou ontwerp te voeg. Jy moet eenvoudig die NULL DFH na 'n adres na die ander BBB'e skuif. Elke DMA BBB verwag dat die volgende DFH 0x100 grepe vanaf die basisadres van die BBB geleë sal wees. Die volgende figuur beeld die gekoppelde lys uit vir die DMA AFU-ontwerp bvample.

Registreer kaart- en adresruimtes

DMA AFU Device Feature Header (DFH) ketting

Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-4

Sagteware Programmering Model

Die DMA AFU bevat 'n sagtewarebestuurder wat jy in jou eie gasheertoepassing kan gebruik. Die fpga_dma.cpp en fpga_dma.h files geleë op die volgende plek implementeer die sagteware drywer: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Hierdie bestuurder ondersteun die volgende funksies:

API Beskrywing
fpgaCountDMAChannels Skandeer die toestelkenmerkketting vir DMA BBB's en tel alle beskikbare kanale.
fpgaDMAOop Maak 'n handvatsel oop vir die DMA-kanaal.
fpgaDMACsluit Maak 'n handvatsel toe vir die DMA-kanaal.
fpgaDMATransferInit Inisialiseer 'n voorwerp wat die DMA-oordrag verteenwoordig.
fpgaDMATransferReset Stel die DMA-oordragkenmerkvoorwerp terug na verstekwaardes.
fpgaDMATransferDestroy Vernietig die DMA-oordragkenmerk-objek.
fpgaDMATransferSetSrc Stel die bronadres van die oordrag. Hierdie adres moet 64 grepe belyn wees.
fpgaDMATransferSetDst Stel die bestemmingsadres van die oordrag. Hierdie adres moet 64 grepe belyn wees.
fpgaDMATransferSetLen Stel die oordraglengtes in grepe. Vir nie-pakkie-oordragte moet jy die oordraglengte op 'n veelvoud van 64 grepe stel. Vir pakkieoordragte is dit nie 'n vereiste nie.
fpgaDMATransferSetTransferType Stel die oordrag tipe. Wetlike waardes is:

• HOST_MM_TO_FPGA_MM = TX (gasheer vir AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU aan gasheer)

fpgaDMATransferSetTransferCallback Registreer terugbel vir kennisgewing oor asinchroniese oordrag voltooiing. As jy 'n terugbel spesifiseer, keer fpgaDMATransfer onmiddellik terug (asinchroniese oordrag).

As jy nie 'n terugbel spesifiseer nie, keer fpgaDMATransfer terug nadat die oordrag voltooi is (sinchroniese/blokkerende oordrag).

fpgaDMATransferSetLast Dui die laaste oordrag aan sodat die DMA die voorafafgehaalde oordragte kan begin verwerk. Die verstekwaarde is 64 oordragte in die pyplyn voordat die DMA aan die oordragte begin werk.
fpgaDMATransfer Voer 'n DMA-oordrag uit.

Vir meer inligting oor die API, invoer- en uitvoerargumente, verwys na die kopskrif file geleë $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. Ander name en handelsmerke kan as die eiendom van ander geëis word.

Sagteware Programmering Model

Om meer te wete te kom oor die gebruiksmodel van sagtewarebestuurder, verwys na die README file geleë op $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

DMA AFU Example

Voordat jy begin:

  • Jy moet vertroud wees met die eksamples in die Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmeerbare Acceleration Card D5005.
  • Jy moet 'n omgewingsveranderlike definieer. Die omgewingsveranderlike is afhanklik van die Intel Acceleration Stack-weergawe wat jy gebruik:
    • Vir huidige weergawe, stel die omgewingsveranderlike op $OPAE_PLATFORM_ROOT
  • Jy moet die Intel Threading Building Blocks (TBB)-biblioteek installeer aangesien die DMA-bestuurder daarop staatmaak.
  • Jy moet ook twee 1 GB groot bladsye opstel om die s te laat loopample aansoek. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Voer die volgende stappe uit om die DMA Accelerator Function (AF) bitstroom af te laai, om die toepassing en drywer te bou, en om die ontwerp example:

  1. Verander na die DMA-toepassing en bestuurdergids: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Bou die bestuurder en toepassing: maak
  3. Laai die DMA AFU bitstream af: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Voer die gasheertoepassing uit om 100 MB in 1 MB-gedeeltes van gasheergeheue na FPGA-toestelgeheue te skryf en lees dit terug: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Verwante inligting
Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmeerbare Acceleration Card D5005 Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Die samestelling van die DMA AFU Example

Om 'n sintesebou-omgewing te genereer om 'n AF saam te stel, gebruik die afu_synth_setup-opdrag soos volg:

  1. Verander na die DMA AFU sample gids: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Genereer die ontwerpbougids: afu_synth_setup –source hw/rtl/filelist.txt bou_synth
  3. Vanuit die sintese-bougids wat deur afu_synth_setup gegenereer is, voer die volgende opdragte vanaf 'n terminale venster in om 'n AF vir die teiken hardeware-platform te genereer: cd build_synth run.sh Die run.sh AF-generasieskrip skep die AF-beeld met dieselfde basis filenaam as die AFU se platformkonfigurasie file (.json) met 'n .gbs-agtervoegsel by die ligging:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Simuleer die AFU Example

Intel beveel aan dat u na die Intel Accelerator Functional Unit (AFU) Simulasie-omgewing (ASE) vinnige begingids verwys vir u Intel FPGA PAC om vertroud te wees met die simulasie van soortgelyke ex.amples en om jou omgewing op te stel. Voordat jy deur die volgende stappe gaan, verifieer dat die OPAE_PLATFORM_ROOT omgewingsveranderlike ingestel is op die OPAE SDK-installasiegids. Voltooi die volgende stappe om die hardeware-simulator vir die DMA AFU op te stel:

  1. Verander na die DMA AFU sample gids: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Skep 'n ASE-omgewing in 'n nuwe gids en stel dit op om 'n AFU te simuleer: afu_sim_setup –source hw/rtl/filelist.txt bou_ase_dir
  3. Verander na die ASE-bougids: cd build_ase_dir
  4. Bou die bestuurder en toepassing: maak
  5. Maak simulasie: maak sim

Sample uitset vanaf die hardeware-simulator:

[SIM] ** AANDAG: VOORDAT jy die sagteware-toepassing hardloop ** [SIM] Stel env(ASE_WORKDIR) in terminaal waar toepassing sal loop (kopieer-en-plak) => [SIM] $SHELL | Hardloop:[SIM] ———+————————————————— [SIM] bash/zsh | uitvoer ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/werk [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Vir enige ander $SHELL, raadpleeg jou Linux administrateur [SIM] [SIM] Gereed vir simulasie... [SIM] Druk CTRL-C om simulator toe te maak...

Voltooi die volgende stappe om die DMA AFU-sagteware in die simulasie-omgewing saam te stel en uit te voer:

  1. Maak 'n nuwe terminale venster oop.
  2. Verander gids na: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Simuleer die AFU Example

  1. Kopieer die omgewingsopstelstring (kies string geskik vir jou dop) van die stappe hierbo in die hardeware-simulasie na die terminale venster. Sien die volgende reëls in die aample uitset vanaf die hardeware-simulator. [SIM] bash/zsh | uitvoer ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/werk [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. Stel die sagteware saam: $ make USE_ASE=1
  3. Voer die gasheertoepassing uit om 4 KB in 1 KB-gedeeltes van die gasheergeheue terug te skryf na FPGA-toestelgeheue in die teruglusmodus: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Verwante inligting
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start User Guide

Optimalisering vir verbeterde DMA-prestasie

Implementering van NUMA (nie-uniforme geheuetoegang)-optimering in fpga_dma_test.cpp laat die verwerker toe om vinniger toegang tot sy eie plaaslike geheue te kry as om toegang tot nie-plaaslike geheue (geheue plaaslik na 'n ander verwerker) te verkry. 'n Tipiese NUMA-konfigurasie word in die diagram hieronder getoon. Die plaaslike toegang verteenwoordig toegang vanaf 'n kern tot geheue plaaslik tot dieselfde kern. Die afstandtoegang illustreer die pad wat geneem word wanneer 'n kern op Node 0 toegang verkry tot geheue wat in die geheue geleë is, plaaslik tot Node 1.

Tipiese NUMA-konfigurasie

Intel.-FPGA-Programmeerbare-versnelling-kaart-D5005-fig-5

Gebruik die volgende kode om NUMA-optimering in jou toetstoepassing te implementeer:

// Stel behoorlike affiniteit op indien versoek indien (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties rekwisiete;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, "fpgaGetProperties"); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgapropertiesgetDevice (rekwisiete, (uint8_t *) & dev); on_err_goto (res, out, out_destroy_tok, “fpgapropertiesgetDevice”) res = fpgapropertiesfunction (rekwisiete, (uint8_t *) & func); On_err_goto (out, out_t_tok ertiesGetFunction ”); // Vind die toestel uit die topologie hwloc_topology_t topologie; hwloc_topology_init(&topologie); hwloc_topology_set_flags(topologie, HWLOC_TOPOLOGY_FLAG_IO_DEVICES); Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Optimalisering vir verbeterde DMA-prestasie

hwloc_topology_load(topologie); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologie, dom, bus, dev, funk); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologie, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET is %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET is %s\n”, str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologie, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_THREAD_HWLOC_MEMBIND_MEMBIND_MEMBINDHINDWINDWINDWIND); #else retval =hwloc_set_membind_nodeset(topologie, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_affinity) { retval = hwloc_set_cpubind(topologie, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO (retval, out_destroy_tok, "hwloc_set_cpubind"); } }

DMA Accelerator Funksionele Eenheid Gebruikersgids Argiewe

Intel Acceleration Stack weergawe Gebruikersgids (PDF)
2.0 DMA Accelerator Functional Unit (AFU) Gebruikersgids

Dokumenthersieningsgeskiedenis vir die DMA Accelerator Functional Unit User Guide

 

Dokument weergawe

Intel versnelling Stapel weergawe  

Veranderinge

 

 

2020.08.03

2.0.1 (ondersteun met Intel

Quartus® Prime Pro Edition Edition 19.2)

 

Het die AF-beeld reggestel file naam in afdeling Die samestelling van die DMA AFU Example.

 

 

2020.04.17

2.0.1 (ondersteun met Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Het 'n stelling in Beoogde gehoor afdeling.

 

 

2020.02.20

2.0.1 (ondersteun met Intel

Quartus Prime Pro Edition Edition 19.2)

 

 

Vaste tikfout.

 

 

 

 

2019.11.04

 

 

2.0.1 (ondersteun met Intel

Quartus Prime Pro Edition Edition 19.2)

• Het die fpgaconf vervang met fpgasupdate wanneer die FPGA gekonfigureer is met die voorafgeboude AFU in afdeling Bestuur die DMA AFU Example.

• Bygevoeg subtitel Intel FPGA programmeerbare versnellingskaart D5005 na die dokumenttitel.

• Bygevoeg omgewingsveranderlike $OPAE_PLATFORM_ROOT.

• Gewysigde afdeling Sagteware Programmering Model vir geringe wysigings.

• Nuwe afdeling bygevoeg Die samestelling van die DMA AFU Example.

• Gewysigde afdeling Optimalisering vir verbeterde DMA-prestasie vir geringe wysigings.

 

 

2019.08.05

2.0 (ondersteun met Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Aanvanklike vrystelling.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word.

  • Ander name en handelsmerke kan as die eiendom van ander geëis word.

 

Dokumente / Hulpbronne

Intel FPGA programmeerbare versnellingskaart D5005 [pdf] Gebruikersgids
FPGA programmeerbare versnelling kaart, D5005, FPGA programmeerbare versnelling kaart D5005, DMA versneller funksionele eenheid

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *