Inteli logo

Intel FPGA programmeeritav kiirenduskaart D5005

Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-toode

Selle dokumendi kohta

Selles dokumendis kirjeldatakse otsemälu juurdepääsu (DMA) kiirendi funktsionaalse üksuse (AFU) rakendamist ja seda, kuidas luua kujundust nii, et see töötaks riistvara või simulatsiooni abil.

Mõeldud publik

Sihtrühma kuuluvad riist- või tarkvaraarendajad, kes vajavad Inteli FPGA-seadmega ühendatud mällu andmete lokaalseks puhverdamiseks kiirendusfunktsiooni (AF).

konventsioonid

Dokumendi konventsioonid

konventsioon Kirjeldus
# Eelneb käsule, mis näitab, et käsk tuleb sisestada administraatorina.
$ Näitab, et kasutajana tuleb sisestada käsk.
See font Filenimed, käsud ja märksõnad trükitakse selles kirjas. Pikad käsuread trükitakse selles kirjatüübis. Kuigi pikad käsuread võivad muutuda järgmisele reale, ei ole tagastamine käsu osa; ärge vajutage sisestusklahvi.
Näitab, et nurksulgude vahel kuvatav kohatäide tekst tuleb asendada sobiva väärtusega. Ärge sisestage nurksulgusid.

Akronüümid

Akronüümid

Akronüümid Laienemine Kirjeldus
AF Kiirendi funktsioon Kompileeritud riistvarakiirendi kujutis, mis on rakendatud FPGA-loogikas ja mis kiirendab rakendust.
AFU Kiirendi funktsionaalne üksus FPGA-loogikasse rakendatud riistvarakiirendi, mis laadib jõudluse parandamiseks protsessorilt maha rakenduse arvutustoimingud.
API Rakenduse programmeerimisliides Alamprogrammide definitsioonide, protokollide ja tööriistade komplekt tarkvararakenduste loomiseks.
CCI-P Põhiline vahemälu liides CCI-P on standardliides, mida AFU-d kasutavad hostiga suhtlemiseks.
DFH Seadme funktsiooni päis Loob funktsioonide päistest lingitud loendi, et pakkuda funktsioonide lisamiseks laiendatavat viisi.
jätkus…

Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Akronüümid Laienemine Kirjeldus
FIM FPGA liidesehaldur FPGA riistvara, mis sisaldab FPGA liideseseadet (FIU) ja väliseid liideseid mälu, võrgu jne jaoks.

Kiirendi funktsioon (AF) liidestub tööajal FIM-iga.

Rahapesu andmebüroo FPGA liidese üksus FIU on platvormi liidese kiht, mis toimib sillana platvormi liideste (nt PCIe*, UPI) ja AFU-poolsete liideste (nt CCI-P) vahel.
MPF Mälu omaduste tehas MPF on põhiline ehitusplokk (BBB), mida AFU-d saavad kasutada rahapesu andmebürooga tehtavate tehingute jaoks CCI-P liikluse kujundamise toimingute pakkumiseks.

Kiirenduse sõnastik

Kiirenduspinn Intel® Xeon® protsessorile koos FPGA-dega

Tähtaeg Lühend Kirjeldus
Intel® Acceleration Stack FPGA-dega Intel Xeon® CPU jaoks Kiirenduse virn Tarkvara, püsivara ja tööriistade kogumik, mis tagab jõudlusele optimeeritud ühenduvuse Inteli FPGA ja Intel Xeoni protsessori vahel.
Inteli FPGA programmeeritav kiirenduskaart Intel FPGA PAC PCIe FPGA kiirendi kaart.

Sisaldab FPGA liidesehaldurit (FIM), mis ühendub Intel Xeoni protsessoriga PCIe siini kaudu.

  • DMA kiirendi funktsionaalüksuse kasutusjuhend: Intel FPGA programmeeritav kiirenduskaart D5005

DMA AFU kirjeldus

Sissejuhatus

Otsese mälu juurdepääsu (DMA) AFU example näitab, kuidas hallata mäluülekandeid hostprotsessori ja FPGA vahel. Saate integreerida DMA AFU oma disaini, et liigutada andmeid hostmälu ja FPGA kohaliku mälu vahel. DMA AFU sisaldab järgmisi alammooduleid:

  • Mälu omaduste tehase (MPF) põhiehitusplokk (BBB)
  • Põhivahemälu liides (CCI-P) Avalon® mälukaardistatud (Avalon-MM) adapterile
  • DMA testimissüsteem, mis sisaldab DMA BBB-d

Neid alammooduleid kirjeldatakse üksikasjalikumalt allpool DMA AFU riistvarakomponentide teemas.

Seotud teave

  • DMA AFU riistvarakomponendid lk 6
  • Avaloni liidese spetsifikatsioonid

Avalon-MM-protokolli kohta lisateabe saamiseks, sealhulgas lugemis- ja kirjutamistoimingute ajastusskeemid.

DMA AFU tarkvarapakett

Intel Acceleration Stack Intel Xeoni protsessori jaoks koos FPGA-paketiga file (*.tar.gz), sisaldab DMA AFU example. See eksample pakub kasutajaruumi draiverit. Hostirakendus kasutab seda draiverit nii, et DMA liigutab andmeid hosti ja FPGA-mälu vahel. Riistvara binaarfailid, allikad ja kasutajaruumi draiver on saadaval järgmises kataloogis: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Enne DMA AFU-ga katsetamist peate installima tarkvarapaketi Open Programmable Acceleration Engine (OPAE). Installimisjuhiste saamiseks vaadake Intel Acceleration Stacki kiirjuhendi Intel FPGA programmeeritava kiirenduskaardi D5005 kohta OPAE tarkvarapaketi installimine. See kiirjuhend sisaldab ka põhiteavet Open Programmable Acceleration Engine (OPAE) ja AFU konfigureerimise kohta. Pärast Open Programmable Acceleration Engine (OPAE) tarkvarapaketi installimist, naguample hostirakendus ja DMA AFU kasutajaruumi draiver on saadaval järgmises kataloogis: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Et käivitada sampHostirakenduse fpga_dma_test oma Intel FPGA PAC D5005 riistvaras, vaadake juhiseid jaotises DMA AFU Ex käitamineample. Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Seotud teave

  • Intel Acceleration Stacki kiirjuhend Intel FPGA programmeeritava kiirenduskaardi D5005 jaoks
  • OPAE tarkvarapaketi installimine

DMA AFU riistvarakomponendid

DMA AFU liidestub FPGA liideseüksuse (FIU) ja FPGA mäluga. FPGA-mälu üksikasjalikud andmed leiate FPGA liidesehalduri andmelehelt Intel FPGA programmeeritava kiirenduskaardi D5005 jaoks. Praegu saadaolev riistvara määrab selle mälukonfiguratsiooni. Tulevane riistvara võib toetada erinevaid mälukonfiguratsioone. Saate kasutada DMA AFU-d andmete kopeerimiseks järgmiste allika- ja sihtkohtade vahel:

  • Host-seadme FPGA-mälu
  • Seadme FPGA-mälu hostile

Platform Designer süsteem, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys rakendab suurema osa DMA-st

  • AFU. Osa Platform Designeri süsteemis rakendatud DMA AFU-st on leitav alljärgnevalt

asukoht: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB leiate järgmisest asukohast:

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

DMA kiirendi funktsionaalüksuse kasutusjuhend: Intel FPGA programmeeritav kiirenduskaart D5005

DMA AFU riistvara plokkskeem

Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-1

DMA AFU sisaldab järgmisi sisemisi mooduleid liidestamiseks FPGA liidesega (FIU):

  • Mälukaardistatud IO (MMIO) dekoodri loogika: tuvastab MMIO lugemise ja kirjutamise tehingud ning eraldab need CCI-P RX kanalist 0, kust need saabuvad. See tagab, et MMIO liiklus ei jõua kunagi MPF BBB-ni ja seda teenindab sõltumatu MMIO käsukanal.
  • Mälu atribuutide tehas (MPF): see moodul tagab, et DMA lugemisvastused tagastatakse nende väljastamise järjekorras. Avalon-MM-protokoll nõuab lugemisvastuseid, et tagastada õiges järjekorras.
  • CCI-P-st Avalon-MM-i adapteriks: see moodul tõlgib CCI-P ja Avalon-MM-i tehinguid järgmiselt:
  • CCI-P kuni Avalon-MMIO adapter: see tee teisendab CCI-P MMIO tehingud Avalon-MM tehinguteks.
  • Avalon ja CCI-P hostadapter: need teed loovad DMA-le hostimälule juurdepääsuks eraldi kirjutuskaitstud ja kirjutuslikud teed.
  • DMA testimissüsteem: see moodul toimib DMA BBB ümbrisena, et paljastada DMA-meistrid ülejäänud AFU loogikale. See pakub liidest DMA BBB ja CCI-P to Avalon adapteri vahel. Samuti pakub see liidest DMA BBB ja kohalike FPGA SDRAM-pankade vahel.

Seotud teave
FPGA liidesehalduri andmeleht Intel FPGA programmeeritava kiirenduskaardi D5005 jaoks

DMA testimissüsteem

DMA testimissüsteem ühendab DMA BBB ülejäänud FPGA kujundusega, sealhulgas CCI-P kohanduse ja kohaliku FPGA mäluga.

DMA testimissüsteemi plokkskeem
See plokkskeem näitab DMA testimissüsteemi sisemisi omadusi. DMA testimissüsteem on näidatud monoliitse plokina joonisel 1 lk 7.Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-2

DMA testimissüsteem sisaldab järgmisi sisemisi mooduleid:

  • Far Reach Bridge / Pipeline Bridge: torujuhtme sild koos reguleeritava latentsusega topoloogia juhtimiseks ja disaini Fmax parandamiseks.
  • DMA AFU seadme funktsiooni päis (DFH): see on DMA AFU DFH. See DFH osutab järgmisele DFH-le, mis asub nihkes 0x100 (DMA BBB DFH).
  • Null DFH: see komponent lõpetab DFH lingitud loendi. Kui lisate kujundusele rohkem DMA BBB-sid, veenduge, et null DFH baasaadress asub DFH lingitud loendi lõpus.
  • MA Basic Building Block (BBB): see plokk liigutab andmeid hosti ja kohaliku FPGA-mälu vahel. Samuti pääseb see ligi hostimälule, et pääseda juurde deskriptoriahelatele.

DMA BBB

DMA BBB alamsüsteem edastab andmed allikast sihtkoha aadressidele, kasutades Avalon-MM tehinguid. DMA draiver juhib DMA BBB-d, pääsedes juurde süsteemi sees olevate erinevate komponentide juhtimis- ja olekuregistrile. DMA draiver juhib ka DMA BBB-d, kasutades edastuskirjelduste edastamiseks jagatud mälu. DMA BBB pääseb juurde FPGA-mälus olevatele andmetele nihkega 0x0. DMA BBB pääseb juurde hostimälus olevatele andmetele ja deskriptoritele nihkega 0x1_0000_0000_0000.

DMA BBB platvormi kujundaja plokkskeem
See plokkskeem välistab mõned sisemised Pipeline Bridge IP-tuumad.Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-6

DMA kiirendi funktsionaalüksuse kasutusjuhend: Intel FPGA programmeeritav kiirenduskaart D5005

DMA AFU kirjeldus

DMA BBB Platform Designeri komponendid rakendavad järgmisi funktsioone:

  • Far Reach Bridge/Pipeline Bridge: Komplektis on reguleeritava latentsusega torujuhtmesild topoloogia juhtimiseks ja disaini Fmax parandamiseks.
  • MA BBB DFH: See on DMA BBB seadme funktsiooni päis. See DFH osutab järgmisele DFH-le, mis asub nihkes 0x100 (Null DFH).
  • Kirjeldaja kasutajaliides: Vastutab deskriptorite toomise ja dispetšerile edastamise eest. Kui DMA-edastus on lõpule viidud, saab esiserv dispetšerilt olekuvormingu ja kirjutab hostimälus deskriptori üle.
  • Dispetšer: See plokk ajastab DMA edastustaotlused lugemis- ja kirjutamisjuhisele.
  • Lugege meistrit: See plokk vastutab andmete lugemise eest hostist või kohalikust FPGA-mälust ja voogedastusandmetena saatmise eest Write Masterile.
  • Kirjutage meister: See plokk vastutab voogesituse andmete vastuvõtmise eest Read Masterilt ja sisu kirjutamise eest hosti või kohalikku FPGA mällu.

Registreerige kaardi- ja aadressiruumid

DMA AFU toetab kahte mälu views: DMA view ja peremees view. DMA view toetab 49-bitist aadressiruumi. DMA alumine pool view kaardid kohalikku FPGA-mällu. DMA ülemine pool view kaardid hostimällu. Võõrustaja view sisaldab kõiki registreid, millele pääseb juurde MMIO juurdepääsu kaudu, nagu DFH tabelid, ja DMA AFU-s kasutatavate erinevate IP-tuumade juhtimis-/olekuregistreid. DMA BBB ja AFU MMIO registrid toetavad 32- ja 64-bitist juurdepääsu. DMA AFU ei toeta 512-bitist MMIO-juurdepääsu. Juurdepääs DMA BBB-s asuvatele dispetšeriregistritele peab olema 32-bitine (Descriptor frontend rakendab 64-bitiseid registreid).

DMA AFU registreerimiskaart

DMA AFU registrikaart annab kõigi seadmes olevate asukohtade absoluutaadressid. Need registrid on hostis view sest neile pääseb juurde ainult host.

DMA AFU mälukaart

Baiti aadressi nihked Nimi Ulatus baitides Kirjeldus
0x0 DMA AFU DFH 0x40 Seadme funktsiooni päis DMA AFU jaoks. ID_L on seatud väärtusele 0x9081f88b8f655caa ja ID_H väärtuseks 0x331db30c988541ea. DMA AFU DFH parameetrid on nihutatud 0x100, et leida järgmine DFH (DMA BBB DFH). Te ei tohi muuta DMA AFU DFH baasaadressi, kuna see peab asuma CCIP spetsifikatsioonis määratletud aadressil 0x0.
0x100 DMA BBB 0x100 Määrab DMA BBB juhtimis- ja olekuregistri liidese. Lisateabe saamiseks võite vaadata DMA BBB registrikaarti. DMA BBB nihkega 0 sisaldab DMA BBB oma DFH-d. See DFH on seatud leidma järgmist DFH-d nihkega 0x100 (NULL DFH). Kui lisate rohkem DMA BBB-sid, asetage need üksteisest 0x100 kaugusele ja veenduge, et NULL DFH järgiks viimast DMA-d 0x100 võrra.
0x200 NULL DFH 0x40 Lõpetab DFH lingitud loendi. ID_L on seatud väärtusele 0x90fe6aab12a0132f ja ID_H väärtusele 0xda1182b1b3444e23. NULL DFH on parameetrites viimane DFH riistvaras. Sel põhjusel asub NULL DFH aadressil 0x200. Kui lisate süsteemi täiendavaid DMA BBB-sid, peate vastavalt suurendama NULL DFH baasaadressi, et see jääks kõrgeimale aadressile. DMA draiver ja testrakendus seda riistvara ei kasuta.

Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Registreerige kaardi- ja aadressiruumid

DMA BBB mälukaart
Järgmised baidiaadressid on suhtelised nihked DMA BBB baasaadressist DMA AFU süsteemis (0x100).

Baiti aadressi nihked Nimi Ulatus baitides Kirjeldus
0x0 DMA BBB DFH 0x40 Seadme funktsiooni päis DMA AFU jaoks. ID_L on seatud väärtusele 0xa9149a35bace01ea ja ID_H väärtuseks 0xef82def7f6ec40fc. DMA BBB DFH parameetrid on 0x100 järgmise DFH nihke jaoks. See järgmine nihe võib olla teine ​​DMA BBB, teine ​​DFH (ei sisaldu selles kujunduses) või NULL DFH.
0x40 Dispetšer 0x40 Dispetšeri juhtport. DMA draiver kasutab seda asukohta DMA juhtimiseks või selle oleku päringu tegemiseks.
0x80 Deskriptor Frontend 0x40 Deskriptori esiserv on kohandatud komponent, mis loeb deskriptoreid hostimälust ja kirjutab deskriptori üle, kui DMA-edastus on lõppenud. Draiver juhendab esiosa, kus asub hostimälus esimene deskriptor, ja seejärel suhtleb esiosa riistvara draiveriga peamiselt hostimällu salvestatud deskriptorite kaudu.

DMA AFU aadressiruum

Host pääseb juurde registritele, mis on loetletud tabelis 4 lk 12 ja tabel 5 lk 13. DMA BBB alamsüsteemil on juurdepääs kogu 49-bitisele aadressiruumile. Selle aadressiruumi alumine pool sisaldab kohalikke FPGA-mälusid. Selle aadressiruumi ülemine pool sisaldab 48-bitist hostiaadressi mälu. Järgmisel joonisel on näidatud host ja DMA views mälust.

DMA AFU ja host Views mälust

Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-3

Seadme funktsioonide päise lingitud loend

DMA AFU disain example sisaldab kolme seadme funktsioonide päist (DFH), mis moodustavad lingitud loendi. See lingitud loend võimaldab sample rakendus DMA AFU ja draiveri tuvastamiseks DMA BBB tuvastamiseks. DFH loendi lõpus on NULL DFH. Null-DFH lisamine lingitud loendi lõppu võimaldab teil lisada oma disainile rohkem DMA BBB-sid. Peate lihtsalt teisaldama NULL DFH teistele BBB-dele järgnevale aadressile. Iga DMA BBB eeldab, et järgmine DFH asub 0x100 baiti kaugusel BBB baasaadressist. Järgmisel joonisel on kujutatud DMA AFU disaini lingitud loendit ntample.

Registreerige kaardi- ja aadressiruumid

DMA AFU seadme funktsioonide päise (DFH) kettimine

Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-4

Tarkvara programmeerimise mudel

DMA AFU sisaldab tarkvaradraiverit, mida saate kasutada oma hostrakenduses. Failid fpga_dma.cpp ja fpga_dma.h files asuvad järgmises kohas, rakendavad tarkvaradraiveri: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw See draiver toetab järgmisi funktsioone:

API Kirjeldus
fpgaCountDMAChannels Otsib seadme funktsiooniahelas DMA BBB-sid ja loendab kõik saadaolevad kanalid.
fpgaDMAOpen Avab DMA kanali käepideme.
fpgaDMACsulge Sulgeb DMA kanali käepideme.
fpgaDMATtransferInit Initsialiseerib objekti, mis esindab DMA-edastust.
fpgaDMATransferReset Lähtestab DMA edastusatribuudi objekti vaikeväärtused.
fpgaDMATransferDestroy Hävitab DMA edastusatribuudi objekti.
fpgaDMATransferSetSrc Määrab ülekande lähteaadressi. See aadress peab olema joondatud 64 baiti.
fpgaDMATransferSetDst Määrab ülekande sihtkoha aadressi. See aadress peab olema joondatud 64 baiti.
fpgaDMATransferSetLen Määrab edastuspikkused baitides. Mittepakettülekannete puhul peate määrama edastuse pikkuseks 64 baiti. Pakettedastuste puhul pole see nõue.
fpgaDMATransferSetTransferType Määrab ülekande tüübi. Juriidilised väärtused on järgmised:

• HOST_MM_TO_FPGA_MM = TX (host AFU-le)

• FPGA_MM_TO_HOST_MM = RX (AFU hostile)

fpgaDMATransferSetTransferCallback Registreerib tagasihelistamise, et saada teatis asünkroonse ülekande lõpetamise kohta. Kui määrate tagasihelistamise, tagastab fpgaDMATransfer kohe (asünkroonne ülekanne).

Kui te tagasihelistamist ei määra, naaseb fpgaDMATransfer pärast edastuse lõpetamist (sünkroonne/blokeeriv ülekanne).

fpgaDMATransferSetLast Näitab viimast ülekannet, et DMA saaks alustada eellaaditud edastuste töötlemist. Vaikeväärtus on 64 konveieri ülekannet, enne kui DMA hakkab ülekannetega töötama.
fpgaDMATtransfer Teostab DMA ülekande.

API, sisend- ja väljundargumentide kohta lisateabe saamiseks vaadake päist file asub $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Tarkvara programmeerimise mudel

Lisateavet tarkvara draiveri kasutusmudeli kohta leiate jaotisest README file asub aadressil $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Töötab DMA AFU Example

Enne alustamist:

  • Sa peaksid endise mehega tuttavad olemaamples Intel Acceleration Stacki kiirjuhendis Intel FPGA programmeeritava kiirenduskaardi D5005 jaoks.
  • Peate määratlema keskkonnamuutuja. Keskkonnamuutuja sõltub teie kasutatavast Intel Acceleration Stacki versioonist:
    • Praeguse versiooni jaoks määrake keskkonnamuutujaks $OPAE_PLATFORM_ROOT
  • Peate installima Intel Threading Building Blocks (TBB) teegi, kuna DMA draiver tugineb sellele.
  • S-i käitamiseks peate seadistama ka kaks 1 GB suurt lehteample rakendus. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

DMA kiirendifunktsiooni (AF) bitivoo allalaadimiseks, rakenduse ja draiveri koostamiseks ning kujunduse käitamiseks tehke järgmisi samme.ample:

  1. Muuda DMA rakenduse ja draiveri kataloogi: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Ehitage draiver ja rakendus: make
  3. Laadige alla DMA AFU bitivoog: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Käivitage hostrakendus, et kirjutada 100 MB 1 MB osadena hostimälust FPGA seadme mällu ja lugeda see tagasi: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Seotud teave
Intel Acceleration Stacki lühijuhend Intel FPGA programmeeritava kiirenduskaardi D5005 Intel Corporation jaoks. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

DMA AFU Ex. koostamineample

AF-i kompileerimiseks sünteesi ehituskeskkonna loomiseks kasutage käsku afu_synth_setup järgmiselt:

  1. Valige DMA AFU-dampkataloog: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Loo disaini ehituskataloog: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Sisestage afu_synth_setup loodud sünteesijärgu kataloogist sihtriistvaraplatvormi jaoks AF genereerimiseks terminali aknast järgmised käsud: cd build_synth run.sh Automaatse teravustamise genereerimise skript run.sh loob AF-kujutise sama alusega. filenimi AFU platvormi konfiguratsiooniks file (.json) koos .gbs-liidesega asukohas: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

AFU Example

Intel soovitab teil tutvuda Intel Accelerator Functional Unit (AFU) simulatsioonikeskkonna (ASE) kiirjuhendiga, et oma Intel FPGA PAC oleks tuttav sarnaste eksemplaride simuleerimisega.amples ja oma keskkonna seadistamiseks. Enne järgmiste toimingute jätkamist veenduge, et keskkonnamuutuja OPAE_PLATFORM_ROOT on seatud OPAE SDK installikataloogi. DMA AFU riistvarasimulaatori seadistamiseks tehke järgmised sammud.

  1. Valige DMA AFU-dample kataloog: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Looge ASE keskkond uude kataloogi ja konfigureerige see AFU simuleerimiseks: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Muutke ASE-i ehituskataloogi: cd build_ase_dir
  4. Ehitage draiver ja rakendus: make
  5. Tee simulatsioon: tee sim

Sampriistvarasimulaatori väljund:

[SIM] ** TÄHELEPANU: ENNE tarkvararakenduse käivitamist ** [SIM] Määrake env(ASE_WORKDIR) terminalis, kus rakendus töötab (kopeeri ja kleebi) => [SIM] $SHELL | Käivita:[SIM] ———+—————————————————— [SIM] bash/zsh | eksportida ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Mis tahes muu $SHELLi puhul konsulteerige oma Linuxi administraatoriga [SIM] [SIM] Simulatsiooniks valmis… [SIM] Simulaatori sulgemiseks vajutage klahvikombinatsiooni CTRL-C...

DMA AFU tarkvara kompileerimiseks ja käivitamiseks simulatsioonikeskkonnas tehke järgmised sammud.

  1. Avage uus terminali aken.
  2. Muuda kataloogiks: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

AFU Example

  1. Kopeerige keskkonna seadistusstring (valige oma shellist sobiv string) riistvarasimulatsiooni ülaltoodud sammudest terminali aknasse. Vaadake järgmisi ridu sample väljund riistvarasimulaatorist. [SIM] bash/zsh | eksportida ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. Kompileerige tarkvara: $ make USE_ASE=1
  3. Käivitage hostrakendus, et kirjutada 4 KB 1 KB osadena hostimälust tagasi FPGA seadme mällu tagasisilmusrežiimis: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Seotud teave
Intel Accelerator Functional Unit (AFU) simulatsioonikeskkonna (ASE) kiirjuhend

Optimeerimine DMA toimivuse parandamiseks

NUMA (mitteühtlase mälujuurdepääsu) optimeerimise rakendamine failis fpga_dma_test.cpp võimaldab protsessoril kiiremini juurde pääseda oma kohalikule mälule kui mittekohalikule mälule (teise protsessori lokaalne mälu). Tüüpiline NUMA konfiguratsioon on näidatud alloleval diagrammil. Kohalik juurdepääs tähistab juurdepääsu tuumast samale tuumale lokaalsele mälule. Kaugjuurdepääs illustreerib teed, mis kulgeb, kui sõlme 0 tuum pääseb juurde mälule, mis asub sõlme 1 kohalikus mälus.

Tüüpiline NUMA konfiguratsioon

Intel.-FPGA-Programmeeritav-Kiirenduskaart-D5005-joon-5

Kasutage oma testrakenduses NUMA optimeerimise juurutamiseks järgmist koodi:

// Seadistage õige afiinsus, kui seda nõutakse if (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;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(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, "fpgaPropertiesGetDevice") res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_Properties"TOftroyperties" // Leia seade topoloogiast hwloc_topology_t; hwloc_topology_init(&topology); hwloc_topology_set_flags(topoloogia, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Optimeerimine DMA toimivuse parandamiseks

hwloc_topology_load(topoloogia); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topoloogia, dom, siin, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topoloogia, 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 on %s\n", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf("NODESET on %s\n", str);#endif if (mälu_afiinsus) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_THREAD, HWINDYBLOMBIND_THREAD, HWINDYBLOMEMBH | #else retval =hwloc_set_membind_nodeset(topoloogia, obj2->sõlmekomplekt, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_afiinsus) { retval = hwloc_set_cpubind(topoloogia, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); } }

DMA Accelerator Functional Unit User Guide Arhiivid

Intel Acceleration Stacki versioon Kasutusjuhend (PDF)
2.0 DMA kiirendi funktsionaalüksuse (AFU) kasutusjuhend

Dokumenteerige DMA kiirendi funktsionaalüksuse kasutusjuhendi versioonide ajalugu

 

Dokumendi versioon

Inteli kiirendus Virna versioon  

Muudatused

 

 

2020.08.03

2.0.1 (toetatud Intel

Quartus® Prime Pro Editioni versioon 19.2)

 

AF-pilt on parandatud file nimi jaotises DMA AFU Ex. koostamineample.

 

 

2020.04.17

2.0.1 (toetatud Intel

Quartus Prime Pro Editioni versioon 19.2)

 

 

Parandanud avaldust Mõeldud publik osa.

 

 

2020.02.20

2.0.1 (toetatud Intel

Quartus Prime Pro Editioni versioon 19.2)

 

 

Parandatud kirjaviga.

 

 

 

 

2019.11.04

 

 

2.0.1 (toetatud Intel

Quartus Prime Pro Editioni versioon 19.2)

• Asendati fpgaconf fpgasupdate'iga FPGA seadistamisel eelkoostatud AFU-ga jaotises DMA AFU Example.

• Lisatud alapealkiri Intel FPGA programmeeritav kiirenduskaart D5005 dokumendi pealkirjale.

• Lisatud keskkonnamuutuja $OPAE_PLATFORM_ROOT.

• Muudetud jaotis Tarkvara programmeerimise mudel väiksemateks muudatusteks.

• Lisatud uus jaotis DMA AFU Ex. koostamineample.

• Muudetud jaotis Optimeerimine DMA toimivuse parandamiseks väiksemateks muudatusteks.

 

 

2019.08.05

2.0 (toetatud Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Esialgne vabastamine.

Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist.

  • Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

 

Dokumendid / Ressursid

Intel FPGA programmeeritav kiirenduskaart D5005 [pdfKasutusjuhend
FPGA programmeeritav kiirenduskaart, D5005, FPGA programmeeritav kiirenduskaart D5005, DMA kiirendi funktsionaalne üksus

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *