Intel - логоСофтвер за опкружување за симулација на функционална единица
Упатство за употреба

За овој документ

Овој документ опишува како да се симулира какоampФункционална единица за забрзување (AFU) со помош на Intel
Околина за симулација на функционална единица за забрзување (AFU) (ASE). За сеопфатни детали за способностите на ASE и внатрешната архитектура, погледнете во Упатството за симулација на околина за симулација (ASE) на функционалната единица за забрзување на Intel.
Симулационата средина за функционална единица за забрзување на Intel (AFU) (ASE) е хардверска и софтверска косимулациска средина за која било картичка за забрзување Intel FPGA Programmable® (Intel FPGA PAC). Оваа софтверска околина за косимулација моментално ги поддржува следните Intel FPGA PAC: 10 GX FPGA

  • Интел FPGA програмабилна картичка за забрзување D5005
  • Интел програмабилна картичка за забрзување со Intel Arria®
    ASE обезбедува трансакциски модел за протоколот Core Cache Interface (CCI-P) и мемориски модел за локалната меморија прикачена на FPGA.
    ASE исто така ја потврдува усогласеноста на функционалната единица за забрзување (AFU) со следните протоколи и API-и:
  • Спецификација на протоколот CCI-P
  • Авалон
    Спецификација за интерфејс за мапирана меморија (Avalon-MM).
  • Отворен програмабилен мотор за забрзување (OPAE)®

Табела 1. Стак за забрзување за процесорот Intel Xeon® со FPGA Речник

Термин Кратенка Опис
Intel Acceleration Stack за процесорот Intel Xeon® со FPGA Стак за забрзување Збирка на софтвер, фирмвер и алатки кои обезбедуваат поврзување со оптимизирани перформанси помеѓу Intel FPGA и Intel Xeon процесор.
Интел FPGA програмабилна картичка за забрзување (Intel FPGA PAC) Intel FPGA PAC PCIe* FPGA акцелераторска картичка.
Содржи FPGA интерфејс менаџер (FIM) што се спојува со процесор Intel Xeon преку PCIe магистрала.
Intel Xeon скалабилна платформа со интегрирана FPGA Интегрирана FPGA платформа Intel Xeon плус FPGA платформа со Intel Xeon и FPGA во еден пакет и споделување на кохерентна кеш меморија преку Ultra Path Interconnect (UPI).

Поврзани информации
Упатство за корисникот за симулација на функционална единица за забрзување (AFU) на Intel

Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира перформанси на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без најава. Интел не превзема никаква одговорност или одговорност што произлегува од апликацијата или употребата на какви било информации, производ или услуга опишани овде, освен како што е изрично договорено во писмена форма од страна на Intel. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги.
*Други имиња и брендови може да се бараат како сопственост на други.
Регистриран ISO 9001:2015

Системски барања

Еве ги системските барања за Интел акцелераторската функционална единица (AFU) симулациска средина (ASE):

  • 64-битен оперативен систем Линукс. Ова издание ги потврди следните оперативни системи:
    — За Intel FPGA PAC D5005:
  • RHEL 7.6 со Кернел 3.10.0-957
    — За Intel PAC со Intel Arria 10 GX FPGA:
  • RHEL 7.6 со Кернел 3.10.0-957
  • Ubuntu 18.04 со кернел 4.15
  • Еден од следниве симулатори:
    — 64-битен Synopsys* VCS-MX-2016.06-SP2-1 RTL симулатор
    — 64-битен Mentor Graphics* Modelsim SE Simulator (верзија 10.5c)
    — 64-битен ментор графички симулатор QuestaSim (верзија 10.5c)
  • C компајлер: GCC 4.7.0 или погоре
  • CMake: верзија 2.8.12 или понова
  • GNU C библиотека: верзија 2.17 или понова
  • Пајтон: верзија 2.7
  • Верзија на софтверот Intel Quartus® Prime Pro Edition 19.2 (1)

Поставување на животната средина

Мора да ја поставите вашата симулациска околина и да го инсталирате софтверот OPAE пред да го стартувате ASE.

  1. Поставете ги следните променливи на околината за вашиот софтвер за симулација:
    • За VCS:
    $ извоз VCS_HOME=
    $ извоз PATH=$VCS_HOME/bin:$PATH
    Структурата на директориумот за инсталација на VCS е како што следува:
    Софтвер за симулација на опкружување со функционална единица intel Accelerator - Слика 1Проверете дали вашиот систем има валидна лиценца VCS.
    • За Modelsim SE/QuestaSim:
    $ извоз MTI_HOME=
    $ извоз PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    Структурата на директориумот за инсталација Modelsim/Questa е како што следува:
    Софтвер за симулација на опкружување со функционална единица intel Accelerator - Слика 2Проверете дали вашиот систем има валидна лиценца Modelsim SE/QuestaSim.
    • За Intel Quartus Prime Pro Edition:
    $ извоз QUARTUS_HOME=
    Структурата на директориумот за инсталација на Intel Quartus Prime е како што следува:
    Софтвер за симулација на опкружување со функционална единица intel Accelerator - Слика 3Додадете ја променливата на животната средина за да ја проверите лиценцата Modelsim:
    $ извоз MGLS_LICENSE_FILE=
  2. Извоз:
    $ извоз LM_LICENSE_FILE=
  3.  Извлечете ја архивата за време на траење file, и инсталирајте библиотеки OPAE, бинарни, вклучите files, и библиотеки ASE како што е опишано во делот: Инсталирање на софтверски пакет OPAE во соодветниот Упатство за корисникот за брз старт на Intel Acceleration Stack за вашиот Intel FPGA PAC.

Вашата околина мора да биде правилно поставена за да конфигурирате и изградите AFU. Конкретно, мора правилно да го инсталирате Комплетот за развој на софтвер OPAE (SDK). Скриптите на OPAE SDK мора да бидат на PATH и да вклучуваат files и библиотеки кои мора да бидат достапни за компајлерот C. Покрај тоа, мора да се осигурате дека е поставена променливата на околината OPAE_PLATFORM_ROOT. Погледнете во Инсталирање на софтверскиот пакет OPAE за повеќе информации.
За да се осигурате дека OPAE SDK и ASE се правилно инсталирани, во школка, потврдете дека вашата PATH вклучува afu_sim_setup. Afu_sim_setup треба да биде во директориумот /usr/bin или во ако сте ја изградиле ОПАЕ од извор files.

Поврзани информации

  • Упатство за корисникот за симулација на функционална единица за забрзување (AFU) на Intel
  • Инсталирање на софтверскиот пакет OPAE
    За Intel PAC со Intel Arria 10 GX FPGA.
  • Инсталирање на софтверскиот пакет OPAE за Intel FPGA PAC D5005.

Симулирање на hello_afu во режим на клиент-сервер

Поранешниот hello_afuample е едноставен образец AFU кој го демонстрира примарниот интерфејс CCI-P. RTL ги задоволува минималните барања на AFU, одговарајќи на читањата на В/И мапирани со меморија за да го врати заглавието на функцијата на уредот и UUID на AFU.
Слика 1. hello_afu Дрво на директориуми

Софтвер за симулација на опкружување со функционална единица intel Accelerator - Слика 4

Забелешка:
Овој документ користиample> да се однесува на ексampЛе дизајн директориум, како што е hello_afu на сликата погоре.
Софтверот ги демонстрира минималните барања за прикачување на FPGA со користење на OPAE. RTL ги покажува минималните барања за да ги задоволи возачот на OPAE и hello_afu exampсофтвер.
filelist.txt го одредува files за RTL симулација и синтеза.
За успешно конфигурирање и изградба на AFU sampИсто така, вашата околина мора да биде правилно поставена, како што е опишано во Поставување на околината.

Поврзани информации

  • Упатство за корисникот за симулација на функционална единица за забрзување (AFU) на Intel
  • Поставување на животната средина на страница 5

Развивање на AFU со OPAE SDK
Во Водич за програмери на функционалната единица за забрзување (AFU).

4.1. Симулација во режим клиент-сервер

Следниве прample flow ги воведува основните скрипти на ASE. Можете да ги симулирате сите ексamples со ASE, освен eth_e2e_e10 и eth_e2e_e40.
Симулацијата бара два софтверски процеси: еден процес за RTL симулација и втор процес за извршување на поврзаниот софтвер. За да изградите средина за симулација на RTL, извршете го следново во $OPAE_PLATFORM_ROOT/hw/samples/hello_afu:
$ afu_sim_setup – извор hw/rtl/filelist.txt build_sim
Оваа команда конструира средина ASE во поддиректориумот build_sim.
За да го изградите и стартувате симулаторот:
$ cd build_sim
$ направи
$ направи СИМ
Симулаторот печати порака дека е подготвен за симулација. Исто така, печати порака која ве поттикнува да ја поставите променливата на околината ASE_WORKDIR.
Отворете друга школка за софтверска симулација. Мора да се погрижите да ја поставите променливата на околината OPAE_PLATFORM_ROOT.
За да го изградите и стартувате софтверот во новата школка:
$ cd $OPAE_PLATFORM_ROOT
$ извоз ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/work
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ направи чиста
$ направи USE_ASE=1
$ ./hello_afu

Забелешка:
Специфичното име на патека за ASE_WORKDIR може да варира. Користете го името на патеката дадено од симулаторот.
Софтверот и симулаторот работат, евидентираат трансакции и излегуваат.

4.1.1. Дневник за симулација Files
Работниот именик за симулација ги складира брановите форми, трансакциите CCI-P и дневникот за симулација files.
Завршете ги следните чекори за да view базата на податоци за бранови форми:

  1. Променете во директориумот во кој сте ја извршиле командата make sim.
  2. Тип:
    $ направи бран
    Командата make wave ја повикува брановата форма viewер.

4.1.2. Декларации за дизајн
Следното file и директориумите ја дефинираат симулацијата AFU:

  • $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt ги одредува изворите на RTL.
  • <AFU example> е ексampдиректориумот како што е прикажано на сликата на дрвото на директориумот hello_afu.
  • filelist.txt ги наведува SystemVerilog, VHDL и AFU JavaScript Object Notation (.json) file.
  • AFU .json ги опишува интерфејсите што ги бара AFU. Исто така, вклучува UUID за да се идентификува AFU откако ќе се преземе на FPGA.
  • hw/rtl/hello_afu.json го дефинира ccip_std_afu како интерфејс од највисоко ниво со поставување на afu-top-interface на ccip_std_afu. ccip_std_afu е основниот CCI-P интерфејс кој вклучува часовници, ресетирање и CCI-P TX и RX структури. Понапреден ексamples дефинира други опции за интерфејс.
  • На .json file изјавува AFU UUID. Скрипта OPAE го генерира UUID. RTL го вчитува UUID од afu_json_info.vh.
  • sw/Makefile генерира afu_json_info.h. Софтверот го вчитува UUID од afu_json_info.h.

4.1.3. Решавање проблеми Симулација на клиент-сервер
Ако командата afu_sim_setup не успее, потврдете дека:

  • afu_sim_setup е на вашата ПАТ. afu_sim_setup треба да биде во /usr/bin или во ако сте ја изградиле ОПАЕ од извор files.
  • Имате инсталирано Python верзија 2.7 или понова.

Ако не можете да го изградите и извршите симулаторот, веројатно е дека не сте ја инсталирале правилно вашата алатка за симулација RTL.
Кога се обидувате да го изградите и стартувате софтверот, ако видите порака „Грешка при набројувањето на AFC“, сте го испуштиле поставувањето USE_ASE=1 на командната линија make. Софтверот бара физички FPGA уред. За да се опоравите, повторете ги чекорите од командата направи чиста.

AFU Exampлес

Табела 2.
AFU Exampлес
Секој AFU exampвклучува детален README file, обезбедувајќи оперативен опис и белешки за тоа како да се симулира дизајнот. За целосно разбирање на процесот на симулација, реview README file во секој AFU exampле.

АФУ Опис
здраво_мем_афу hello_mem_afu демонстрира AFU што создава едноставна државна машина за пристап до меморијата. Состојната машина е способна за неколку шеми за пристап до локалната меморија директно прикачена на пиновите на FPGA, како што се DDR4 DIMM. Оваа меморија се разликува од меморијата на домаќинот до која се пристапува преку CCI-P. Домаќинот управува со машината за состојба на контролер hello_mem_afu користејќи барања за влез/излез (MMIO) мапирани со меморија за контрола и регистри за статус (CSR).
hello_intr_afu hello_intr_afu ја демонстрира функцијата за прекин на апликацијата во ASE.
DMA и f1.1 (2) _ dma_afu демонстрира Основен градежен блок на DMA за пренос на меморија во FPGA, FPGA во домаќин и FPGA во FPGA. Кога се симулира овој AFU, големината на баферот што се користи за пренос на DMA е мала за да се задржи разумното време на симулација. За повеќе информации, погледнете го Упатството за користење на функционалната единица за забрзување на DMA (AFU).
nlb_mode_O nlb_mode_O е CCI-P систем кој го демонстрира тестот за копирање на меморијата. $0PAE_PLATFORM_ROOT/ sw/opae—cre/ease number>/sample/hello_fpga . в вклучува nlb_mode_0.
$ ш регрес.ш -а -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
streaming_dma streaming_dma демонстрира како да се префрлаат податоци помеѓу меморијата на домаќинот и FPGA порта за стриминг. За повеќе информации, погледнете во Упатството за корисникот за функционална единица за забрзување (AFU) за пренос на DMA.
здраво_афу hel lo_a fu е едноставна AFU која го демонстрира примарниот интерфејс CCI-P. RTL ги задоволува минималните барања на AFU, одговарајќи на читањата на MMIO за да го врати заглавието на функцијата на уредот и UUID на AFU.

Поврзани информации

  • Упатство за употреба на функционална единица за забрзување (AFU) на DMA
    За информации за тоа како да го компајлирате и извршите dma_afu на вашиот Intel PAC со Intel Arria 10 GX FPGA.
  • Упатство за употреба на функционална единица за забрзување (AFU) на DMA
    За информации за тоа како да се компајлира и изврши streaming_dma_afu на вашиот Intel PAC со Intel Arria 10 GX FPGA.
  • Упатство за употреба на функционална единица за забрзување DMA: Програмабилна картичка за забрзување Intel FPGA D5005
    За информации за тоа како да се компајлира и изврши dma_afu на вашиот Intel FPGA PAC D5005.
  • Упатство за корисникот на функционална единица за забрзување DMA: Интел FPGA програмабилна картичка за забрзување D5005
    За информации за тоа како да се компајлира и изврши dma_afu на вашиот Intel FPGA PAC D5005.

Решавање проблеми

Ако се појави следнава грешка за време на симулацијата, поправете ја следејќи ги чекорите подолу.
Порака за грешка
# [SIM] Еден пример на ASE веројатно сè уште работи во тековниот директориум!
# [SIM] Проверете дали има PID 28816
# [SIM] Симулацијата ќе излезе… може да користите SIGKILL за да го уништите процесот на симулација.
# [SIM] Исто така, проверете дали .ase_ready.pid file се отстранува пред да се продолжи. Решение

  1. Напишете kill ase_simv за да ги убиете процесите на симулација на зомби и да ги отстраните сите привремени fileоставени од неуспешни процеси на симулација или заклучување.
  2. Избришете го .ase_ready.pid file, пронајден во директориумот $ASE_WORKDIR.

Архиви за корисничко упатство за брз почеток на ASE

Стак верзија на Intel Acceleration Упатство за употреба
2.0 Корисничко упатство за брз почеток на функционална единица за забрзување (AFU) за симулација (ASE)
1. Корисничко упатство за брз почеток на функционална единица за забрзување (AFU) за симулација (ASE)
1. Корисничко упатство за брз почеток на функционална единица за забрзување (AFU) за симулација (ASE)
1.0 Корисничко упатство за брз почеток на функционална единица за забрзување (AFU) за симулација (ASE)

Историја на ревизии на документи за корисничко упатство за брз почеток на ASE

Верзија на документ Стак верзија на Intel Acceleration Промени
2020.03.06 1.2.1 и 2.0.1 Ажурирано следново:
• Системски барања
2019.08.05 2.0 • Ажурирана верзија на Intel Quartus Prime Pro Edition во Системски барања.
• Додадено е hello_afu во AFU Exampлес.
• Отстранети информации за симулирање во режим на регресија.
• Додадено е нов дел: Архиви за корисничко упатство за брз почеток на ASE.
2018.12.04 1. Додадена е поддршка за Ubuntu.
2018.08.06 1. Ги ажурираше системските барања, структурата на директориумот и соодветните fileимиња.
2018.04.10 1.0 Почетно ослободување.

683200 | 2020.03.06
TCL HH42CV1 Link Hub - икона 8Испрати повратни информации

Документи / ресурси

Софтвер за симулација на опкружување со функционална единица интел акцелератор [pdf] Упатство за корисникот
Функционална единица за забрзување, софтвер за симулација на опкружување, акцелераторска функционална единица за симулација на животната средина, софтвер, софтвер за симулација на функционална единица за забрзување

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *