Intel FPGA бағдарламаланатын жеделдету картасы D5005
Осы құжат туралы
Бұл құжат жадқа тікелей қол жеткізуді (DMA) жеделдеткіш функционалдық бірлігін (AFU) іске асыруды және аппараттық құралда немесе модельдеуде іске қосу үшін дизайнды құру жолын сипаттайды.
Мақсатты аудитория
Белгіленген аудитория Intel FPGA құрылғысына қосылған жадтағы деректерді жергілікті буферлеу үшін үдеткіш функциясын (AF) қажет ететін аппараттық немесе бағдарламалық жасақтаманы әзірлеушілерден тұрады.
Конвенциялар
Құжат конвенциялары
Конвенция | Сипаттама |
# | Пәрменді түбір ретінде енгізу керектігін көрсететін пәрменнің алдында тұрады. |
$ | Пайдаланушы ретінде енгізілетін пәрменді көрсетеді. |
Бұл шрифт | Fileаттар, пәрмендер және кілт сөздер осы қаріппен басып шығарылады. Ұзын пәрмен жолдары осы қаріппен басып шығарылады. Ұзын пәрмен жолдары келесі жолға өтуі мүмкін болса да, қайтару пәрменнің бөлігі емес; enter пернесін баспаңыз. |
Бұрыштық жақшалар арасында пайда болатын толтырғыш мәтінін сәйкес мәнмен ауыстыру керектігін көрсетеді. Бұрыштық жақшаларды енгізбеңіз. |
Акронимдер
Акронимдер
Акронимдер | Кеңейту | Сипаттама |
AF | Үдеткіш функциясы | Қолданбаны жеделдететін FPGA логикасында жүзеге асырылған құрастырылған аппараттық жеделдеткіш кескіні. |
AFU | Үдеткіштің функционалды блогы | FPGA логикасында іске асырылған аппараттық үдеткіш өнімділікті жақсарту үшін орталық процессордан қолданбаға арналған есептеу әрекетін түсіреді. |
API | Қолданбалы бағдарламалау интерфейсі | Бағдарламалық жасақтаманың қосымшаларын құруға арналған ішкі бағдарлама анықтамаларының, протоколдарының және құралдарының жиынтығы. |
CCI-P | Негізгі кэш интерфейсі | CCI-P – хостпен байланысу үшін AFU пайдаланатын стандартты интерфейс. |
DFH | Құрылғы мүмкіндігі тақырыбы | Мүмкіндіктерді қосудың кеңейтілген жолын қамтамасыз ету үшін мүмкіндік тақырыптарының байланыстырылған тізімін жасайды. |
жалғасы... |
Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Акронимдер | Кеңейту | Сипаттама |
FIM | FPGA интерфейс менеджері | FPGA интерфейсінің бірлігі (FIU) және жад, желі және т.б. үшін сыртқы интерфейстерді қамтитын FPGA аппараттық құралы.
Үдеткіш функциясы (AF) жұмыс уақытында FIM интерфейсімен жұмыс істейді. |
ҚББ | FPGA интерфейс бірлігі | FIU — платформа интерфейсі қабаты, ол PCIe*, UPI сияқты платформа интерфейстері және CCI-P сияқты AFU жағы интерфейстері арасында көпір қызметін атқарады. |
MPF | Жад сипаттары зауыты | MPF - бұл AFU FIU-мен транзакциялар үшін CCI-P трафикті қалыптастыру операцияларын қамтамасыз ету үшін пайдалана алатын негізгі құрылыс блогы (BBB). |
Акселерация глоссарийі
FPGA глоссарийі бар Intel® Xeon® CPU үшін жеделдету стек
Мерзімі | аббревиатура | Сипаттама |
FPGA бар Intel Xeon® процессорына арналған Intel® Acceleration Stack | Акселерация стек | Intel FPGA және Intel Xeon процессоры арасында өнімділікке оңтайландырылған қосылымды қамтамасыз ететін бағдарламалық құрал, микробағдарлама және құралдар жиынтығы. |
Intel FPGA бағдарламаланатын жеделдету картасы | Intel FPGA PAC | PCIe FPGA үдеткіш картасы.
Құрамында PCIe шинасы арқылы Intel Xeon процессорымен жұптасатын FPGA интерфейс менеджері (FIM) бар. |
- DMA Accelerator функционалдық бірлігінің пайдаланушы нұсқаулығы: Intel FPGA бағдарламаланатын жеделдету картасы D5005
DMA AFU сипаттамасы
Кіріспе
Тікелей жадқа қол жеткізу (DMA) AFU, мысалыample хост процессоры мен FPGA арасындағы жад тасымалдауларын басқару жолын көрсетеді. Деректерді хост жады мен FPGA жергілікті жады арасында жылжыту үшін дизайнға DMA AFU біріктіруге болады. DMA AFU келесі ішкі модульдерден тұрады:
- Memory Properties Factory (MPF) Негізгі құрылыс блогы (BBB)
- Avalon® Memory-Mapped (Avalon-MM) адаптеріне негізгі кэш интерфейсі (CCI-P)
- DMA BBB бар DMA сынақ жүйесі
Бұл ішкі модульдер төмендегі DMA AFU аппараттық құрамдастары тақырыбында толығырақ сипатталған.
Қатысты ақпарат
- DMA AFU аппараттық құрамдастары 6-бетте
- Avalon интерфейсінің техникалық сипаттамалары
Avalon-MM протоколы, оның ішінде оқу және жазу транзакцияларына арналған уақыт диаграммалары туралы қосымша ақпарат алу үшін.
DMA AFU бағдарламалық қамтамасыз ету пакеті
FPGA пакеті бар Intel Xeon процессорына арналған Intel Acceleration Stack file (*.tar.gz), құрамында DMA AFU барampле. Бұл бұрынғыample пайдаланушы кеңістігінің драйверін қамтамасыз етеді. Хост қолданбасы бұл драйверді DMA хост пен FPGA жады арасында деректерді жылжытатындай пайдаланады. Аппараттық екілік файлдар, көздер және пайдаланушы кеңістігінің драйвері келесі каталогта қол жетімді: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU-мен тәжірибе жасамас бұрын, Open Programmable Acceleration Engine (OPAE) бағдарламалық пакетін орнату керек. Орнату нұсқаулары үшін Intel FPGA бағдарламаланатын жеделдету картасының D5005 бағдарламасына арналған Intel Acceleration Stack ішінде OPAE бағдарламалық құрал бумасын орнату туралы жылдам бастау нұсқаулығын қараңыз. Бұл жылдам іске қосу нұсқаулығы сонымен қатар ашық бағдарламаланатын жеделдету қозғалтқышы (OPAE) және AFU конфигурациялау туралы негізгі ақпаратты қамтиды. Open Programmable Acceleration Engine (OPAE) бағдарламалық пакетін орнатқаннан кейін, сияқтыample хост қолданбасы және DMA AFU пайдаланушы кеңістігі драйвері келесі каталогта қолжетімді: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. s іске қосу үшінampIntel FPGA PAC D5005 аппараттық құралындағы fpga_dma_test хост қолданбасы үшін DMA AFU Ex іске қосу бөліміндегі қадамдарды қараңыз.ampле. Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына кез келген жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Қатысты ақпарат
- Intel FPGA бағдарламаланатын жеделдету картасы D5005 үшін Intel Acceleration Stack жылдам бастау нұсқаулығы
- OPAE бағдарламалық пакетін орнату
DMA AFU аппараттық құрамдас бөліктері
DMA AFU FPGA интерфейс блогымен (FIU) және FPGA жадымен интерфейс жасайды. FPGA жадының егжей-тегжейлі сипаттамаларын Intel FPGA бағдарламаланатын жеделдету картасы D5005 үшін FPGA интерфейс менеджерінің деректер парағын қараңыз. Қазіргі уақытта қол жетімді аппараттық құрал осы жад конфигурациясын белгілейді. Болашақ жабдық әртүрлі жад конфигурацияларын қолдауы мүмкін. Келесі көз және тағайындалған орындар арасында деректерді көшіру үшін DMA AFU пайдалана аласыз:
- Хосттан құрылғыға FPGA жады
- Хостқа құрылғының FPGA жады
Платформа құрастырушы жүйесі, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMA көп бөлігін жүзеге асырады
- AFU. Platform Designer жүйесінде жүзеге асырылған DMA AFU бөлігін келесіден табуға болады
орын:$OPAE_PLATFORM_ROOT/сағ/сamples/dma_afu/hw/rtl/TEST_dma/ DMA BBB келесі жерде таба аласыз:
- $OPAE_PLATFORM_ROOT/сағ/сamples/dma_afu/hw/rtl/dma_bbb
DMA Accelerator функционалдық бірлігінің пайдаланушы нұсқаулығы: Intel FPGA бағдарламаланатын жеделдету картасы D5005
DMA AFU аппараттық блок схемасы
DMA AFU FPGA интерфейс блогымен (FIU) интерфейс үшін келесі ішкі модульдерді қамтиды:
- Жадпен салыстырылған IO (MMIO) декодер логикасы: MMIO оқу және жазу транзакцияларын анықтайды және оларды олар келетін CCI-P RX 0 арнасынан бөледі. Бұл MMIO трафигінің MPF BBB-ге ешқашан жетпеуіне және тәуелсіз MMIO командалық арнасы арқылы қызмет көрсетілетініне кепілдік береді.
- Memory Properties Factory (MPF): Бұл модуль DMA-дан оқылған жауаптардың шығарылған ретімен қайтарылуын қамтамасыз етеді. Avalon-MM протоколы дұрыс ретпен қайтару үшін оқылған жауаптарды талап етеді.
- CCI-P - Avalon-MM адаптері: Бұл модуль CCI-P және Avalon-MM транзакциялары арасында келесідей аударылады:
- CCI-P то Avalon-MMIO адаптері: Бұл жол CCI-P MMIO транзакцияларын Avalon-MM транзакцияларына аударады.
- Avalon to CCI-P хост адаптері: бұл жолдар хост жадына қол жеткізу үшін DMA үшін тек оқуға және тек жазуға арналған бөлек жолдарды жасайды.
- DMA сынақ жүйесі: Бұл модуль DMA шеберлеріне AFU логикасының қалған бөлігін көрсету үшін DMA BBB айналасында орауыш ретінде қызмет етеді. Ол DMA BBB және CCI-P Avalon адаптері арасындағы интерфейсті қамтамасыз етеді. Ол сонымен қатар DMA BBB және жергілікті FPGA SDRAM банктері арасындағы интерфейсті қамтамасыз етеді.
Қатысты ақпарат
Intel FPGA бағдарламаланатын жеделдету картасы D5005 үшін FPGA интерфейс менеджерінің деректер парағы
DMA сынақ жүйесі
DMA сынақ жүйесі DMA BBB-ді FPGA дизайнының қалған бөлігіне қосады, соның ішінде CCI-P бейімделуі және жергілікті FPGA жады.
DMA сынақ жүйесінің блок-схемасы
Бұл блок-схема DMA тест жүйесінің ішкі бөліктерін көрсетеді. DMA тест жүйесі монолитті блок ретінде 1-бетте 7-суретте көрсетілген.
DMA тест жүйесі келесі ішкі модульдерді қамтиды:
- Far Reach Bridge/Pipeline Bridge: Топологияны басқару және Fmax дизайнын жақсарту үшін реттелетін кідірісі бар құбыр көпірі.
- DMA AFU құрылғы мүмкіндігі тақырыбы (DFH): Бұл DMA AFU үшін DFH. Бұл DFH 0x100 (DMA BBB DFH) офсетінде орналасқан келесі DFH көрсетеді.
- Нөл DFH: Бұл компонент DFH байланыстырылған тізімін тоқтатады. Егер дизайнға көбірек DMA BBB қоссаңыз, DFH нөлдік негізгі мекенжайы DFH байланыстырылған тізімнің соңында орналасқанына көз жеткізіңіз.
- MA Basic Building Block (BBB): Бұл блок деректерді хост пен жергілікті FPGA жады арасында жылжытады. Ол сонымен қатар дескрипторлар тізбегіне қол жеткізу үшін хост жадына қол жеткізеді.
DMA BBB
DMA BBB ішкі жүйесі Avalon-MM транзакциялары арқылы деректерді көзден тағайындалған мекенжайларға тасымалдайды. DMA драйвері жүйе ішіндегі әртүрлі құрамдастардың басқару және күй тізіліміне кіру арқылы DMA BBB басқарады. DMA драйвері тасымалдау дескрипторларымен байланысу үшін ортақ жадты пайдалану арқылы DMA BBB басқарады. DMA BBB FPGA жадындағы деректерге 0x0 ығысуында қатынасады. DMA BBB хост жадындағы деректер мен дескрипторларға 0x1_0000_0000_0000 ығысуында қатынасады.
DMA BBB платформасының конструкторының блок диаграммасы
Бұл блок-диаграммада кейбір ішкі Pipeline Bridge IP ядролары жоқ.
DMA Accelerator функционалдық бірлігінің пайдаланушы нұсқаулығы: Intel FPGA бағдарламаланатын жеделдету картасы D5005
DMA AFU сипаттамасы
DMA BBB платформа дизайнеріндегі құрамдас бөліктер келесі функцияларды орындайды:
- Алыс көпір/құбыр көпірі: Топологияны басқару және Fmax дизайнын жақсарту үшін реттелетін кідірісі бар құбыр көпірі.
- MA BBB DFH: Бұл DMA BBB үшін құрылғы мүмкіндігі тақырыбы. Бұл DFH 0x100 (Null DFH) ығысуында орналасқан келесі DFH-ге нұсқайды.
- Дескриптор фронтенді: Дескрипторларды алуға және оларды диспетчерге беруге жауапты. DMA тасымалдауы аяқталған кезде, фронтон диспетчерден күйді қалыптастыруды алады және хост жадындағы дескрипторды қайта жазады.
- Диспетчер: Бұл блок DMA сұрауларын оқу және жазу шеберіне жібереді.
- Мастер оқу: Бұл блок хосттан немесе жергілікті FPGA жадынан деректерді оқуға және оны Write Master бағдарламасына ағынды деректер ретінде жіберуге жауапты.
- Мастер жазыңыз: Бұл блок оқу шеберінен ағындық деректерді қабылдауға және мазмұнды хостқа немесе жергілікті FPGA жадына жазуға жауапты.
Карта мен мекенжай кеңістіктерін тіркеңіз
DMA AFU екі жадты қолдайды views: DMA view және хост view. DMA view 49 биттік мекенжай кеңістігін қолдайды. DMA төменгі жартысы view жергілікті FPGA жадына карталарды жасайды. DMA жоғарғы жартысы view хост жадына карталар. Қожа view DFH кестелері сияқты MMIO қатынасу арқылы қол жетімді барлық регистрлерді және DMA AFU ішінде пайдаланылатын әртүрлі IP ядроларының басқару/күй регистрлерін қамтиды. MMIO DMA BBB жүйесінде тіркеледі және AFU 32 және 64 биттік қатынасты қолдайды. DMA AFU 512 биттік MMIO қатынасына қолдау көрсетпейді. DMA BBB ішіндегі диспетчер регистрлеріне қол жеткізу 32 бит болуы керек (дескриптордың алдыңғы бөлігі 64 биттік регистрлерді жүзеге асырады).
DMA AFU тіркелу картасы
DMA AFU тіркелім картасы құрылғыдағы барлық орындардың абсолютті мекенжайларын береді. Бұл регистрлер хостта view өйткені оларға тек хост қана қол жеткізе алады.
DMA AFU жад картасы
Байттық мекенжай ығысулары | Аты | Байттардағы аралық | Сипаттама |
0x0 | DMA AFU DFH | 0x40 | DMA AFU үшін құрылғы мүмкіндігі тақырыбы. ID_L 0x9081f88b8f655caa және ID_H 0x331db30c988541ea мәніне орнатылған. DMA AFU DFH келесі DFH (DMA BBB DFH) табу үшін 0x100 ығысуын көрсету үшін параметрленді. DMA AFU DFH негізгі мекенжайын өзгертпеуіңіз керек, себебі ол CCIP спецификациясында анықталғандай 0x0 мекенжайында орналасуы керек. |
0x100 | DMA BBB | 0x100 | DMA BBB басқару және күй тіркелімі интерфейсін көрсетеді. Қосымша ақпарат алу үшін DMA BBB тіркелім картасына жүгінуге болады. 0 офсеттегі DMA BBB ішінде DMA BBB өзінің DFH-ін қамтиды. Бұл DFH келесі DFH 0x100 (NULL DFH) ығысуында табу үшін орнатылған. Көбірек DMA BBB қоссаңыз, оларды 0x100 арақашықтықта орналастырыңыз және NULL DFH соңғы DMA-дан 0x100 сәйкес келетініне көз жеткізіңіз. |
0x200 | NULL DFH | 0x40 | DFH байланыстырылған тізімді тоқтатады. ID_L 0x90fe6aab12a0132f, ал ID_H 0xda1182b1b3444e23 мәніне орнатылған. NULL DFH аппараттық құралдағы соңғы DFH ретінде параметрленді. Осы себепті NULL DFH 0x200 мекенжайында орналасқан. Жүйеге қосымша DMA BBB қоссаңыз, ең жоғары мекенжайда қалуы үшін NULL DFH негізгі мекенжайын сәйкесінше үлкейту керек. DMA драйвері мен сынақ қолданбасы бұл жабдықты пайдаланбайды. |
Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Карта мен мекенжай кеңістіктерін тіркеңіз
DMA BBB жад картасы
Келесі байт мекенжайлары DMA AFU жүйесіндегі (0x100) DMA BBB негізгі мекенжайынан салыстырмалы ығысулар болып табылады.
Байттық мекенжай ығысулары | Аты | Байттардағы аралық | Сипаттама |
0x0 | DMA BBB DFH | 0x40 | DMA AFU үшін құрылғы мүмкіндігі тақырыбы. ID_L 0xa9149a35bace01ea және ID_H 0xef82def7f6ec40fc мәніне орнатылған. DMA BBB DFH келесі DFH ығысуы үшін 0x100 мәнін көрсету үшін параметрленді. Бұл келесі ығысу басқа DMA BBB, басқа DFH (бұл дизайнға кірмейді) немесе NULL DFH болуы мүмкін. |
0x40 | Диспетчер | 0x40 | Диспетчерге арналған басқару порты. DMA драйвері бұл орынды DMA басқару немесе оның күйін сұрау үшін пайдаланады. |
0x80 | Дескриптор Frontend | 0x40 | Дескриптордың алдыңғы бөлігі - хост жадындағы дескрипторларды оқитын және DMA тасымалдауы аяқталған кезде дескрипторды қайта жазатын теңшелетін құрамдас. Драйвер бірінші дескриптор хост жадында тұратын фронтонға нұсқау береді, содан кейін алдыңғы аппараттық құрал драйвермен негізінен дескрипторлар хост жадында сақталғанымен байланысады. |
DMA AFU мекенжай кеңістігі
Хост 4-беттегі 12-кестеде және 5-беттегі 13-кестеде тізімделген регистрлерге қол жеткізе алады. DMA BBB ішкі жүйесі 49-биттік толық мекенжай кеңістігіне қатынаса алады. Бұл мекенжай кеңістігінің төменгі жартысы жергілікті FPGA жадыларын қамтиды. Бұл мекенжай кеңістігінің жоғарғы жартысы 48 биттік хост мекенжай жадысын қамтиды. Келесі суретте хост пен DMA көрсетілген viewесте сақтау s.
DMA AFU және хост Viewжад
Құрылғы мүмкіндігі тақырыбы байланыстырылған тізім
DMA AFU дизайны бұрынғыample құрамында байланыстырылған тізімді құрайтын үш құрылғы мүмкіндігі тақырыбы (DFH) бар. Бұл байланыстырылған тізім s мүмкіндік бередіample DMA AFU анықтауға арналған қолданба, сондай-ақ DMA BBB анықтау үшін драйвер. DFH тізімінің соңында NULL DFH бар. Байланыстырылған тізімнің соңына нөлдік DFH қосу дизайныңызға көбірек DMA BBB қосуға мүмкіндік береді. Сізге жай ғана NULL DFH мәнін басқа BBB-ден кейінгі мекенжайға жылжыту қажет. Әрбір DMA BBB келесі DFH BBB негізгі мекенжайынан 0x100 байт қашықтықта орналасуын күтеді. Келесі суретте DMA AFU дизайнына арналған байланыстырылған тізім бейнеленгенampле.
Карта мен мекенжай кеңістіктерін тіркеңіз
DMA AFU құрылғы мүмкіндігі тақырыбы (DFH) тізбегі
Бағдарламалық қамтамасыз етудің программалау моделі
DMA AFU жеке хост қолданбасында пайдалануға болатын бағдарламалық құрал драйверін қамтиды. fpga_dma.cpp және fpga_dma.h fileкелесі жерде орналасқан s бағдарламалық құрал драйверін іске асырады:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Бұл драйвер келесі функцияларды қолдайды:
API | Сипаттама |
fpgaCountDMACарналары | DMA BBB үшін құрылғы мүмкіндіктері тізбегін сканерлейді және барлық қолжетімді арналарды санайды. |
fpgaDMAOpen | DMA арнасының тұтқасын ашады. |
fpgaDMAClose | DMA арнасының тұтқасын жабады. |
fpgaDMATtransferInit | DMA тасымалдауын көрсететін нысанды инициализациялайды. |
fpgaDMATtransferReset | DMA тасымалдау төлсипат нысанын әдепкі мәндерге қайтарады. |
fpgaDMATtransferDestroy | DMA тасымалдау төлсипат нысанын бұзады. |
fpgaDMATransferSetSrc | Тасымалдаудың бастапқы мекенжайын орнатады. Бұл мекенжай 64 байтқа тураланған болуы керек. |
fpgaDMATtransferSetDst | Тасымалдаудың тағайындалған мекенжайын орнатады. Бұл мекенжай 64 байтқа тураланған болуы керек. |
fpgaDMATtransferSetLen | Тасымалдау ұзақтығын байтпен белгілейді. Пакеттік емес тасымалдаулар үшін тасымалдау ұзақтығын 64 байтқа еселік етіп орнату керек. Пакеттік аударымдар үшін бұл талап емес. |
fpgaDMATransferSetTransferType | Тасымалдау түрін орнатады. Құқықтық құндылықтар:
• HOST_MM_TO_FPGA_MM = TX (AFU хосты) • FPGA_MM_TO_HOST_MM = RX (хост үшін AFU) |
fpgaDMATransferSetTransferCallback | Асинхронды тасымалдаудың аяқталуы туралы хабарландыру үшін кері қоңырауды тіркейді. Кері қоңырауды көрсетсеңіз, fpgaDMATransfer дереу қайтарады (асинхронды тасымалдау).
Кері қоңырауды көрсетпесеңіз, fpgaDMATransfer тасымалдау аяқталғаннан кейін қайтарылады (синхронды/блоктауды тасымалдау). |
fpgaDMATtransferSetLast | DMA алдын ала алынған тасымалдауларды өңдеуді бастауы үшін соңғы тасымалдауды көрсетеді. Әдепкі мән DMA тасымалдауларда жұмыс істей бастағанға дейін құбырдағы 64 тасымалдау болып табылады. |
fpgaDMATtransfer | DMA тасымалдауын орындайды. |
API, кіріс және шығыс аргументтері туралы қосымша ақпарат алу үшін тақырыпты қараңыз file орналасқан $OPAE_PLATFORM_ROOT/сағ/сamples/dma_afu/sw/fpga_dma.hIntel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына кез келген жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Бағдарламалық қамтамасыз етудің программалау моделі
Бағдарламалық құрал драйверін пайдалану үлгісі туралы көбірек білу үшін README бөлімін қараңыз file $OPAE_PLATFORM_ROOT/hw/s мекенжайында орналасқанamples/dma_afu/README.md
Іске қосылған DMA AFU Example
Бастамас бұрын:
- Сіз бұрынғы жігітпен таныс болуыңыз керекampIntel FPGA бағдарламаланатын жеделдету картасы D5005 үшін Intel Acceleration Stack жылдам бастау нұсқаулығында.
- Айнымалы ортаны анықтау керек. Ортаның айнымалы мәні сіз пайдаланып жатқан Intel Acceleration Stack нұсқасына байланысты:
- Ағымдағы нұсқа үшін орта айнымалы мәнін $OPAE_PLATFORM_ROOT мәніне орнатыңыз
- Intel Threading Building Blocks (TBB) кітапханасын орнату керек, себебі DMA драйвері оған сүйенеді.
- s іске қосу үшін екі 1 ГБ үлкен бетті орнату керекampқолданба. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages”
DMA Accelerator Function (AF) бит ағынын жүктеп алу, қолданба мен драйверді құру және бұрынғы дизайнды іске қосу үшін келесі қадамдарды орындаңыз.ampле:
- DMA қолданбасы мен драйвер каталогына өзгерту: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Драйвер мен қолданбаны құрастырыңыз: жасаңыз
- DMA AFU бит ағынын жүктеп алыңыз: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Хост жадынан FPGA құрылғысының жадына 100 Мбайтты 1 МБ бөліктерге жазу үшін хост қолданбасын орындаңыз және оны қайта оқыңыз: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Қатысты ақпарат
Intel FPGA бағдарламаланатын жеделдету картасы D5005 Intel корпорациясына арналған Intel Acceleration Stack жылдам бастау нұсқаулығы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына кез келген жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
DMA AFU құрастыру Example
AF құрастыру үшін синтезді құрастыру ортасын жасау үшін afu_synth_setup пәрменін келесідей пайдаланыңыз:
- DMA AFU-ға өзгертуampкаталог: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Дизайн құрастыру каталогын жасаңыз: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- afu_synth_setup арқылы жасалған синтез құрастыру каталогынан мақсатты аппараттық платформа үшін AF жасау үшін терминал терезесінен келесі пәрмендерді енгізіңіз: cd build_synth run.sh run.sh AF құру сценарийі бірдей негізбен AF кескінін жасайды. fileатауы AFU платформасының конфигурациясы ретінде file (.json) орнында .gbs жұрнағы бар:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына кез келген жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
AFU имитациялау Example
Intel Intel FPGA PAC құрылғысы үшін Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Жылдам бастау нұсқаулығын көруді ұсынады.amples және ортаңызды орнату үшін. Келесі қадамдарды орындамас бұрын, OPAE_PLATFORM_ROOT ортасының айнымалы мәні OPAE SDK орнату каталогына орнатылғанын тексеріңіз. DMA AFU үшін аппараттық симуляторды орнату үшін келесі қадамдарды орындаңыз:
- DMA AFU-ға өзгертуampкаталог: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Жаңа каталогта ASE ортасын жасаңыз және оны AFU симуляциясы үшін конфигурациялаңыз: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE құрастыру каталогына өзгерту: cd build_ase_dir
- Драйвер мен қолданбаны құрастырыңыз: жасаңыз
- Модельдеу жасаңыз: SIM жасаңыз
Sampаппараттық тренажерден шығу:
[SIM] ** НАЗАР АУДАРЫҢЫЗ: бағдарламалық құралды іске қосар алдында ** [SIM] қолданба іске қосылатын терминалда env(ASE_WORKDIR) орнатыңыз (көшіру және қою) => [SIM] $SHELL | Іске қосу:[SIM] ———+—————————————————— [SIM] bash/zsh | экспорттау ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/сағ/сamples/dma_afu/ase_mkdir/work [SIM] Кез келген басқа $SHELL үшін Linux әкімшісімен кеңесіңіз [SIM] [SIM] Модельдеуге дайын… [SIM] Тренажерді жабу үшін CTRL-C пернелерін басыңыз…Модельдеу ортасында DMA AFU бағдарламалық құралын құрастыру және орындау үшін келесі қадамдарды орындаңыз:
- Жаңа терминал терезесін ашыңыз.
- Каталогты келесіге өзгерту: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
AFU имитациялау Example
- Аппараттық модельдеудегі жоғарыдағы қадамдардан терминал терезесіне ортаны орнату жолын (қабығыңызға сәйкес жолды таңдаңыз) көшіріңіз. s ішіндегі келесі жолдарды қараңызampаппараттық тренажерден шығу. [SIM] bash/zsh | экспорттау ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/сағ/сamples/dma_afu/build_ase_dir/work
- Бағдарламалық құралды құрастырыңыз: $ USE_ASE=1 жасаңыз
- Хост жадынан FPGA құрылғысының жадына кері цикл режимінде 4 КБ бөліктерінде 1 Кбайт жазу үшін хост қолданбасын орындаңыз: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Қатысты ақпарат
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) жылдам іске қосу пайдаланушы нұсқаулығы
Жақсартылған DMA өнімділігі үшін оңтайландыру
fpga_dma_test.cpp файлында NUMA (біркелкі емес жадқа қолжетімділік) оңтайландыруын енгізу процессорға жергілікті емес жадқа (басқа процессорға жергілікті жад) қол жеткізуге қарағанда, өзінің жергілікті жадына жылдамырақ қол жеткізуге мүмкіндік береді. Әдеттегі NUMA конфигурациясы төмендегі диаграммада көрсетілген. Жергілікті қатынас ядродан жергілікті жадқа бір ядроға қол жеткізуді білдіреді. Қашықтан қол жеткізу 0 түйініндегі ядро 1 түйінінің жергілікті жадында орналасқан жадқа қол жеткізген кезде алынған жолды көрсетеді.
Әдеттегі NUMA конфигурациясы
Сынақ қолданбасында NUMA оңтайландыруын енгізу үшін келесі кодты пайдаланыңыз:
// Сұралған жағдайда тиісті ұқсастықты орнатыңыз, егер (cpu_affinity || memory_affinity) {анықталмаған dom = 0, шина = 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(реквизиттер, (uint8_t *) & автобус);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(реквизиттер, (uint8_t *) & func);ON_ERR_t_t *) & func;ON_ERR_GOTOFunction “Out_ERR_GOTOf”(rep, out_destroy_tok); // hwloc_topology_t топологиясынан құрылғыны табыңыз; hwloc_topology_init(&топология); hwloc_topology_set_flags(топология, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген уақытта кез келген өнімдер мен қызметтерге ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына кез келген жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Жақсартылған DMA өнімділігі үшін оңтайландыру
hwloc_topology_load(топология); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(топология, дом, автобус, әзірлеу, функция); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_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 (жад_үйлесімділігі) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(топология, obj2->түйін жинағы,HWLOC_MEMBIND_LOWCMEBIND_MEMBIND_MEMBIND_MEMBIND_MEMBIND_YOK); #else retval =hwloc_set_membind_nodeset(топология, 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(топология, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
DMA Accelerator функционалдық бірлігінің пайдаланушы нұсқаулығының мұрағаты
Intel Acceleration Stack нұсқасы | Пайдаланушы нұсқаулығы (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) пайдаланушы нұсқаулығы |
DMA Accelerator функционалды бірлігінің пайдаланушы нұсқаулығына арналған құжатты қайта қарау тарихы
Құжат нұсқасы |
Intel жеделдету Стек нұсқасы |
Өзгерістер |
2020.08.03 |
2.0.1 (Intel қолдау көрсетеді
Quartus® Prime Pro Edition Edition 19.2) |
AF кескіні түзетілді file бөлімде аты DMA AFU құрастыру Example. |
2020.04.17 |
2.0.1 (Intel қолдау көрсетеді
Quartus Prime Pro Edition Edition 19.2) |
Мәлімдеме түзетілді Мақсатты аудитория бөлім. |
2020.02.20 |
2.0.1 (Intel қолдау көрсетеді
Quartus Prime Pro Edition Edition 19.2) |
Бекітілген қате. |
2019.11.04 |
2.0.1 (Intel қолдау көрсетеді Quartus Prime Pro Edition Edition 19.2) |
• Бөлімдегі алдын ала құрастырылған AFU бар FPGA конфигурациялау кезінде fpgaconf fpgasupdate параметрімен ауыстырылды. DMA AFU іске қосу Example.
• Субтитр қосылды Intel FPGA бағдарламаланатын жеделдету картасы D5005 құжат тақырыбына. • $OPAE_PLATFORM_ROOT айнымалы ортасы қосылды. • Өзгертілген бөлім Бағдарламалық қамтамасыз етудің программалау моделі кішігірім өңдеулер үшін. • Жаңа бөлім қосылды DMA AFU құрастыру Example. • Өзгертілген бөлім Жақсартылған DMA өнімділігі үшін оңтайландыру кішігірім өңдеулер үшін. |
2019.08.05 |
2.0 (Intel қолдау көрсетеді
Quartus Prime Pro шығарылымы 18.1.2) |
Бастапқы шығарылым. |
Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады.
- Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Құжаттар / Ресурстар
![]() |
Intel FPGA бағдарламаланатын жеделдету картасы D5005 [pdf] Пайдаланушы нұсқаулығы FPGA бағдарламаланатын жеделдету картасы, D5005, FPGA бағдарламаланатын жеделдету картасы D5005, DMA акселераторының функционалды блогы |