Лагатып Intel

Праграмуемая карта паскарэння Intel FPGA D5005

Intel.-FPGA-Programmable-Acceleration-Card-D5005-прадукт

Аб гэтым дакуменце

У гэтым дакуменце апісваецца рэалізацыя функцыянальнага блока паскаральніка (AFU) прамога доступу да памяці (DMA) і тое, як стварыць праект для працы на апаратным забеспячэнні або ў мадэляванні.

Мэтавая аўдыторыя

Мэтавая аўдыторыя складаецца з распрацоўшчыкаў абсталявання або праграмнага забеспячэння, якім патрабуецца функцыя паскаральніка (AF) для лакальнай буферызацыі даных у памяці, падключанай да прылады Intel FPGA.

Умоўнасці

Умоўныя пагадненні ў дакументах

Канвенцыя Апісанне
# Папярэднічае камандзе, якая паказвае, што каманда павінна быць уведзена як root.
$ Паказвае, што каманда павінна быць уведзена як карыстальнік.
Гэты шрыфт Fileімёны, каманды і ключавыя словы друкуюцца гэтым шрыфтам. Гэтым шрыфтам друкуюцца доўгія камандныя радкі. Хоць доўгія камандныя радкі могуць пераходзіць у наступны радок, вяртанне не з'яўляецца часткай каманды; не націскайце enter.
Паказвае, што тэкст-запаўняльнік, які з'яўляецца паміж вуглавымі дужкамі, павінен быць заменены адпаведным значэннем. Не ўводзьце вуглавыя дужкі.

Скарачэнні

Скарачэнні

Скарачэнні Пашырэнне Апісанне
AF Функцыя паскаральніка Скампіляваны апаратны паскаральнік, рэалізаваны ў логіцы FPGA, які паскарае прыкладанне.
АФУ Функцыянальны блок паскаральніка Апаратны паскаральнік, рэалізаваны ў логіцы FPGA, якая здымае вылічальную аперацыю для прыкладання з працэсара для павышэння прадукцыйнасці.
API Інтэрфейс прыкладнога праграмавання Набор азначэнняў падпраграм, пратаколаў і інструментаў для стварэння праграмных прыкладанняў.
CCI-P Інтэрфейс ядра кэша CCI-P - гэта стандартны інтэрфейс AFU, які выкарыстоўваецца для сувязі з хостам.
DFH Загаловак функцыі прылады Стварае звязаны спіс загалоўкаў функцый, каб забяспечыць пашыральны спосаб дадання функцый.
працяг...

Карпарацыя Intel. Усе правы ахоўваюцца. Intel, лагатып Intel і іншыя знакі Intel з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі. *Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.

Скарачэнні Пашырэнне Апісанне
FIM Менеджэр інтэрфейсу FPGA Апаратнае забеспячэнне FPGA, якое змяшчае блок інтэрфейсу FPGA (FIU) і знешнія інтэрфейсы для памяці, сеткі і г.д.

Функцыя паскаральніка (AF) узаемадзейнічае з FIM падчас выканання.

ПФР Блок інтэрфейсу FPGA FIU - гэта ўзровень інтэрфейсу платформы, які дзейнічае як мост паміж інтэрфейсамі платформы, такімі як PCIe*, UPI і інтэрфейсамі на баку AFU, такімі як CCI-P.
MPF Memory Properties Factory MPF - гэта асноўны будаўнічы блок (BBB), які AFU могуць выкарыстоўваць для забеспячэння аперацый па фарміраванні трафіку CCI-P для транзакцый з ПФР.

Гласарый паскарэння

Гласарый стэка паскарэння для працэсара Intel® Xeon® з FPGA

тэрмін Абрэвіятура Апісанне
Стэк паскарэння Intel® для працэсара Intel Xeon® з FPGA Стэк паскарэння Калекцыя праграмнага забеспячэння, праграмнага забеспячэння і інструментаў, якія забяспечваюць аптымізаванае прадукцыйнасць злучэнне паміж Intel FPGA і працэсарам Intel Xeon.
Праграмуемая карта паскарэння Intel FPGA Intel FPGA PAC Карта паскаральніка PCIe FPGA.

Змяшчае дыспетчар інтэрфейсу FPGA (FIM), які спалучаецца з працэсарам Intel Xeon па шыне PCIe.

  • Кіраўніцтва карыстальніка функцыянальнага блока паскаральніка DMA: праграмуемая карта паскарэння Intel FPGA D5005

Апісанне DMA AFU

Уводзіны

Прамы доступ да памяці (DMA) AFU example паказвае, як кіраваць перадачай памяці паміж галоўным працэсарам і FPGA. Вы можаце інтэграваць DMA AFU у сваю канструкцыю для перамяшчэння даных паміж памяццю хаста і лакальнай памяццю FPGA. DMA AFU змяшчае наступныя субмодулі:

  • Memory Properties Factory (MPF) Basic Building Block (BBB)
  • Інтэрфейс асноўнага кэша (CCI-P) да адаптара Avalon® Memory-Mapped (Avalon-MM)
  • Тэставая сістэма DMA, якая змяшчае DMA BBB

Гэтыя падмодулі больш падрабязна апісаны ў тэме апаратных кампанентаў DMA AFU ніжэй.

Звязаная інфармацыя

  • Апаратныя кампаненты DMA AFU на старонцы 6
  • Спецыфікацыі інтэрфейсу Avalon

Для атрымання дадатковай інфармацыі аб пратаколе Avalon-MM, уключаючы часавыя дыяграмы для транзакцый чытання і запісу.

Пакет праграмнага забеспячэння DMA AFU

Стэк паскарэння Intel для працэсара Intel Xeon з пакетам FPGA file (*.tar.gz), уключае DMA AFU exampле. Гэты былыample забяспечвае драйвер прасторы карыстальніка. Хост-прыкладанне выкарыстоўвае гэты драйвер такім чынам, што DMA перамяшчае даныя паміж хостам і памяццю FPGA. Апаратныя двайковыя файлы, зыходныя коды і драйвер прасторы карыстальніка даступныя ў наступным каталогу: $OPAE_PLATFORM_ROOT/hw/sampлес/dma_afu . Перш чым эксперыментаваць з DMA AFU, вы павінны ўсталяваць праграмны пакет Open Programmable Acceleration Engine (OPAE). Інструкцыі па ўсталёўцы глядзіце ў раздзеле "Устаноўка пакета праграмнага забеспячэння OPAE" у Кароткім кіраўніцтве Intel Acceleration Stack для праграмуемай карты паскарэння Intel FPGA D5005. Гэта Кароткае кіраўніцтва таксама змяшчае асноўную інфармацыю аб Open Programmable Acceleration Engine (OPAE) і канфігурацыі AFU. Пасля ўстаноўкі праграмнага пакета Open Programmable Acceleration Engine (OPAE), якampхост-прыкладанне і драйвер прасторы карыстальніка DMA AFU даступныя ў наступным каталогу: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Для запуску сample хост-прыкладанне, fpga_dma_test на вашым абсталяванні Intel FPGA PAC D5005, звярніцеся да крокаў у раздзеле Запуск DMA AFU Exampле. Карпарацыя Intel. Усе правы ахоўваюцца. Intel, лагатып Intel і іншыя знакі Intel з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі. *Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.

Звязаная інфармацыя

  • Кароткае кіраўніцтва Intel Acceleration Stack для праграмуемай карты паскарэння Intel FPGA D5005
  • Устаноўка праграмнага пакета OPAE

Апаратныя кампаненты DMA AFU

DMA AFU ўзаемадзейнічае з блокам інтэрфейсу FPGA (FIU) і памяццю FPGA. Падрабязныя спецыфікацыі памяці FPGA глядзіце ў табліцы даных дыспетчара інтэрфейсу FPGA для праграмаванай карты паскарэння Intel FPGA D5005. Даступнае ў цяперашні час абсталяванне вызначае гэтую канфігурацыю памяці. Будучае абсталяванне можа падтрымліваць розныя канфігурацыі памяці. Вы можаце выкарыстоўваць DMA AFU для капіравання даных паміж наступнымі крыніцай і месцам прызначэння:

  • Хост-памяць прылады FPGA
  • Памяць прылады FPGA да хоста

Сістэма Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys рэалізуе большую частку DMA

  • АФУ. Частку DMA AFU, рэалізаваную ў сістэме Platform Designer, можна знайсці ў наступным

размяшчэнне: $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: праграмуемая карта паскарэння Intel FPGA D5005

Блок-схема абсталявання DMA AFU

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-1

DMA AFU ўключае ў сябе наступныя ўнутраныя модулі для ўзаемадзеяння з блокам інтэрфейсу FPGA (FIU):

  • Логіка дэкодэра ўводу-вываду з адлюстраваннем у памяці (MMIO): выяўляе транзакцыі чытання і запісу MMIO і аддзяляе іх ад канала 0 CCI-P RX, з якога яны паступаюць. Гэта гарантуе, што трафік MMIO ніколі не дасягне MPF BBB і абслугоўваецца незалежным камандным каналам MMIO.
  • Фабрыка ўласцівасцей памяці (MPF): Гэты модуль гарантуе, што адказы на чытанне з DMA вяртаюцца ў парадку іх выдачы. Пратакол Avalon-MM патрабуе, каб адказы на чытанне вярталіся ў правільным парадку.
  • Адаптар CCI-P да Avalon-MM: гэты модуль пераводзіць транзакцыі CCI-P і Avalon-MM наступным чынам:
  • Адаптар CCI-P да Avalon-MMIO: гэты шлях пераўтворыць транзакцыі CCI-P MMIO у транзакцыі Avalon-MM.
  • Адаптар хаста Avalon да CCI-P: гэтыя шляхі ствараюць асобныя шляхі толькі для чытання і толькі для запісу для доступу DMA да памяці хаста.
  • Тэставая сістэма DMA: Гэты модуль служыць абгорткай вакол DMA BBB, каб падвяргаць майстрам DMA астатнюю логіку ў AFU. Ён забяспечвае інтэрфейс паміж DMA BBB і адаптарам CCI-P да Avalon. Ён таксама забяспечвае інтэрфейс паміж DMA BBB і лакальнымі банкамі FPGA SDRAM.

Звязаная інфармацыя
Артыкул даных менеджэра інтэрфейсу FPGA для праграмуемай карты паскарэння Intel FPGA D5005

Тэставая сістэма DMA

Тэставая сістэма DMA злучае DMA BBB з астатняй часткай канструкцыі FPGA, уключаючы адаптацыю CCI-P і лакальную памяць FPGA.

Блок-схема тэставай сістэмы DMA
На гэтай блок-схеме паказаны ўнутраныя элементы тэставай сістэмы DMA. Тэставая сістэма DMA паказана ў выглядзе маналітнага блока на малюнку 1 на старонцы 7.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-2

Тэставая сістэма DMA ўключае наступныя ўнутраныя модулі:

  • Далёкі мост/трубаправодны мост: трубаправодны мост з рэгуляванай затрымкай уключаны для кіравання тапалогіяй і паляпшэння канструкцыі Fmax.
  • DMA AFU Device Feature Header (DFH): Гэта DFH для DMA AFU. Гэты DFH паказвае на наступны DFH, размешчаны са зрушэннем 0x100 (DMA BBB 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
Гэтая блок-схема выключае некаторыя ўнутраныя IP-ядры Pipeline Bridge.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-6

Кіраўніцтва карыстальніка функцыянальнага блока паскаральніка DMA: праграмуемая карта паскарэння Intel FPGA D5005

Апісанне DMA AFU

Кампаненты DMA BBB Platform Designer рэалізуюць наступныя функцыі:

  • Далёкі мост/трубаправодны мост: Канвеерны мост з рэгуляванай затрымкай уключаны для кіравання тапалогіяй і паляпшэння канструкцыі Fmax.
  • MA BBB DFH: Гэта загаловак функцыі прылады для DMA BBB. Гэты DFH паказвае на наступны DFH, размешчаны са зрушэннем 0x100 (нулявы DFH).
  • Дэскрыптар інтэрфейсу: Адказвае за атрыманне дэскрыптараў і перадачу іх дыспетчару. Калі перадача DMA завяршаецца, інтэрфейс атрымлівае інфармацыю аб статусе ад дыспетчара і перазапісвае дэскрыптар у памяці хаста.
  • дыспетчар: Гэты блок плануе запыты перадачы DMA да майстра чытання і запісу.
  • Майстар чытання: Гэты блок адказвае за чытанне дадзеных з хоста або лакальнай памяці FPGA і адпраўку іх у якасці струменевых дадзеных у Write Master.
  • Напісаць Майстар: Гэты блок адказвае за атрыманне струменевых дадзеных ад Read Master і запіс змесціва ў хост або лакальную памяць FPGA.

Зарэгістраваць карту і адрасныя прасторы

DMA AFU падтрымлівае дзве памяці views: DMA view і гаспадар view. DMA view падтрымлівае 49-бітную адрасную прастору. Ніжняя палова DMA view адлюстроўваецца ў лакальнай памяці FPGA. Верхняя палова DMA view карты ў памяць хаста. Гаспадар view уключае ўсе рэгістры, даступныя праз доступ MMIO, такія як табліцы DFH, і рэгістры кіравання/статусу розных ядраў IP, якія выкарыстоўваюцца ўнутры DMA AFU. Рэгістры 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 быў настроены так, каб паказваць на зрушэнне 0x100 для пошуку наступнага DFH (DMA BBB DFH). Вы не павінны змяняць базавы адрас DMA AFU DFH, паколькі ён павінен знаходзіцца па адрасе 0x0, як вызначана спецыфікацыяй CCIP.
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 НУЛЬ DFH 0x40 Завяршае звязаны спіс DFH. ID_L усталяваны ў 0x90fe6aab12a0132f, а ID_H усталяваны ў 0xda1182b1b3444e23. NULL DFH параметрізаваны як апошні DFH у апаратным забеспячэнні. Па гэтай прычыне NULL DFH знаходзіцца па адрасе 0x200. Калі вы дадаяце ў сістэму дадатковыя BBB DMA, вам неабходна адпаведна павялічыць базавы адрас NULL DFH, каб ён заставаўся на самым высокім адрасе. Драйвер DMA і тэставая праграма не выкарыстоўваюць гэта абсталяванне.

Карпарацыя Intel. Усе правы ахоўваюцца. Intel, лагатып Intel і іншыя знакі Intel з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі. *Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.

Зарэгістраваць карту і адрасныя прасторы

Карта памяці DMA BBB
Наступныя адрасы байтаў з'яўляюцца адноснымі зрушэннямі ад базавага адраса DMA BBB у сістэме DMA AFU (0x100).

Зрушэнне адрасоў байтаў Імя Прамежак у байтах Апісанне
0x0 DMA BBB DFH 0x40 Загаловак функцыі прылады для DMA AFU. ID_L усталяваны ў 0xa9149a35bace01ea, а ID_H усталяваны ў 0xef82def7f6ec40fc. DMA BBB DFH быў настроены так, каб паказваць на 0x100 для наступнага зрушэння DFH. Наступным зрушэннем можа быць іншы 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 і хост Viewс памяці

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-3

Спіс звязаных загалоўкаў функцый прылады

Дызайн DMA AFU example змяшчае тры загалоўкі функцый прылады (DFH), якія ўтвараюць звязаны спіс. Гэты звязаны спіс дазваляе sample прыкладанне для ідэнтыфікацыі DMA AFU, а таксама драйвер для ідэнтыфікацыі DMA BBB. Спіс DFH уключае NULL DFH у канцы. Уключэнне нулявога DFH у канцы звязанага спісу дазваляе вам дадаць больш DMA BBB да вашага дызайну. Вам проста трэба перамясціць NULL DFH на адрас пасля іншых BBB. Кожны DMA BBB чакае, што наступны DFH будзе размешчаны на адлегласці 0x100 байт ад базавага адраса BBB. На наступным малюнку паказаны звязаны спіс для дызайну DMA AFU exampле.

Зарэгістраваць карту і адрасныя прасторы

DMA AFU Device Feature Header (DFH) Chaining

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-4

Мадэль праграмнага забеспячэння

DMA AFU ўключае драйвер праграмнага забеспячэння, які вы можаце выкарыстоўваць у сваім уласным хост-прыкладанні. Файлы fpga_dma.cpp і fpga_dma.h files, размешчаныя ў наступным месцы, рэалізаваць праграмны драйвер: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Гэты драйвер падтрымлівае наступныя функцыі:

API Апісанне
fpgaCountDMAChannels Сканіруе ланцужок функцый прылады на наяўнасць DMA BBB і падлічвае ўсе даступныя каналы.
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 мог пачаць апрацоўку папярэдне выбраных перадач. Значэнне па змаўчанні - 64 перадачы ў канвееры, перш чым DMA пачне працаваць над перадачамі.
fpgaDMATransfer Выконвае перадачу 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/samples/dma_afu/README.md

Запуск DMA AFU Example

Перш чым пачаць:

  • Вы павінны быць знаёмыя з былымampу Кароткім кіраўніцтве Intel Acceleration Stack для праграмуемай карты паскарэння Intel FPGA D5005.
  • Вы павінны вызначыць зменную асяроддзя. Зменная асяроддзя залежыць ад версіі Intel Acceleration Stack, якую вы выкарыстоўваеце:
    • Для бягучай версіі задайце зменную асяроддзя $OPAE_PLATFORM_ROOT
  • Вы павінны ўсталяваць бібліятэку Intel Threading Building Blocks (TBB), паколькі драйвер DMA абапіраецца на яе.
  • Вы таксама павінны наладзіць дзве велізарныя старонкі па 1 ГБ для запуску sampпрымяненне. $ sudo sh -c «рэха 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. Зборка драйвера і прыкладання: make
  3. Спампуйце бітавы паток DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Запусціце хост-прыкладанне для запісу 100 МБ часткамі па 1 МБ з памяці хаста ў памяць прылады FPGA і прачытайце яго: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Звязаная інфармацыя
Кароткае кіраўніцтва па стэку паскарэння Intel для праграмуемай карты паскарэння Intel FPGA D5005 Карпарацыя Intel. Усе правы ахоўваюцца. Intel, лагатып Intel і іншыя знакі Intel з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі. *Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.

Складанне DMA AFU Example

Каб стварыць асяроддзе зборкі сінтэзу для кампіляцыі AF, выкарыстоўвайце наступную каманду afu_synth_setup:

  1. Змена на DMA AFU sampкаталог: $OPAE_PLATFORM_ROOT/hw/sampлес/dma_afu
  2. Стварыце каталог зборкі дызайну: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. З каталога зборкі сінтэзу, створанага afu_synth_setup, увядзіце наступныя каманды з акна тэрмінала, каб стварыць AF для мэтавай апаратнай платформы: cd build_synth run.sh Сцэнар генерацыі AF run.sh стварае вобраз 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 рэкамендуе вам звярнуцца да Кароткага кіраўніцтва па асяроддзі мадэлявання (ASE) Intel Accelerator Functional Unit (AFU) для вашага Intel FPGA PAC, каб азнаёміцца ​​з мадэляваннем падобных эксamples і наладзіць асяроддзе. Перш чым прыступіць да выканання наступных крокаў, пераканайцеся, што зменная асяроддзя OPAE_PLATFORM_ROOT усталявана ў каталог усталёўкі OPAE SDK. Выканайце наступныя крокі, каб наладзіць апаратны сімулятар для DMA AFU:

  1. Змена на DMA AFU sampкаталог файлаў: cd $OPAE_PLATFORM_ROOT/hw/sampлес/dma_afu
  2. Стварыце асяроддзе ASE ў новым каталогу і наладзьце яго для мадэлявання AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Перайдзіце ў каталог зборкі ASE: cd build_ase_dir
  4. Зборка драйвера і прыкладання: make
  5. Зрабіць мадэляванне: зрабіць сім

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/hw/samples/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. Скапіруйце ў акно тэрмінала радок наладкі асяроддзя (выберыце радок, прыдатны для вашай абалонкі) з крокаў вышэй у мадэляванні апаратнага забеспячэння. Глядзіце наступныя радкі ў сample выхад з апаратнага сімулятара. [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
  2. Скампілюйце праграмнае забеспячэнне: $ make USE_ASE=1
  3. Запусціце хост-прыкладанне, каб запісаць 4 КБ часткамі па 1 КБ з памяці хаста назад у памяць прылады FPGA ў рэжыме зваротнай замыкання: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Звязаная інфармацыя
Кароткае кіраўніцтва карыстальніка функцыянальнага блока паскаральніка Intel (AFU) Simulation Environment (ASE).

Аптымізацыя для павышэння прадукцыйнасці DMA

Рэалізацыя аптымізацыі NUMA (нераўнамерны доступ да памяці) у fpga_dma_test.cpp дазваляе працэсару атрымліваць доступ да ўласнай лакальнай памяці хутчэй, чым доступ да нелакальнай памяці (лакальнай памяці іншага працэсара). Тыповая канфігурацыя NUMA паказана на дыяграме ніжэй. Лакальны доступ уяўляе сабой доступ ад ядра да памяці, лакальнай для таго ж ядра. Аддалены доступ ілюструе шлях, які праходзіць, калі ядро ​​на вузле 0 атрымлівае доступ да памяці, якая знаходзіцца ў лакальнай памяці вузла 1.

Тыповая канфігурацыя NUMA

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-5

Выкарыстоўвайце наступны код, каб рэалізаваць аптымізацыю NUMA ў вашым тэставым дадатку:

// Усталюйце адпаведную прыналежнасць, калі патрабуецца if (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties рэквізіт;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 *) & 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_GOTO(res, out_destroy_tok, “fpgaPropertiesGetFunction”); // Знайсці прыладу з тапалогіі hwloc_topology_t topology; 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 аб'ект = hwloc_get_pcidev_by_busid(тапалогія, dom, шына, dev, func); 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 (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(тапалогія, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE |HWLOC_MEMBIND_BYNODESET); #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 Кіраўніцтва карыстальніка (PDF)
2.0 Кіраўніцтва карыстальніка функцыянальнага блока паскаральніка DMA (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, выданне 19.2)

 

 

Выпраўлена заява ў Мэтавая аўдыторыя раздзел.

 

 

2020.02.20

2.0.1 (падтрымліваецца Intel

Quartus Prime Pro Edition, выданне 19.2)

 

 

Выпраўлена памылка друку.

 

 

 

 

2019.11.04

 

 

2.0.1 (падтрымліваецца Intel

Quartus Prime Pro Edition, выданне 19.2)

• Заменена fpgaconf на fpgasupdate пры канфігурацыі FPGA з папярэдняй зборкай AFU ў раздзеле Запуск 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

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *