Intel-логотипі

Intel FPGA бағдарламаланатын жеделдету картасы D5005

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 аппараттық блок схемасы

Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-1

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-суретте көрсетілген.Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-2

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 ядролары жоқ.Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-6

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жад

Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-3

Құрылғы мүмкіндігі тақырыбы байланыстырылған тізім

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) тізбегі

Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-4

Бағдарламалық қамтамасыз етудің программалау моделі

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ле:

  1. DMA қолданбасы мен драйвер каталогына өзгерту: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Драйвер мен қолданбаны құрастырыңыз: жасаңыз
  3. DMA AFU бит ағынын жүктеп алыңыз: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Хост жадынан 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 пәрменін келесідей пайдаланыңыз:

  1. DMA AFU-ға өзгертуampкаталог: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Дизайн құрастыру каталогын жасаңыз: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. 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 үшін аппараттық симуляторды орнату үшін келесі қадамдарды орындаңыз:

  1. DMA AFU-ға өзгертуampкаталог: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Жаңа каталогта ASE ортасын жасаңыз және оны AFU симуляциясы үшін конфигурациялаңыз: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. ASE құрастыру каталогына өзгерту: cd build_ase_dir
  4. Драйвер мен қолданбаны құрастырыңыз: жасаңыз
  5. Модельдеу жасаңыз: 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 бағдарламалық құралын құрастыру және орындау үшін келесі қадамдарды орындаңыз:

  1. Жаңа терминал терезесін ашыңыз.
  2. Каталогты келесіге өзгерту: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel корпорациясы. Барлық құқықтар сақталған. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Intel өзінің FPGA және жартылай өткізгіш өнімдерінің Intel стандартты кепілдігіне сәйкес ағымдағы техникалық сипаттамаларға сәйкес орындалуына кепілдік береді, бірақ кез келген өнімдер мен қызметтерге кез келген уақытта ескертусіз өзгертулер енгізу құқығын өзіне қалдырады. Intel жазбаша түрде тікелей келіскен жағдайларды қоспағанда, Intel компаниясы осы құжатта сипатталған кез келген ақпаратты, өнімді немесе қызметті қолданудан немесе пайдаланудан туындайтын жауапкершілікті немесе жауапкершілікті өз мойнына алмайды. Intel тұтынушыларына жарияланған ақпаратқа сенбес бұрын және өнімдерге немесе қызметтерге тапсырыс бермес бұрын құрылғы сипаттамаларының соңғы нұсқасын алу ұсынылады. *Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.

AFU имитациялау Example

  1. Аппараттық модельдеудегі жоғарыдағы қадамдардан терминал терезесіне ортаны орнату жолын (қабығыңызға сәйкес жолды таңдаңыз) көшіріңіз. 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
  2. Бағдарламалық құралды құрастырыңыз: $ USE_ASE=1 жасаңыз
  3. Хост жадынан 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 конфигурациясы

Intel.-FPGA-бағдарламаланатын-жеделдеу-карта-D5005-сур-5

Сынақ қолданбасында 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 акселераторының функционалды блогы

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *