Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005
Ushbu hujjat haqida
Ushbu hujjat to'g'ridan-to'g'ri xotiraga kirishni (DMA) tezlatuvchi Funktsional birlik (AFU) amalga oshirishni va apparat yoki simulyatsiyada ishlash uchun dizaynni qanday yaratishni tavsiflaydi.
Maqsadli auditoriya
Maqsadli auditoriya Intel FPGA qurilmasiga ulangan xotiradagi ma'lumotlarni mahalliy buferlash uchun tezlatkich funksiyasini (AF) talab qiladigan apparat yoki dasturiy ta'minot ishlab chiqaruvchilardan iborat.
Konventsiyalar
Hujjat konventsiyalari
Konventsiya | Tavsif |
# | Buyruqning ildiz sifatida kiritilishini bildiruvchi buyruq oldidan keladi. |
$ | Buyruq foydalanuvchi sifatida kiritilishi kerakligini bildiradi. |
Bu shrift | Filenomlar, buyruqlar va kalit so'zlar ushbu shriftda chop etiladi. Ushbu shriftda uzun buyruq satrlari chop etiladi. Uzoq buyruq satrlari keyingi qatorga o'tishi mumkin bo'lsa-da, qaytarish buyruqning bir qismi emas; enter tugmasini bosmang. |
Burchak qavslar orasida paydo bo'ladigan to'ldiruvchi matnni tegishli qiymat bilan almashtirish kerakligini bildiradi. Burchak qavslarini kiritmang. |
Qisqartmalar
Qisqartmalar
Qisqartmalar | Kengayish | Tavsif |
AF | Tezlatgich funktsiyasi | Ilovani tezlashtiradigan FPGA mantig'ida amalga oshirilgan kompilyatsiya qilingan Hardware Accelerator tasviri. |
AFU | Tezlatgichning funktsional birligi | Uskuna tezlatgichi FPGA mantig'ida amalga oshirilgan bo'lib, unumdorlikni oshirish uchun protsessordan dastur uchun hisoblash operatsiyasini o'chiradi. |
API | Ilova dasturlash interfeysi | Dasturiy ta'minot dasturlarini yaratish uchun pastki dastur ta'riflari, protokollari va vositalari to'plami. |
CCI-P | Asosiy kesh interfeysi | CCI-P - bu AFUlarning xost bilan aloqa qilish uchun foydalanadigan standart interfeysi. |
DFH | Qurilma xususiyati sarlavhasi | Xususiyatlarni qo'shishning kengaytiriladigan usulini ta'minlash uchun xususiyatlar sarlavhalarining bog'langan ro'yxatini yaratadi. |
davom etdi… |
Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
Qisqartmalar | Kengayish | Tavsif |
FIM | FPGA interfeysi menejeri | FPGA interfeysi birligi (FIU) va xotira, tarmoq va boshqalar uchun tashqi interfeyslarni o'z ichiga olgan FPGA apparati.
Tezlatgich funktsiyasi (AF) ish vaqtida FIM bilan interfeysga kiradi. |
FIU | FPGA interfeysi birligi | FIU - bu PCIe*, UPI kabi platforma interfeyslari va CCI-P kabi AFU tomoni interfeyslari o'rtasida ko'prik vazifasini bajaradigan platforma interfeysi qatlami. |
MPF | Xotira xususiyatlari zavodi | MPF - bu AFUlar FIU bilan tranzaktsiyalar uchun CCI-P trafikni shakllantirish operatsiyalarini ta'minlash uchun foydalanishi mumkin bo'lgan asosiy qurilish bloki (BBB). |
Tezlashtirish lug'ati
FPGA lug'atiga ega Intel® Xeon® CPU uchun tezlashtirish to'plami
Muddati | Qisqartirish | Tavsif |
FPGA bilan Intel Xeon® CPU uchun Intel® Acceleration Stack | Tezlashtirish to'plami | Intel FPGA va Intel Xeon protsessorlari o'rtasida ishlash uchun optimallashtirilgan ulanishni ta'minlaydigan dasturiy ta'minot, proshivka va vositalar to'plami. |
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi | Intel FPGA PAC | PCIe FPGA tezlatgich kartasi.
PCIe shinasi orqali Intel Xeon protsessoriga qo'shiladigan FPGA interfeys menejerini (FIM) o'z ichiga oladi. |
- DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005
DMA AFU tavsifi
Kirish
To'g'ridan-to'g'ri xotiraga kirish (DMA) AFU, masalanample xost protsessor va FPGA o'rtasida xotira uzatishni qanday boshqarishni ko'rsatadi. Xost xotirasi va FPGA mahalliy xotirasi oʻrtasida maʼlumotlarni koʻchirish uchun siz DMA AFU-ni dizayningizga integratsiya qilishingiz mumkin. DMA AFU quyidagi submodullarni oʻz ichiga oladi:
- Xotira xususiyatlari zavodi (MPF) asosiy qurilish bloki (BBB)
- Avalon® xotira xaritasidagi (Avalon-MM) adapteriga asosiy kesh interfeysi (CCI-P)
- DMA BBB o'z ichiga olgan DMA test tizimi
Ushbu submodullar quyida DMA AFU Hardware Components mavzusida batafsil tavsiflangan.
Tegishli ma'lumotlar
- DMA AFU apparat komponentlari 6-sahifada
- Avalon interfeysining texnik xususiyatlari
Avalon-MM protokoli, shu jumladan o'qish va yozish tranzaktsiyalari uchun vaqt diagrammasi haqida ko'proq ma'lumot olish uchun.
DMA AFU dasturiy ta'minot to'plami
FPGA to'plamiga ega Intel Xeon CPU uchun Intel Acceleration Stack file (*.tar.gz), o'z ichiga DMA AFU example. Bu sobiqample foydalanuvchi maydoni drayverini taqdim etadi. Xost ilovasi ushbu drayverdan foydalanadi, shunda DMA ma'lumotlarni xost va FPGA xotirasi o'rtasida o'tkazadi. Uskuna ikkiliklari, manbalar va foydalanuvchi maydoni drayveri quyidagi katalogda mavjud: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU bilan tajriba o'tkazishdan oldin, Open Programmable Acceleration Engine (OPAE) dasturiy paketini o'rnatishingiz kerak. O'rnatish bo'yicha ko'rsatmalar uchun Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack-da OPAE dasturiy ta'minot paketini o'rnatish bo'yicha tezkor qo'llanmaga qarang. Ushbu Tezkor ishga tushirish qo'llanmasi, shuningdek, Open Programmable Acceleration Engine (OPAE) va AFU ni sozlash haqida asosiy ma'lumotlarni o'z ichiga oladi. Open Programmable Acceleration Engine (OPAE) dasturiy paketini o'rnatgandan so'ng, kabiample xost ilovasi va DMA AFU foydalanuvchi maydoni drayveri quyidagi katalogda mavjud: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. s ni ishga tushirish uchunampIntel FPGA PAC D5005 uskunangizdagi fpga_dma_test xost dasturi uchun DMA AFU Ex-ni ishga tushirish bo'limidagi qadamlarga qarang.ample. Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
Tegishli ma'lumotlar
- Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack Tez boshlash qo'llanmasi
- OPAE dasturiy ta'minot paketini o'rnatish
DMA AFU apparat komponentlari
DMA AFU FPGA interfeysi birligi (FIU) va FPGA xotirasi bilan ishlaydi. FPGA xotirasining batafsil spetsifikatsiyalari uchun Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun FPGA interfeysi menejeri ma'lumotlar varag'iga qarang. Hozirda mavjud uskuna ushbu xotira konfiguratsiyasini belgilaydi. Kelajakdagi apparat turli xil xotira konfiguratsiyalarini qo'llab-quvvatlashi mumkin. DMA AFU dan quyidagi manba va maqsad manzillari oʻrtasida maʼlumotlarni nusxalash uchun foydalanishingiz mumkin:
- Xostdan qurilmaga FPGA xotirasi
- Xostga qurilma FPGA xotirasi
Platforma dizayneri tizimi, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMA ning ko'p qismini amalga oshiradi
- AFU. Platforma dizayneri tizimida amalga oshirilgan DMA AFU ning bir qismini quyida topish mumkin
joylashuvi:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Siz DMA BBBni quyidagi manzilda topishingiz mumkin:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005
DMA AFU apparat blok diagrammasi
DMA AFU FPGA interfeysi birligi (FIU) bilan interfeys uchun quyidagi ichki modullarni o'z ichiga oladi:
- Xotiraga asoslangan IO (MMIO) dekoder mantig'i: MMIO o'qish va yozish tranzaktsiyalarini aniqlaydi va ularni CCI-P RX 0 kanalidan ajratadi. Bu MMIO trafigi hech qachon MPF BBB ga etib bormasligini va mustaqil MMIO buyruq kanali tomonidan xizmat ko'rsatilishini ta'minlaydi.
- Xotira xususiyatlari zavodi (MPF): Ushbu modul DMA dan o'qilgan javoblar chiqarilgan tartibda qaytishini ta'minlaydi. Avalon-MM protokoli to'g'ri tartibda qaytish uchun javoblarni o'qishni talab qiladi.
- CCI-P to Avalon-MM adapter: Ushbu modul CCI-P va Avalon-MM tranzaktsiyalari o'rtasida quyidagi tarzda tarjima qilinadi:
- CCI-P to Avalon-MMIO adapter: Bu yo'l CCI-P MMIO tranzaksiyalarini Avalon-MM tranzaksiyalariga aylantiradi.
- Avalon to CCI-P Host Adapter: Bu yo'llar DMA uchun xost xotirasiga kirish uchun faqat o'qish va faqat yozish uchun alohida yo'llarni yaratadi.
- DMA test tizimi: Ushbu modul DMA BBB atrofida DMA ustalarini AFUdagi mantiqning qolgan qismiga ochib berish uchun o'rash vazifasini bajaradi. U DMA BBB va CCI-P to Avalon adapter o'rtasidagi interfeysni ta'minlaydi. Shuningdek, u DMA BBB va mahalliy FPGA SDRAM banklari o'rtasidagi interfeysni ta'minlaydi.
Tegishli ma'lumotlar
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun FPGA interfeys menejeri ma'lumotlar varaqasi
DMA test tizimi
DMA test tizimi DMA BBB ni FPGA dizaynining qolgan qismiga, jumladan CCI-P moslashuvi va mahalliy FPGA xotirasiga ulaydi.
DMA test tizimining blok diagrammasi
Ushbu blok diagrammasi DMA test tizimining ichki qismlarini ko'rsatadi. DMA test tizimi 1-betdagi 7-rasmda monolit blok sifatida ko'rsatilgan.
DMA test tizimi quyidagi ichki modullarni o'z ichiga oladi:
- Far Reach Bridge/Pipeline Bridge: Topologiyani boshqarish va Fmax dizaynini yaxshilash uchun sozlanishi kechikish bilan quvur liniyasi ko'prigi.
- DMA AFU Device Feature Header (DFH): Bu DMA AFU uchun DFH. Bu DFH ofset 0x100 (DMA BBB DFH) da joylashgan keyingi DFH ga ishora qiladi.
- Null DFH: Ushbu komponent DFH bog'langan ro'yxatini tugatadi. Agar dizaynga ko'proq DMA BBB qo'shsangiz, null DFH asosiy manzili DFH bog'langan ro'yxatining oxirida joylashganligiga ishonch hosil qiling.
- MA asosiy qurilish bloki (BBB): Ushbu blok ma'lumotlarni xost va mahalliy FPGA xotirasi o'rtasida ko'chiradi. Shuningdek, u tavsiflovchi zanjirlarga kirish uchun xost xotirasiga ham kiradi.
DMA BBB
DMA BBB quyi tizimi Avalon-MM tranzaksiyalari yordamida ma'lumotlarni manbadan maqsad manzillarga uzatadi. DMA drayveri tizim ichidagi turli komponentlarning boshqaruv va holat registriga kirish orqali DMA BBB ni boshqaradi. DMA drayveri, shuningdek, uzatish identifikatorlari bilan bog'lanish uchun umumiy xotiradan foydalangan holda DMA BBB ni boshqaradi. DMA BBB FPGA xotirasidagi ma'lumotlarga 0x0 ofsetida kirish imkonini beradi. DMA BBB 0x1_0000_0000_0000 ofsetida xost xotirasidagi ma'lumotlar va identifikatorlardan foydalanadi.
DMA BBB platformasi dizaynerining blok diagrammasi
Ushbu blok diagrammasi ba'zi ichki Quvur liniyasi ko'prigi IP yadrolarini o'z ichiga olmaydi.
DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005
DMA AFU tavsifi
DMA BBB platformasi dizayneridagi komponentlar quyidagi funktsiyalarni bajaradi:
- Far Reach ko'prigi/quvur ko'prigi: Topologiyani boshqarish va Fmax dizaynini yaxshilash uchun sozlanishi kechikish bilan quvur liniyasi ko'prigi mavjud.
- MA BBB DFH: Bu DMA BBB uchun qurilma xususiyati sarlavhasi. Bu DFH 0x100 (Null DFH) ofsetida joylashgan keyingi DFHga ishora qiladi.
- Frontend deskriptori: Deskriptorlarni olish va ularni dispetcherga o'tkazish uchun javobgar. DMA uzatish tugagach, frontend dispetcherdan holat shakllanishini oladi va xost xotirasida identifikatorni qayta yozadi.
- Dispetcher: Ushbu blok DMA so'rovlarini o'qish va yozish ustasiga o'tkazishni rejalashtiradi.
- Magistrni o'qing: Ushbu blok xost yoki mahalliy FPGA xotirasidan ma'lumotlarni o'qish va uni Write Master-ga oqim ma'lumotlari sifatida yuborish uchun javobgardir.
- Usta yozing: Ushbu blok Read Master-dan oqim ma'lumotlarini qabul qilish va tarkibni xost yoki mahalliy FPGA xotirasiga yozish uchun javobgardir.
Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing
DMA AFU ikkita xotirani qo'llab-quvvatlaydi views: DMA view va uy egasi view. DMA view 49 bitli manzil maydonini qo'llab-quvvatlaydi. DMA ning pastki yarmi view mahalliy FPGA xotirasiga xaritalar. DMA ning yuqori yarmi view xost xotirasi uchun xaritalar. Mezbon view DFH jadvallari kabi MMIO kirishlari orqali kirish mumkin bo'lgan barcha registrlarni va DMA AFU ichida ishlatiladigan turli IP yadrolarining boshqaruv/holat registrlarini o'z ichiga oladi. MMIO DMA BBB da ro'yxatdan o'tadi va AFU 32 va 64 bitli kirishni qo'llab-quvvatlaydi. DMA AFU 512 bitli MMIO kirishlarini qo'llab-quvvatlamaydi. DMA BBB ichidagi dispetcher registrlariga kirish 32 bit bo'lishi kerak (Deskriptor old tomoni 64 bitli registrlarni amalga oshiradi).
DMA AFU registrlari xaritasi
DMA AFU registr xaritasi birlik ichidagi barcha joylarning mutlaq manzillarini beradi. Ushbu registrlar xostda joylashgan view chunki ularga faqat xost kirishi mumkin.
DMA AFU xotira xaritasi
Bayt manzillari ofsetlari | Ism | Baytlarda oraliq | Tavsif |
0x0 | DMA AFU DFH | 0x40 | DMA AFU uchun qurilma xususiyati sarlavhasi. ID_L 0x9081f88b8f655caa, ID_H esa 0x331db30c988541ea qilib o‘rnatiladi. DMA AFU DFH keyingi DFH (DMA BBB DFH) ni topish uchun 0x100 ofsetga ishora qilish uchun parametrlangan. DMA AFU DFH ning asosiy manzilini o'zgartirmasligingiz kerak, chunki u CCIP spetsifikatsiyasi bilan belgilangan 0x0 manzilida joylashgan bo'lishi kerak. |
0x100 | DMA BBB | 0x100 | DMA BBB boshqaruvi va holat registrlari interfeysini belgilaydi. Qo'shimcha ma'lumot uchun DMA BBB registr xaritasiga murojaat qilishingiz mumkin. 0 ofsetdagi DMA BBB ichida DMA BBB o'zining DFH ni o'z ichiga oladi. Ushbu DFH keyingi DFH ni ofset 0x100 (NULL DFH) da topish uchun sozlangan. Agar siz ko'proq DMA BBB qo'shsangiz, ularni 0x100 masofada joylashtiring va NULL DFH oxirgi DMA ni 0x100 ga kuzatib borishiga ishonch hosil qiling. |
0x200 | NULL DFH | 0x40 | DFH bog'langan ro'yxatini tugatadi. ID_L 0x90fe6aab12a0132f va ID_H 0xda1182b1b3444e23 ga o‘rnatiladi. NULL DFH apparatdagi oxirgi DFH sifatida parametrlangan. Shuning uchun NULL DFH 0x200 manzilida joylashgan. Agar siz tizimga qo'shimcha DMA BBB qo'shsangiz, eng yuqori manzilda qolishi uchun NULL DFH asosiy manzilini mos ravishda oshirishingiz kerak. DMA drayveri va sinov ilovasi ushbu uskunadan foydalanmaydi. |
Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing
DMA BBB xotira xaritasi
Quyidagi bayt manzillari DMA AFU tizimidagi (0x100) DMA BBB asosiy manzilidan nisbiy ofsetdir.
Bayt manzillari ofsetlari | Ism | Baytlarda oraliq | Tavsif |
0x0 | DMA BBB DFH | 0x40 | DMA AFU uchun qurilma xususiyati sarlavhasi. ID_L 0xa9149a35bace01ea va ID_H 0xef82def7f6ec40fc ga o'rnatiladi. DMA BBB DFH keyingi DFH ofseti uchun 0x100 ga ishora qilish uchun parametrlangan. Bu keyingi ofset boshqa DMA BBB, boshqa DFH (ushbu dizaynga kiritilmagan) yoki NULL DFH bo'lishi mumkin. |
0x40 | Dispetcher | 0x40 | Dispetcher uchun boshqaruv porti. DMA drayveri bu joydan DMA ni boshqarish yoki uning holatini so'rash uchun foydalanadi. |
0x80 | Frontend deskriptori | 0x40 | Deskriptorning old qismi xost xotirasidan deskriptorlarni o'qiydi va DMA uzatish tugallangandan so'ng deskriptorni qayta yozadigan maxsus komponent hisoblanadi. Haydovchi birinchi deskriptor xost xotirasida yashaydigan frontendga ko'rsatma beradi, so'ngra frontend apparati drayver bilan birinchi navbatda xost xotirasida saqlangan deskriptorlar bilan aloqa qiladi. |
DMA AFU manzil maydoni
Xost 4-betdagi 12-jadvalda va 5-betdagi 13-jadvalda keltirilgan registrlarga kirishi mumkin. DMA BBB quyi tizimi toʻliq 49-bitli manzil maydoniga kirish huquqiga ega. Ushbu manzil maydonining pastki yarmi mahalliy FPGA xotiralarini o'z ichiga oladi. Ushbu manzil maydonining yuqori yarmi 48 bitli xost manzil xotirasini o'z ichiga oladi. Quyidagi rasmda xost va DMA ko'rsatilgan viewxotira s.
DMA AFU va Xost Views Xotira
Qurilma xususiyatlari sarlavhasi bog'langan ro'yxat
DMA AFU dizayni sobiqample bog'langan ro'yxatni tashkil etuvchi uchta qurilma xususiyati sarlavhasini (DFH) o'z ichiga oladi. Bu bog'langan ro'yxat s imkonini beradiample DMA AFU ni aniqlash uchun ilova hamda DMA BBB ni aniqlash uchun haydovchi. DFH ro'yxati oxirida NULL DFHni o'z ichiga oladi. Bog'langan ro'yxatning oxiriga null DFH qo'shilishi dizayningizga ko'proq DMA BBB qo'shish imkonini beradi. Siz shunchaki NULL DFHni boshqa BBBlardan keyingi manzilga ko'chirishingiz kerak. Har bir DMA BBB keyingi DFH BBB ning asosiy manzilidan 0x100 bayt masofada joylashgan bo'lishini kutadi. Quyidagi rasmda DMA AFU dizayni uchun bog'langan ro'yxat ko'rsatilganample.
Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing
DMA AFU Device Feature Header (DFH) zanjiri
Dasturiy ta'minotni dasturlash modeli
DMA AFU siz o'zingizning xost ilovangizda foydalanishingiz mumkin bo'lgan dasturiy ta'minot drayverini o'z ichiga oladi. fpga_dma.cpp va fpga_dma.h filequyidagi joyda joylashgan s dasturiy ta'minot drayverini amalga oshiradi:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ushbu drayver quyidagi funktsiyalarni qo'llab-quvvatlaydi:
API | Tavsif |
fpgaCountDMACchannels | DMA BBB uchun qurilma funksiyalar zanjirini skanerlaydi va barcha mavjud kanallarni hisoblaydi. |
fpgaDMAOpen | DMA kanaliga tutqichni ochadi. |
fpgaDMAClose | DMA kanaliga tutqichni yopadi. |
fpgaDMATransferInit | DMA uzatishni ifodalovchi ob'ektni ishga tushiradi. |
fpgaDMATtransferReset | DMA uzatish atributi obyektini standart qiymatlarga qaytaradi. |
fpgaDMATransferDestroy | DMA uzatish atributi ob'ektini yo'q qiladi. |
fpgaDMATransferSetSrc | O'tkazmaning manba manzilini o'rnatadi. Bu manzil 64 baytga teng bo'lishi kerak. |
fpgaDMATtransferSetDst | O'tkazmaning maqsad manzilini belgilaydi. Bu manzil 64 baytga teng bo'lishi kerak. |
fpgaDMATtransferSetLen | O'tkazish uzunligini baytlarda o'rnatadi. Paketsiz o'tkazmalar uchun siz uzatish uzunligini 64 baytga ko'p qilib belgilashingiz kerak. Paket o'tkazmalari uchun bu shart emas. |
fpgaDMATransferSetTransferType | O'tkazish turini o'rnatadi. Yuridik qadriyatlar quyidagilardir:
• HOST_MM_TO_FPGA_MM = TX (AFU uchun xost) • FPGA_MM_TO_HOST_MM = RX (xost uchun AFU) |
fpgaDMATransferSetTransferCallback | Asinxron uzatish tugallanganligi to'g'risida bildirishnoma olish uchun qayta qo'ng'iroqni ro'yxatdan o'tkazadi. Qayta qo'ng'iroqni belgilasangiz, fpgaDMATransfer darhol qaytadi (asinxron uzatish).
Qayta qo'ng'iroqni belgilamasangiz, fpgaDMATransfer uzatish tugallangandan so'ng qaytadi (sinxron/blokirovkali uzatish). |
fpgaDMATtransferSetLast | Oxirgi transferni ko'rsatadi, shuning uchun DMA oldindan yuklangan o'tkazmalarni qayta ishlashni boshlashi mumkin. Standart qiymat - DMA o'tkazmalar ustida ishlay boshlashdan oldin quvur liniyasidagi 64 ta o'tkazma. |
fpgaDMATtransfer | DMA uzatishni amalga oshiradi. |
API, kiritish va chiqish argumentlari haqida ko'proq ma'lumot olish uchun sarlavhaga qarang file joylashgan $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
Dasturiy ta'minotni dasturlash modeli
Dasturiy ta'minot drayveridan foydalanish modeli haqida ko'proq bilish uchun README-ga qarang file $OPAE_PLATFORM_ROOT/hw/s da joylashganamples/dma_afu/README.md
Ishlayotgan DMA AFU Example
Boshlashdan oldin:
- Siz sobiq bilan tanish bo'lishingiz kerakamples Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack Tez boshlash qo'llanmasida.
- Siz muhit o'zgaruvchisini belgilashingiz kerak. Atrof-muhit o'zgaruvchisi siz foydalanayotgan Intel Acceleration Stack versiyasiga bog'liq:
- Joriy versiya uchun muhit o'zgaruvchisini $OPAE_PLATFORM_ROOT ga o'rnating
- Intel Threading Building Blocks (TBB) kutubxonasini o'rnatishingiz kerak, chunki DMA drayveri unga tayanadi.
- s-ni ishga tushirish uchun siz ikkita 1 GB hajmli ulkan sahifalarni o'rnatishingiz kerakampilova. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
DMA Accelerator Function (AF) bit oqimini yuklab olish, dastur va drayverni yaratish va eski dizaynni ishga tushirish uchun quyidagi amallarni bajaring.ampga:
- DMA ilovasi va drayverlar katalogiga oʻzgartirish: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Drayv va dasturni yarating: make
- DMA AFU bit oqimini yuklab oling: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Xost xotirasidan FPGA qurilmasi xotirasiga 100 MB ni 1 MB qismlarga yozish uchun xost ilovasini ishga tushiring va uni qayta o‘qing: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Tegishli ma'lumotlar
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 Intel korporatsiyasi uchun Intel Acceleration Stack Tez boshlash qo'llanmasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
DMA AFU ni kompilyatsiya qilish Example
AFni kompilyatsiya qilish uchun sintez yaratish muhitini yaratish uchun afu_synth_setup buyrug'idan quyidagi tarzda foydalaning:
- DMA AFU ga o'zgartirishampkatalog: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Dizayn yaratish katalogini yarating: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Maqsadli apparat platformasi uchun AF yaratish uchun afu_synth_setup tomonidan yaratilgan sintez yaratish katalogidan terminal oynasidan quyidagi buyruqlarni kiriting: cd build_synth run.sh run.sh AF yaratish skripti bir xil baza bilan AF tasvirini yaratadi. filenomi AFU platformasi konfiguratsiyasi sifatida file (.json) manzilida .gbs qo'shimchasi bilan:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
AFU ni simulyatsiya qilish Example
Intel FPGA PAC uchun Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Tez ishga tushirish qo‘llanmasiga murojaat qilishni tavsiya qiladi.amples va muhitingizni sozlash uchun. Quyidagi amallarni bajarishdan oldin OPAE_PLATFORM_ROOT muhit oʻzgaruvchisi OPAE SDK oʻrnatish katalogiga oʻrnatilganligini tekshiring. DMA AFU uchun apparat simulyatorini sozlash uchun quyidagi amallarni bajaring:
- DMA AFU ga o'zgartirishample katalog: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Yangi katalogda ASE muhitini yarating va uni AFU simulyatsiyasi uchun sozlang: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE qurish katalogiga o'ting: cd build_ase_dir
- Drayv va dasturni yarating: make
- Simulyatsiya qiling: sim yarating
Sampapparat simulyatoridan chiqdi:
[SIM] ** DIQQAT: dasturiy ta'minotni ishga tushirishdan oldin ** [SIM] Ilova ishlaydigan terminalda env(ASE_WORKDIR) ni o'rnating (nusxalash va joylashtirish) => [SIM] $SHELL | Ishga tushirish: [SIM] ———+—————————————————— [SIM] bash/zsh | eksport 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] Boshqa har qanday $SHELL uchun Linux administratoringiz bilan maslahatlashing [SIM] [SIM] Simulyatsiyaga tayyor… [SIM] Simulyatorni yopish uchun CTRL-C tugmalarini bosing…Simulyatsiya muhitida DMA AFU dasturini kompilyatsiya qilish va ishga tushirish uchun quyidagi amallarni bajaring:
- Yangi terminal oynasini oching.
- Katalogni quyidagiga o'zgartiring: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
AFU ni simulyatsiya qilish Example
- Uskuna simulyatsiyasidagi yuqoridagi qadamlardan terminal oynasiga atrof-muhitni o'rnatish satrini (qobig'ingizga mos keladigan qatorni tanlang) nusxa ko'chiring. s dagi quyidagi qatorlarga qarangampapparat simulyatoridan chiqish. [SIM] bash/zsh | eksport 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
- Dasturiy ta'minotni kompilyatsiya qiling: $ make USE_ASE=1
- Xost xotirasidan FPGA qurilma xotirasiga 4 KB bo‘laklarga 1 KB yozish uchun xost ilovasini ishga tushiring: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Tegishli ma'lumotlar
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Tez boshlash foydalanuvchi qo‘llanmasi
DMA ish faoliyatini yaxshilash uchun optimallashtirish
fpga_dma_test.cpp da NUMA (xotiraga bir xil bo'lmagan kirish) optimallashtirishni amalga oshirish protsessorga mahalliy bo'lmagan xotiraga (boshqa protsessorga mahalliy xotira) kirishdan ko'ra tezroq o'z mahalliy xotirasiga kirish imkonini beradi. Oddiy NUMA konfiguratsiyasi quyidagi diagrammada ko'rsatilgan. Mahalliy kirish yadrodan mahalliy xotiraga bir xil yadroga kirishni anglatadi. Masofaviy kirish 0-tugundagi yadro 1-tugunning mahalliy xotirasida joylashgan xotiraga kirganda olingan yo'lni ko'rsatadi.
Odatiy NUMA konfiguratsiyasi
Sinov ilovangizda NUMA optimallashtirishni amalga oshirish uchun quyidagi koddan foydalaning:
// Agar so'ralsa, tegishli yaqinlikni o'rnating, agar (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(rekvizitlar, (uint8_t *) & avtobus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(rekvizitlar, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(rekvizitlar, (uint8_t *) & func);ON_ERR_GOTOFunction “ON_ERR_t (uintXNUMX_t *) & destroy() // hwloc_topology_t topologiyasidan qurilmani toping; hwloc_topology_init(&topologiya); hwloc_topology_set_flags(topologiya, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
DMA ish faoliyatini yaxshilash uchun optimallashtirish
hwloc_topology_load(topologiya); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologiya, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologiya, 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 bu %s\n”, str);#endif if (xotira_yaxshiligi) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologiya, obj2->tugun, HWLOC_MEMBIND_LOCK MEMBIND_MEMBIND_MEMBIND_MEMBIND_YOG'RIB | #else retval =hwloc_set_membind_nodeset(topologiya, 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(topologiya, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
DMA Accelerator Funktsional Unit foydalanuvchi qoʻllanmasi arxivlari
Intel Acceleration Stack versiyasi | Foydalanuvchi qoʻllanmasi (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) foydalanuvchi qo'llanmasi |
DMA Accelerator Funktsional Unit foydalanuvchi qoʻllanmasi uchun hujjatlarni koʻrib chiqish tarixi
Hujjat versiyasi |
Intel tezlashtirish Stack versiyasi |
O'zgarishlar |
2020.08.03 |
2.0.1 (Intel bilan qo'llab-quvvatlanadi
Quartus® Prime Pro Edition Edition 19.2) |
AF tasviri tuzatildi file bo'limda nom DMA AFU ni kompilyatsiya qilish Example. |
2020.04.17 |
2.0.1 (Intel bilan qo'llab-quvvatlanadi
Quartus Prime Pro Edition Edition 19.2) |
dagi bayonotni tuzatdi Maqsadli auditoriya bo'limi. |
2020.02.20 |
2.0.1 (Intel bilan qo'llab-quvvatlanadi
Quartus Prime Pro Edition Edition 19.2) |
Ruxsat etilgan matn terish xatosi. |
2019.11.04 |
2.0.1 (Intel bilan qo'llab-quvvatlanadi Quartus Prime Pro Edition Edition 19.2) |
• FPGA-ni oldindan tuzilgan AFU bo'limida sozlashda fpgaconf fpgasupdate bilan almashtirildi DMA AFU-ni ishga tushirish Example.
• Subtitr qo‘shildi Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 hujjat sarlavhasiga. • $OPAE_PLATFORM_ROOT muhit o‘zgaruvchisi qo‘shildi. • O'zgartirilgan bo'lim Dasturiy ta'minotni dasturlash modeli kichik tahrirlar uchun. • Yangi bo'lim qo'shildi DMA AFU ni kompilyatsiya qilish Example. • O'zgartirilgan bo'lim DMA ish faoliyatini yaxshilash uchun optimallashtirish kichik tahrirlar uchun. |
2019.08.05 |
2.0 (Intel bilan qo'llab-quvvatlanadi
Quartus Prime Pro nashri 18.1.2) |
Dastlabki nashr. |
Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi.
- Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
Hujjatlar / manbalar
![]() |
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 [pdf] Foydalanuvchi uchun qoʻllanma FPGA dasturlashtiriladigan tezlashtirish kartasi, D5005, FPGA dasturlashtiriladigan tezlashtirish kartasi D5005, DMA tezlatgich funktsional birligi |