Intel FPGA программалануучу тездетүү картасы D5005
Бул документ жөнүндө
Бул документ эстутумга түз кирүүнү (DMA) Accelerator Functional Unit (AFU) ишке ашырууну жана жабдыкта же симуляцияда иштөө үчүн дизайнды кантип курууну сүрөттөйт.
Максаттуу аудитория
Белгиленген аудитория Intel FPGA түзмөгүнө туташтырылган эстутумдагы маалыматтарды жергиликтүү буферлөө үчүн Accelerator Function (AF) талап кылган аппараттык же программалык камсыздоону иштеп чыгуучуларды камтыйт.
Конвенциялар
Документтик конвенциялар
Конвенция | Description |
# | Буйрукту тамыр катары киргизүүнү көрсөткөн буйруктун алдында турат. |
$ | Колдонуучу катары киргизиле турган буйрукту көрсөтөт. |
Бул шрифт | Fileаттар, буйруктар жана ачкыч сөздөр бул шрифтте басылган. Узун буйрук саптары бул шрифтте басылган. Узун буйрук саптары кийинки сапка өтүшү мүмкүн болсо да, кайтаруу буйруктун бир бөлүгү эмес; enter баспа. |
Бурчтуу кашаалардын ортосунда пайда болгон толтургуч текстти тиешелүү мааниге алмаштыруу керек экенин көрсөтөт. Бурчтук кашааларга кирбеңиз. |
Акронимдер
Акронимдер
Акронимдер | Кеңейтүү | Description |
AF | Accelerator Function | Колдонмону тездетүүчү FPGA логикасында ишке ашырылган Compiled Hardware Accelerator сүрөтү. |
AFU | Ылдамдаткычтын функционалдык бирдиги | Аппараттык акселератор FPGA логикасында ишке ашырылган, ал иштин майнаптуулугун жогорулатуу үчүн CPUдан тиркеме үчүн эсептөө операциясын түшүрөт. |
API | Колдонмо программалоо интерфейси | Программалык тиркемелерди куруу үчүн подпрограммалардын аныктамаларынын, протоколдорунун жана куралдарынын жыйындысы. |
CCI-P | Негизги кэш интерфейси | CCI-P AFUs хост менен баарлашуу үчүн колдонгон стандарттык интерфейс. |
DFH | Түзмөктүн өзгөчөлүгүнүн аталышы | Функцияларды кошуунун кеңейтилүүчү жолун камсыз кылуу үчүн өзгөчөлүктөр аталыштарынын шилтемеленген тизмесин түзөт. |
уланды… |
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга ылайык аткарууга кепилдик берет, бирок эскертүүсүз каалаган убакта каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка ишенүүдөн мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Акронимдер | Кеңейтүү | Description |
FIM | FPGA Interface Manager | FPGA Interface Unit (FIU) жана эстутум, тармактык ж.б.у.с тышкы интерфейстерди камтыган FPGA жабдыгы.
Accelerator Function (AF) иштөө учурунда FIM менен интерфейстешет. |
FIU | FPGA Interface Unit | FIU – платформа интерфейсинин катмары, ал PCIe*, UPI сыяктуу платформа интерфейстеринин жана CCI-P сыяктуу AFU тараптын интерфейстеринин ортосунда көпүрө болуп иштейт. |
MPF | Memory Properties Factory | MPF негизги курулуш блогу (BBB), аны AFUs FIU менен транзакциялар үчүн CCI-P трафикти калыптандыруу операцияларын камсыз кылуу үчүн колдоно алат. |
Акселерация Глоссарий
FPGA глоссарийи менен Intel® Xeon® CPU үчүн акселерация стек
Мөөнөтү | Аббревиатура | Description |
FPGA менен Intel Xeon® CPU үчүн Intel® Acceleration Stack | Acceleration Stack | Intel FPGA менен Intel Xeon процессорунун ортосунда иштөө үчүн оптималдаштырылган байланышты камсыз кылган программалык камсыздоонун, микропрограмманын жана куралдардын жыйындысы. |
Intel FPGA программалоочу тездетүү картасы | Intel FPGA PAC | PCIe FPGA акселератор картасы.
PCIe шинасы аркылуу Intel Xeon процессору менен жупташкан FPGA Interface Manager (FIM) камтыйт. |
- DMA Accelerator Functional Unit Колдонуучу колдонмосу: Intel FPGA программалануучу ылдамдатуу картасы D5005
DMA AFU Description
Introduction
Түз эстутумга кирүү (DMA) AFU мурункуample хост процессору менен FPGA ортосундагы эстутумду которууларды кантип башкарууну көрсөтөт. Хост эстутуму менен FPGA локалдык эстутумунун ортосунда берилиштерди жылдыруу үчүн DMA AFUди дизайныңызга интеграциялай аласыз. DMA AFU төмөнкү субмодулдарды камтыйт:
- Memory Properties Factory (MPF) Негизги курулуш блогу (BBB)
- Avalon® Memory-Mapped (Avalon-MM) адаптерине негизги кэш интерфейси (CCI-P)
- DMA BBB камтыган DMA Test системасы
Бул субмодулдар төмөндөгү DMA AFU аппараттык компоненттери темасында кеңири сүрөттөлгөн.
Тиешелүү маалымат
- DMA AFU аппараттык компоненттери 6-бетте
- Avalon Interface Specifications
Avalon-MM протоколу жөнүндө көбүрөөк маалымат алуу үчүн, анын ичинде бүтүмдөрдү окуу жана жазуу үчүн убакыт диаграммалары.
DMA AFU программалык пакети
FPGA пакети менен Intel Xeon CPU үчүн Intel Acceleration Stack file (*.tar.gz), DMA AFU экс камтыйтample. Бул эксample колдонуучу мейкиндигинин драйверин камсыз кылат. Хост колдонмосу бул драйверди DMA хост менен FPGA эстутумунун ортосунда маалыматтарды жылдыра тургандай колдонот. Аппараттык экиликтер, булактар жана колдонуучу мейкиндигинин драйвери төмөнкү каталогдо жеткиликтүү: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU менен эксперимент жүргүзүүдөн мурун, Open Programmable Acceleration Engine (OPAE) программалык пакетин орнотуу керек. Орнотуу көрсөтмөлөрү үчүн Intel FPGA программалануучу ылдамдатуу картасы D5005 үчүн Intel Acceleration Stack'ке OPAE программалык пакетин орнотууну караңыз. Бул Ыкчам баштоо колдонмосу ошондой эле Open Programmable Acceleration Engine (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ти иштетүү бөлүмүндөгү кадамдарды караңыз.ample. Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга кепилдик берет, бирок каалаган убакта эскертүүсүз каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка таянардан мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Тиешелүү маалымат
- Intel FPGA программалануучу акселерация картасы D5005 үчүн Intel Acceleration Stack Quick Start Guide
- OPAE программалык пакетин орнотуу
DMA AFU аппараттык компоненттери
DMA AFU FPGA Interface Unit (FIU) жана FPGA эс тутуму менен интерфейстешет. FPGA эстутумунун деталдуу мүнөздөмөлөрү үчүн Intel FPGA программалануучу ылдамдатуу картасы D5005 үчүн FPGA Interface Manager маалымат баракчасынан караңыз. Учурдагы жабдык бул эс конфигурациясын талап кылат. Келечектеги аппаратура ар кандай эс конфигурацияларын колдошу мүмкүн. Төмөнкү булак жана көздөгөн жерлердин ортосунда маалыматтарды көчүрүү үчүн DMA AFU колдоно аласыз:
- Хосттан түзмөккө FPGA эстутум
- Түзмөктүн FPGA эс тутуму хостко
Platform Designer системасы, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMAнын көбүн ишке ашырат
- AFU. Platform Designer системасында ишке ашырылган DMA AFU бөлүгүн төмөндөгү жерден тапса болот
жайгашкан жери:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBBди төмөнкү жерден таба аласыз:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA Accelerator Functional Unit Колдонуучу колдонмосу: Intel FPGA программалануучу ылдамдатуу картасы D5005
DMA AFU аппараттык блок диаграммасы
DMA AFU FPGA Interface Unit (FIU) менен интерфейс үчүн төмөнкү ички модулдарды камтыйт:
- Memory-Mapped IO (MMIO) Decoder Logic: MMIO окуу жана жазуу транзакцияларын аныктайт жана аларды алар келген CCI-P RX 0 каналынан ажыратат. Бул MMIO трафигинин MPF BBBге эч качан жетпөөсүн жана көз карандысыз MMIO командалык каналы тарабынан тейлөөнү камсыздайт.
- Memory Properties Factory (MPF): Бул модуль DMAдан окулган жооптордун берилген тартипте кайтарылышын камсыздайт. Avalon-MM протоколу туура тартипте кайтаруу үчүн жоопторду окууну талап кылат.
- CCI-P to Avalon-MM адаптер: Бул модул CCI-P жана Avalon-MM транзакцияларын төмөнкүдөй которот:
- CCI-P Avalon-MMIO адаптерине: Бул жол CCI-P MMIO транзакцияларын Avalon-MM транзакцияларына которот.
- Avalon to CCI-P Host Adapter: Бул жолдор DMA үчүн хост эстутумуна жетүү үчүн окуу үчүн гана жана жазуу үчүн өзүнчө жолдорду түзөт.
- DMA Test системасы: Бул модуль DMA BBB айланасында ороп катары кызмат кылат DMA мастерлерин AFU логикасынын калган бөлүгүнө. Бул DMA BBB жана CCI-P Avalon адаптер ортосундагы интерфейсти камсыз кылат. Ал ошондой эле DMA BBB менен жергиликтүү FPGA SDRAM банктарынын ортосундагы интерфейсти камсыз кылат.
Тиешелүү маалымат
Intel FPGA программалануучу тездетүү картасы D5005 үчүн FPGA Interface Manager маалымат баракчасы
DMA тест системасы
DMA тест системасы DMA BBBди CCI-P адаптациясын жана жергиликтүү FPGA эс тутумун камтыган FPGA дизайнынын калган бөлүгү менен байланыштырат.
DMA тест системасынын блок диаграммасы
Бул блок-диаграмма DMA тест системасынын ички түзүлүштөрүн көрсөтөт. DMA тест системасы 1-беттеги 7-сүрөттө монолиттүү блок катары көрсөтүлгөн.
DMA тест системасы төмөнкү ички модулдарды камтыйт:
- Far Reach Bridge/Pipeline Bridge: Топологияны башкаруу жана Fmax дизайнын өркүндөтүү үчүн камтылган кечиктирилген жөнгө салынуучу түтүк көпүрөсү.
- DMA AFU Device Feature Header (DFH): Бул DMA AFU үчүн DFH. Бул DFH 0x100 (DMA BBB DFH) офсетинде жайгашкан кийинки DFHди көрсөтөт.
- Null 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 Platform Designer блок диаграммасы
Бул блок-диаграммада кээ бир ички Pipeline Bridge IP өзөктөрү жок.
DMA Accelerator Functional Unit Колдонуучу колдонмосу: Intel FPGA программалануучу ылдамдатуу картасы D5005
DMA AFU Description
DMA BBB Platform Designerдин компоненттери төмөнкү функцияларды аткарат:
- Far Reach Bridge/Труба көпүрөсү: Топологияны башкаруу жана Fmax дизайнын өркүндөтүү үчүн жөнгө салынуучу күтүү мөөнөтү бар түтүк көпүрөсү.
- MA BBB DFH: Бул DMA BBB үчүн түзмөк өзгөчөлүгү аталышы. Бул DFH 0x100 (Null DFH) офсетинде жайгашкан кийинки DFHди көрсөтөт.
- Дескриптордун Frontend: Дескрипторлорду алуу жана аларды диспетчерге өткөрүп берүү үчүн жооптуу. DMA өткөрүп берүү аяктагандан кийин, фронтон диспетчерден статус түзүүнү алат жана хосттун эс тутумундагы дескриптордун үстүнөн жазат.
- Диспетчер: Бул блок DMA суроо-талаптарын Окуу жана жазуу мастерине өткөрүүнү пландаштырат.
- Окуу устаты: Бул блок хосттон же жергиликтүү FPGA эстутумунан маалыматтарды окуу жана аны Write Masterге агымдык маалымат катары жөнөтүү үчүн жооптуу.
- Устат жаз: Бул блок Read 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 эс тутум картасы
Байт даректери | аты | Байттарда аралыгы | Description |
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 реестр картасына кайрыла аласыз. DMA BBB ичинде 0 офсеттик 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 BBBs кошсоңуз, NULL DFH базалык дарегин ал эң жогорку даректе калуусу үчүн көбөйтүү керек. DMA драйвери жана сыноо колдонмосу бул жабдыкты колдонбойт. |
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга ылайык аткарууга кепилдик берет, бирок эскертүүсүз каалаган убакта каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка ишенүүдөн мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Картаны жана дарек мейкиндиктерин каттаңыз
DMA BBB Memory Map
Төмөнкү байт даректери DMA AFU тутумундагы (0x100) DMA BBB базалык дарегинен салыштырмалуу жылышуулар.
Байт даректери | аты | Байттарда аралыгы | Description |
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эс.
DMA AFU жана Хост Views of Memory
Түзмөктүн өзгөчөлүгүнүн аталышы шилтемеленген тизмеси
DMA AFU дизайн эксample шилтемеленген тизмени түзгөн үч аспаптын өзгөчөлүгү аталыштарын (DFH) камтыйт. Бул шилтемеленген тизме с мүмкүнчүлүк беретample арыз DMA AFU аныктоо үчүн, ошондой эле айдоочу DMA BBB аныктоо үчүн. DFH тизмеси аягында NULL DFH камтыйт. Шилтемеленген тизменин аягында нөлдүк DFHди киргизүү дизайныңызга көбүрөөк DMA BBB кошууга мүмкүндүк берет. Сиз жөн гана NULL DFHди башка BBBлерден кийинки дарекке жылдырышыңыз керек. Ар бир DMA BBB кийинки DFH BBBдин базалык дарегинен 0x100 байт аралыкта жайгашышын күтөт. Төмөнкү сүрөттө DMA AFU дизайны үчүн байланышкан тизме көрсөтүлгөнample.
Картаны жана дарек мейкиндиктерин каттаңыз
DMA AFU Device Feature Header (DFH) Chaining
Программалык камсыздоонун модели
DMA AFU өзүңүздүн хост колдонмоңузда колдоно турган программалык драйверди камтыйт. fpga_dma.cpp жана fpga_dma.h fileтөмөнкү жерде жайгашкан с программалык драйверди ишке ашырат:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Бул драйвер төмөнкү функцияларды колдойт:
API | Description |
fpgaCountDMACchannels | DMA BBBs үчүн түзмөктүн өзгөчөлүктөр тизмегин сканерлейт жана бардык жеткиликтүү каналдарды санайт. |
fpgaDMAOpen | DMA каналына тутканы ачат. |
fpgaDMAClose | DMA каналына тутканы жабат. |
fpgaDMATransferInit | DMA өткөрүп берүүнү билдирген объектти инициализациялайт. |
fpgaDMATransferReset | DMA өткөрүү атрибуту объектисин демейки маанилерге кайтарат. |
fpgaDMATransferDestroy | DMA өткөрүп берүү атрибуту объектисин жок кылат. |
fpgaDMATransferSetSrc | Өткөрүүнүн булак дарегин белгилейт. Бул дарек 64 байт тегизделген болушу керек. |
fpgaDMATransferSetDst | Өткөрүүнүн көздөгөн дарегин белгилейт. Бул дарек 64 байт тегизделген болушу керек. |
fpgaDMATransferSetLen | Өткөрмө узундуктарды байт менен белгилейт. Пакеттик эмес которуулар үчүн, которуунун узундугун 64 байттан көп санга коюу керек. Пакеттик которуулар үчүн бул талап эмес. |
fpgaDMATransferSetTransferType | Которуу түрүн орнотот. Юридикалык баалуулуктар болуп төмөнкүлөр саналат:
• HOST_MM_TO_FPGA_MM = TX (AFU үчүн хост) • FPGA_MM_TO_HOST_MM = RX (AFU хостинг үчүн) |
fpgaDMATransferSetTransferCallback | Асинхрондук өткөрүп берүүнүн аяктоосу жөнүндө билдирүү үчүн кайра чалууну каттайт. Эгер сиз кайра чалууну көрсөтсөңүз, fpgaDMATransfer дароо кайтарат (асинхрондук өткөрүү).
Эгерде сиз кайра чалууну көрсөтпөсөңүз, fpgaDMATransfer өткөрүп берүү аяктагандан кийин кайтып келет (синхрондуу/бөгөттөөчү өткөрүп берүү). |
fpgaDMATransferSetLast | DMA алдын ала алынган которууларды иштете башташы үчүн акыркы которууну көрсөтөт. Демейки маани DMA которуулар боюнча иштей баштаганга чейин куурдагы 64 которуу болуп саналат. |
fpgaDMATtransfer | DMA которууну ишке ашырат. |
API, киргизүү жана чыгаруу аргументтери жөнүндө көбүрөөк маалымат алуу үчүн башты караңыз file жайгашкан $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга кепилдик берет, бирок каалаган убакта эскертүүсүз каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка таянардан мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. Башка аталыштар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Программалык камсыздоонун модели
Программанын драйверин колдонуу модели жөнүндө көбүрөөк билүү үчүн, README караңыз file $OPAE_PLATFORM_ROOT/hw/s дарегинде жайгашканamples/dma_afu/README.md
Running DMA AFU Example
Баштоодон мурун:
- Сиз мурунку менен тааныш болушуңуз керекamples Intel FPGA программалануучу ылдамдатуу картасы D5005 үчүн Intel Acceleration Stack Quick Start Guide.
- Сиз чөйрө өзгөрмөсүн аныкташыңыз керек. Айлана-чөйрө өзгөрмөсү сиз колдонуп жаткан Intel Acceleration Stack версиясына көз каранды:
- Учурдагы версия үчүн чөйрө өзгөрмөсүн $OPAE_PLATFORM_ROOT кылып коюңуз
- Сиз Intel Threading Building Blocks (TBB) китепканасын орнотушуңуз керек, анткени DMA драйвери ага таянат.
- s иштетүү үчүн эки 1 ГБ чоң баракчаларды орнотушуңуз керекample application. $ 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 МБ бөлүктөрдү жазуу үчүн хост тиркемесин аткарыңыз жана аны кайра окуңуз: ./ fpga_dma_test -s 1 -p 104857600 -r mtom
Тиешелүү маалымат
Intel FPGA программалануучу ылдамдатуу картасы D5005 Intel Corporation үчүн Intel Acceleration Stack Quick Start Guide. Бардык укуктар корголгон. 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 Corporation. Бардык укуктар корголгон. 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
- Драйверди жана тиркемени түзүңүз: жасоо
- Симуляцияны жасаңыз: сим жасаңыз
Sampаппараттык симулятордон чыгаруу:
[SIM] ** КӨҢҮЛ БӨЛҮҮ: Программалык тиркемени иштетүүдөн мурун ** [SIM] env(ASE_WORKDIR) терминалын колдонмо иштей турган терминалга коюңуз (көчүрүү жана чаптоо) => [SIM] $SHELL | Run:[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/hw/samples/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/hw/samples/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) Quick Start User Guide
Жакшыртылган DMA аткаруу үчүн оптималдаштыруу
fpga_dma_test.cpp файлында NUMA (бирдиктүү эмес эстутумга жетүү) оптималдаштырууну ишке ашыруу процессорго локалдык эмес эстутумга (башка процессорго локалдык эстутумга) жетүүгө караганда тезирээк өзүнүн локалдык эстутумуна кирүүгө мүмкүндүк берет. Кадимки NUMA конфигурациясы төмөндөгү диаграммада көрсөтүлгөн. Жергиликтүү жетүү өзөктөн жергиликтүү эстутумга ошол эле өзөккө кирүүнү билдирет. Алыстан кирүү 0 түйүнүндөгү өзөк 1 түйүнүнүн локалдык эстутумунда турган эстутумга киргенде алынган жолду сүрөттөйт.
Кадимки NUMA конфигурациясы
Сыноо колдонмоңузда NUMA оптималдаштырууну ишке ашыруу үчүн төмөнкү кодду колдонуңуз:
// Эгерде (cpu_affinity || memory_affinity) талап кылынса, тийиштүү жакындыкты орнотуңуз {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GetDevice(props, (uintXNUMX_t *) & dev); // hwloc_topology_t топологиясынан аппаратты табыңыз; hwloc_topology_init(&топология); hwloc_topology_set_flags(топология, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Бардык укуктар корголгон. 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(топология, 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->nodeset,HWLOC_MEMBIND_LOWMEBINDYMB,HWLOC_MEMBIND_LOWCMEB | NODESET); #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 Functional Unit User Guide Archives
Intel Acceleration Stack Version | Колдонуучунун колдонмосу (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) Колдонуучунун колдонмосу |
DMA Accelerator Functional Unit Колдонуучу колдонмосу үчүн документти кайра карап чыгуу тарыхы
Документтин версиясы |
Intel Acceleration Стек версиясы |
Өзгөрүүлөр |
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 Edition 18.1.2) |
Алгачкы чыгаруу. |
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга кепилдик берет, бирок каалаган убакта эскертүүсүз каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка таянардан мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат.
- Башка аталыштар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Документтер / Ресурстар
![]() |
Intel FPGA программалануучу тездетүү картасы D5005 [pdf] Колдонуучунун колдонмосу FPGA программалануучу тездетүү картасы, D5005, FPGA программалануучу тездетүү картасы D5005, DMA акселератор функционалдык бирдиги |