Karta Lezkirina Bernamekirî ya Intel FPGA D5005
Li ser vê Belgeyê
Ev belge pêkanîna gihandina bîra rasterast (DMA) Yekîneya Karker a Lezker (AFU) û çawaniya avakirina sêwiranê ku li ser hardware an di simulasyonê de were xebitandin diyar dike.
Temaşevan bi mebest
Temaşevanên mebest ji pêşdebirên hardware an nermalavê pêk tê ku pêdivî bi Fonksiyona Lezker (AF) heye ku daneya herêmî di bîranîna ku bi cîhaza Intel FPGA ve girêdayî ye tampon bike.
Peymanên
Peymanên Belge
Adet | Terîf |
# | Beriya fermanek ku destnîşan dike ku ferman wekî root tête navnîş kirin. |
$ | Nîşan dide ku fermanek wekî bikarhêner tête navnîş kirin. |
Ev font | Filenav, ferman û peyvên sereke bi vê fontê têne çap kirin. Rêzên fermanê yên dirêj bi vê fontê têne çap kirin. Her çend rêzikên fermanê yên dirêj bi rêza din ve biqelibin jî, veger ne beşek fermanê ye; pêl enterê neke. |
Nîşan dide ku nivîsa cîhgir a ku di navbera kemberên goşeyê de xuya dike divê bi nirxek guncan were guheztin. Nekevin nav kemberên goşeyê. |
Akronyms
Akronyms
Akronyms | Firehbûnî | Terîf |
AF | Fonksiyona Accelerator | Wêneyê Lezkera Hardware ya Berhevkirî ku di mantiqa FPGA de hatî bicîh kirin ku serîlêdanek bilez dike. |
AFU | Yekîneya Functional Accelerator | Hardware Accelerator di mantiqa FPGA-ê de hatî bicîh kirin ku ji bo serîlêdanek ji CPU-yê operasyonek hesabkirinê dakêşîne da ku performansê baştir bike. |
API | Navrûya Bernameya Serlêdanê | Komek pênase, protokol û amûrên ji bo avakirina sepanên nermalavê. |
CCI-P | Navrûya Cache ya Core | CCI-P navbeynkariya standard e ku AFU bikar tîne da ku bi mêvandar re danûstendinê bike. |
DFH | Sernavê Taybetmendiya Amûrê | Navnîşek pêvekirî ya sernavên taybetmendiyê diafirîne da ku rêyek berfereh ya lêzêdekirina taybetmendiyan peyda bike. |
berdewam… |
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Akronyms | Firehbûnî | Terîf |
FIM | Gerînendeyê Navrûya FPGA | Hêza FPGA ya ku yekîneya navbeynkariya FPGA (FIU) û navgînên derveyî ji bo bîranîn, torê, hwd vedihewîne.
Fonksiyona Lezker (AF) di dema xebitandinê de bi FIM re têkildar dibe. |
FIU | Yekîneya Navrûya FPGA | FIU qatek pêwendiya platformê ye ku wekî pirek di navbera navberên platformê yên mîna PCIe *, UPI û navberên alîgirê AFU yên wekî CCI-P de tevdigere. |
MPF | Memory Properties Factory | MPF Blokek Avahiyê ya Bingehîn e (BBB) ku AFU dikarin bikar bînin da ku ji bo danûstendinên bi FIU re operasyonên şikilkirina trafîkê CCI-P peyda bikin. |
Acceleration Glossary
Stack Acceleration bo Intel® Xeon® CPU bi Ferhenga FPGA
Demajo | Kinkirî | Terîf |
Intel® Acceleration Stack ji bo Intel Xeon® CPU bi FPGA | Stack Acceleration | Komek nermalava, firmware û amûrên ku pêwendiya xweşbînkirî ya performansê di navbera Intel FPGA û pêvajoyek Intel Xeon de peyda dike. |
Karta Lezkirina Bernamekirî ya Intel FPGA | Intel FPGA PAC | PCIe FPGA karta accelerator.
Rêvebirek Navrûya FPGA (FIM) vedihewîne ku bi pêvajoyek Intel Xeon re li ser otobusa PCIe re têkildar dibe. |
- Rêbernameya Bikarhêner Yekîneya Karker a Lezkera DMA: Karta Lezkirina Bernamekirî ya Intel FPGA D5005
Danasîna DMA AFU
Pêşkêş
Têketina Bîra Rasterê (DMA) AFU example nîşan dide ka meriv çawa veguheztina bîranînê di navbera pêvajoya mêvandar û FPGA de birêve dibe. Hûn dikarin DMA AFU di sêwirana xwe de yek bikin da ku daneyan di navbera bîra mêvandar û bîra herêmî ya FPGA de biguhezînin. DMA AFU ji jêrmodulên jêrîn pêk tê:
- Kargeha Taybetmendiyên Bîrê (MPF) Bloka Avahiyê ya Bingehîn (BBB)
- Navbera Cache ya Navendî (CCI-P) ji Adaptera Avalon® Memory-Mapped (Avalon-MM)
- Pergala Testê ya DMA ya ku DMA BBB vedihewîne
Van submodul di mijara DMA AFU Hardware Components de li jêr bi hûrgulî têne vegotin.
Information Related
- DMA AFU Hardware Components li ser rûpela 6
- Specifications Navrûya Avalon
Ji bo bêtir agahdarî di derbarê protokola Avalon-MM de, di nav de diagramên demjimêr ji bo danûstandinên xwendin û nivîsandinê.
Pakêta Nermalava DMA AFU
Intel Acceleration Stack ji bo CPU Intel Xeon bi pakêta FPGA re file (*.tar.gz), DMA AFU example. Ev example ajokerek cîhê bikarhêner peyda dike. Serlêdana mêvandar vê ajokerê bi vî rengî bikar tîne ku DMA daneyan di navbera bîranîna mêvandar û FPGA de digerîne. Binaryên hardware, çavkanî û ajokera cîhê bikarhêner di pelrêça jêrîn de berdest in: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Berî ceribandina bi DMA AFU re, divê hûn pakêta nermalava Vekirî ya Bernameya Lezkirinê (OPAE) saz bikin. Ji bo rêwerzên sazkirinê serî li Sazkirina Pakêta Nermalava OPAE ya di Rêbernameya Destpêka Lezgîn a Intel Acceleration Stack de ji bo Karta Lezkirina Bernamekirî ya Intel FPGA D5005 bidin. Ev Rêbernameya Destpêka Bilez di heman demê de agahdariya bingehîn li ser Motora Lezkirina Bernamekirî ya Vekirî (OPAE) û mîhengkirina AFU-yê jî vedihewîne. Piştî sazkirina pakêta nermalavê ya Engine Acceleration Open Programmable (OPAE), wekîampserîlêdana mêvandar û ajokara cîhê bikarhêner DMA AFU di pelrêça jêrîn de hene: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Ji bo birêvebirina sampserîlêdana mêvandar, fpga_dma_test li ser cîhaza xweya Intel FPGA PAC D5005, li gavên di beşa Rêvekirina DMA AFU Ex de binihêrinample. Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî gerantiya standard a Intel digire, lê mafê guheztina hilber û karûbaran di her kêliyê de bêyî agahdarkirinê parastî ye. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Information Related
- Intel Acceleration Stack Rêbernameya Destpêka Bilez ji bo Karta Leza Bernamekirî Intel FPGA D5005
- Sazkirina Pakêta Nermalava OPAE
Parçeyên Hardware DMA AFU
DMA AFU bi Yekîneya Navbera FPGA (FIU) û bîranîna FPGA re têkildar dibe. Ji bo hûrguliyên hûrgulî yên bîranîna FPGA ji bo Karta Lezkirinê ya Bernamekirî ya Intel FPGA D5005 serî li Daneyên Rêvebirê Navbera FPGA bidin. Zehmetiya heyî ya heyî vê veavakirina bîranînê destnîşan dike. Dibe ku hardware ya pêşerojê konfigurasyonên bîranînê yên cihêreng piştgirî bike. Hûn dikarin DMA AFU bikar bînin da ku daneyan di navbera cîhên çavkanî û cîhê jêrîn de kopî bikin:
- Mêvandarê bîranîna FPGA ya cîhazê
- Device bîra FPGA ji bo mêvandarê
Pergalek sêwirana platformê, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys piraniya DMA-yê pêk tîne
- AFU. Beşek ji DMA AFU-ya ku di pergala Designer Platformê de hatî bicîh kirin li jêr tê dîtin
cîh: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Hûn dikarin DMA BBB li cîhê jêrîn bibînin:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
Rêbernameya Bikarhêner Yekîneya Karker a Lezkera DMA: Karta Lezkirina Bernamekirî ya Intel FPGA D5005
DMA AFU Hardware Block Diagram
DMA AFU modulên hundurîn ên jêrîn vedigire ku bi Yekîneya Navbera FPGA (FIU) re têkildar be:
- Memory-Mapped IO (MMIO) Mantiqa Dekoder: MMIO danûstendinên xwendin û nivîsandinê tespît dike û wan ji kanala CCI-P RX 0 ya ku ew jê tê veqetîne. Ev piştrast dike ku seyrûsefera MMIO çu carî nagihîje MPF BBB û ji hêla kanalek fermandariya MMIO ya serbixwe ve tê xizmet kirin.
- Kargeha Taybetmendiyên Bîrê (MPF): Ev modul piştrast dike ku bersivên ji DMA-yê bi rêza ku hatine weşandin vedigerin. Protokola Avalon-MM bersivên xwendinê hewce dike ku bi rêza rast vegere.
- CCI-P bo Avalon-MM Adapter: Ev modul di navbera danûstendinên CCI-P û Avalon-MM de, wekî jêrîn werdigerîne:
- CCI-P ji Avalon-MMIO Adapter: Ev rê danûstendinên CCI-P MMIO vediguhezîne danûstendinên Avalon-MM.
- Avalon ji bo CCI-P Host Adapter: Van rêçikan ji bo DMA rêyên tenê xwendin û nivîsandinê yên cihê diafirînin ku bigihîje bîra mêvandar.
- Pergala Testê ya DMA: Ev modul li dora DMA BBB-ê wekî palpiştek kar dike da ku serwerên DMA-yê mentiqa mayî ya di AFU de eşkere bike. Ew pêwendiya di navbera DMA BBB û CCI-P de ji Adaptera Avalon re peyda dike. Di heman demê de ew pêwendiya di navbera DMA BBB û bankên herêmî yên FPGA SDRAM de peyda dike.
Information Related
Bernameya Daneyên Rêvebirê Navbera FPGA ji bo Karta Lezkirina Bernamekirî D5005 Intel FPGA
Pergala Testê ya DMA
Pergala ceribandina DMA DMA BBB bi sêwirana mayî ya FPGA ve girêdide, tevî adaptasyona CCI-P û bîranîna FPGA ya herêmî.
DMA Test System Block Diagram
Ev diyagrama blokê hundurên pergala testa DMA nîşan dide. Pergala testa DMA-yê di Figure 1-ê de li ser rûpela 7-ê wekî blokek monolîtîk tê xuyang kirin.
Pergala testa DMA modulên hundurîn ên jêrîn vedigire:
- Pira Dûr Reach / Pira Pipeline: Pira boriyê ya bi derengiya veguhêzbar tê de ji bo kontrolkirina topolojiyê û baştirkirina sêwirana Fmax.
- Sernavê Taybetmendiya Amûra DMA AFU (DFH): Ev ji bo DMA AFU DFH ye. Ev DFH îşaret bi DFH-a din a ku li 0x100 veqetandî ye (DMA BBB DFH) nîşan dide.
- Null DFH: Ev pêkhate navnîşa girêdayî DFH bi dawî dike. Ger hûn DMA BBB-yên din li sêwiranê zêde bikin, pê ewle bin ku navnîşana bingehîn a DFH-ya null li dawiya navnîşa girêdayî DFH-ê ye.
- Block Avakirina Bingehîn MA (BBB): Ev blok daneyan di navbera mêvandar û bîranîna FPGA ya herêmî de digerîne. Di heman demê de ew digihîje bîra mêvandar da ku bigihîje zincîreyên şiroveker.
DMA BBB
Binepergala DMA BBB bi karanîna danûstendinên Avalon-MM daneyan ji çavkaniyê berbi navnîşên meqsedê vediguhezîne. Ajokarê DMA bi gihîştina qeyda kontrol û statûya pêkhateyên cihêreng ên di hundurê pergalê de DMA BBB-ê kontrol dike. Ajokera DMA di heman demê de DMA BBB-ê jî bi karanîna bîranîna hevpar ve kontrol dike da ku ravekerên veguheztinê ragihîne. DMA BBB di bîranîna FPGA de bi 0x0 veqetandî digihîje daneyan. DMA BBB di 0x1_0000_0000_0000 de xwe digihîne daneyan û ravekeran di bîra mêvandar de.
DMA BBB Platforma Designer Block Diagram
Ev diyagrama blokê hin navgînên IP-ya Pipeline Bridge ya hundurîn derdixe.
Rêbernameya Bikarhêner Yekîneya Karker a Lezkera DMA: Karta Lezkirina Bernamekirî ya Intel FPGA D5005
Danasîna DMA AFU
Pêkhateyên di sêwirana Platforma DMA BBB de fonksiyonên jêrîn bicîh dikin:
- Pira Dûr / Pira Pipeline: Pira boriyê ya bi derengiya guhezbar tê de heye ku topolojiyê kontrol bike û sêwirana Fmax baştir bike.
- MA BBB DFH: Ev ji bo DMA BBB sernavek taybetmendiya cîhazê ye. Ev DFH îşaret bi DFH-a din a ku li 0x100 veqetandî ye (Null DFH) destnîşan dike.
- Descriptor Frontend: Berpirsiyar e ku ravekeran bikişîne û wan ji Dispatcher re veguhezîne. Dema ku veguheztinek DMA qediya, pêşiyê ji Dispatcher statûyê distîne û ravekerê di bîra mêvandar de dinivîse.
- Belavker: Vê blokê daxwazên veguheztina DMA-yê ji Mastera Xwendin û Binivîsin re destnîşan dike.
- Bixwîne Mamoste: Ev blok berpirsiyar e ku daneyên ji bîranîna mêvandar an herêmî ya FPGA-yê bixwîne û wê wekî daneya vekêşanê ji Write Master re bişîne.
- Mamoste binivîse: Ev blok ji wergirtina daneya guheztinê ji Read Master û nivîsandina naverokê li bîranîna mêvandar an herêmî ya FPGA berpirsiyar e.
Cihên Nexşe û Navnîşan tomar bikin
DMA AFU du bîranîn piştgirî dike views: DMA view û hoste view. DMA view cîhek navnîşana 49-bit piştgirî dike. Nîvê jêrîn ya DMA view nexşeyên bîranîna FPGA ya herêmî. Nîvê jorîn a DMA view nexşeyên ji bo bîranîna mêvandar. Mêvandar view hemî tomarên ku bi gihîştinên MMIO-yê yên wekî tabloyên DFH, û tomarên kontrol / statûya cûrbecûr cûrbecûr IP-yên ku di hundurê DMA AFU de têne bikar anîn vedihewîne. MMIO di DMA BBB û AFU de gihandina 32- û 64-bit piştgirî dike. DMA AFU gihîştina 512-bit MMIO piştgirî nake. Gihîştina tomarên Dispatcher di hundurê DMA BBB de divê 32 bit bin (Descriptor frontend tomarên 64-bit bicîh dike).
DMA AFU Tomar Nexşe
Nexşeya qeydkirina DMA AFU navnîşanên bêkêmasî yên hemî cihên di hundurê yekîneyê de peyda dike. Ev qeyd di mêvandarê de ne view ji ber ku ew tenê mêvandar e ku dikare bigihîje wan.
Nexşeya Bîra DMA AFU
Navnîşana Byte Offsets | Nav | Span li Bytes | Terîf |
0x0 | DMA AFU DFH | 0x40 | Sernavê taybetmendiya cîhazê ji bo DMA AFU. ID_L li 0x9081f88b8f655caa û ID_H li 0x331db30c988541ea hatî danîn. DMA AFU DFH ji bo ku DFH-ya paşîn (DMA BBB DFH) bibîne, ji bo 0x100 nîşan bide hate parameterîzekirin. Pêdivî ye ku hûn navnîşana bingehîn a DMA AFU DFH neguhezînin ji ber ku divê ew li navnîşana 0x0 wekî ku ji hêla taybetmendiya CCIP ve hatî destnîşan kirin were cîh kirin. |
0x100 | DMA BBB | 0x100 | Kontrola DMA BBB û pêwendiya qeyda statûyê diyar dike. Hûn dikarin ji bo bêtir agahdarî li nexşeya qeydkirina DMA BBB binihêrin. Di nav DMA BBB de li dor 0, DMA BBB DFH-ya xwe dihewîne. Ev DFH ji bo dîtina DFH-a din li 0x100 (NULL DFH) hatîye danîn. Ger hûn BBB-yên DMA-yê bêtir lê zêde bikin, wan 0x100 ji hev dûr bikin û piştrast bikin ku NULL DFH DMA-ya paşîn bi 0x100 dişopîne. |
0x200 | NULL DFH | 0x40 | Lîsteya girêdayî DFH bi dawî dike. ID_L li 0x90fe6aab12a0132f û ID_H li 0xda1182b1b3444e23 tête danîn. NULL DFH ji bo ku di hardware de DFH-ya paşîn be hate parametre kirin. Ji bo vê yekê NULL DFH li navnîşana 0x200-ê ye. Ger hûn DMA BBB-yên din li pergalê zêde bikin, hûn hewce ne ku navnîşana bingehîn a NULL DFH li gorî wê zêde bikin da ku ew li navnîşana herî bilind bimîne. Ajokera DMA û serîlêdana ceribandinê vê hardware bikar naynin. |
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Cihên Nexşe û Navnîşan tomar bikin
Nexşeya Bîra DMA BBB
Navnîşanên byte yên jêrîn ji navnîşana bingehîn a DMA BBB di pergala DMA AFU de (0x100) veqetandî ne.
Navnîşana Byte Offsets | Nav | Span li Bytes | Terîf |
0x0 | DMA BBB DFH | 0x40 | Sernavê taybetmendiya cîhazê ji bo DMA AFU. ID_L li 0xa9149a35bace01ea û ID_H li 0xef82def7f6ec40fc hatî danîn. DMA BBB DFH ji bo 0x100-ê ji bo guheztina DFH-ya paşîn parameterîze kirin. Ev guheztina paşîn dikare DMA BBB-ya din, DFH-ya din (di nav vê sêwiranê de tune), an DFH-ya NULL be. |
0x40 | Dispatcher | 0x40 | Porta kontrolê ya ji bo belavker. Ajokarê DMA vê cîhê bikar tîne da ku DMA-yê kontrol bike an jî rewşa wê bipirse. |
0x80 | Descriptor Frontend | 0x40 | Beriya raveker pêkhateyek xwerû ye ku ravekeran ji bîra mêvandar dixwîne û dema ku veguheztina DMA qediya ravekerê dinivîse. Ajokar rêwerz dide pêşiyê ku li wê derê ravekera yekem di bîranîna mêvandar de dijî û dûv re jî hardware ya pêşîn bi ajokerê re di serî de tevî ravekerên ku di bîranîna mêvandar de hatine hilanîn danûstendinê dike. |
Cihê Navnîşana DMA AFU
Mêvan dikare xwe bigihîne qeydên ku di tabloya 4-ê de li rûpela 12-ê û tabloya 5-ê ya li ser rûpela 13-an hatine rêz kirin. Binepergala DMA BBB xwedan cîhê navnîşana tevahî 49-bit e. Nîvê jêrîn ya vê cîhê navnîşanê bîranînên FPGA yên herêmî vedigire. Nîvê jorîn a vê cîhê navnîşanê bîranîna navnîşana mêvandarê 48-bit digire. Nîgara jêrîn mêvandar û DMA nîşan dide views ya bîranînê.
DMA AFU û Host Views ya Bîrê
Lîsteya Girêdayî Sernavê Taybetmendiya Amûrê
Sêwirana DMA AFU example sê sernavên taybetmendiya cîhazê (DFH) hene ku navnîşek girêdayî pêk tîne. Ev lîsteya girêdayî destûrê dide sample serîlêdana ji bo naskirina DMA AFU û hem jî ajokar ji bo naskirina DMA BBB. Di navnîşa DFH de di dawiyê de NULL DFH heye. Tevnebûna DFH-ya null di dawiya navnîşa girêdayî de dihêle hûn bêtir DMA BBB li sêwirana xwe zêde bikin. Hûn bi tenê hewce ne ku NULL DFH-ê li dû BBB-yên din veguhezînin navnîşanek. Her DMA BBB li bendê ye ku DFH-ya din 0x100 byte ji navnîşana bingehîn a BBB-ê were cîh. Nîgara jêrîn navnîşa girêdayî ji bo sêwirana DMA AFU example.
Cihên Nexşe û Navnîşan tomar bikin
DMA AFU Device Feature Header (DFH) Zincîrkirin
Modela Programming Software
DMA AFU ajokerek nermalavê heye ku hûn dikarin di serîlêdana mêvandariya xwe de bikar bînin. The fpga_dma.cpp û fpga_dma.h files li cîhê jêrîn bicîhkirî ajokera nermalavê:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ev ajoker fonksiyonên jêrîn piştgirî dike:
API | Terîf |
fpgaCountDMAChannels | Zincîra taybetmendiya cîhazê ji bo DMA BBB-ê dikole û hemî kanalên berdest dijmêre. |
fpgaDMAOpen | Destek ji kanala DMA re vedike. |
fpgaDMAClose | Destekek ji kanala DMA re digire. |
fpgaDMATtransferInit | Tiştek ku veguheztina DMA temsîl dike dest pê dike. |
fpgaDMATtransferReset | Tişta taybetmendiya veguheztina DMA li nirxên xwerû vedigire. |
fpgaDMATtransferDestroy | Tişta taybetmendiya veguhastina DMA hilweşîne. |
fpgaDMATtransferSetSrc | Navnîşana çavkaniyê ya veguhastinê destnîşan dike. Divê ev navnîşana 64 byte lihevhatî be. |
fpgaDMATtransferSetDst | Navnîşana cîhê veguhastinê destnîşan dike. Divê ev navnîşana 64 byte lihevhatî be. |
fpgaDMATtransferSetLen | Dirêjahiya veguheztinê di byte de destnîşan dike. Ji bo veguheztinên ne-pakêtê, divê hûn dirêjahiya veguheztinê li ser 64 baytên pirjimar bicîh bikin. Ji bo veguhestina pakêtê, ev ne hewce ye. |
fpgaDMATtransferSetTransferType | Tîpa veguhastinê destnîşan dike. Nirxên qanûnî ev in:
• HOST_MM_TO_FPGA_MM = TX (Mêvandarê AFU) • FPGA_MM_TO_HOST_MM = RX (AFU bo mêvandar) |
fpgaDMATransferSetTransferCallback | Ji bo agahiyê li ser qedandina veguheztina asynchron vegera bangê tomar dike. Ger hûn vegerek bangek diyar bikin, fpgaDMATransfer tavilê vedigere (veguheztina asynchronous).
Ger hûn vegerek vegerê diyar nekin, fpgaDMATransfer piştî ku veguheztinê qediya (veguhestina hevdem / astengkirin) vedigere. |
fpgaDMATtransferSetLast | Veguheztina paşîn destnîşan dike da ku DMA dest bi veguheztina veguheztinên pêşwext bike. Berî ku DMA dest bi xebata li ser veguhezînan bike, nirxa xwerû 64 veguheztinên di boriyê de ye. |
fpgaDMATtransfer | Veguheztinek DMA pêk tîne. |
Ji bo bêtir agahdarî li ser argumanên API, ketin û derketinê, serî li serî bidin file cih $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. Dibe ku nav û marqeyên din wekî milkê yên din werin îdîakirin.
Modela Programming Software
Ji bo ku hûn di derbarê modela karanîna ajokera nermalavê de bêtir zanibin, serî li README bidin file li $OPAE_PLATFORM_ROOT/hw/s cih digireamples/dma_afu/README.md
Running DMA AFU Example
Berî ku hûn dest pê bikin:
- Divê hûn bi berê re nas bikinampDi Rêbernameya Destpêka Lezgîn a Intel Acceleration Stack de ji bo Karta Lezkirina Bernamekirî ya Intel FPGA D5005.
- Divê hûn guhêrbarek jîngehê diyar bikin. Guherbara jîngehê bi guhertoya Intel Acceleration Stack ya ku hûn bikar tînin ve girêdayî ye:
- Ji bo guhertoya heyî, guherbara jîngehê li $OPAE_PLATFORM_ROOT saz bike
- Pêdivî ye ku hûn pirtûkxaneya Intel Threading Building Blocks (TBB) saz bikin ji ber ku ajokera DMA li ser wê ve girêdayî ye.
- Her weha divê hûn du rûpelên mezin ên 1 GB saz bikin da ku hûn s-ê bimeşîninample sepanê. $ sudo sh -c "echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"
Ji bo dakêşana bitstream Fonksiyona Lezkerê DMA (AF), ji bo avakirina serîlêdan û ajokerê, û ji bo meşandina sêwirana ex-ê gavên jêrîn bicîh bînin.ample:
- Biguherîne serîlêdana DMA û pelrêça ajokerê: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Ajokar û serîlêdanê ava bikin: çêbikin
- Bitstream DMA AFU dakêşin: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Serlêdana mêvandar bixebite da ku 100 MB di beşên 1 MB de ji bîra mêvandar bigire heya bîra cîhaza FPGA binivîse û wê paşde bixwîne: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Information Related
Intel Acceleration Stack Rêbernameya Destpêka Lezgîn ji bo Karta Lezkirina Bernamekirî ya Intel FPGA D5005 Corporation Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Berhevkirina DMA AFU Example
Ji bo afirandina jîngehek avakirina sentezek ji bo berhevkirina AF, fermana afu_synth_setup wekî jêrîn bikar bînin:
- Guhertina DMA AFU samppelrêça: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Peldanka avakirina sêwiranê biafirînin: afu_synth_setup –çavkanî hw/rtl/filelist.txt build_synth
- Ji pelrêça çêkirina sentezê ya ku ji hêla afu_synth_setup ve hatî çêkirin, ji pencereyek termînalê fermanên jêrîn binivîsin da ku AF-yek ji bo platforma hardware-ya armanc çêbikin: cd build_synth run.sh Nivîsara nifşê run.sh AF wêneya AF-ê bi heman bingehê diafirîne. filewekî veavakirina platformê ya AFU-yê bi nav bike file (.json) bi paşgira .gbs li cîh:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî gerantiya standard a Intel digire, lê mafê guheztina hilber û karûbaran di her kêliyê de bêyî agahdarkirinê parastî ye. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Simulasyona AFU Example
Intel pêşniyar dike ku hûn ji bo Intel FPGA PAC-ya xwe ya Intel FPGA-ya PAC-ê serî li Jîngeha Simulasyonê ya Yekîneya Fonksiyonî ya Lezkerê (AFU) Intel (AFU) bidin.amples û ji bo sazkirina jîngeha xwe. Berî ku hûn gavên jêrîn bidomînin, verast bikin ku guhêrbara jîngehê OPAE_PLATFORM_ROOT li pelrêça sazkirinê ya OPAE SDK hatî danîn. Ji bo sazkirina simulatora hardware ji bo DMA AFU gavên jêrîn biqedînin:
- Guhertina DMA AFU samppelrêça: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Di pelrêçek nû de jîngehek ASE biafirînin û wê ji bo simulkirina AFU-yê mîheng bikin: afu_sim_setup –çavkanî hw/rtl/filelist.txt build_ase_dir
- Guhertina pelrêça avakirina ASE: cd build_ase_dir
- Ajokar û serîlêdanê ava bikin: çêbikin
- Simulasyon kirin: sim çêkirin
SampDerketina ji simulatora hardware:
[SIM] ** HIŞYARÎ : BERÎ ku sepana nermalavê bixebitîne ** [SIM] Env(ASE_WORKDIR) li termînalê ku sepan dê lê bixebite (kopî-û-pêç bike) saz bike => [SIM] $SHELL | Bixebitîne:[SIM] ———+————————————————— [SIM] bash/zsh | hinardekirina ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/kar [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Ji bo $SHELL-a din, bi rêvebirê Linuxê [SIM] [SIM] Ji bo simulasyonê amade ye bişêwirin… [SIM] Ji bo girtina simulatorê CTRL-C bikirtînin…Pêngavên jêrîn biqedînin da ku nermalava DMA AFU di hawîrdora simulasyonê de berhev bikin û bicîh bikin:
- Pencereyek termînalê ya nû veke.
- Peldanka biguherîne: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Simulasyona AFU Example
- Ji gavên li jor ên di simulasyona hardware de heya pencereya termînalê xêza sazkirina hawîrdorê kopî bikin (xêza xweya guncan hilbijêrin). Binêre rêzikên jêrîn di sample encam ji simulator hardware. [SIM] bash/zsh | hinardekirina ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/kar [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- Nermalavê berhev bike: $ bike USE_ASE=1
- Serlêdana mêvandar bixebitîne da ku 4 KB di beşên 1 KB de ji bîra mêvandar vegere bîra cîhaza FPGA di moda vegerê de binivîsîne: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Information Related
Rêbernameya Bikarhênerê Destpêka Bilez a Jîngeha Simulasyonê (ASE) Yekîneya Karker a Lezker a Intel (AFU)
Optimîzasyon ji bo Performansa DMA ya Pêşveçûn
Pêkanîna xweşbîniya NUMA (gihîştina bîranîna ne-yekhev) di fpga_dma_test.cpp de dihêle ku pêvajo zûtir bigihîje bîra xweya herêmî ji gihîştina bîranîna ne-herêmî (bîra herêmî ya pêvajoyek din). Veavakirinek NUMA ya tîpîk di diagrama jêrîn de tê xuyang kirin. Gihîştina herêmî gihîştina ji navokek berbi bîranîna herêmî ber bi heman navikê ve destnîşan dike. Gihîştina ji dûr ve rê nîşan dide ku gava bingehek li ser Node 0 digihîje bîra ku di bîra herêmî ya Node 1 de dimîne.
Veavakirina NUMA ya tîpîk
Koda jêrîn bikar bînin ku di serîlêdana ceribandina xwe de xweşbîniya NUMA bicîh bikin:
// Ger tê xwestin pêwendiya rast saz bike ger (cpu_affinity || bîranîn_hevalbendî) {doma ne-îmze = 0, otobus = 0, dev = 0, fonksiyon = 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); // Amûrê ji topolojiya hwloc_topology_t bibînin; hwloc_topology_init(&topology); hwloc_topology_set_flags(topolojî, HWLOC_TOPOLOGY_FLAG_IO_DEVICES); Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî gerantiya standard a Intel dide, lê mafê guheztina hilber û karûbaran di her kêliyê de bêyî agahdarkirinê parastî ye. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin. *Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.
Optimîzasyon ji bo Performansa DMA ya Pêşveçûn
hwloc_topology_load(topology); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topolojî, dom, otobus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topolojî, 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 %s\n e", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf("NODESET %s\n e", str);#endif heke (bîra_navdêrî) { #eger HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topolojî, obj2-> nodeset,HWLOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_THRE_BD | NODESET); #else retval =hwloc_set_membind_nodeset(topolojî, obj2-> nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO (retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_affinity) { retval = hwloc_set_cpubind(topolojî, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); } }
DMA Accelerator Unit Functional Unit Bikarhêner Arşîvên
Intel Acceleration Stack Versiyon | Rêbernameya Bikarhêner (PDF) |
2.0 | Rêbernameya Bikarhêner Yekîneya Karker a Lezakera DMA (AFU). |
Dîroka Guhertoya Belgeyê ji bo Rêbernameya Bikarhêner Yekîneya Karkerî ya DMA Accelerator
Guhertoya Belgeyê |
Intel Acceleration Versiyonek Stack |
Changes |
2020.08.03 |
2.0.1 (bi Intel piştgirî
Quartus® Prime Pro Edition Edition 19.2) |
Wêneyê AF rast kir file navê di beşê de Berhevkirina DMA AFU Example. |
2020.04.17 |
2.0.1 (bi Intel piştgirî
Quartus Prime Pro Edition Edition 19.2) |
Daxuyaniyek di nav de rast kir Temaşevan bi mebest liq. |
2020.02.20 |
2.0.1 (bi Intel piştgirî
Quartus Prime Pro Edition Edition 19.2) |
Tîpa rast kirin. |
2019.11.04 |
2.0.1 (bi Intel piştgirî Quartus Prime Pro Edition Edition 19.2) |
• Fpgaconf bi fpgasupdate veguherand dema ku FPGA bi AFU-ya pêşîn a di beşê de mîheng dike. Rêvekirina DMA AFU Example.
• Subtitle added Karta Lezkirina Bernamekirî ya Intel FPGA D5005 sernavê belgeyê. • Guherbara jîngehê $OPAE_PLATFORM_ROOT zêde kir. • beşa Modified Modela Programming Software ji bo guhertinên piçûk. • Beşa nû lê zêde kir Berhevkirina DMA AFU Example. • beşa Modified Optimîzasyon ji bo Performansa DMA ya Pêşveçûn ji bo guhertinên piçûk. |
2019.08.05 |
2.0 (bi Intel piştgirî
Quartus Prime Pro Edition 18.1.2) |
Serbestberdana destpêkê. |
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî gerantiya standard a Intel digire, lê mafê guheztina hilber û karûbaran di her kêliyê de bêyî agahdarkirinê parastî ye. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin.
- Dibe ku nav û marqeyên din wekî milkê yên din werin îdîakirin.
Belge / Çavkanî
![]() |
Karta Lezkirina Bernamekirî ya Intel FPGA D5005 [pdf] Rehbera bikaranînê Qerta Lezkirina Bernamekirî FPGA, D5005, Qerta Lezkirina Bernamekirî FPGA D5005, Yekîneya Karker a Lezkerê DMA |