интел-ЛОГО

Интел Native Loopback Accelerator Functional Unit (AFU)

intel-Native-Loopback-Accelerator-Functional-Unit-(AFU)-PRO

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

Конвенции
Табела 1. Конвенции за документи

Конвенција Опис
# Претходи на команда која покажува дека командата треба да се внесе како root.
$ Укажува дека командата треба да се внесе како корисник.
Овој фонт Fileимињата, командите и клучните зборови се печатат во овој фонт. Во овој фонт се печатат долги командни линии. Иако долгите командни линии може да се заокружат до следната линија, враќањето не е дел од командата; не притискајте enter.
Укажува дека текстот на место кое се појавува помеѓу аголните загради мора да се замени со соодветна вредност. Не влегувајте во аголните загради.

Акроними
Табела 2. Акроними

Акроними Проширување Опис
AF Функција за забрзување Составена слика на Хардверски забрзувач имплементирана во FPGA логика која ја забрзува апликацијата.
АФУ Функционална единица за забрзување Хардверски акцелератор имплементиран во FPGA логиката која превзема пресметковна операција за апликација од процесорот за да ги подобри перформансите.
API Програмски интерфејс за апликации Збир на потпрограмски дефиниции, протоколи и алатки за градење софтверски апликации.
ASE Околина за симулација на AFU Ко-симулациско опкружување кое ви овозможува да ја користите истата апликација домаќин и AF во симулациска средина. ASE е дел од Intel® Acceleration Stack за FPGA.
CCI-P Основен интерфејс за кеш CCI-P е стандардниот интерфејс AFU што го користат за комуникација со домаќинот.
CL Кеш линија Кеш линија од 64 бајти
DFH Заглавие на карактеристики на уредот Креира поврзан список со заглавија на функции за да обезбеди проширен начин за додавање функции.
ФИМ Менаџер за интерфејс FPGA Хардверот FPGA што содржи FPGA интерфејс единица (FIU) и надворешни интерфејси за меморија, вмрежување итн.

Функцијата за забрзување (AF) се поврзува со FIM за време на извршувањето.

ФИУ Единица за интерфејс FPGA FIU е слој на интерфејс на платформата што делува како мост помеѓу интерфејсите на платформата како што се PCIe*, UPI и интерфејсите од страната на AFU, како што е CCI-P.
продолжи…

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

Акроними Проширување Опис
MPF Фабрика за својства на меморија MPF е основен градежен блок (BBB) ​​што AFUs може да го користат за да обезбедат операции за обликување на сообраќајот CCI-P за трансакции со FIU.
Msg Порака Порака – контролно известување
НЛБ Мајчин Loopback НЛБ врши читање и запишување на врската CCI-P за тестирање на поврзаноста и пропусната моќ.
RdLine_I Прочитајте ја линијата неважечка Барање за читање меморија, со навестување за кешот FPGA поставено на неважечко. Линијата не е кеширана во FPGA, но може да предизвика загадување на кешот FPGA.

Забелешка: Кешот tag го следи статусот на барањето за сите отворени барања на Intel Ultra Path Interconnect (Intel UPI).

Затоа, иако RdLine_I е означен како неважечки по завршувањето, го троши кешот tag привремено за следење на статусот на барањето преку UPI. Оваа акција може да резултира со исфрлање на кеш линијата, што ќе резултира со загадување на кешот. Напредокотtage од користењето RdLine_I е тоа што не се следи од директориумот на процесорот; на тој начин го спречува прислушувањето од процесорот.

RdLine-S Прочитајте ја споделената линија Барање за читање меморија со навестување за кешот FPGA поставено на споделено. Се прави обид да се задржи во кешот FPGA во заедничка состојба.
WrLine_I Напишете ја линијата неважечка Барање за пишување во меморијата, со навестување за кешот FPGA поставено на Невалидно. FIU ги запишува податоците без намера да ги чува податоците во кешот FPGA.
WrLine_M Напиши линија изменета Барање за пишување во меморија, со навестување за кешот FPGA поставено на Изменето. FIU ги запишува податоците и ги остава во кешот FPGA во изменета состојба.

Речник за забрзување
Табела 3. Стак за забрзување за процесорот 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 магистралата.

Функционална единица за забрзување на јамката (AFU)

Надвор од AFU (Native Loopback) (NLB).view

  • НЛБ сampAFU-овите сочинуваат множество од Verilog и System Verilog files да се тестира меморијата за читање и запишување, пропусниот опсег и латентноста.
  • Овој пакет вклучува три AFU кои можете да ги изградите од истиот извор на RTL. Вашата конфигурација на изворниот код на RTL ги создава овие AFU.

НЛБ СampФункција за забрзување (AF)
$OPAE_PLATFORM_ROOT/hw/sampдиректориумот les го складира изворниот код за следните НЛБ-овиampAFUs:

  • nlb_mode_0
  • nlb_mode_0_stp
  • nlb_mode_3

Забелешка: На $DCP_LOC/hw/samples директориумот ги складира НЛБ sampИзворниот код на AFU за пакетот за издавање 1.0.

За да се разбере НЛБ сampСтруктурата на изворниот код на AFU и како да се изгради, погледнете во еден од следните Упатства за брз почеток (во зависност од тоа кој Intel FPGA PAC го користите):

  • Ако користите Intel PAC со Intel Arria® 10 GX FPGA, погледнете ја IntelProgrammable Acceleration Card со Intel Arria 10 GX FPGA.
  • Ако користите Intel FPGA PAC D5005, погледнете го Водичот за брз старт на Intel Acceleration Stack за Intel FPGA програмабилна картичка за забрзување D5005.

Пакетот за ослободување ги обезбедува следните три сample AFs:

  • NLB режим 0 AF: бара помош од hello_fpga или fpgadiag за да се изврши тестот lpbk1.
  • NLB режим 3 AF: бара алатка fpgadiag за извршување на тестовите за trupt, читање и пишување.
  • NLB режим 0 stp AF: бара помош од hello_fpga или fpgadiag за да се изврши тестот lpbak1.
    Забелешка: nlb_mode_0_stp е истата AFU како nlb_mode_0, но со овозможена функција за отстранување грешки со Signal Tap.
    Услужните програми fpgadiag и hello_fpga му помагаат на соодветниот AF да дијагностицира, тестира и известува за хардверот FPGA.

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

Слика 1. Обвивка на највисоко ниво (nlb_lpbk.sv)

intel-Native-Loopback-Accelerator-Functional-Unit-(AFU)-1

Табела 4. НЛБ Files

File Име Опис
nlb_lpbk.sv Обвивка од највисоко ниво за НЛБ што го инстанцира барателот и арбитерот.
арбитер.св Го инстанцира тестот AF.
барател.св Ги прифаќа барањата од арбитерот и ги форматира барањата според спецификацијата CCI-P. Исто така спроведува контрола на протокот.
nlb_csr.sv Имплементира 64-битни регистри за контрола и статус за читање/запишување (CSR). Регистрите поддржуваат и 32- и 64-битно читање и запишување.
nlb_gram_sdp.sv Имплементира генеричка RAM меморија со две порти со една порта за пишување и една порта за читање.

NLB е референтна имплементација на AFU компатибилна со Intel Acceleration Stack за Intel Xeon CPU со FPGAs Core Cache Interface (CCI-P) Референтен прирачник. Примарната функција на НЛБ е да ја потврди поврзаноста на домаќинот користејќи различни шеми за пристап до меморијата. НЛБ го мери и пропусниот опсег и доцнењето за читање/запишување. Тестот за пропусниот опсег ги има следниве опции:

  • 100% прочитано
  • 100% пишуваат
  • 50% читаат, а 50% пишуваат

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

  • Интел Acceleration Stack Водич за брз почеток за Intel програмабилна картичка за забрзување со Arria 10 GX FPGA
  • Референтен прирачник за стек за забрзување за процесорот Intel Xeon со интерфејс за јадро на кешот FPGA (CCI-P)
  • Водич за брз старт на Intel Acceleration Stack за програмабилна картичка за забрзување Intel FPGA D5005

Описи на Контрола на Native Loopback и статусен регистар
Табела 5. Имиња, адреси и описи на ООП

 Бајт адреса (OPAE) збор Адреса (CCI-P)  Пристап  Име  Ширина  Опис
0x0000 0x0000 RO DFH 64 Заглавие на карактеристики на AF на уредот.
0x0008 0x0002 RO AFU_ID_L 64 AF ID е низок.
0x0010 0x0004 RO AFU_ID_H 64 AF ID високо.
0x0018 0x0006 Rsvd CSR_DFH_RSVD0 64 Задолжително резервирано 0.
0x0020 0x0008 RO CSR_DFH_RSVD1 64 Задолжително резервирано 1.
0x0100 0x0040 RW CSR_SCRATCHPAD0 64 Регистар за гребење 0.
0x0108 0x0042 RW CSR_SCRATCHPAD1 64 Регистар за гребење 2.
0x0110 0x0044 RW CSR_AFU_DSM_BASE L 32 Долна 32-битна AF DSM основна адреса. Долните 6 бита се 4×00 бидејќи адресата е порамнета со големината на линијата за кешот од 64 бајти.
0x0114 0x0045 RW CSR_AFU_DSM_BASE H 32 Горна 32-бита AF DSM основна адреса.
0x0120 0x0048 RW CSR_SRC_ADDR 64 Започнете физичка адреса за изворниот бафер. Сите барања за читање се насочени кон овој регион.
0x0128 0x004A RW CSR_DST_ADDR 64 Започнете ја физичката адреса за дестинација тампон. Сите барања за пишување се насочени кон овој регион
0x0130 0х004С RW CSR_NUM_LINES 32 Број на линии за кеш.
0x0138 0x004E RW CSR_CTL 32 Го контролира протокот на тестот, стартувањето, запирањето, принудното завршување.
0x0140 0x0050 RW CSR_CFG 32 Ги конфигурира тест параметрите.
0x0148 0x0052 RW CSR_INACT_THRESH 32 Ограничување на прагот на неактивност.
0x0150 0x0054 RW CSR_INTERRUPT0 32 SW доделува Interrupt APIC ID и Vector на уредот.
Офсет мапа на DSM
0x0040 0x0010 RO DSM_STATUS 32 Тест статус и регистар на грешки.

Табела 6. Полиња за битови CSR со прampлес
Оваа табела ги наведува полињата за битови CSR што зависат од вредноста на CSR_NUM_LINES, . Во ексampле подолу = 14.

Име Бит поле Пристап Опис
CSR_SRC_ADDR [63:] RW 2^(N+6)MB подредена адреса укажува на почетокот на тампонот за читање.
[-1:0] RW 0x0.
CSR_DST_ADDR [63:] RW 2^(N+6)MB подредената адреса укажува на почетокот на баферот за запишување.
[-1:0] RW 0x0.
CSR_NUM_LINES [31:] RW 0x0.
продолжи…
Име Бит поле Пристап Опис
  [-1:0] RW Број на кеш линии за читање или пишување. Овој праг може да биде различен за секој тест AF.

Забелешка: Осигурајте се дека изворните и дестинации тампон се доволно големи за да се приспособат на кеш линии.

CSR_NUM_LINES треба да биде помал или еднаков на .

За следните вредности, претпоставете =14. Потоа, CSR_SRC_ADDR и CSR_DST_ADDR прифаќаат 2^20 (0x100000).
CSR_SRC_ADDR [31:14] RW 1MB подредена адреса.
[13:0] RW 0x0.
CSR_DST_ADDR [31:14] RW 1MB подредена адреса.
[13:0] RW 0x0.
CSR_NUM_LINES [31:14] RW 0x0.
[13:0] RW Број на кеш линии за читање или пишување. Овој праг може да биде различен за секој тест AF.

Забелешка: Осигурајте се дека изворните и дестинации тампон се доволно големи за да се приспособат на кеш линии.

Табела 7. Дополнителни полиња за битови за CSR

Име Бит поле Пристап Опис
CSR_CTL [31:3] RW Резервирано.
[2] RW Завршување на тестот на сила. Запишува знаменце за завршување на тестот и други бројачи на перформанси во csr_stat. По принудното завршување на тестот, состојбата на хардверот е идентична со неприсилното завршување на тестот.
[1] RW Започнува извршување на тестот.
[0] RW Активно ресетирање на низок тест. Кога е ниско, сите конфигурациски параметри се менуваат на нивните стандардни вредности.
CSR_CFG [29] RW cr_interrupt_testmode тестови прекинува. Генерира прекин на крајот од секој тест.
  [28] RW cr_interrupt_on_error испраќа прекин кога е по грешка
      откривање.
  [27:20] RW cr_test_cfg го конфигурира однесувањето на секој режим на тестирање.
  [13:12] RW cr_chsel го избира виртуелниот канал.
  [10:9] RW cr_rdsel го конфигурира типот на барање за читање. Кодирањата имаат
      следните валидни вредности:
      • 1'b00: RdLine_S
      • 2'b01: RdLine_I
      • 2'b11: Мешан режим
  [8] RW cr_delay_en овозможува случајно одложување вметнување помеѓу барањата.
  [6:5] RW Го конфигурира режимот на тестирање, cr_multiCL-len. Валидни вредности се 0,1 и 3.
  [4:2] RW cr_mode, го конфигурира режимот на тестирање. Следниве вредности се валидни:
      • 3'b000: LPBK1
      • 3'b001: Читај
      • 3'b010: Напиши
      • 3'b011: TRPUT
продолжи…
Име Бит поле Пристап Опис
      За повеќе информации за режимот на тестирање, погледнете во Тест режими тема подолу.
[1] RW c_cont избира тест превртување или завршување на тестот.

• Кога 1'b0, тестот завршува. Го ажурира статусот ООП кога

Бројот на CSR_NUM_LINES е достигнат.

• Кога 1'b1, тестот се превртува на почетната адреса откако ќе го достигне бројот CSR_NUM_LINES. Во режимот на превртување, тестот завршува само по грешка.

[0] RW cr_wrthru_en се префрла помеѓу типовите барања WrLine_I и Wrline_M.

• 1'b0: WrLine_M

• 1'b1: WrLine_I

CSR_INACT_THRESHOLD [31:0] RW Ограничување на прагот на неактивност. Го детектира времетраењето на тезги за време на тест. Го брои бројот на последователни циклуси на мирување. Ако се брои неактивноста

> CSR_INACT_THRESHOLD, не се испраќаат барања, не се испраќаат одговори

примен и сигналот inact_timeout е поставен. Пишувањето 1 на CSR_CTL[1] го активира овој бројач.

CSR_INTERRUPT0 [23:16] RW Векторскиот број на прекин за уредот.
[15:0] RW apic_id е APIC OD за уредот.
DSM_STATUS [511:256] RO Формулар за исфрлање на грешка Тест режим.
[255:224] RO Крај над глава.
[223:192] RO Започнете над глава.
[191:160] RO Број на пишувања.
[159:128] RO Број на читања.
[127:64] RO Број на часовници.
[63:32] RO Регистар за грешки во тестот.
[31:16] RO Споредете и разменувајте бројач за успех.
[15:1] RO Уникатен ID за секое пишување на статусот на DSM.
[0] RO Знаме за завршување на тестот.

Тест режими
CSR_CFG[4:2] го конфигурира режимот на тестирање. Достапни се следните четири тестови:

  • ЛПБК1: Ова е тест за копирање на меморијата. AF копира CSR_NUM_LINES од изворниот бафер до дестинацијата. По завршувањето на тестот, софтверот ги споредува изворните и одредишните бафери.
  • Прочитајте: Овој тест ја нагласува патеката за читање и го мери пропусниот опсег на читање или доцнењето. AF чита CSR_NUM_LINES почнувајќи од CSR_SRC_ADDR. Ова е само тест за пропусност или латентност. Не ги потврдува прочитаните податоци.
  • Напиши: Овој тест ја нагласува патеката за запишување и ја мери пропусноста на запишувањето или доцнењето. AF чита CSR_NUM_LINES почнувајќи од CSR_SRC_ADDR. Ова е само тест за пропусност или латентност. Не ги потврдува напишаните податоци.
  • TRPUT: Овој тест ги комбинира читањето и пишувањето. Чита CSR_NUM_LINES почнувајќи од CSR_SRC_ADDR локација и запишува CSR_NUM_LINES на CSR_SRC_ADDR. Исто така, го мери пропусниот опсег за читање и пишување. Овој тест не ги проверува податоците. Читањето и пишувањето немаат зависност

Следната табела ги прикажува CSR_CFG кодирањето за четирите тестови. Оваа табела се поставува и CSR_NUM_LINES, =14. Можете да го промените бројот на кеш линии со ажурирање на регистарот CSR_NUM_LINES.

Табела 8. Тест режими

Дијагностика на FPGA: fpgadiag
Услужната алатка fpgadiag вклучува неколку тестови за дијагностицирање, тестирање и известување за хардверот FPGA. Користете ја алатката fpgadiag за да ги извршите сите режими за тестирање. За повеќе информации во врска со користењето на алатката fpgadiag, погледнете го делот fpgadiag во Водичот за алатки за отворено програмабилно забрзување на моторот (OPAE).

NLB Mode0 Hello_FPGA Тек на тест

  1. Софтверот ја иницијализира меморијата за статус на уредот (DSM) на нула.
  2. Софтверот ја пишува адресата на DSM BASE до AFU. Запишување CSR (DSM_BASE_H), CSRWrite (DSM_BASE_L)
  3. Софтверот подготвува мемориски бафер за извор и дестинација. Овој препарат е специфичен за тестот.
  4. Софтверот запишува CSR_CTL[2:0]= 0x1. Ова пишување го носи тестот од ресетирање и во режим на конфигурација. Конфигурацијата може да продолжи само кога CSR_CTL[0]=1 и CSR_CTL[1]=1.
  5. Софтверот ги конфигурира параметрите за тестирање, како што се src, destaddress, csr_cfg, num линии и така натаму.
  6. Софтвер CSR пишува CSR_CTL[2:0]= 0x3. AF започнува со извршување на тестот.
  7. Завршување на тестот:
    • Хардверот завршува кога тестот ќе заврши или ќе открие грешка. По завршувањето, хардверскиот AF го ажурира DSM_STATUS. Софтверски анкети DSM_STATUS[31:0]==1 за откривање на завршување на тестот.
    • Софтверот може да го принуди завршувањето на тестот со пишување CSR пишува CSR_CTL[2:0]=0x7. Хардвер AF ажурира DSM_STATUS.

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

Верзија на документ Интел забрзување Стак верзија Промени
 2019.08.05 2.0 (поддржан со Интел

Quartus Prime Pro Edition

18.1.2) и 1.2 (поддржано со

Intel Quartus Prime Pro Edition 17.1.1)

Додадена е поддршка за платформата Intel FPGA PAC D5005 во тековното издание.
 2018.12.04 1.2 (поддржан со Интел

Quartus® Prime Pro Edition 17.1.1)

Ослободување на одржување.
  2018.08.06 1.1 (поддржан со Интел

Quartus Prime Pro Edition

17.1.1) и 1.0 (поддржано со

Intel Quartus Prime Pro Edition 17.0.0)

Ажурирана е локацијата на изворниот код за НЛБample AFU во НЛБ СampФункција за забрзување (AF) дел.
 2018.04.11 1.0 (поддржан со Интел

Quartus Prime Pro Edition 17.0.0)

Почетно ослободување.

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

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

Интел Native Loopback Accelerator Functional Unit (AFU) [pdf] Упатство за корисникот
Функционална единица за забрзување на мајчин јамка, AFU, функционална единица за забрзување, AFU, функционална единица

Референци

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

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