Интел FPGA програмабилна картичка за забрзување D5005
За овој документ
Овој документ ја опишува имплементацијата на функционалната единица за забрзување (AFU) за директен пристап до меморија (DMA) и како да се изгради дизајнот да работи на хардвер или во симулација.
Наменета публика
Предвидената публика се состои од развивачи на хардвер или софтвер на кои им е потребна Функција за забрзување (AF) за локално тампонирање на податоците во меморијата поврзана со уредот Intel FPGA.
Конвенции
Конвенции за документи
Конвенција | Опис |
# | Претходи на команда која покажува дека командата треба да се внесе како root. |
$ | Укажува дека командата треба да се внесе како корисник. |
Овој фонт | Fileимињата, командите и клучните зборови се печатат во овој фонт. Во овој фонт се печатат долги командни линии. Иако долгите командни линии може да се заокружат до следната линија, враќањето не е дел од командата; не притискајте enter. |
Укажува дека текстот на место кое се појавува помеѓу аголните загради мора да се замени со соодветна вредност. Не влегувајте во аголните загради. |
Акроними
Акроними
Акроними | Проширување | Опис |
AF | Функција за забрзување | Составена слика на Хардверски забрзувач имплементирана во FPGA логика која ја забрзува апликацијата. |
АФУ | Функционална единица за забрзување | Хардверски акцелератор имплементиран во FPGA логиката која превзема пресметковна операција за апликација од процесорот за да ги подобри перформансите. |
API | Програмски интерфејс за апликации | Збир на потпрограмски дефиниции, протоколи и алатки за градење софтверски апликации. |
CCI-P | Основен интерфејс за кеш | CCI-P е стандардниот интерфејс AFU што го користат за комуникација со домаќинот. |
DFH | Заглавие на карактеристики на уредот | Креира поврзан список со заглавија на функции за да обезбеди проширен начин за додавање функции. |
продолжи… |
Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не превзема никаква одговорност или одговорност што произлегува од апликацијата или употребата на какви било информации, производ или услуга опишани овде, освен како што е изрично договорено во писмена форма од страна на Intel. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Акроними | Проширување | Опис |
ФИМ | Менаџер за интерфејс FPGA | Хардверот FPGA што содржи FPGA интерфејс единица (FIU) и надворешни интерфејси за меморија, вмрежување итн.
Функцијата за забрзување (AF) се поврзува со FIM за време на извршувањето. |
ФИУ | Единица за интерфејс FPGA | FIU е слој на интерфејс на платформата што делува како мост помеѓу интерфејсите на платформата како што се PCIe*, UPI и интерфејсите од страната на AFU, како што е CCI-P. |
MPF | Фабрика за својства на меморија | MPF е основен градежен блок (BBB) што AFUs може да го користат за да обезбедат операции за обликување на сообраќајот CCI-P за трансакции со FIU. |
Речник за забрзување
Стак за забрзување за процесорот Intel® Xeon® со речник на FPGA
Термин | Кратенка | Опис |
Intel® Acceleration Stack за процесорот Intel Xeon® со FPGA | Стак за забрзување | Збирка на софтвер, фирмвер и алатки кои обезбедуваат поврзување со оптимизирани перформанси помеѓу Intel FPGA и Intel Xeon процесор. |
Интел 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 ги содржи следните подмодули:
- Фабрика за својства на меморија (MPF) Основен градежен блок (BBB)
- Основен интерфејс за кеш (CCI-P) до адаптерот Avalon® со мапирана меморија (Avalon-MM)
- DMA тест систем кој содржи DMA BBB
Овие подмодули се подетално опишани во темата за хардверски компоненти на DMA AFU подолу.
Поврзани информации
- Хардверските компоненти на DMA AFU на страница 6
- Спецификации за интерфејс Авалон
За повеќе информации за протоколот Avalon-MM, вклучително и временски дијаграми за трансакции за читање и пишување.
Софтверскиот пакет DMA AFU
Intel Acceleration Stack за Intel Xeon CPU со пакет FPGA file (*.tar.gz), вклучува DMA AFU exampле. Овој ексample обезбедува двигател за кориснички простор. Апликацијата домаќин го користи овој драјвер така што DMA ги преместува податоците помеѓу домаќинот и FPGA меморијата. Хардверските бинарни датотеки, изворите и двигателот на корисничкиот простор се достапни во следниот директориум: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Пред да експериментирате со DMA AFU, мора да го инсталирате софтверскиот пакет Open Programmable Acceleration Engine (OPAE). За инструкции за инсталација, погледнете во Инсталирање на софтверскиот пакет OPAE во Водичот за брз старт на Intel Acceleration Stack за Intel FPGA програмабилна картичка за забрзување D5005. Овој водич за брз почеток, исто така, вклучува основни информации за отворениот програмабилен мотор за забрзување (OPAE) и конфигурирање на AFU. По инсталирањето на софтверскиот пакет Open Programmable Acceleration Engine (OPAE), какоampДомашната апликација и двигателот на корисничкиот простор DMA AFU се достапни во следниот директориум: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. За да се води сampАпликација за домаќин, fpga_dma_test на вашиот хардвер Intel FPGA PAC D5005, погледнете ги чекорите во делот Извршување на DMA AFU Exampле. Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Поврзани информации
- Водич за брз старт на Intel Acceleration Stack за програмабилна картичка за забрзување Intel FPGA D5005
- Инсталирање на софтверскиот пакет OPAE
Хардверските компоненти на DMA AFU
DMA AFU се поврзува со FPGA интерфејс единица (FIU) и FPGA меморија. За детални спецификации на FPGA меморијата, погледнете го листот со податоци за управување со интерфејс FPGA за картичката за програмирање за забрзување Intel FPGA D5005. Тековно достапниот хардвер ја диктира оваа конфигурација на меморијата. Идниот хардвер може да поддржува различни мемориски конфигурации. Можете да го користите DMA AFU за да копирате податоци помеѓу следните локации на изворот и дестинацијата:
- Домаќин на FPGA меморија на уредот
- FPGA меморија на уредот до домаќинот
Систем за дизајнер на платформа, $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
DMA AFU ги вклучува следните внатрешни модули за интерфејс со FPGA интерфејс единицата (FIU):
- Логика на декодер за IO (MMIO) со мапирана меморија: ги открива трансакциите за читање и запишување MMIO и ги одвојува од каналот CCI-P RX 0 од кој пристигнуваат. Ова осигурува дека сообраќајот 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 to CCI-P Host Adapter: Овие патеки создаваат посебни патеки само за читање и само за пишување за DMA да пристапи до меморијата на домаќинот.
- Систем за тестирање на DMA: Овој модул служи како обвивка околу DMA BBB за да ги изложи мајсторите на DMA на остатокот од логиката во AFU. Обезбедува интерфејс помеѓу DMA BBB и CCI-P на Авалон адаптерот. Исто така, обезбедува интерфејс помеѓу DMA BBB и локалните банки FPGA SDRAM.
Поврзани информации
Лист со податоци за менаџер на интерфејс FPGA за програмабилна картичка за забрзување Intel FPGA D5005
DMA тест систем
Системот за тестирање DMA го поврзува DMA BBB со остатокот од дизајнот на FPGA, вклучувајќи го CCI-P адаптацијата и локалната FPGA меморија.
Блок дијаграм на системот за тестирање на DMA
Овој блок дијаграм ги прикажува внатрешните делови на системот за тестирање DMA. Системот за тестирање DMA е прикажан како монолитен блок на Слика 1 на страница 7.
Системот за тестирање DMA ги вклучува следните внатрешни модули:
- Далечен мост/мост на гасоводот: мост на гасоводот со прилагодлива латентност вклучена за контрола на топологијата и подобрување на дизајнот Fmax.
- DMA AFU Device Feature Header (DFH): Ова е DFH за DMA AFU. Овој DFH покажува на следниот DFH лоциран на поместување 0x100 (DMA BBB DFH).
- Null DFH: Оваа компонента ја прекинува DFH поврзаната листа. Ако додадете повеќе DMA BBB на дизајнот, проверете дали нултата основна адреса на DFH се наоѓа на крајот од DFH поврзаната листа.
- MA Основен градежен блок (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.
Упатство за употреба на функционална единица за забрзување DMA: Програмабилна картичка за забрзување Intel FPGA D5005
Опис на DMA AFU
Компонентите во дизајнерот на платформата DMA BBB ги спроведуваат следните функции:
- Далечен мост/мост на гасоводот: Вклучен е мост на цевковод со прилагодлива латентност за контрола на топологијата и подобрување на дизајнот Fmax.
- MA BBB DFH: Ова е заглавие на функцијата на уредот за DMA BBB. Овој DFH покажува на следниот DFH лоциран на поместување 0x100 (Null 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 | 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 Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не превзема никаква одговорност или одговорност што произлегува од апликацијата или употребата на какви било информации, производ или услуга опишани овде, освен како што е изрично договорено во писмена форма од страна на 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 | Опис на предниот дел | 0x40 | Предниот дел на дескрипторот е прилагодена компонента која ги чита дескрипторите од меморијата на домаќинот и го препишува дескрипторот кога ќе заврши преносот на DMA. Возачот му дава инструкции на предниот дел каде што првиот дескриптор живее во меморијата на домаќинот, а потоа хардверот на предниот дел комуницира со драјверот првенствено преку дескриптори складирани во меморијата на домаќинот. |
Простор за адреси на DMA AFU
Домаќинот може да пристапи до регистрите наведени во Табела 4 на страница 12 и Табела 5 на страница 13. Подсистемот DMA BBB има пристап до целосниот 49-битен адресен простор. Долната половина од овој адресен простор ги вклучува локалните FPGA мемории. Горната половина од овој адресен простор ја вклучува 48-битната адресна меморија на домаќинот. Следната слика ги прикажува домаќинот и DMA views на меморија.
На DMA AFU и домаќин Views на меморија
Поврзана листа на заглавие на карактеристики на уредот
Дизајнот на DMA AFU прample содржи три заглавија на карактеристики на уредот (DFH) кои формираат поврзан список. Оваа поврзана листа им овозможува на сampле апликација за идентификување на DMA AFU, како и возачот за идентификување на DMA BBB. Списокот DFH вклучува NULL DFH на крајот. Вклучувањето на нула DFH на крајот од поврзаната листа ви овозможува да додадете повеќе DMA BBB на вашиот дизајн. Едноставно треба да го преместите NULL DFH на адреса по другите BBB. Секој DMA BBB очекува следниот DFH да се наоѓа на 0x100 бајти од основната адреса на BBB. Следната слика ја прикажува поврзаната листа за дизајнот на DMA AFU прampле.
Регистрирајте ги местата за карти и адреси
Поврзување на заглавието на карактеристиките на уредот DMA AFU (DFH).
Модел за програмирање на софтвер
DMA AFU вклучува софтверски двигател што можете да го користите во вашата сопствена апликација за домаќин. На fpga_dma.cpp и fpga_dma.h files се наоѓа на следната локација имплементирајте го двигателот на софтверот:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Овој двигател ги поддржува следните функции:
API | Опис |
fpgaCountDMACchannels | Го скенира синџирот на функции на уредот за DMA BBB и ги брои сите достапни канали. |
fpgaDMAОтвори | Отвора рачка до каналот DMA. |
fpgaDMACзатвори | Затвора рачка до каналот DMA. |
fpgaDMATtransferInit | Иницијализира објект што го претставува преносот на DMA. |
fpgaDMATtransferReset | Го ресетира објектот на атрибутот DMA transfer на стандардните вредности. |
fpgaDMATtransferDestroy | Го уништува објектот на атрибутот за пренос на DMA. |
fpgaDMATtransferSetSrc | Ја поставува изворната адреса на преносот. Оваа адреса мора да биде порамнета 64 бајти. |
fpgaDMATtransferSetDst | Ја поставува одредишната адреса на преносот. Оваа адреса мора да биде порамнета 64 бајти. |
fpgaDMATtransferSetLen | Ја поставува должината на преносот во бајти. За пренос без пакети, мора да ја поставите должината на преносот на повеќекратно од 64 бајти. За пренос на пакети, ова не е услов. |
fpgaDMATtransferSetTransferType | Го поставува типот на пренос. Правните вредности се:
• HOST_MM_TO_FPGA_MM = TX (домаќин на AFU) • FPGA_MM_TO_HOST_MM = RX (AFU до домаќин) |
fpgaDMATtransferSetTransferCallback | Регистрира повратен повик за известување за завршување на асинхрониот трансфер. Ако наведете повратен повик, fpgaDMATtransfer се враќа веднаш (асинхрон трансфер).
Ако не наведете повратен повик, fpgaDMATtransfer се враќа по завршувањето на преносот (синхроно/блокирање на пренос). |
fpgaDMATtransferSetLast | Го означува последниот пренос за DMA да може да започне со обработка на претходно преземените преноси. Стандардната вредност е 64 трансфери во нафтоводот пред DMA да почне да работи на трансферите. |
fpgaDMATtransfer | Врши пренос на DMA. |
За повеќе информации за API, влезните и излезните аргументи, погледнете го заглавието file лоциран $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на 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 GB за да го стартувате sampле апликација. $ 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
- Извршете ја апликацијата домаќин за да напишете 100 MB во делови од 1 MB од меморијата на домаќинот до меморијата на уредот FPGA и прочитајте ја назад: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Поврзани информации
Intel Acceleration Stack Водич за брз почеток за Intel FPGA програмабилна картичка за забрзување D5005 Intel Corporation. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Составување на DMA AFU Example
За да генерирате средина за градење на синтеза за да компајлирате AF, користете ја командата afu_synth_setup како што следува:
- Промена на DMA AFU sampдиректориум: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Генерирајте го директориумот за изградба на дизајн: afu_synth_setup –извор hw/rtl/filelist.txt build_synth
- Од директориумот за создавање на синтеза генериран од afu_synth_setup, внесете ги следните команди од терминалниот прозорец за да генерирате AF за целната хардверска платформа: cd build_synth run.sh Скриптата за генерирање на run.sh AF создава слика AF со истата база fileиме како конфигурација на платформата на AFU file (.json) со наставка .gbs на локацијата:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Симулирање на AFU Example
Интел препорачува да се повикате на Упатството за брз почеток на функционалната единица за забрзување (AFU) Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) за вашиот Intel FPGA PAC за да биде запознаен со симулирање слични ексamples и да ја поставите вашата околина. Пред да продолжите со следните чекори, потврдете дека променливата на околината OPAE_PLATFORM_ROOT е поставена во директориумот за инсталација OPAE SDK. Завршете ги следните чекори за да го поставите хардверскиот симулатор за DMA AFU:
- Промена на DMA AFU sampдиректориум: 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 | Стартувај:[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 Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не превзема никаква одговорност или одговорност што произлегува од апликацијата или употребата на какви било информации, производ или услуга опишани овде, освен како што е изрично договорено во писмена форма од страна на Intel. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Симулирање на AFU Example
- Копирајте ја низата за поставување на околината (изберете низа соодветна за вашата школка) од чекорите погоре во хардверската симулација до терминалниот прозорец. Видете ги следните редови во сampизлези од хардверскиот симулатор. [SIM] баш/зш | извезете 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
- Компајлирајте го софтверот: $ make USE_ASE=1
- Извршете ја апликацијата домаќин за да напишете 4 KB во делови од 1 KB од меморијата на домаќинот назад во меморијата на уредот FPGA во режимот за враќање на јамката: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Поврзани информации
Корисничко упатство за брз почеток на функционална единица за забрзување (AFU) за симулација (ASE)
Оптимизација за подобрени перформанси на DMA
Имплементацијата на NUMA (неуниформен пристап до меморија) оптимизација во fpga_dma_test.cpp му овозможува на процесорот побрзо да пристапи до сопствената локална меморија отколку да пристапува до нелокална меморија (меморија локална на друг процесор). Типична NUMA конфигурација е прикажана на дијаграмот подолу. Локалниот пристап претставува пристап од јадро до локална меморија до истото јадро. Далечинскиот пристап ја илустрира патеката што се оди кога јадрото на Јазол 0 пристапува до меморијата што се наоѓа во меморијата локално на Јазол 1.
Типична NUMA конфигурација
Користете го следниов код за да ја имплементирате NUMA оптимизацијата во вашата апликација за тестирање:
// Поставете соодветен афинитет ако се бара ако (cpu_affinity || memory_ffinity) {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(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, „fpgaPropertiesGetBus“); res = fpgapropertiesgetdevice (реквизити, (uint8_t *) & dev); on_err_goto (res, out_destroy_tok, „fpgapropertiesgetdevice“) res = fpgapropertiesgetfunct OpertiesGetFunction “); // Најдете го уредот од топологијата hwloc_topology_t топологија; hwloc_topology_init(&топологија); hwloc_topology_set_flags (топологија, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на кои било производи и услуги во секое време без најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.
Оптимизација за подобрени перформанси на DMA
hwloc_topology_load (топологија); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(топологија, дом, магистрала, dev, функција); 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 ако (меморија_афинитет) { #ако HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(топологија, obj2->јазли, HWLOC_MEMBINDWHIN_THRE_CM | YNODESET); #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 | Упатство за употреба (PDF) |
2.0 | Упатство за употреба на функционална единица за забрзување (AFU) на DMA |
Историја на ревизии на документи за функционална единица DMA Accelerator Упатство за употреба
Верзија на документ |
Интел забрзување Стак верзија |
Промени |
2020.08.03 |
2.0.1 (поддржан со Интел
Quartus® Prime Pro Edition Edition 19.2) |
Ја коригира сликата AF file име во делот Составување на DMA AFU Example. |
2020.04.17 |
2.0.1 (поддржан со Интел
Quartus Prime Pro Edition Edition 19.2) |
Поправена изјава во Наменета публика дел. |
2020.02.20 |
2.0.1 (поддржан со Интел
Quartus Prime Pro Edition Edition 19.2) |
Поправена печатна грешка. |
2019.11.04 |
2.0.1 (поддржан со Интел Quartus Prime Pro Edition Edition 19.2) |
• Го замени fpgaconf со fpgasupdate при конфигурирање на FPGA со претходно изградениот AFU во делот Водење на DMA AFU Example.
• Додаден титл Интел FPGA програмабилна картичка за забрзување D5005 до насловот на документот. • Додадена е променлива на животната средина $OPAE_PLATFORM_ROOT. • Изменет дел Модел за програмирање на софтвер за мали измени. • Додаден нов дел Составување на DMA AFU Example. • Изменет дел Оптимизација за подобрени перформанси на DMA за мали измени. |
2019.08.05 |
2.0 (поддржан со Интел
Quartus Prime Pro Edition 18.1.2) |
Почетно ослободување. |
Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги.
- Други имиња и брендови може да се бараат како сопственост на други.
Документи / ресурси
![]() |
Интел FPGA програмабилна картичка за забрзување D5005 [pdf] Упатство за корисникот FPGA програмабилна картичка за забрзување, D5005, FPGA програмабилна картичка за забрзување D5005, функционална единица за забрзување DMA |