Intel logó

Intel FPGA programozható gyorsítókártya D5005

Intel.-FPGA-Programozható-Acceleration-Card-D5005-termék

Erről a dokumentumról

Ez a dokumentum leírja a közvetlen memória-elérési (DMA) Accelerator Functional Unit (AFU) megvalósítását, valamint azt, hogy hogyan lehet a tervezést hardveren vagy szimulációban futtatni.

Célközönség

A célközönség olyan hardver- vagy szoftverfejlesztőkből áll, akik gyorsító funkciót (AF) igényelnek az adatok helyi puffereléséhez az Intel FPGA-eszközhöz csatlakoztatott memóriában.

Egyezmények

Dokumentumegyezmények

Konvenció Leírás
# Megelőzi azt a parancsot, amely azt jelzi, hogy a parancsot rootként kell megadni.
$ Azt jelzi, hogy egy parancsot felhasználóként kell megadni.
Ez a betűtípus Filea nevek, parancsok és kulcsszavak ezzel a betűtípussal vannak nyomtatva. A hosszú parancssorok ezzel a betűtípussal vannak nyomtatva. Bár a hosszú parancssorok a következő sorra törhetnek, a visszatérés nem része a parancsnak; ne nyomja meg az entert.
Azt jelzi, hogy a szögletes zárójelek között megjelenő helyőrző szöveget megfelelő értékre kell cserélni. Ne lépjen be a szögletes zárójelbe.

Rövidítések

Rövidítések

Rövidítések Terjeszkedés Leírás
AF Gyorsító funkció Lefordított hardvergyorsító kép FPGA-logikával megvalósítva, amely felgyorsítja az alkalmazást.
AFU Gyorsító funkcionális egység Hardvergyorsító FPGA-logikában implementálva, amely a teljesítmény javítása érdekében a CPU-ból eltávolítja az alkalmazás számítási műveletét.
API Alkalmazás programozási felület Szubrutin definíciók, protokollok és eszközök halmaza szoftveralkalmazások készítéséhez.
CCI-P Core Cache interfész A CCI-P az a szabványos interfész, amelyet az AFU-k használnak a gazdagéppel való kommunikációhoz.
DFH Eszköz funkció fejléce Létrehoz egy csatolt listát a jellemzők fejléceiről, hogy bővíthető módot biztosítson a szolgáltatások hozzáadására.
folytatás…

Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja FPGA és félvezető termékeinek aktuális specifikációi szerinti teljesítményét, az Intel szabványos garanciájával összhangban, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal felelősséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve, ha az Intel kifejezetten írásban beleegyezik. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Rövidítések Terjeszkedés Leírás
FIM FPGA interfészkezelő Az FPGA-hardver, amely tartalmazza az FPGA interfész egységet (FIU) és külső interfészeket a memóriához, a hálózathoz stb.

Az Accelerator Function (AF) futásidőben kapcsolódik a FIM-hez.

FIU FPGA interfész egység A FIU egy platform interfész réteg, amely hídként működik a platform interfészek, például a PCIe*, az UPI és az AFU-oldali interfészek, például a CCI-P között.
MPF Memóriatulajdonság-gyár Az MPF egy alapvető építőelem (BBB), amelyet az AFU-k használhatnak a CCI-P forgalomformáló műveletek biztosítására a FIU-val folytatott tranzakciókhoz.

Gyorsulási szószedet

Acceleration Stack Intel® Xeon® CPU-hoz FPGA-kkal Glossary

Term Rövidítés Leírás
Intel® Acceleration Stack Intel Xeon® CPU-hoz FPGA-val Gyorsulási verem Szoftverek, firmware-ek és eszközök gyűjteménye, amelyek teljesítményre optimalizált kapcsolatot biztosítanak az Intel FPGA és az Intel Xeon processzorok között.
Intel FPGA programozható gyorsítókártya Intel FPGA PAC PCIe FPGA gyorsító kártya.

Tartalmaz egy FPGA Interface Managert (FIM), amely a PCIe buszon keresztül párosul Intel Xeon processzorral.

  • DMA-gyorsító funkcionális egység használati útmutatója: Intel FPGA programozható gyorsítókártya D5005

DMA AFU leírás

Bevezetés

A közvetlen memóriahozzáférés (DMA) AFU plample bemutatja, hogyan kell kezelni a memóriaátvitelt a gazdagép processzor és az FPGA között. Integrálhatja a DMA AFU-t a tervezésbe, hogy az adatokat a gazdagép memória és az FPGA helyi memória között mozgassa. A DMA AFU a következő almodulokat tartalmazza:

  • Memory Properties Factory (MPF) Basic Building Block (BBB)
  • Core Cache interfész (CCI-P) az Avalon® memórialeképezett (Avalon-MM) adapterhez
  • DMA tesztrendszer, amely tartalmazza a DMA BBB-t

Ezeket az almodulokat az alábbi DMA AFU hardverkomponensek témakörben ismertetjük részletesebben.

Kapcsolódó információk

  • A DMA AFU hardverösszetevői a 6. oldalon
  • Avalon interfész specifikációi

További információ az Avalon-MM protokollról, beleértve az olvasási és írási tranzakciók időzítési diagramjait.

A DMA AFU szoftvercsomag

Az Intel Acceleration Stack Intel Xeon CPU-hoz FPGA-csomaggal file (*.tar.gz), tartalmazza a DMA AFU example. Ez az example biztosít egy felhasználói terület illesztőprogramot. A gazdagép alkalmazás ezt az illesztőprogramot úgy használja, hogy a DMA az adatokat mozgatja a gazdagép és az FPGA memória között. A hardveres binárisok, a források és a felhasználói terület illesztőprogramja a következő könyvtárban érhető el: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Mielőtt kísérletezne a DMA AFU-val, telepítenie kell az Open Programmable Acceleration Engine (OPAE) szoftvercsomagot. A telepítési utasításokért tekintse meg az Intel Acceleration Stack Quick Start Guide for Intel FPGA Programmable Acceleration Card D5005 Az OPAE szoftvercsomag telepítése című részét. Ez a Gyors üzembe helyezési útmutató alapvető információkat tartalmaz az Open Programmable Acceleration Engine-ről (OPAE) és az AFU konfigurálásáról is. Az Open Programmable Acceleration Engine (OPAE) szoftvercsomag telepítése után, mintampA hosztalkalmazás és a DMA AFU felhasználói terület illesztőprogramja a következő könyvtárban érhető el: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Futtatni a sampAz Intel FPGA PAC D5005 hardverén lévő fpga_dma_test hosztalkalmazásnál olvassa el a DMA AFU Ex futtatása című szakasz lépéseit.ample. Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja FPGA és félvezető termékeinek aktuális specifikációi szerinti teljesítményét, az Intel szabványos garanciájával összhangban, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal felelősséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve, ha az Intel kifejezetten írásban beleegyezik. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Kapcsolódó információk

  • Intel Acceleration Stack Rövid útmutató az Intel FPGA programozható gyorsítókártyához D5005
  • Az OPAE szoftvercsomag telepítése

A DMA AFU hardverkomponensek

A DMA AFU interfész az FPGA interfész egységgel (FIU) és az FPGA memóriával. Az FPGA memória részletes specifikációit az Intel FPGA programozható gyorsítókártya D5005 FPGA Interface Manager adatlapján találja. A jelenleg elérhető hardver határozza meg ezt a memóriakonfigurációt. A jövőbeni hardverek különböző memóriakonfigurációkat támogathatnak. A DMA AFU segítségével adatokat másolhat a következő forrás- és célhelyek között:

  • A gazdagép és az eszköz közötti FPGA memória
  • Az eszköz FPGA memóriája a gazdagéphez

A Platform Designer rendszer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ A /dma_test_system.qsys megvalósítja a legtöbb DMA-t

  • AFU. A Platform Designer rendszerben megvalósított DMA AFU egy része az alábbiakban található

hely: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ A DMA BBB-t a következő helyen találja:

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

DMA-gyorsító funkcionális egység használati útmutatója: Intel FPGA programozható gyorsítókártya D5005

DMA AFU hardver blokkdiagram

Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-1. ábra

A DMA AFU a következő belső modulokat tartalmazza az FPGA interfész egységgel (FIU) való interfészhez:

  • Memórialeképezett IO (MMIO) dekódoló logika: észleli az MMIO olvasási és írási tranzakciókat, és elválasztja azokat a CCI-P RX 0 csatornától, amelyről érkeznek. Ez biztosítja, hogy az MMIO forgalom soha ne érje el az MPF BBB-t, és egy független MMIO parancscsatorna szolgálja ki.
  • Memory Properties Factory (MPF): Ez a modul biztosítja, hogy a DMA olvasási válaszai a kiadásuk sorrendjében térjenek vissza. Az Avalon-MM protokoll olvasási válaszokat igényel, hogy a megfelelő sorrendben térjenek vissza.
  • CCI-P - Avalon-MM adapter: Ez a modul a CCI-P és az Avalon-MM tranzakciók között a következőképpen vált át:
  • CCI-P – Avalon-MMIO Adapter: Ez az útvonal a CCI-P MMIO tranzakciókat Avalon-MM tranzakciókká alakítja át.
  • Avalon – CCI-P gazdagépadapter: Ezek az elérési utak külön csak olvasható és csak írható útvonalakat hoznak létre a DMA számára a gazdagépmemória eléréséhez.
  • DMA tesztrendszer: Ez a modul burkolóként szolgál a DMA BBB körül, hogy a DMA-mastereket feltárja az AFU logikájának többi részének. Interfészt biztosít a DMA BBB és a CCI-P to Avalon Adapter között. Ezenkívül interfészt biztosít a DMA BBB és a helyi FPGA SDRAM bankok között.

Kapcsolódó információk
FPGA interfészkezelő adatlapja az Intel FPGA programozható gyorsítókártyához D5005

DMA tesztrendszer

A DMA tesztrendszer összeköti a DMA BBB-t az FPGA kialakítás többi részével, beleértve a CCI-P adaptációt és a helyi FPGA memóriát.

DMA tesztrendszer blokkdiagramja
Ez a blokkdiagram a DMA tesztrendszer belső elemeit mutatja be. A DMA tesztrendszer monolitikus blokkként látható az 1. ábrán a 7. oldalon.Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-2. ábra

A DMA tesztrendszer a következő belső modulokat tartalmazza:

  • Far Reach Bridge/Pipeline Bridge: Csővezeték-híd állítható késleltetéssel a topológia vezérléséhez és a tervezési Fmax javításához.
  • DMA AFU Device Feature Header (DFH): Ez a DMA AFU DFH. Ez a DFH a következő DFH-ra mutat, amely 0x100 eltolásnál található (DMA BBB DFH).
  • Null DFH: Ez az összetevő leállítja a DFH csatolt listát. Ha további DMA BBB-ket ad hozzá a tervhez, győződjön meg arról, hogy a null DFH alapcím a DFH csatolt lista végén található.
  • MA Basic Building Block (BBB): Ez a blokk mozgatja az adatokat a gazdagép és a helyi FPGA memória között. Ezenkívül hozzáfér a gazdagép memóriájához, hogy hozzáférjen a leíró láncokhoz.

DMA BBB

A DMA BBB alrendszer Avalon-MM tranzakciók segítségével továbbítja az adatokat a forrásból a célcímekbe. A DMA meghajtó vezérli a DMA BBB-t a rendszeren belüli különféle összetevők vezérlési és állapotregiszteréhez való hozzáféréssel. A DMA illesztőprogram a DMA BBB-t is vezérli azáltal, hogy megosztott memóriát használ az átviteli leírók kommunikálásához. A DMA BBB 0x0 eltolásnál éri el az FPGA memóriában lévő adatokat. A DMA BBB 0x1_0000_0000_0000 eltolásnál éri el az adatokat és a leírókat a gazdagép memóriájában.

DMA BBB platform tervező blokkdiagram
Ez a blokkdiagram kizár néhány belső Pipeline Bridge IP magot.Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-6. ábra

DMA-gyorsító funkcionális egység használati útmutatója: Intel FPGA programozható gyorsítókártya D5005

DMA AFU leírás

A DMA BBB Platform Designer összetevői a következő funkciókat valósítják meg:

  • Far Reach híd/Pipeline Bridge: Beállítható késleltetésű csővezetékhíd a topológia vezérléséhez és a tervezési Fmax javításához.
  • MA BBB DFH: Ez a DMA BBB eszközfunkciójának fejléce. Ez a DFH a következő DFH-ra mutat, amely 0x100 eltolásnál (Null DFH) található.
  • Leíró felület: Felelős a leírók lekéréséért és a diszpécsernek való továbbításáért. Amikor a DMA átvitel befejeződik, a frontend állapotképzést kap a diszpécsertől, és felülírja a leírót a gazdagép memóriájában.
  • Diszpécser: Ez a blokk ütemezi a DMA átviteli kéréseket az olvasási és írási mesterhez.
  • Olvasd Mester: Ez a blokk felelős az adatok beolvasásáért a gazdagép vagy a helyi FPGA memóriából, és streaming adatként elküldi azokat a Write Master-nek.
  • Írj Mestert: Ez a blokk felelős a streaming adatok fogadásáért a Read Master-től és a tartalomnak a gazdagép vagy a helyi FPGA memóriába való írásáért.

Regisztráljon térkép- és címtereket

A DMA AFU két memóriát támogat views: A DMA view és a házigazda view. A DMA view támogatja a 49 bites címteret. A DMA alsó fele view leképez a helyi FPGA memóriára. A DMA felső fele view térképek a gazdagép memóriájába. A gazda view tartalmazza az MMIO hozzáféréseken keresztül elérhető összes regisztert, például a DFH táblákat, valamint a DMA AFU-n belül használt különböző IP magok vezérlő/állapotregisztereit. A DMA BBB és AFU MMIO regiszterei támogatják a 32 és 64 bites hozzáférést. A DMA AFU nem támogatja az 512 bites MMIO hozzáférést. A DMA BBB-n belüli Dispatcher regiszterekhez való hozzáférésnek 32 bitesnek kell lennie (a Descriptor frontend 64 bites regisztereket valósít meg).

DMA AFU regisztrációs térkép

A DMA AFU regisztertérkép az egységen belüli összes hely abszolút címét tartalmazza. Ezek a regiszterek a gazdagépben vannak view mert csak a gazdagép férhet hozzájuk.

DMA AFU memóriatérkép

Byte címeltolások Név Terjedelem bájtban Leírás
0x0 DMA AFU DFH 0x40 Eszközfunkció fejléc a DMA AFU-hoz. Az ID_L értéke 0x9081f88b8f655caa, az ID_H pedig 0x331db30c988541ea. A DMA AFU DFH úgy van paraméterezve, hogy 0x100 eltolásra mutasson a következő DFH (DMA BBB DFH) megtalálásához. Nem módosíthatja a DMA AFU DFH alapcímét, mivel annak a CCIP specifikációban meghatározott 0x0 címen kell lennie.
0x100 DMA BBB 0x100 Meghatározza a DMA BBB vezérlési és állapotregiszter interfészt. További információkért tekintse meg a DMA BBB regisztrációs térképét. A 0 eltolású DMA BBB-n belül a DMA BBB tartalmazza a saját DFH-ját. Ez a DFH úgy van beállítva, hogy megtalálja a következő DFH-t 0x100 eltolásnál (NULL DFH). Ha további DMA BBB-ket ad hozzá, helyezze el őket egymástól 0x100 távolságra, és biztosítsa, hogy a NULL DFH 0x100-al kövesse az utolsó DMA-t.
0x200 NULL DFH 0x40 Leállítja a DFH linkelt listát. Az ID_L értéke 0x90fe6aab12a0132f, az ID_H pedig 0xda1182b1b3444e23. A NULL DFH paraméterezése az utolsó DFH a hardverben. Emiatt a NULL DFH a 0x200 címen található. Ha további DMA BBB-ket ad hozzá a rendszerhez, akkor ennek megfelelően növelnie kell a NULL DFH alapcímet, hogy az a legmagasabb címen maradjon. A DMA illesztőprogram és a tesztalkalmazás nem használja ezt a hardvert.

Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja FPGA és félvezető termékeinek aktuális specifikációi szerinti teljesítményét, az Intel szabványos garanciájával összhangban, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal felelősséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve, ha az Intel kifejezetten írásban beleegyezik. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Regisztráljon térkép- és címtereket

DMA BBB memóriatérkép
A következő bájtcímek a DMA AFU rendszerben lévő DMA BBB alapcím relatív eltolásai (0x100).

Byte címeltolások Név Terjedelem bájtban Leírás
0x0 DMA BBB DFH 0x40 Eszközfunkció fejléc a DMA AFU-hoz. Az ID_L értéke 0xa9149a35bace01ea, az ID_H pedig 0xef82def7f6ec40fc. A DMA BBB DFH úgy van paraméterezve, hogy a következő DFH eltolásnál 0x100-ra mutasson. Ez a következő eltolás lehet egy másik DMA BBB, egy másik DFH (nem része ebben a kialakításban), vagy a NULL DFH.
0x40 Diszpécser 0x40 Vezérlő port a diszpécser számára. A DMA illesztőprogram ezt a helyet használja a DMA vezérlésére vagy állapotának lekérdezésére.
0x80 Leíró Frontend 0x40 A leíró frontend egy egyéni összetevő, amely beolvassa a leírókat a gazdagép memóriájából, és felülírja a leírót, amikor a DMA átvitel befejeződik. Az illesztőprogram utasítja a kezelőfelületet, hogy hol található az első leíró a gazdagép memóriájában, majd a frontend hardvere elsősorban a gazdagép memóriájában tárolt leírókon keresztül kommunikál az illesztőprogrammal.

DMA AFU címtér

A gazdagép hozzáférhet a 4. táblázatban a 12. oldalon és az 5. táblázatban a 13. oldalon felsorolt ​​regiszterekhez. A DMA BBB alrendszer hozzáfér a teljes 49 bites címtérhez. Ennek a címtartománynak az alsó fele tartalmazza a helyi FPGA memóriákat. Ennek a címtartománynak a felső fele tartalmazza a 48 bites gazdagép címmemóriát. A következő ábra a gazdagépet és a DMA-t mutatja views az emlékezet.

A DMA AFU és a gazdagép Views a memória

Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-3. ábra

Device Feature Header Linked-List

A DMA AFU design plampA le három eszközfunkció fejlécet (DFH) tartalmaz, amelyek egy linkelt listát alkotnak. Ez a linkelt lista lehetővé teszi az sample alkalmazás a DMA AFU azonosítására, valamint a DMA BBB azonosítására szolgáló illesztőprogram. A DFH lista végén egy NULL DFH szerepel. A null DFH szerepeltetése a hivatkozott lista végén lehetővé teszi, hogy további DMA BBB-ket adjon hozzá a tervéhez. Egyszerűen át kell helyeznie a NULL DFH-t a többi BBB utáni címre. Minden DMA BBB azt várja, hogy a következő DFH 0x100 bájt távolságra legyen a BBB alapcímétől. A következő ábra a DMA AFU-tervezés hivatkozáslistáját mutatja, plample.

Regisztráljon térkép- és címtereket

DMA AFU Device Feature Header (DFH) láncolás

Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-4. ábra

Szoftver programozási modell

A DMA AFU tartalmaz egy szoftver-illesztőprogramot, amelyet saját gazdaalkalmazásában használhat. Az fpga_dma.cpp és fpga_dma.h fileA következő helyen található s telepíti a szoftver-illesztőprogramot: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ez az illesztőprogram a következő funkciókat támogatja:

API Leírás
fpgaCountDMAChannels Megkeresi az eszköz szolgáltatásláncát DMA BBB-k után, és megszámolja az összes elérhető csatornát.
fpgaDMAOpen Megnyitja a DMA csatorna fogantyúját.
fpgaDMACzár Lezárja a DMA csatorna fogantyúját.
fpgaDMATransferInit Inicializál egy objektumot, amely a DMA átvitelt reprezentálja.
fpgaDMATransferReset Visszaállítja a DMA átviteli attribútum objektumot az alapértelmezett értékekre.
fpgaDMATransferDestroy Megsemmisíti a DMA átviteli attribútum objektumot.
fpgaDMATransferSetSrc Beállítja az átvitel forráscímét. Ennek a címnek 64 bájtosnak kell lennie.
fpgaDMATransferSetDst Beállítja az átvitel célcímét. Ennek a címnek 64 bájtosnak kell lennie.
fpgaDMATransferSetLen Beállítja az átviteli hosszt bájtokban. Nem csomagos átviteleknél az átvitel hosszát 64 bájt többszörösére kell beállítani. Csomagátvitel esetén ez nem követelmény.
fpgaDMATransferSetTransferType Beállítja az átvitel típusát. A jogi értékek a következők:

• HOST_MM_TO_FPGA_MM = TX (Host az AFU-hoz)

• FPGA_MM_TO_HOST_MM = RX (AFU a gazdagéphez)

fpgaDMATransferSetTransferCallback Regisztrálja a visszahívást az aszinkron átvitel befejezéséről szóló értesítéshez. Ha visszahívást ad meg, az fpgaDMATransfer azonnal visszatér (aszinkron átvitel).

Ha nem ad meg visszahívást, az fpgaDMATransfer visszatér az átvitel befejezése után (szinkron/blokkoló átvitel).

fpgaDMATransferSetLast Az utolsó átvitelt jelzi, így a DMA megkezdheti az előre letöltött átvitelek feldolgozását. Az alapértelmezett érték 64 átvitel folyamatban, mielőtt a DMA elkezdene dolgozni az átviteleken.
fpgaDMATtransfer DMA átvitelt hajt végre.

Az API-val, a bemeneti és kimeneti argumentumokkal kapcsolatos további információkért tekintse meg a fejlécet file található $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja, hogy FPGA és félvezető termékei az aktuális specifikációknak megfelelő teljesítményt nyújtanak az Intel szabványos garanciájának megfelelően, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. Más nevek és márkák mások tulajdonát képezhetik.

Szoftver programozási modell

Ha többet szeretne megtudni a szoftver-illesztőprogram használati modelljéről, tekintse meg a README-t file a következő helyen található: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

DMA AFU futtatása Example

Mielőtt elkezdené:

  • Ismernie kell az exétampAz Intel Acceleration Stack rövid útmutatójában az Intel FPGA D5005 programozható gyorsítókártyához.
  • Meg kell határoznia egy környezeti változót. A környezeti változó a használt Intel Acceleration Stack verziótól függ:
    • A jelenlegi verzióhoz állítsa a környezeti változót $OPAE_PLATFORM_ROOT értékre
  • Telepítenie kell az Intel Threading Building Blocks (TBB) könyvtárat, mivel a DMA illesztőprogram erre támaszkodik.
  • Az s futtatásához két 1 GB-os hatalmas oldalt is be kell állítaniaample alkalmazás. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Hajtsa végre a következő lépéseket a DMA Accelerator Function (AF) bitfolyam letöltéséhez, az alkalmazás és az illesztőprogram felépítéséhez, valamint a tervezési ex.ample:

  1. Váltás a DMA alkalmazás és illesztőprogram könyvtárára: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Építsd meg az illesztőprogramot és az alkalmazást: make
  3. Töltse le a DMA AFU bitfolyamot: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Futtassa a gazdagép alkalmazást, hogy 100 MB-ot írjon 1 MB-os részletekben a gazdagép memóriájából az FPGA-eszköz memóriájába, és olvassa vissza: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Kapcsolódó információk
Intel Acceleration Stack Rövid útmutató az Intel FPGA programozható gyorsítókártyához D5005 Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja, hogy FPGA és félvezető termékei az aktuális specifikációknak megfelelő teljesítményt nyújtanak az Intel szabványos garanciájának megfelelően, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

A DMA AFU Ex. összeállításaample

Szintézis összeállítási környezet létrehozásához az AF lefordításához használja az afu_synth_setup parancsot a következők szerint:

  1. Váltson a DMA AFU-raample könyvtár: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. A tervezési összeállítási könyvtár létrehozása: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Az afu_synth_setup által generált szintézis build könyvtárból írja be a következő parancsokat egy terminálablakból, hogy létrehozzon egy AF-et a cél hardverplatformhoz: cd build_synth run.sh A run.sh AF-generáló szkript létrehozza az AF-képet ugyanazzal az alappal filenevet az AFU platform konfigurációjaként file (.json) .gbs utótaggal a következő helyen: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja, hogy FPGA és félvezető termékei az aktuális specifikációknak megfelelő teljesítményt nyújtanak az Intel szabványos garanciájának megfelelően, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Az AFU szimulációja Example

Az Intel azt javasolja, hogy olvassa el az Intel Accelerator Functional Unit (AFU) szimulációs környezet (ASE) Gyors üzembe helyezési útmutatóját az Intel FPGA PAC számára, hogy ismerje a hasonló ex-szimulációt.ampés a környezet beállításához. Mielőtt folytatná a következő lépéseket, ellenőrizze, hogy az OPAE_PLATFORM_ROOT környezeti változó az OPAE SDK telepítési könyvtárára van-e állítva. Hajtsa végre a következő lépéseket a DMA AFU hardveres szimulátorának beállításához:

  1. Váltson a DMA AFU-raample könyvtár: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Hozzon létre egy ASE környezetet egy új könyvtárban, és állítsa be az AFU szimulálásához: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Váltás az ASE build könyvtárára: cd build_ase_dir
  4. Építsd meg az illesztőprogramot és az alkalmazást: make
  5. Készítsen szimulációt: készítsen sim-et

SampA hardveres szimulátor kimenete:

[SIM] ** FIGYELEM: A szoftveralkalmazás futtatása előtt ** [SIM] Állítsa be az env(ASE_WORKDIR) értéket a terminálon, ahol az alkalmazás futni fog (copy-and-paste) => [SIM] $SHELL | Futtatás:[SIM] ———+————————————————— [SIM] bash/zsh | exportálás 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] Minden más $SHELL esetén forduljon Linux rendszergazdájához [SIM] [SIM] Szimulációra kész… [SIM] Nyomja meg a CTRL-C billentyűket a szimulátor bezárásához…

Hajtsa végre a következő lépéseket a DMA AFU szoftver lefordításához és futtatásához a szimulációs környezetben:

  1. Nyisson meg egy új terminál ablakot.
  2. Módosítsa a könyvtárat a következőre: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja FPGA és félvezető termékeinek aktuális specifikációi szerinti teljesítményét, az Intel szabványos garanciájával összhangban, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal felelősséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve, ha az Intel kifejezetten írásban beleegyezik. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Az AFU szimulációja Example

  1. Másolja a környezetbeállítási karakterláncot (válassza ki a shellnek megfelelő karakterláncot) a hardveres szimuláció fenti lépéseiből a terminálablakba. Lásd a következő sorokat a sample kimenetet a hardveres szimulátorból. [SIM] bash/zsh | exportálás ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. Fordítsa le a szoftvert: $ make USE_ASE=1
  3. Futtassa a gazdaalkalmazást, hogy 4 KB-ot 1 KB-os részletekben írjon vissza a gazdamemóriából az FPGA-eszköz memóriájába loopback módban: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Kapcsolódó információk
Intel Accelerator Functional Unit (AFU) szimulációs környezet (ASE) Gyors üzembe helyezési útmutató

Optimalizálás a jobb DMA teljesítmény érdekében

A NUMA (nem egységes memóriaelérés) optimalizálás megvalósítása az fpga_dma_test.cpp fájlban lehetővé teszi a processzor számára, hogy gyorsabban hozzáférjen saját helyi memóriájához, mint a nem helyi memóriához (egy másik processzor helyi memóriájához). Az alábbi diagramon egy tipikus NUMA konfiguráció látható. A helyi hozzáférés egy magtól a memóriához való hozzáférést jelenti, ugyanahhoz a maghoz. A távoli elérés azt az utat mutatja, amelyen keresztül a 0. csomópont magja hozzáfér az 1. csomópont helyi memóriájában található memóriához.

Tipikus NUMA konfiguráció

Intel.-FPGA-Programozható-Gyorsító-kártya-D5005-5. ábra

Használja a következő kódot a NUMA optimalizálás megvalósításához a tesztalkalmazásban:

// Ha szükséges, állítsa be a megfelelő affinitást if (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_Properties”TOftroyperties” // Az eszköz megkeresése a hwloc_topology_t topológiából; hwloc_topology_init(&topológia); hwloc_topology_set_flags(topológia, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja FPGA és félvezető termékeinek aktuális specifikációi szerinti teljesítményét, az Intel szabványos garanciájával összhangban, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat. *Más nevek és márkák mások tulajdonát képezhetik.

Optimalizálás a jobb DMA teljesítmény érdekében

hwloc_topology_load(topológia); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topológia, dom, busz, fejlesztő, funkció); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topológia, 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", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf("NODESET %s\n", str);#endif if (memóriaaffinitás) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topológia, obj2->csomókészlet,HWLOC_MEMBIND_THREAD, HWINDYBLOMBEND_THREAD, HWLOC_MEMBIND_THREAD | #else retval =hwloc_set_membind_nodeset(topológia, obj2->csomópontkészlet, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_affinitás) { retval = hwloc_set_cpubind(topológia, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); } }

DMA Accelerator Functional Unit User Guide Archives

Intel Acceleration Stack verzió Felhasználói útmutató (PDF)
2.0 DMA Accelerator Functional Unit (AFU) felhasználói útmutató

A DMA Accelerator Functional Unit felhasználói kézikönyvének átdolgozási előzményei

 

Dokumentum verzió

Intel Acceleration Stack verzió  

Változások

 

 

2020.08.03

2.0.1 (Intel támogatja

Quartus® Prime Pro Edition 19.2)

 

Javítva az AF kép file név a szakaszban A DMA AFU Ex. összeállításaample.

 

 

2020.04.17

2.0.1 (Intel támogatja

Quartus Prime Pro Edition 19.2)

 

 

Javított egy nyilatkozatot Célközönség szakasz.

 

 

2020.02.20

2.0.1 (Intel támogatja

Quartus Prime Pro Edition 19.2)

 

 

Javítva az elírási hiba.

 

 

 

 

2019.11.04

 

 

2.0.1 (Intel támogatja

Quartus Prime Pro Edition 19.2)

• Az fpgaconf-ot lecserélte az fpgasupdate-re, amikor az FPGA-t az előre elkészített AFU-val konfigurálta a szakaszban A DMA AFU futtatása Example.

• Felirat hozzáadva Intel FPGA programozható gyorsítókártya D5005 a dokumentum címére.

• $OPAE_PLATFORM_ROOT környezeti változó hozzáadva.

• Módosított szakasz Szoftver programozási modell kisebb szerkesztésekhez.

• Új szakasz hozzáadva A DMA AFU Ex. összeállításaample.

• Módosított szakasz Optimalizálás a jobb DMA teljesítmény érdekében kisebb szerkesztésekhez.

 

 

2019.08.05

2.0 (Intel támogatja

Quartus Prime Pro Edition 18.1.2)

 

 

Kezdeti kiadás.

Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Az Intel szavatolja, hogy FPGA és félvezető termékei az aktuális specifikációknak megfelelő teljesítményt nyújtanak az Intel szabványos garanciájának megfelelően, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat.

  • Más nevek és márkák mások tulajdonát képezhetik.

 

Dokumentumok / Források

Intel FPGA programozható gyorsítókártya D5005 [pdf] Felhasználói útmutató
FPGA programozható gyorsító kártya, D5005, FPGA programozható gyorsító kártya D5005, DMA gyorsító funkcionális egység

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *