Intel FPGA Programmable Acceleration Card D5005
Za Chikalata ichi
Chikalatachi chikufotokoza za kukhazikitsidwa kwachindunji kwa kukumbukira (DMA) Accelerator Functional Unit (AFU) ndi momwe mungapangire mapangidwe kuti aziyenda pa hardware kapena mongoyerekeza.
Omvera Ofuna
Omvera omwe akuyembekezeredwa amakhala ndi ma hardware kapena opanga mapulogalamu omwe amafunikira Accelerator Function (AF) kuti asungire deta kwanuko pamakumbukiro olumikizidwa ndi chipangizo cha Intel FPGA.
Misonkhano Yachigawo
Zolemba Zogwirizana
Msonkhano | Kufotokozera |
# | Imatsogolera lamulo lomwe likuwonetsa kuti lamulo liyenera kulowetsedwa ngati mizu. |
$ | Zikuwonetsa kuti lamulo liyenera kulowetsedwa ngati wogwiritsa ntchito. |
Mafonti awa | Filemayina, malamulo, ndi mawu osakira asindikizidwa mu font iyi. Mizere yolamula yayitali imasindikizidwa mu font iyi. Ngakhale mizere yayitali yolamula imatha kukulunga pamzere wotsatira, kubwerera si gawo la lamulo; osakanikiza kulowa. |
Imawonetsa mawu ogwirizira omwe akuwoneka pakati pa mabulaketi ayenera kusinthidwa ndi mtengo woyenerera. Musalowe m'mabakaketi aang'ono. |
Acronyms
Acronyms
Acronyms | Kukula | Kufotokozera |
AF | Ntchito ya Accelerator | Chithunzi chophatikizidwa cha Hardware Accelerator chokhazikitsidwa mumalingaliro a FPGA omwe amafulumizitsa ntchito. |
AFU | Accelerator Functional Unit | Hardware Accelerator yokhazikitsidwa mumalingaliro a FPGA omwe amatsitsa ntchito yowerengera kuti igwiritse ntchito kuchokera ku CPU kuti igwire bwino ntchito. |
API | Application Programming Interface | Gulu la matanthauzo a subroutine, ma protocol, ndi zida zomangira mapulogalamu apulogalamu. |
CCI-P | Core Cache Interface | CCI-P ndi mawonekedwe omwe AFU amagwiritsa ntchito polumikizana ndi wolandira. |
Zamgululi | Chipangizo Chamutu Chamutu | Amapanga mndandanda wamitu yolumikizidwa kuti apereke njira yowonjezereka yowonjezerera mawonekedwe. |
anapitiriza… |
Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Acronyms | Kukula | Kufotokozera |
Mtengo wa FIM | FPGA Interface Manager | Zida za FPGA zomwe zili ndi FPGA Interface Unit (FIU) ndi mawonekedwe akunja a kukumbukira, maukonde, etc.
Ntchito ya Accelerator (AF) imalumikizana ndi FIM panthawi yothamanga. |
FIU | FPGA Interface Unit | FIU ndi nsanja yolumikizira nsanja yomwe imagwira ntchito ngati mlatho pakati pa mapulatifomu monga PCIe *, UPI ndi AFU-mbali zolumikizira monga CCI-P. |
MPF | Memory Properties Factory | MPF ndi Basic Building Block (BBB) yomwe ma AFU atha kugwiritsa ntchito popereka ma CCI-P mawonekedwe a traffic pochita ndi FIU. |
Katundu Wowonjezera
Acceleration Stack ya Intel® Xeon® CPU yokhala ndi FPGAs Glossary
Nthawi | Chidule | Kufotokozera |
Intel® Acceleration Stack ya Intel Xeon® CPU yokhala ndi ma FPGA | Mathamangitsidwe Stack | Kutolere kwa mapulogalamu, firmware, ndi zida zomwe zimapereka kulumikizana kokhazikika pakati pa Intel FPGA ndi purosesa ya Intel Xeon. |
Intel FPGA Programmable Acceleration Card | Intel FPGA PAC | PCIe FPGA accelerator khadi.
Muli FPGA Interface Manager (FIM) yomwe imalumikizana ndi purosesa ya Intel Xeon pa basi ya PCIe. |
- DMA Accelerator Functional Unit User Guide: Intel FPGA Programmable Acceleration Card D5005
DMA AFU Kufotokozera
Mawu Oyamba
The Direct Memory Access (DMA) AFU example ikuwonetsa momwe mungasamalire kusamutsa kukumbukira pakati pa purosesa yolandila ndi FPGA. Mutha kuphatikizira DMA AFU mu kapangidwe kanu kuti musunthire data pakati pa chikumbutso cha olandila ndi FPGA yokumbukira kwanuko.DMA AFU ili ndi zigawo zotsatirazi:
- Memory Properties Factory (MPF) Basic Building Block (BBB)
- Core Cache Interface (CCI-P) mpaka Avalon® Memory-Mapped (Avalon-MM) Adapter
- DMA Test System yomwe ili ndi DMA BBB
Ma submodule awa akufotokozedwa mwatsatanetsatane pamutu wa DMA AFU Hardware Components pansipa.
Zambiri Zogwirizana
- The DMA AFU Hardware Components patsamba 6
- Mafotokozedwe a Avalon Interface
Kuti mumve zambiri za protocol ya Avalon-MM, kuphatikiza zojambula zanthawi yowerengera ndi kulemba zochitika.
Phukusi la Mapulogalamu a DMA AFU
Intel Acceleration Stack ya Intel Xeon CPU yokhala ndi phukusi la FPGAs file (*.tar.gz), ikuphatikiza DMA AFU example. Ex iziample amapereka wosuta danga dalaivala. Pulogalamuyi imagwiritsa ntchito dalaivala uyu kotero kuti DMA imasuntha deta pakati pa kukumbukira ndi FPGA. Mabinari a hardware, magwero, ndi driver space driver akupezeka pamndandanda wotsatirawu: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Musanayesere ndi DMA AFU, muyenera kukhazikitsa pulogalamu ya Open Programmable Acceleration Engine (OPAE). Onani Kuyika Phukusi la OPAE Software mu Intel Acceleration Stack Quick Start Guide ya Intel FPGA Programmable Acceleration Card D5005 kuti mupeze malangizo oyika. Upangiri Woyambira Mwachangu uwu umaphatikizanso zambiri za Open Programmable Acceleration Engine (OPAE) ndikusintha AFU. Pambuyo kukhazikitsa pulogalamu ya Open Programmable Acceleration Engine (OPAE), mongaample host application ndi DMA AFU user space driver akupezeka m'ndandanda iyi: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Kuthamanga sample host application, fpga_dma_test pa hardware yanu ya Intel FPGA PAC D5005, onetsani masitepe omwe ali mugawo Kuthamanga kwa DMA AFU Ex.ample. Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa chakugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Zambiri Zogwirizana
- Intel Acceleration Stack Quick Start Guide ya Intel FPGA Programmable Acceleration Card D5005
- Kukhazikitsa Phukusi la OPAE Software
Zida za DMA AFU Hardware
DMA AFU imalumikizana ndi FPGA Interface Unit (FIU) ndi FPGA memory. Onani FPGA Interface Manager Data Sheet ya Intel FPGA Programmable Acceleration Card D5005 kuti mumve zambiri za kukumbukira kwa FPGA. Ma hardware omwe alipo pano amalamula kasinthidwe ka kukumbukira uku. Zida zam'tsogolo zitha kuthandizira masanjidwe osiyanasiyana amakumbukiro. Mutha kugwiritsa ntchito DMA AFU kukopera deta pakati pa gwero ndi komwe mukupita:
- Wothandizira ku chipangizo cha FPGA memory
- Chipangizo cha FPGA kukumbukira kwa wolandira
Dongosolo la Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys imagwiritsa ntchito ma DMA ambiri
- AFU. Gawo la DMA AFU lomwe likugwiritsidwa ntchito mu Platform Designer system likupezeka motsatirazi
malo:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Mutha kupeza DMA BBB pamalo otsatirawa:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA Accelerator Functional Unit User Guide: Intel FPGA Programmable Acceleration Card D5005
Chithunzi cha DMA AFU Hardware Block
DMA AFU imaphatikizapo zigawo zotsatirazi zamkati kuti zigwirizane ndi FPGA Interface Unit (FIU):
- Memory-Mapped IO (MMIO) Decoder Logic: imazindikira MMIO kuwerenga ndi kulemba zochitika ndikuzilekanitsa ndi njira ya CCI-P RX 0 yomwe amafikako. Izi zimawonetsetsa kuti magalimoto a MMIO safika pa MPF BBB ndipo amathandizidwa ndi njira yodziyimira payokha ya MMIO.
- Memory Properties Factory (MPF): Gawoli likuwonetsetsa kuti mayankho awerengedwa kuchokera ku DMA kubwerera mu dongosolo lomwe adaperekedwa. Protocol ya Avalon-MM imafuna mayankho owerengedwa kuti abwerere m'njira yoyenera.
- CCI-P kupita ku Avalon-MM Adapter: Gawoli limamasulira pakati pa zochitika za CCI-P ndi Avalon-MM, motere:
- CCI-P kupita ku Avalon-MMIO Adapter: Njira iyi imamasulira zochitika za CCI-P MMIO kukhala zochitika za Avalon-MM.
- Avalon kupita ku CCI-P Host Adapter: Njira izi zimapanga njira zosiyana zowerengera ndi kulemba zokha kuti DMA ipeze kukumbukira kukumbukira.
- DMA Test System: Gawoli limagwira ntchito ngati chomangira DMA BBB kuwulutsa mabwana a DMA kumalingaliro ena onse mu AFU. Amapereka mawonekedwe pakati pa DMA BBB ndi CCI-P kupita ku Avalon Adapter. Imaperekanso mawonekedwe pakati pa DMA BBB ndi mabanki akomweko a FPGA SDRAM.
Zambiri Zogwirizana
FPGA Interface Manager Data Sheet ya Intel FPGA Programmable Acceleration Card D5005
DMA Test System
Dongosolo loyesa la DMA limalumikiza DMA BBB ndi mapangidwe ena onse a FPGA kuphatikiza kusintha kwa CCI-P ndi kukumbukira kwa FPGA komweko.
Chithunzi cha block System ya DMA
Chithunzichi cha block chikuwonetsa omwe ali mkati mwa mayeso a DMA. Dongosolo loyesera la DMA likuwonetsedwa ngati chipika cha monolithic mu Chithunzi 1 patsamba 7.
Dongosolo loyesa la DMA limaphatikizapo ma module amkati awa:
- Far Reach Bridge/Pipeline Bridge: Mlatho wa mapaipi okhala ndi latency yosinthika yophatikizidwa kuwongolera topology ndikuwongolera kapangidwe ka Fmax.
- DMA AFU Device Feature Header (DFH): Iyi ndi DFH ya DMA AFU. DFH iyi imaloza ku DFH yotsatira yomwe ili pa offset 0x100 (DMA BBB DFH).
- Null DFH: Chigawo ichi chimathetsa mndandanda wa DFH. Ngati muwonjezera ma DMA BBB pamapangidwe, onetsetsani kuti adilesi yoyambira ya DFH ili kumapeto kwa mndandanda wa DFH.
- MA Basic Building Block (BBB): Chida ichi chimasuntha deta pakati pa wolandirayo ndi kukumbukira kwa FPGA komweko. Imafikiranso kukumbukira omvera kuti mupeze maunyolo ofotokozera.
Chithunzi cha DMA BBB
Dongosolo laling'ono la DMA BBB limasamutsa deta kuchokera kugwero kupita ku ma adilesi omwe akupita pogwiritsa ntchito zochitika za Avalon-MM. Dalaivala wa DMA amawongolera DMA BBB mwa kupeza zowongolera ndi kaundula wa magawo osiyanasiyana mkati mwadongosolo. Dalaivala wa DMA amawongoleranso DMA BBB pogwiritsa ntchito kukumbukira komwe kugawana nawo kuti alankhule zofotokozera za kusamutsa. DMA BBB imapeza data mu kukumbukira kwa FPGA pa offset 0x0. DMA BBB imapeza deta ndi zofotokozera mu kukumbukira kwa omvera pa offset 0x1_0000_0000_0000.
Chithunzi cha block block cha DMA BBB Platform Designer
Chojambulachi sichimaphatikizapo ma IP a Pipeline Bridge amkati.
DMA Accelerator Functional Unit User Guide: Intel FPGA Programmable Acceleration Card D5005
DMA AFU Kufotokozera
Zomwe zili mu DMA BBB Platform Designer zimagwiritsa ntchito izi:
- Far Reach Bridge/Pipeline Bridge: Mlatho wa mapaipi wokhala ndi latency yosinthika umaphatikizidwa kuti ulamulire topology ndikusintha kapangidwe ka Fmax.
- MA BBB DFH: Ichi ndi mutu wa chipangizo cha DMA BBB. DFH iyi imaloza ku DFH yotsatira yomwe ili pa offset 0x100 (Null DFH).
- Descriptor Frontend: Udindo wotengera zofotokozera ndikuzitumiza ku Dispatcher. Kutumiza kwa DMA kukamaliza kutsogolo kumalandira mawonekedwe kuchokera kwa Dispatcher ndikulembanso chofotokozera mu kukumbukira kwa alendo.
- Wotumiza: Chida ichi chimakonza DMA kutumiza zopempha ku Read and Write Master.
- Werengani Master: Chidachi chimakhala ndi udindo wowerenga zambiri kuchokera kwa wolandila kapena kukumbukira kwanuko kwa FPGA ndikutumiza ngati kusakatula kwa Write Master.
- Write Master: Chida ichi chili ndi udindo wolandila zidziwitso kuchokera ku Read Master ndikulemba zomwe zili mkati kuti zithandizire kapena kukumbukira kwa FPGA kwanuko.
Lembani Mapu ndi Malo Adilesi
DMA AFU imathandizira kukumbukira ziwiri views: DMA view ndi wolandira view. Mtengo DMA view imathandizira malo adilesi a 49-bit. Mtengo wapatali wa magawo DMA view mamapu ku kukumbukira kwa FPGA komweko. Mtengo wapatali wa magawo DMA view mapu kuti mulandire kukumbukira. Olandila alendo view imaphatikizapo zolembera zonse zofikiridwa kudzera muzolowera za MMIO monga matebulo a DFH, ndi zolembera zowongolera/makhalidwe a ma IP cores osiyanasiyana omwe amagwiritsidwa ntchito mkati mwa DMA AFU. MMIO imalembetsa mu DMA BBB ndi AFU imathandizira kupeza 32- ndi 64-bit. DMA AFU sichigwirizana ndi 512-bit MMIO yofikira. Kufikira kumakaundula a Dispatcher mkati mwa DMA BBB kuyenera kukhala 32 bits (Descriptor frontend imagwiritsa ntchito ma regista 64-bit).
DMA AFU Register Mapu
Mapu olembetsera a DMA AFU amapereka ma adilesi onse a malo onse omwe ali mugawoli. Ma register awa ali mgululi view chifukwa ndi wolandira yekha amene angathe kuwapeza.
DMA AFU Memory Map
Byte Adilesi Offsets | Dzina | Pitani ku Bytes | Kufotokozera |
0x0 pa | DMA AFU DFH | 0x40 pa | Chipangizo chamutu cha DMA AFU. ID_L yakhazikitsidwa ku 0x9081f88b8f655caa ndipo ID_H yakhazikitsidwa ku 0x331db30c988541ea. DMA AFU DFH yakhazikitsidwa kuti iloze kuchotsera 0x100 kuti mupeze DFH yotsatira (DMA BBB DFH). Musasinthe adilesi yoyambira ya DMA AFU DFH popeza iyenera kukhala pa adilesi 0x0 monga momwe CCIP imafotokozera. |
0x100 pa | Chithunzi cha DMA BBB | 0x100 pa | Imatchula kuwongolera kwa DMA BBB ndi mawonekedwe a registry. Mukhoza kutchula mapu a DMA BBB kuti mudziwe zambiri. Mkati mwa DMA BBB pothetsa 0 DMA BBB imaphatikizapo DFH yakeyake. DFH iyi yakhazikitsidwa kuti ipeze DFH yotsatira pa offset 0x100 (NULL DFH). Ngati muwonjeza ma DMA BBB ochulukirapo, asiyanitseni 0x100 ndikuwonetsetsa kuti NULL DFH ikutsatira DMA yomaliza ndi 0x100. |
0x200 pa | NULL DFH | 0x40 pa | Imathetsa mndandanda wa DFH. ID_L yakhazikitsidwa ku 0x90fe6aab12a0132f ndipo ID_H yakhazikitsidwa ku 0xda1182b1b3444e23. NULL DFH yakhazikitsidwa kuti ikhale DFH yomaliza mu hardware. Pachifukwa ichi NULL DFH ili pa adilesi 0x200. Ngati muwonjezera ma DMA BBBs ku dongosolo, muyenera kuwonjezera adilesi yoyambira ya NULL DFH moyenerera kuti ikhalebe pa adilesi yapamwamba kwambiri. Dalaivala wa DMA ndi pulogalamu yoyeserera sagwiritsa ntchito zidazi. |
Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Lembani Mapu ndi Malo Adilesi
DMA BBB Memory Map
Ma adilesi otsatirawa ndi ocheperako kuchokera ku adilesi yoyambira ya DMA BBB mu dongosolo la DMA AFU (0x100).
Byte Adilesi Offsets | Dzina | Pitani ku Bytes | Kufotokozera |
0x0 pa | Chithunzi cha DMA BBB DFH | 0x40 pa | Chipangizo chamutu cha DMA AFU. ID_L yakhazikitsidwa ku 0xa9149a35bace01ea ndipo ID_H yakhazikitsidwa ku 0xef82def7f6ec40fc . DMA BBB DFH yakhazikitsidwa kuti iloze ku 0x100 pakusintha kwa DFH kotsatira. Chotsatira chotsatirachi chikhoza kukhala DMA BBB ina, DFH ina (yosaphatikizidwe ndi mapangidwe awa), kapena NULL DFH. |
0x40 pa | Wotumiza | 0x40 pa | Control port kwa dispatcher. Dalaivala wa DMA amagwiritsa ntchito malowa kuwongolera DMA kapena kufunsa momwe alili. |
0x80 pa | Descriptor Frontend | 0x40 pa | Descriptor frontend ndi gawo lachizoloŵezi lomwe limawerenga zofotokozera kuchokera pamtima wa olandira ndikulembapo chofotokozera pamene kutumiza kwa DMA kutsirizidwa. Dalaivala amalangiza kutsogolo kumene wofotokozera woyamba amakhala mu kukumbukira alendo ndiyeno hardware ya frontend imayankhulana ndi dalaivala makamaka ngakhale zofotokozera zomwe zimasungidwa mu kukumbukira alendo. |
DMA AFU Address Space
Wolandirayo atha kupeza zolembetsa zolembedwa mu Table 4 patsamba 12 ndi Table 5 patsamba 13. Dongosolo laling'ono la DMA BBB lili ndi mwayi wopeza ma adilesi onse a 49-bit. Theka lakumunsi la malo adilesiyi limaphatikizapo zokumbukira za FPGA zakomweko. Theka lapamwamba la malo adilesiyi limaphatikizapo 48-bit host host memory. Chithunzi chotsatira chikuwonetsa wolandirayo ndi DMA views wa kukumbukira.
The DMA AFU and Host Viewndi Memory
Device Feature Header Linked-List
Mapangidwe a DMA AFU example ili ndi mitu itatu yazida (DFH) yomwe imapanga mndandanda wolumikizana. Mndandanda wolumikizidwawu umalola kuti sample application kuzindikira DMA AFU komanso driver kuti azindikire DMA BBB. The DFH list includes a NULL DFH at the end. Kuphatikizidwa kwa null DFH kumapeto kwa mndandanda wolumikizidwa kumakupatsani mwayi wowonjezera ma DMA BBB pamapangidwe anu. Mukungoyenera kusuntha NULL DFH ku adilesi pambuyo pa ma BBB ena. DMA BBB iliyonse ikuyembekeza kuti DFH yotsatira ipezeke 0x100 byte kuchokera ku adilesi yoyambira ya BBB. Chithunzi chotsatira chikuwonetsa mndandanda wolumikizidwa wa DMA AFU design example.
Lembani Mapu ndi Malo Adilesi
DMA AFU Device Feature Header (DFH) Chaining
Software Programming Model
DMA AFU imaphatikizapo dalaivala wa mapulogalamu omwe mungagwiritse ntchito pa pulogalamu yanu yolandira. The fpga_dma.cpp ndi fpga_dma.h filezomwe zili pamalo otsatirawa khazikitsani pulogalamu yoyendetsa:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Dalaivala iyi imathandizira izi:
API | Kufotokozera |
fpgaCountDMChannels | Imasanthula zida za ma DMA BBB ndikuwerengera mayendedwe onse omwe alipo. |
fpgaDMAOpen | Imatsegula chogwirira ku njira ya DMA. |
fpgaDMAClose | Kutseka chogwirira ku tchanelo cha DMA. |
fpgaDMATransferInit | Imayambitsa chinthu chomwe chikuyimira kusamutsa kwa DMA. |
fpgaDMATransferReset | Imakhazikitsanso chinthu chamtundu wa DMA kukhala zokhazikika. |
fpgaDMATransferDestroy | Imawononga chinthu chosinthira cha DMA. |
fpgaDMATransferSetSrc | Imakhazikitsa adilesi yochokera kwa kusamutsa. Adilesiyi ikuyenera kukhala yolumikizana ndi 64 byte. |
fpgaDMATransferSetDst | Imakhazikitsa adilesi yopitira kusamutsa. Adilesiyi ikuyenera kukhala yolumikizana ndi 64 byte. |
fpgaDMATransferSetLen | Imayika kutalika kwa kusamutsa kukhala ma byte. Pakusamutsa kopanda paketi, muyenera kuyimitsa kutalika kwa ma byte 64 angapo. Posamutsa paketi, izi sizofunikira. |
fpgaDMATransferSetTransferType | Imakhazikitsa mtundu wa kusamutsa. Zolinga zamalamulo ndi:
• HOST_MM_TO_FPGA_MM = TX (Host to AFU) • FPGA_MM_TO_HOST_MM = RX (AFU kuchititsa) |
fpgaDMATransferSetTransferCallback | Amalembetsa kuyimbanso kuti azidziwitse akamaliza kusamutsa kosasinthika. Ngati mutchula kuyimbanso, fpgaDMATransfer imabwereranso nthawi yomweyo (kusamutsa kosagwirizana).
Ngati simunatchule kuyimbanso foni, fpgaDMATransfer imabwereranso kusamutsa kukatha (synchronous/blocking transfer). |
fpgaDMATransferSetLast | Imawonetsa kusamutsa komaliza kuti DMA iyambe kukonza kusamutsidwa komwe kudakonzedweratu. Mtengo wokhazikika ndi kusamutsidwa kwa 64 mu payipi DMA isanayambe kugwira ntchito pa kusamutsidwa. |
fpgaDMATransfer | Amapanga kusintha kwa DMA. |
Kuti mudziwe zambiri za API, zolowetsa, ndi zotuluka, onani mutu file ili $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Software Programming Model
Kuti mudziwe zambiri za mtundu wogwiritsa ntchito madalaivala, onani README file ili pa $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md
Kuthamanga kwa DMA AFU Example
Musanayambe:
- Muyenera kudziwa kaleamples mu Intel Acceleration Stack Quick Start Guide ya Intel FPGA Programmable Acceleration Card D5005.
- Muyenera kufotokozera kusintha kwa chilengedwe. Kusintha kwa chilengedwe kumadalira mtundu wa Intel Acceleration Stack womwe mukugwiritsa ntchito:
- Kwa mtundu wapano, ikani kusintha kwa chilengedwe kukhala $OPAE_PLATFORM_ROOT
- Muyenera kukhazikitsa laibulale ya Intel Threading Building Blocks (TBB) popeza dalaivala wa DMA amadalira.
- Muyeneranso kukhazikitsa masamba akulu akulu a 1 GB kuti muyendetse sampndi application. $ sudo sh -c "echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"
Chitani zotsatirazi kuti mutsitse pang'onopang'ono DMA Accelerator Function (AF) bitstream, kuti mupange pulogalamu ndi dalaivala, ndikuyendetsa zojambulazo.ampLe:
- Sinthani ku DMA application ndi chikwatu choyendetsa: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Pangani dalaivala ndi kugwiritsa ntchito: make
- Tsitsani pang'ono DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Gwiritsani ntchito pulogalamuyi kuti mulembe 100 MB m'magawo a 1 MB kuchokera pamtima womvera kupita ku kukumbukira kwa chipangizo cha FPGA ndikuwerenganso: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Zambiri Zogwirizana
Intel Acceleration Stack Quick Start Guide ya Intel FPGA Programmable Acceleration Card D5005 Intel Corporation. Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Kupanga DMA AFU Example
Kuti mupange chilengedwe chomangirira kuti mupange AF, gwiritsani ntchito lamulo afu_synth_setup motere:
- Kusintha kwa DMA AFU sampchikwatu: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Pangani chikwatu chomanga: afu_synth_setup -source hw/rtl/filelist.txt build_synth
- Kuchokera pamndandanda womanga kaphatikizidwe wopangidwa ndi afu_synth_setup, lowetsani malamulo otsatirawa kuchokera pawindo la terminal kuti mupange AF ya nsanja ya Hardware: cd build_synth run.sh The run.sh AF generation script imapanga chithunzi cha AF ndi maziko omwewo. filedzina ngati kasinthidwe ka nsanja ya AFU file (.json) yokhala ndi .gbs suffix pamalopo:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Kutsanzira AFU Example
Intel ikukulangizani kuti muwerenge za Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start Guide kuti Intel FPGA PAC yanu idziwe bwino zofananira zakale.amples ndi kukhazikitsa chilengedwe chanu. Musanapitirire masitepe otsatirawa, onetsetsani kuti OPAE_PLATFORM_ROOT kusintha kwa chilengedwe kwayikidwa ku chikwatu cha OPAE SDK. Malizitsani izi kuti mukhazikitse makina oyeserera a DMA AFU:
- Kusintha kwa DMA AFU sample chikwatu: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Pangani chilengedwe cha ASE mu bukhu latsopano ndikusintha kuti muyesere AFU: afu_sim_setup -source hw/rtl/filelist.txt build_ase_dir
- Sinthani ku chikwatu cha ASE: cd build_ase_dir
- Pangani dalaivala ndi kugwiritsa ntchito: make
- Pangani kayeseleledwe: pangani sim
Sampzotuluka kuchokera ku hardware simulator:
[SIM] ** CHENJEZO : MUSANATALIBE pulojekiti ** [SIM] Khazikitsani env(ASE_WORKDIR) mu terminal pomwe ntchito idzayendetsedwe (kukopa-ndi kumata) => [SIM] $SHELL | Thamangani:[SIM] ———+—————————————————— [SIM] bash/zsh | kutumiza kunja 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] Pa $SHELL ina iliyonse, funsani woyang'anira Linux [SIM] [SIM] Wokonzeka kuyerekeza… [SIM] Dinani CTRL-C kuti mutseke choyesezera…Malizitsani izi kuti muphatikize ndikugwiritsa ntchito pulogalamu ya DMA AFU pamalo oyerekeza:
- Tsegulani zenera latsopano la terminal.
- Sinthani chikwatu kukhala: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Kutsanzira AFU Example
- Koperani chingwe chokhazikitsira chilengedwe (sankhani chingwe choyenera pa chipolopolo chanu) kuchokera pamasitepe omwe ali pamwamba pazithunzithunzi za hardware kupita pawindo la terminal. Onani mizere yotsatirayi mu sampzotuluka kuchokera ku hardware simulator. [SIM] bash/zsh | kutumiza kunja 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
- Lembani mapulogalamu: $panga USE_ASE=1
- Gwiritsani ntchito pulogalamu yolembera kuti mulembe 4 KB mu magawo a 1 KB kuchokera pamtima wokumbukira kubwerera ku FPGA kukumbukira chipangizo mumayendedwe obwereza: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Zambiri Zogwirizana
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start User Guide
Kukhathamiritsa kwa Kuchita bwino kwa DMA
Kukhazikitsa kwa NUMA (kufikira kukumbukira kosafanana) mu fpga_dma_test.cpp kumalola purosesa kuti azitha kukumbukira kwawo komweko mwachangu kuposa kupeza kukumbukira komwe sikuli komweko (kukumbukira komweko kupita ku purosesa ina). Kusintha kwanthawi zonse kwa NUMA kukuwonetsedwa pazithunzi pansipa. Kufikira kwanuko kumayimira kulowa kuchokera pachimake kupita kumtima komweko kupita pachimake chomwecho. Kufikira kutali kukuwonetsa njira yomwe idatengedwa pomwe maziko pa Node 0 amafikira kukumbukira komwe kumakhala kukumbukira komweko ku Node 1.
Kusintha kwamtundu wa NUMA
Gwiritsani ntchito nambala iyi kuti mugwiritse ntchito kukhathamiritsa kwa NUMA pamayeso anu:
// Khazikitsani kuyanjana koyenera ngati kufunsidwa ngati (cpu_affinity || memory_affinity) {unsigned dom = 0, basi = 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_RES(ERtok_GO) // Pezani chipangizo kuchokera ku topology hwloc_topology_t topology; hwloc_topology_init(&topology); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES); Intel Corporation. Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zilipo malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu zilizonse ndi ntchito nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Kukhathamiritsa kwa Kuchita bwino kwa DMA
hwloc_topology_load(topology); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topology, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topology, obj); #ngati (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 ndi %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(topology, obj2->nodeset,HWLOC_MEMB_MEMBATE_GRAMEB_MEMB,HWLOC_MEMBATE,HWLOC_MEMB,HWLOC_MEMB,HWLOC_MEMBATE_GRAMEB,HWLOC_MEMBATE,HWLOC_MEMBATE #else retval =hwloc_set_membind_nodeset(topology, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } ngati (cpu_affinity) {retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); }}
DMA Accelerator Functional Unit User Guide Archives
Intel imathandizira mtundu | Buku la ogwiritsa (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) User Guide |
Document Revision History for the DMA Accelerator Functional Unit User Guide
Document Version |
Kuthamanga kwa Intel Mtundu wa Stack |
Zosintha |
2020.08.03 |
2.0.1 (yothandizidwa ndi Intel
Quartus® Prime Pro Edition Edition 19.2) |
Anakonza chithunzi cha AF file dzina mu gawo Kupanga DMA AFU Example. |
2020.04.17 |
2.0.1 (yothandizidwa ndi Intel
Quartus Prime Pro Edition Edition 19.2) |
Adakonza mawu mu Omvera Ofuna gawo. |
2020.02.20 |
2.0.1 (yothandizidwa ndi Intel
Quartus Prime Pro Edition Edition 19.2) |
typo yokhazikika. |
2019.11.04 |
2.0.1 (yothandizidwa ndi Intel Quartus Prime Pro Edition Edition 19.2) |
• M'malo mwa fpgaconf ndi fpgasupdate pokonza FPGA ndi AFU yomangidwa kale mu gawo. Kuthamanga kwa DMA AFU Example.
• Wowonjezera mawu ang'onoang'ono Intel FPGA Programmable Acceleration Card D5005 ku mutu wa chikalata. • Zosintha zachilengedwe $OPAE_PLATFORM_ROOT. • Gawo losinthidwa Software Programming Model zosintha zazing'ono. • Anawonjezera gawo latsopano Kupanga DMA AFU Example. • Gawo losinthidwa Kukhathamiritsa kwa Kuchita bwino kwa DMA zosintha zazing'ono. |
2019.08.05 |
2.0 (yothandizidwa ndi Intel
Quartus Prime Pro Edition 18.1.2) |
Kutulutsidwa koyamba. |
Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zida za semiconductor malinga ndi zomwe zili pano malinga ndi chitsimikizo cha Intel, koma ili ndi ufulu wosintha zinthu ndi ntchito zilizonse nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa cha kugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito.
- Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.
Zolemba / Zothandizira
![]() |
Intel FPGA Programmable Acceleration Card D5005 [pdf] Buku Logwiritsa Ntchito FPGA Programmable Acceleration Card, D5005, FPGA Programmable Acceleration Card D5005, DMA Accelerator Functional Unit |