Intel FPGA programmeeritav kiirenduskaart D5005
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
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.
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.
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
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
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:
- Muuda DMA rakenduse ja draiveri kataloogi: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Ehitage draiver ja rakendus: make
- Laadige alla DMA AFU bitivoog: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- 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:
- Valige DMA AFU-dampkataloog: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Loo disaini ehituskataloog: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- 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.
- Valige DMA AFU-dample kataloog: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Looge ASE keskkond uude kataloogi ja konfigureerige see AFU simuleerimiseks: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- Muutke ASE-i ehituskataloogi: cd build_ase_dir
- Ehitage draiver ja rakendus: make
- 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.
- Avage uus terminali aken.
- 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
- 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
- Kompileerige tarkvara: $ make USE_ASE=1
- 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
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 |