Intel FPGA Programmable Acceleration Card D5005
Mahitungod niini nga Dokumento
Kini nga dokumento naghulagway sa direktang pag-access sa panumduman (DMA) Accelerator Functional Unit (AFU) nga pagpatuman ug kung giunsa paghimo ang disenyo nga modagan sa hardware o sa simulation.
Gituyo nga Mamiminaw
Ang gituyo nga mamiminaw naglangkob sa hardware o software developers nga nanginahanglan usa ka Accelerator Function (AF) aron i-buffer ang data sa lokal nga memorya nga konektado sa Intel FPGA device.
Mga kombensiyon
Mga Kombensiyon sa Dokumento
Kombensiyon | Deskripsyon |
# | Nag-una sa usa ka sugo nga nagpaila nga ang sugo ipasulod isip gamut. |
$ | Nagpakita nga usa ka mando ang ipasulod ingon usa ka tiggamit. |
Kini nga font | Filemga ngalan, mga sugo, ug mga keyword giimprinta niini nga font. Ang tag-as nga mga linya sa sugo giimprinta niini nga font. Bisan tuod ang taas nga mga linya sa sugo mahimong moputos sa sunod nga linya, ang pagbalik dili bahin sa sugo; ayaw pugsa enter. |
Nagpakita sa teksto sa placeholder nga makita taliwala sa mga anggulo nga bracket kinahanglan pulihan sa usa ka angay nga kantidad. Ayaw pagsulod sa mga anggulo nga bracket. |
Mga acronym
Mga acronym
Mga acronym | Pagpalapad | Deskripsyon |
AF | Function sa Accelerator | Compiled Hardware Accelerator image gipatuman sa FPGA logic nga nagpadali sa usa ka aplikasyon. |
AFU | Accelerator Functional Unit | Ang Hardware Accelerator nga gipatuman sa FPGA logic nga nag-offload sa usa ka computational operation alang sa usa ka aplikasyon gikan sa CPU aron mapalambo ang performance. |
API | Aplikasyon Programming Interface | Usa ka hugpong sa mga subroutine nga mga kahulugan, protocol, ug mga himan alang sa pagtukod sa mga aplikasyon sa software. |
CCI-P | Panguna nga Cache Interface | Ang CCI-P mao ang standard nga interface nga gigamit sa mga AFU aron makigkomunikar sa host. |
DFH | Header sa Feature sa Device | Naghimo ug usa ka nalambigit nga lista sa mga ulohan sa bahin aron mahatagan ang usa ka mapalapad nga paagi sa pagdugang mga bahin. |
nagpadayon… |
Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kostumer sa Intel nga makuha ang pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa magsalig sa bisan unsang gipatik nga kasayuran ug sa dili pa magbutang mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Mga acronym | Pagpalapad | Deskripsyon |
FIM | FPGA Interface Manager | Ang FPGA hardware nga adunay sulod nga FPGA Interface Unit (FIU) ug mga eksternal nga interface alang sa memorya, networking, ug uban pa.
Ang Accelerator Function (AF) nag-interface sa FIM sa oras sa pagdagan. |
FIU | FPGA Interface Unit | Ang FIU usa ka platform interface layer nga naglihok isip tulay tali sa mga interface sa platform sama sa PCIe*, UPI ug AFU-side interface sama sa CCI-P. |
MPF | Pabrika sa Memory Properties | Ang MPF kay Basic Building Block (BBB) nga magamit sa mga AFU sa paghatag ug CCI-P traffic shaping operations para sa mga transaksyon sa FIU. |
Glossary sa Pagpadali
Acceleration Stack para sa Intel® Xeon® CPU nga adunay FPGAs Glossary
Termino | Minubo | Deskripsyon |
Intel® Acceleration Stack para sa Intel Xeon® CPU nga adunay mga FPGA | Acceleration Stack | Usa ka koleksyon sa software, firmware, ug mga himan nga naghatag og performance-optimized nga koneksyon tali sa Intel FPGA ug Intel Xeon processor. |
Intel FPGA Programmable Acceleration Card | Intel FPGA PAC | PCIe FPGA accelerator card.
Naglangkob sa usa ka FPGA Interface Manager (FIM) nga gipares sa usa ka Intel Xeon processor sa PCIe bus. |
- Giya sa Gumagamit sa DMA Accelerator Functional Unit: Intel FPGA Programmable Acceleration Card D5005
Deskripsyon sa DMA AFU
Pasiuna
Ang Direct Memory Access (DMA) AFU exampGipakita sa le kung giunsa pagdumala ang mga pagbalhin sa memorya tali sa host processor ug sa FPGA. Mahimo nimong i-integrate ang DMA AFU sa imong disenyo aron mabalhin ang data tali sa host memory ug sa FPGA local memory. Ang DMA AFU naglangkob sa mosunod nga mga submodules:
- Memory Properties Factory (MPF) Basic Building Block (BBB)
- Core Cache Interface (CCI-P) ngadto sa Avalon® Memory-Mapped (Avalon-MM) Adapter
- DMA Test System nga adunay DMA BBB
Kini nga mga submodules gihulagway sa mas detalyado sa DMA AFU Hardware Components nga hilisgutan sa ubos.
May Kalabutan nga Impormasyon
- Ang DMA AFU Hardware Components sa panid 6
- Mga Detalye sa Avalon Interface
Para sa dugang nga impormasyon bahin sa Avalon-MM protocol, lakip ang timing diagrams para sa pagbasa ug pagsulat sa mga transaksyon.
Ang DMA AFU Software Package
Ang Intel Acceleration Stack para sa Intel Xeon CPU nga adunay FPGAs package file (*.tar.gz), naglakip sa DMA AFU example. Kini nga exampNaghatag ang le usa ka drayber sa wanang sa gumagamit. Gigamit sa aplikasyon sa host kini nga drayber aron ang DMA nagpalihok sa datos tali sa host ug memorya sa FPGA. Ang mga binary sa hardware, mga tinubdan, ug ang drayber sa espasyo sa gumagamit anaa sa mosunod nga direktoryo: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Sa dili pa mag-eksperimento sa DMA AFU, kinahanglan nimo nga i-install ang Open Programmable Acceleration Engine (OPAE) software package. Tan-awa ang Pag-instalar sa OPAE Software Package sa Intel Acceleration Stack Quick Start Guide para sa Intel FPGA Programmable Acceleration Card D5005 para sa mga instruksiyon sa pag-instalar. Kining Quick Start Guide naglakip usab sa batakang impormasyon mahitungod sa Open Programmable Acceleration Engine (OPAE) ug pag-configure sa usa ka AFU. Human ma-install ang Open Programmable Acceleration Engine (OPAE) software package, ingonample host application ug ang DMA AFU user space driver anaa sa mosunod nga direktoryo: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Sa pagdagan sa sample host application, fpga_dma_test sa imong Intel FPGA PAC D5005 hardware, tan-awa ang mga lakang sa seksyon Pagdagan sa DMA AFU Example. Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kustomer sa Intel nga makakuha sa pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa mosalig sa bisan unsang gipatik nga impormasyon ug sa dili pa magbutang og mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
May Kalabutan nga Impormasyon
- Intel Acceleration Stack Quick Start Guide para sa Intel FPGA Programmable Acceleration Card D5005
- Pag-instalar sa OPAE Software Package
Ang DMA AFU Hardware Components
Ang DMA AFU nag-interface sa FPGA Interface Unit (FIU) ug FPGA memory. Tan-awa ang FPGA Interface Manager Data Sheet para sa Intel FPGA Programmable Acceleration Card D5005 para sa detalyadong mga detalye sa FPGA memory. Ang anaa karon nga hardware nagdiktar niini nga memory configuration. Ang umaabot nga hardware mahimong mosuporta sa lain-laing mga configuration sa memorya. Mahimo nimong gamiton ang DMA AFU sa pagkopya sa datos tali sa mosunod nga tinubdan ug destinasyon nga mga lokasyon:
- Ang host sa device nga FPGA memory
- Device FPGA memory sa host
Usa ka Sistema sa Tigdesinyo sa Platform, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys nagpatuman sa kadaghanan sa DMA
- AFU. Kabahin sa DMA AFU nga gipatuman sa sistema sa Platform Designer makita sa mosunod
lokasyon:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Makita nimo ang DMA BBB sa mosunod nga lokasyon:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
Giya sa Gumagamit sa DMA Accelerator Functional Unit: Intel FPGA Programmable Acceleration Card D5005
DMA AFU Hardware Block Diagram
Ang DMA AFU naglakip sa mosunod nga internal nga mga modulo aron mag-interface sa FPGA Interface Unit (FIU):
- Memory-Mapped IO (MMIO) Decoder Logic: nakamatikod sa MMIO pagbasa ug pagsulat sa mga transaksyon ug gibulag kini gikan sa CCI-P RX channel 0 diin sila gikan. Kini nagsiguro nga ang trapiko sa MMIO dili gayud makaabot sa MPF BBB ug giserbisyuhan sa usa ka independenteng MMIO command channel.
- Memory Properties Factory (MPF): Kini nga module nagsiguro nga ang pagbasa sa mga tubag gikan sa DMA mobalik sa han-ay nga kini gi-isyu. Ang Avalon-MM protocol nanginahanglan og mga tubag sa pagbasa aron makabalik sa husto nga pagkasunod-sunod.
- CCI-P ngadto sa Avalon-MM Adapter: Kini nga module naghubad tali sa CCI-P ug Avalon-MM nga mga transaksyon, sama sa mosunod:
- CCI-P ngadto sa Avalon-MMIO Adapter: Kini nga dalan naghubad sa CCI-P MMIO nga mga transaksyon ngadto sa Avalon-MM nga mga transaksyon.
- Avalon ngadto sa CCI-P Host Adapter: Kini nga mga agianan nagmugna og bulag nga read-only ug write-only nga mga agianan para sa DMA nga maka-access sa host memory.
- Sistema sa Pagsulay sa DMA: Kini nga module nagsilbi nga usa ka wrapper sa palibot sa DMA BBB aron ibutyag ang mga master sa DMA sa nahabilin nga lohika sa AFU. Naghatag kini og interface tali sa DMA BBB ug sa CCI-P sa Avalon Adapter. Naghatag usab kini og interface tali sa DMA BBB ug sa lokal nga FPGA SDRAM nga mga bangko.
May Kalabutan nga Impormasyon
FPGA Interface Manager Data Sheet para sa Intel FPGA Programmable Acceleration Card D5005
Sistema sa Pagsulay sa DMA
Ang sistema sa pagsulay sa DMA nagkonektar sa DMA BBB sa nahabilin nga disenyo sa FPGA lakip ang pagpahiangay sa CCI-P ug ang lokal nga memorya sa FPGA.
DMA Test System Block Diagram
Kini nga block diagram nagpakita sa internals sa DMA test system. Ang sistema sa pagsulay sa DMA gipakita isip monolithic block sa Figure 1 sa panid 7.
Ang sistema sa pagsulay sa DMA naglakip sa mosunod nga mga internal nga module:
- Far Reach Bridge/Pipeline Bridge: Usa ka pipeline bridge nga adunay adjustable latency nga gilakip aron makontrol ang topology ug mapaayo ang disenyo nga Fmax.
- DMA AFU Device Feature Header (DFH): Kini usa ka DFH alang sa DMA AFU. Kini nga DFH nagpunting sa sunod nga DFH nga nahimutang sa offset 0x100 (DMA BBB DFH).
- Null DFH: Kini nga component nagtapos sa DFH linked-list. Kung magdugang ka ug DMA BBBs sa disenyo, siguroha nga ang null nga DFH base nga adres nahimutang sa katapusan sa DFH linked-list.
- MA Basic Building Block (BBB): Kini nga block nagpalihok sa datos tali sa host ug sa lokal nga memorya sa FPGA. Gi-access usab niini ang memorya sa host aron ma-access ang mga kadena sa deskriptor.
DMA BBB
Ang DMA BBB subsystem nagbalhin sa datos gikan sa tinubdan ngadto sa destinasyon nga mga adres gamit ang mga transaksyon sa Avalon-MM. Gikontrol sa drayber sa DMA ang DMA BBB pinaagi sa pag-access sa kontrol ug rehistro sa status sa lainlaing mga sangkap sa sulod sa sistema. Gikontrol usab sa drayber sa DMA ang DMA BBB pinaagi sa paggamit sa gipaambit nga memorya aron makigsulti sa mga deskriptor sa pagbalhin. Ang DMA BBB nag-access sa datos sa FPGA memory sa offset 0x0. Ang DMA BBB nag-access sa datos ug mga deskriptor sa host memory sa offset 0x1_0000_0000_0000.
DMA BBB Platform Designer Block Diagram
Kini nga block diagram wala maglakip sa pipila ka internal nga Pipeline Bridge IP cores.
Giya sa Gumagamit sa DMA Accelerator Functional Unit: Intel FPGA Programmable Acceleration Card D5005
Deskripsyon sa DMA AFU
Ang mga sangkap sa DMA BBB Platform Designer nagpatuman sa mosunod nga mga gimbuhaton:
- Far Reach Bridge/Pipeline Bridge: Usa ka tulay sa pipeline nga adunay adjustable latency nga gilakip aron makontrol ang topology ug mapaayo ang disenyo nga Fmax.
- MA BBB DFH: Kini usa ka header nga bahin sa aparato alang sa DMA BBB. Kini nga DFH nagpunting sa sunod nga DFH nga nahimutang sa offset 0x100 (Null DFH).
- Deskriptor Frontend: Responsable sa pagkuha sa mga deskriptor ug pagbalhin niini ngadto sa Dispatcher. Kung ang pagbalhin sa DMA makompleto ang frontend makadawat og status formation gikan sa Dispatcher ug i-overwrite ang descriptor sa host memory.
- Dispatser: Kini nga block nag-iskedyul sa DMA sa pagbalhin sa mga hangyo sa Read and Write Master.
- Basaha Magtutudlo: Kini nga block maoy responsable sa pagbasa sa datos gikan sa host o lokal nga FPGA memory ug pagpadala niini isip streaming data ngadto sa Write Master.
- Pagsulat Magtutudlo: Kini nga block maoy responsable sa pagdawat sa streaming data gikan sa Read Master ug pagsulat sa mga sulod ngadto sa host o lokal nga FPGA memory.
Pagrehistro sa Mapa ug Address Spaces
Ang DMA AFU nagsuporta sa duha ka memorya views: Ang DMA view ug ang host view. Ang DMA view nagsuporta sa usa ka 49-bit nga address space. Ang ubos nga katunga sa DMA view mapa ngadto sa lokal nga FPGA memory. Ang ibabaw nga katunga sa DMA view mga mapa sa pag-host sa memorya. Ang host view naglakip sa tanang rehistro nga ma-access pinaagi sa MMIO access sama sa DFH tables, ug ang control/status registers sa nagkalain-laing IP cores nga gigamit sulod sa DMA AFU. Ang MMIO nagrehistro sa DMA BBB ug AFU nagsuporta sa 32- ug 64-bit nga pag-access. Ang DMA AFU wala mosuporta sa 512-bit nga MMIO access. Ang mga pag-access sa mga rehistro sa Dispatcher sa sulod sa DMA BBB kinahanglan nga 32 ka bit (Descriptor frontend nagpatuman sa 64-bit nga mga rehistro).
DMA AFU Register Mapa
Ang mapa sa rehistro sa DMA AFU naghatag sa hingpit nga mga adres sa tanang mga lokasyon sulod sa unit. Kini nga mga rehistro anaa sa host view kay ang host ra ang maka access nila.
DMA AFU Memory Map
Byte Address Offsets | Ngalan | Span sa Bytes | Deskripsyon |
0x0 | DMA AFU DFH | 0x40 | Header sa feature sa device alang sa DMA AFU. Ang ID_L kay 0x9081f88b8f655caa ug ID_H kay 0x331db30c988541ea. Ang DMA AFU DFH gi-parameter aron itudlo aron ma-offset ang 0x100 aron makit-an ang sunod nga DFH (DMA BBB DFH). Kinahanglang dili nimo usbon ang base nga adres sa DMA AFU DFH tungod kay kinahanglan nga mahimutang kini sa adres nga 0x0 nga gipasabot sa espesipikasyon sa CCIP. |
0x100 | DMA BBB | 0x100 | Gipiho ang DMA BBB control ug status register interface. Mahimo nimong tan-awon ang mapa sa rehistro sa DMA BBB alang sa dugang nga impormasyon. Sulod sa DMA BBB sa offset 0 ang DMA BBB naglakip sa kaugalingon nga DFH. Kini nga DFH gitakda aron makit-an ang sunod nga DFH sa offset 0x100 (NULL DFH). Kung magdugang ka ug daghang DMA BBBs, ibutang kini sa 0x100 nga gilay-on ug siguroha nga ang NULL DFH mosunod sa katapusang DMA sa 0x100. |
0x200 | NULL DFH | 0x40 | Gitapos ang DFH linked-list. Ang ID_L kay 0x90fe6aab12a0132f ug ID_H kay 0xda1182b1b3444e23. Ang NULL DFH gi-parameter aron mahimong katapusang DFH sa hardware. Tungod niini nga hinungdan ang NULL DFH nahimutang sa adres nga 0x200. Kung magdugang ka ug dugang nga mga DMA BBB sa sistema, kinahanglan nimo nga dugangan ang NULL DFH base nga adres aron kini magpabilin sa labing taas nga adres. Ang DMA driver ug test application wala mogamit niini nga hardware. |
Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kostumer sa Intel nga makuha ang pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa magsalig sa bisan unsang gipatik nga kasayuran ug sa dili pa magbutang mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Pagrehistro sa Mapa ug Address Spaces
DMA BBB Memory Map
Ang mosunod nga byte nga mga adres kay relatibo nga mga offset gikan sa DMA BBB base nga adres sa DMA AFU system (0x100).
Byte Address Offsets | Ngalan | Span sa Bytes | Deskripsyon |
0x0 | DMA BBB DFH | 0x40 | Header sa feature sa device alang sa DMA AFU. Ang ID_L kay 0xa9149a35bace01ea ug ID_H kay 0xef82def7f6ec40fc . Ang DMA BBB DFH gi-parameter aron itudlo sa 0x100 para sa sunod nga DFH offset. Kining sunod nga offset mahimong laing DMA BBB, laing DFH (wala apil niini nga disenyo), o ang NULL DFH. |
0x40 | Dispatser | 0x40 | Control port alang sa dispatcher. Gigamit sa drayber sa DMA kini nga lokasyon aron makontrol ang DMA o mangutana sa kahimtang niini. |
0x80 | Deskriptor Frontend | 0x40 | Ang descriptor frontend usa ka custom nga component nga nagbasa sa mga descriptor gikan sa host memory ug nag-overwrite sa descriptor kung nahuman na ang DMA transfer. Gitudloan sa drayber ang frontend diin ang unang deskriptor nagpuyo sa host memory ug dayon ang frontend hardware nakigkomunikar sa drayber ilabina bisan ang mga deskriptor gitipigan sa host memory. |
DMA AFU Address Space
Ang host maka-access sa mga rehistro nga gilista sa Table 4 sa pahina 12 ug sa Table 5 sa pahina 13. Ang DMA BBB subsystem adunay access sa tibuok 49-bit address space. Ang ubos nga katunga niini nga address space naglakip sa lokal nga FPGA nga mga panumduman. Ang ibabaw nga katunga niini nga address space naglakip sa 48-bit host address memory. Ang mosunod nga numero nagpakita sa host ug DMA views sa memorya.
Ang DMA AFU ug Host Views sa Memorya
Gi-link nga Lista sa Ulohan sa Feature sa Device
Ang DMA AFU nga disenyo exampAng le adunay tulo ka mga device feature header (DFH) nga nagporma og linked list. Kining gisumpay nga listahan nagtugot sa sample aplikasyon sa pag-ila sa DMA AFU ingon man sa drayber sa pag-ila sa DMA BBB. Ang lista sa DFH naglakip sa NULL DFH sa katapusan. Ang paglakip sa null nga DFH sa katapusan sa na-link nga listahan nagtugot kanimo sa pagdugang ug dugang nga mga DMA BBB sa imong disenyo. Kinahanglan ra nimo nga ibalhin ang NULL DFH sa usa ka adres pagkahuman sa ubang mga BBB. Ang matag DMA BBB naglaum nga ang sunod nga DFH mahimutang 0x100 bytes gikan sa base nga adres sa BBB. Ang mosunod nga numero naghulagway sa linked-list alang sa DMA AFU design example.
Pagrehistro sa Mapa ug Address Spaces
DMA AFU Device Feature Header (DFH) Chaining
Modelo sa Pagprograma sa Software
Ang DMA AFU naglakip sa software driver nga imong magamit sa imong kaugalingong host application. Ang fpga_dma.cpp ug fpga_dma.h files nahimutang sa mosunod nga lokasyon ipatuman ang software driver:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Kini nga drayber nagsuporta sa mosunod nga mga gimbuhaton:
API | Deskripsyon |
fpgaCountDMACchannels | Gi-scan ang kadena sa feature sa device para sa DMA BBBs ug ihap ang tanang available nga channel. |
fpgaDMAOpen | Gibuksan ang usa ka kuptanan sa DMA channel. |
fpgaDMAClose | Pagsira sa usa ka kuptanan sa DMA channel. |
fpgaDMATransferInit | Nagsugod sa usa ka butang nga nagrepresentar sa pagbalhin sa DMA. |
fpgaDMATransferReset | I-reset ang DMA transfer attribute object ngadto sa default values. |
fpgaDMATransferDestroy | Giguba ang DMA transfer attribute object. |
fpgaDMATransferSetSrc | Nagtakda sa tinubdan nga adres sa pagbalhin. Kini nga adres kinahanglan nga 64 byte nga nahiangay. |
fpgaDMATransferSetDst | Nagtakda sa destinasyon nga adres sa pagbalhin. Kini nga adres kinahanglan nga 64 byte nga nahiangay. |
fpgaDMATransferSetLen | Nagtakda sa mga gitas-on sa pagbalhin sa bytes. Alang sa dili packet nga mga pagbalhin, kinahanglan nimo nga itakda ang gitas-on sa pagbalhin ngadto sa multiple nga 64 bytes. Para sa packet transfers, dili kini kinahanglanon. |
fpgaDMATransferSetTransferType | Nagtakda sa matang sa pagbalhin. Ang mga ligal nga kantidad mao ang:
• HOST_MM_TO_FPGA_MM = TX (Host sa AFU) • FPGA_MM_TO_HOST_MM = RX (AFU sa host) |
fpgaDMATransferSetTransferCallback | Nagrehistro sa callback alang sa pagpahibalo sa asynchronous nga pagkompleto sa pagbalhin. Kung imong gitakda ang usa ka callback, ang fpgaDMATransfer mobalik dayon (asynchronous nga pagbalhin).
Kung dili nimo ipiho ang usa ka callback, ang fpgaDMATransfer mobalik pagkahuman sa pagbalhin (synchronous/blocking transfer). |
fpgaDMATransferSetLast | Nagpakita sa katapusang pagbalhin aron ang DMA makasugod sa pagproseso sa mga prefetched nga pagbalhin. Ang default nga kantidad mao ang 64 nga pagbalhin sa pipeline sa wala pa magsugod ang DMA sa pagtrabaho sa mga pagbalhin. |
fpgaDMATransfer | Nagbuhat ug DMA nga pagbalhin. |
Alang sa dugang nga impormasyon bahin sa API, input, ug output nga mga argumento, tan-awa ang header file nahimutang $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kustomer sa Intel nga makakuha sa pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa mosalig sa bisan unsang gipatik nga impormasyon ug sa dili pa magbutang og mga order alang sa mga produkto o serbisyo. Ang ubang mga ngalan ug mga tatak mahimong maangkon ingon nga kabtangan sa uban.
Modelo sa Pagprograma sa Software
Aron mahibal-an ang dugang bahin sa modelo sa paggamit sa driver sa software, tan-awa ang README file nahimutang sa $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md
Pagpadagan sa DMA AFU Example
Sa dili ka pa magsugod:
- Dapat pamilyar ka sa examples sa Intel Acceleration Stack Quick Start Guide para sa Intel FPGA Programmable Acceleration Card D5005.
- Kinahanglan nimo nga ipasabut ang usa ka variable sa palibot. Ang variable sa palibot nagdepende sa bersyon sa Intel Acceleration Stack nga imong gigamit:
- Para sa kasamtangang bersyon, itakda ang environment variable ngadto sa $OPAE_PLATFORM_ROOT
- Kinahanglan nimo nga i-install ang librarya sa Intel Threading Building Blocks (TBB) tungod kay ang drayber sa DMA nagsalig niini.
- Kinahanglan ka usab nga magbutang og duha ka 1 GB nga dagkong mga panid aron mapadagan ang sampang aplikasyon. $ sudo sh -c "echo 2> /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"
Buhata ang mosunod nga mga lakang sa pag-download sa DMA Accelerator Function (AF) bitstream, sa pagtukod sa aplikasyon ug drayber, ug sa pagpadagan sa disenyo example:
- Usba ang aplikasyon sa DMA ug direktoryo sa drayber: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Pagtukod sa drayber ug aplikasyon: paghimo
- I-download ang DMA AFU bitstream: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Ipatuman ang host application para magsulat og 100 MB sa 1 MB nga mga bahin gikan sa host memory ngadto sa FPGA device memory ug basaha kini og balik: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
May Kalabutan nga Impormasyon
Intel Acceleration Stack Quick Start Guide para sa Intel FPGA Programmable Acceleration Card D5005 Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kustomer sa Intel nga makakuha sa pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa mosalig sa bisan unsang gipatik nga impormasyon ug sa dili pa magbutang og mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Pag-compile sa DMA AFU Example
Para makamugna ug synthesis build environment para mag-compile og AF, gamita ang afu_synth_setup command sama sa mosunod:
- Usba sa DMA AFU sampang direktoryo: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Paghimo sa direktoryo sa pagtukod sa disenyo: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Gikan sa synthesis build directory nga gihimo sa afu_synth_setup, isulod ang mosunod nga mga command gikan sa terminal window aron makamugna og AF para sa target nga hardware platform: cd build_synth run.sh Ang run.sh AF generation script nagmugna sa AF image nga adunay parehas nga base fileNgalan ingon nga configuration sa plataporma sa AFU file (.json) nga adunay .gbs suffix sa lokasyon:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kustomer sa Intel nga makakuha sa pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa mosalig sa bisan unsang gipatik nga impormasyon ug sa dili pa magbutang og mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Pagsundog sa AFU Example
Girekomenda sa Intel nga imong i-refer ang Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start Guide para sa imong Intel FPGA PAC nga pamilyar sa pag-simulate sa susama nga examples ug sa pag-setup sa imong palibot. Sa dili ka pa mopadayon sa mosunod nga mga lakang, pamatud-i nga ang OPAE_PLATFORM_ROOT environment variable gitakda sa OPAE SDK installation directory. Kompletoha ang mosunod nga mga lakang sa pag-setup sa hardware simulator para sa DMA AFU:
- Usba sa DMA AFU sampang direktoryo: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Paghimo og ASE nga palibot sa usa ka bag-ong direktoryo ug i-configure kini alang sa pagsundog sa usa ka AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- Pag-ilis sa direktoryo sa pagtukod sa ASE: cd build_ase_dir
- Pagtukod sa drayber ug aplikasyon: paghimo
- Paghimo og simulation: paghimo og sim
Sampang output gikan sa hardware simulator:
[SIM] ** ATTENTION : WALA pa magdagan ang software application ** [SIM] Ibutang ang env(ASE_WORKDIR) sa terminal diin ang aplikasyon modagan (kopya-ug-paste) => [SIM] $SHELL | Run:[SIM] ———+————————————————— [SIM] bash/zsh | export ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/trabaho [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Para sa uban pang $SHELL, konsultaha ang imong Linux administrator [SIM] [SIM] Andam para sa simulation… [SIM] Pindota ang CTRL-C para isara ang simulator…Kompletoha ang mosunod nga mga lakang sa pag-compile ug pagpatuman sa DMA AFU software sa simulation environment:
- Ablihi ang bag-ong terminal window.
- Usba ang direktoryo sa: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kostumer sa Intel nga makuha ang pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa magsalig sa bisan unsang gipatik nga kasayuran ug sa dili pa magbutang mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Pagsundog sa AFU Example
- Kopyaha ang environment setup string (pilia ang string nga angay alang sa imong shell) gikan sa mga lakang sa ibabaw sa hardware simulation ngadto sa terminal window. Tan-awa ang mosunod nga mga linya sa sample output gikan sa hardware simulator. [SIM] bash/zsh | export 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
- Pag-compile sa software: $ make USE_ASE=1
- Ipatuman ang host application para magsulat og 4 KB sa 1 KB nga mga bahin gikan sa host memory balik ngadto sa FPGA device memory sa loopback mode: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
May Kalabutan nga Impormasyon
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start User Guide
Pag-optimize alang sa Gipauswag nga Pagganap sa DMA
Ang pagpatuman sa NUMA (non-uniform memory access) optimization sa fpga_dma_test.cpp nagtugot sa processor sa pag-access sa kaugalingon nga lokal nga memorya nga mas paspas kaysa pag-access sa dili lokal nga memorya (memorya nga lokal sa laing processor). Usa ka tipikal nga configuration sa NUMA gipakita sa diagram sa ubos. Ang lokal nga pag-access nagrepresentar sa pag-access gikan sa usa ka kinauyokan ngadto sa memorya nga lokal ngadto sa parehas nga kinauyokan. Ang hilit nga pag-access naghulagway sa agianan nga gikuha kung ang usa ka kinauyokan sa Node 0 nag-access sa memorya nga nagpuyo sa memorya nga lokal sa Node 1.
Kinaandan nga NUMA Configuration
Gamita ang mosunod nga code aron ipatuman ang NUMA optimization sa imong test application:
// I-set up ang saktong affinity kung gihangyo kung (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #kon(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_FOTO(ygaproperties”); // Pangitaa ang himan gikan sa topology hwloc_topology_t topology; hwloc_topology_init(&topology); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangan nga mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimo og mga pagbag-o sa bisan unsang mga produkto ug serbisyo sa bisan unsang oras nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kostumer sa Intel nga makuha ang pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa magsalig sa bisan unsang gipatik nga kasayuran ug sa dili pa magbutang mga order alang sa mga produkto o serbisyo. *Ang ubang mga ngalan ug mga tatak mahimong maangkon nga gipanag-iya sa uban.
Pag-optimize alang sa Gipauswag nga Pagganap sa 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); #kon (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("Ang CPUSET kay %s\n", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf("NODESET kay %s\n", str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_THREMED_THREME, HWLOC_MEMBIND_THREMED_THREME | NODESET); #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”); } kon (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
Bersyon sa Intel Acceleration Stack | Giya sa Gumagamit (PDF) |
2.0 | Giya sa Gumagamit sa DMA Accelerator Functional Unit (AFU). |
Kasaysayan sa Pagbag-o sa Dokumento alang sa Giya sa Gumagamit sa DMA Accelerator Functional Unit
Bersyon sa Dokumento |
Intel Acceleration Stack nga Bersyon |
Mga kausaban |
2020.08.03 |
2.0.1 (gisuportahan sa Intel
Quartus® Prime Pro Edition nga Edisyon 19.2) |
Gitul-id ang hulagway sa AF file ngalan sa seksyon Pag-compile sa DMA AFU Example. |
2020.04.17 |
2.0.1 (gisuportahan sa Intel
Quartus Prime Pro Edition nga Edisyon 19.2) |
Gitul-id ang usa ka pahayag sa Gituyo nga Mamiminaw seksyon. |
2020.02.20 |
2.0.1 (gisuportahan sa Intel
Quartus Prime Pro Edition nga Edisyon 19.2) |
Giayo nga typo. |
2019.11.04 |
2.0.1 (gisuportahan sa Intel Quartus Prime Pro Edition nga Edisyon 19.2) |
• Gipulihan ang fpgaconf sa fpgasupdate kung gi-configure ang FPGA gamit ang prebuild AFU sa seksyon Pagpadagan sa DMA AFU Example.
• Gidugang subtitle Intel FPGA Programmable Acceleration Card D5005 sa titulo sa dokumento. • Gidugang environment variable $OPAE_PLATFORM_ROOT. • Giusab nga seksyon Modelo sa Pagprograma sa Software para sa ginagmay nga mga pag-edit. • Gidugang bag-ong seksyon Pag-compile sa DMA AFU Example. • Giusab nga seksyon Pag-optimize alang sa Gipauswag nga Pagganap sa DMA para sa ginagmay nga mga pag-edit. |
2019.08.05 |
2.0 (gisuportahan sa Intel
Quartus Prime Pro Edition 18.1.2) |
Inisyal nga pagpagawas. |
Intel Corporation. Tanang katungod gigahin. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mao ang mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Gigarantiya sa Intel ang paghimo sa iyang mga produkto nga FPGA ug semiconductor sa kasamtangang mga espesipikasyon subay sa standard warranty sa Intel, apan adunay katungod sa paghimog mga pagbag-o sa bisan unsang produkto ug serbisyo bisan unsang orasa nga wala’y pahibalo. Ang Intel walay responsibilidad o tulubagon nga naggikan sa aplikasyon o paggamit sa bisan unsang impormasyon, produkto, o serbisyo nga gihulagway dinhi gawas sa dayag nga giuyonan sa pagsulat sa Intel. Gitambagan ang mga kustomer sa Intel nga makakuha sa pinakabag-o nga bersyon sa mga detalye sa aparato sa dili pa mosalig sa bisan unsang gipatik nga impormasyon ug sa dili pa magbutang og mga order alang sa mga produkto o serbisyo.
- Ang ubang mga ngalan ug mga tatak mahimong maangkon ingon nga kabtangan sa uban.
Mga Dokumento / Mga Kapanguhaan
![]() |
Intel FPGA Programmable Acceleration Card D5005 [pdf] Giya sa Gumagamit FPGA Programmable Acceleration Card, D5005, FPGA Programmable Acceleration Card D5005, DMA Accelerator Functional Unit |