intel-LOGO

intel Native Loopback Accelerator Functional Unit (AFU)

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

O tomto dokumentu

Konvence
Tabulka 1. Konvence dokumentu

Konvence Popis
# Předchází příkaz, který označuje, že příkaz má být zadán jako root.
$ Označuje příkaz, který má být zadán jako uživatel.
Toto písmo Filejména, příkazy a klíčová slova se tisknou tímto písmem. Tímto písmem jsou vytištěny dlouhé příkazové řádky. Ačkoli dlouhé příkazové řádky mohou zalomit na další řádek, návrat není součástí příkazu; nestiskněte enter.
Označuje, že zástupný text, který se objeví mezi lomenými závorkami, musí být nahrazen vhodnou hodnotou. Nevstupujte do úhlových závorek.

Zkratky
Tabulka 2. Zkratky

Zkratky Rozšíření Popis
AF Funkce akcelerátoru Kompilovaný obraz hardwarového akcelerátoru implementovaný v logice FPGA, který zrychluje aplikaci.
AFU Funkční jednotka akcelerátoru Hardwarový akcelerátor implementovaný v logice FPGA, který odlehčuje výpočetní operaci pro aplikaci z CPU, aby se zlepšil výkon.
API Aplikační programovací rozhraní Sada definic podprogramů, protokolů a nástrojů pro vytváření softwarových aplikací.
ASE Simulační prostředí AFU Co-simulační prostředí, které vám umožňuje používat stejnou hostitelskou aplikaci a AF v simulačním prostředí. ASE je součástí Intel® Acceleration Stack pro FPGA.
CCI-P Rozhraní Core Cache CCI-P je standardní rozhraní AFU používané ke komunikaci s hostitelem.
CL Linka mezipaměti 64bajtová mezipaměť
DFH Záhlaví funkce zařízení Vytvoří propojený seznam záhlaví funkcí, který poskytuje rozšiřitelný způsob přidávání funkcí.
FIM Správce rozhraní FPGA Hardware FPGA obsahující jednotku rozhraní FPGA (FIU) a externí rozhraní pro paměť, sítě atd.

Funkce akcelerátoru (AF) je za běhu propojena s FIM.

FIU Jednotka rozhraní FPGA FIU je vrstva rozhraní platformy, která funguje jako most mezi rozhraními platformy, jako je PCIe*, UPI a rozhraními na straně AFU, jako je CCI-P.
pokračování…

Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.

Zkratky Rozšíření Popis
MPF Továrna na vlastnosti paměti MPF je základní stavební blok (BBB), který mohou AFU používat k poskytování operací tvarování provozu CCI-P pro transakce s FIU.
Msg Zpráva Zpráva – kontrolní upozornění
NLB Nativní Loopback NLB provádí čtení a zápisy na CCI-P propojení, aby otestovalo konektivitu a propustnost.
RdLine_I Číst řádek je neplatný Požadavek na čtení paměti s nápovědou mezipaměti FPGA nastavenou na neplatnou. Linka není v mezipaměti FPGA, ale může způsobit znečištění mezipaměti FPGA.

Poznámka: Mezipaměť tag sleduje stav požadavku pro všechny nevyřízené požadavky na Intel Ultra Path Interconnect (Intel UPI).

Proto i když je RdLine_I po dokončení označen jako neplatný, spotřebovává mezipaměť tag dočasně sledovat stav požadavku přes UPI. Tato akce může vést k vyklizení linky mezipaměti, což má za následek znečištění mezipaměti. AdvantagPoužití RdLine_I spočívá v tom, že není sledováno adresářem CPU; tím zabraňuje snoopingu z CPU.

RdLine-S Číst řádek sdílený Požadavek na čtení paměti s nápovědou mezipaměti FPGA nastavenou na sdílenou. Je učiněn pokus udržet jej v mezipaměti FPGA ve sdíleném stavu.
WrLine_I Zápis neplatný Požadavek na zápis do paměti s nápovědou mezipaměti FPGA nastavenou na Neplatný. FIU zapisuje data bez úmyslu uchovávat data v mezipaměti FPGA.
WrLine_M Zápis řádku upraven Požadavek na zápis do paměti s nápovědou mezipaměti FPGA nastavenou na možnost Upraveno. FIU zapíše data a ponechá je v mezipaměti FPGA v upraveném stavu.

Slovníček pojmů zrychlení
Tabulka 3. Acceleration Stack pro procesor Intel Xeon® s FPGA Slovník

Období Zkratka Popis
Intel Acceleration Stack pro procesor Intel Xeon® s FPGA Akcelerační zásobník Kolekce softwaru, firmwaru a nástrojů, které poskytují výkonově optimalizované připojení mezi Intel FPGA a procesorem Intel Xeon.
Intel FPGA Programmable Acceleration Card (Intel FPGA PAC) Intel FPGA PAC PCIe FPGA akcelerační karta. Obsahuje FPGA Interface Manager (FIM), který se spáruje s procesorem Intel Xeon přes sběrnici PCIe.

Funkční jednotka Native Loopback Accelerator Functional Unit (AFU)

Nativní Loopback (NLB) AFU Overview

  • Společnost NLB sample AFU obsahují sadu Verilog a System Verilog files pro testování čtení a zápisu paměti, šířky pásma a latence.
  • Tento balíček obsahuje tři AFU, které můžete sestavit ze stejného zdroje RTL. Vaše konfigurace zdrojového kódu RTL vytváří tyto AFU.

NLB Sample Funkce akcelerátoru (AF)
$OPAE_PLATFORM_ROOT/hw/sampadresář les ukládá zdrojový kód pro následující NLBample AFU:

  • nlb_mode_0
  • nlb_mode_0_stp
  • nlb_mode_3

Poznámka: $DCP_LOC/hw/sampv adresáři les jsou uloženy NLBample Zdrojový kód AFU pro balíček vydání 1.0.

Abychom porozuměli NLB sampStruktura zdrojového kódu AFU a jak jej sestavit naleznete v jedné z následujících příruček pro rychlý start (v závislosti na tom, který Intel FPGA PAC používáte):

  • Pokud používáte Intel PAC s Intel Arria® 10 GX FPGA, podívejte se na Intel Programmable Acceleration Card s Intel Arria 10 GX FPGA.
  • Pokud používáte Intel FPGA PAC D5005, podívejte se na stručnou příručku Intel Acceleration Stack pro Intel FPGA Programmable Acceleration Card D5005.

Uvolňovací balíček obsahuje následující tři samplisty:

  • Režim NLB 0 AF: vyžaduje obslužný program hello_fpga nebo fpgadiag k provedení testu lpbk1.
  • NLB režim 3 AF: vyžaduje nástroj fpgadiag k provedení testů přerušení, čtení a zápisu.
  • Režim NLB 0 stp AF: vyžaduje obslužný program hello_fpga nebo fpgadiag k provedení testu lpbak1.
    Poznámka: nlb_mode_0_stp je stejné AFU jako nlb_mode_0, ale s povolenou funkcí ladění Signal Tap.
    Nástroje fpgadiag a hello_fpga pomáhají příslušnému AF diagnostikovat, testovat a hlásit hardware FPGA.

Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.

Obrázek 1. Nativní Loopback (nlb_lpbk.sv) Top Level Wrapper

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

Tabulka 4. NLB Files

File Jméno Popis
nlb_lpbk.sv Obálka nejvyšší úrovně pro NLB, která vytváří instanci žadatele a arbitra.
arbitr.sv Spouští testovací AF.
žadatel.sv Přijímá požadavky od arbitra a formátuje požadavky podle specifikace CCI-P. Také implementuje řízení toku.
nlb_csr.sv Implementuje 64bitové registry řízení a zápisu pro čtení a zápis (CSR). Registry podporují 32bitové i 64bitové čtení a zápis.
nlb_gram_sdp.sv Implementuje obecnou dvouportovou RAM s jedním portem pro zápis a jedním portem pro čtení.

NLB je referenční implementace AFU kompatibilní s Intel Acceleration Stack pro Intel Xeon CPU s FPGA Core Cache Interface (CCI-P) Reference Manual. Primární funkcí NLB je ověřovat konektivitu hostitele pomocí různých vzorů přístupu do paměti. NLB také měří šířku pásma a latenci čtení/zápisu. Test šířky pásma má následující možnosti:

  • 100% přečteno
  • 100% psát
  • 50 % čtení a 50 % zápisu

Související informace

  • Stručný průvodce Intel Acceleration Stack pro programovatelnou akcelerační kartu Intel s Arria 10 GX FPGA
  • Acceleration Stack pro procesor Intel Xeon s FPGA Core Cache Interface (CCI-P) Referenční příručka
  • Stručný průvodce Intel Acceleration Stack pro programovatelnou akcelerační kartu Intel FPGA D5005

Popisy nativního řízení zpětné smyčky a stavového registru
Tabulka 5. Názvy, adresy a popisy CSR

 Bytová adresa (OPAE) Slovo Adresa (CCI-P)  Přístup  Jméno  Šířka  Popis
0x0000 0x0000 RO DFH 64 Záhlaví funkcí zařízení AF.
0x0008 0x0002 RO AFU_ID_L 64 Nízké ID AF.
0x0010 0x0004 RO AFU_ID_H 64 AF ID vysoké.
0x0018 0x0006 Rsvd CSR_DFH_RSVD0 64 Povinně vyhrazeno 0.
0x0020 0x0008 RO CSR_DFH_RSVD1 64 Povinně vyhrazeno 1.
0x0100 0x0040 RW CSR_SCRATCPAD0 64 Registr zápisníku 0.
0x0108 0x0042 RW CSR_SCRATCPAD1 64 Registr zápisníku 2.
0x0110 0x0044 RW CSR_AFU_DSM_BASE L 32 Dolních 32 bitů základní adresy AF DSM. Spodních 6 bitů je 4×00, protože adresa je zarovnána s velikostí řádku mezipaměti 64 bajtů.
0x0114 0x0045 RW CSR_AFU_DSM_BASE H 32 Horních 32 bitů základní adresy AF DSM.
0x0120 0x0048 RW CSR_SRC_ADDR 64 Počáteční fyzická adresa pro zdrojovou vyrovnávací paměť. Všechny žádosti o čtení cílí na tuto oblast.
0x0128 0x004A RW CSR_DST_ADDR 64 Počáteční fyzická adresa pro cílovou vyrovnávací paměť. Všechny požadavky na zápis cílí na tuto oblast
0x0130 0x004C RW CSR_NUM_LINES 32 Počet řádků keše.
0x0138 0x004E RW CSR_CTL 32 Řídí tok testu, start, stop, dokončení síly.
0x0140 0x0050 RW CSR_CFG 32 Konfiguruje parametry testu.
0x0148 0x0052 RW CSR_INACT_THRESH 32 Limit neaktivity.
0x0150 0x0054 RW CSR_INTERRUPT0 32 SW přiděluje zařízení APIC ID a vektor přerušení.
Offsetová mapa DSM
0x0040 0x0010 RO DSM_STATUS 32 Stav testu a registr chyb.

Tabulka 6. Bitová pole CSR s příklamples
Tato tabulka uvádí bitová pole CSR, která závisí na hodnotě CSR_NUM_LINES, . V example níže = 14.

Jméno Bitové pole Přístup Popis
CSR_SRC_ADDR [63:] RW 2^(N+6)MB zarovnaná adresa ukazuje na začátek čtecí vyrovnávací paměti.
[-1: 0] RW 0x0.
CSR_DST_ADDR [63:] RW 2^(N+6)MB zarovnaná adresa ukazuje na začátek vyrovnávací paměti pro zápis.
[-1: 0] RW 0x0.
CSR_NUM_LINES [31:] RW 0x0.
pokračování…
Jméno Bitové pole Přístup Popis
  [-1: 0] RW Počet řádků mezipaměti ke čtení nebo zápisu. Tento práh může být pro každý test AF odlišný.

Poznámka: Ujistěte se, že zdrojové a cílové vyrovnávací paměti jsou dostatečně velké, aby se do nich vešly řádky mezipaměti.

CSR_NUM_LINES by mělo být menší nebo rovno .

Pro následující hodnoty předpokládejte =14. Poté CSR_SRC_ADDR a CSR_DST_ADDR přijmou 2^20 (0x100000).
CSR_SRC_ADDR [31:14] RW 1 MB zarovnaná adresa.
[13:0] RW 0x0.
CSR_DST_ADDR [31:14] RW 1 MB zarovnaná adresa.
[13:0] RW 0x0.
CSR_NUM_LINES [31:14] RW 0x0.
[13:0] RW Počet řádků mezipaměti ke čtení nebo zápisu. Tento práh může být pro každý test AF odlišný.

Poznámka: Ujistěte se, že zdrojové a cílové vyrovnávací paměti jsou dostatečně velké, aby se do nich vešly řádky mezipaměti.

Tabulka 7. Další bitová pole CSR

Jméno Bitové pole Přístup Popis
CSR_CTL [31:3] RW Rezervováno.
[2] RW Dokončení testu síly. Zapíše příznak dokončení testu a další čítače výkonu do csr_stat. Po vynuceném dokončení testu je stav hardwaru totožný s nevynuceným dokončením testu.
[1] RW Spustí provádění testu.
[0] RW Aktivní reset nízkého testu. Když je nízká, všechny konfigurační parametry se změní na výchozí hodnoty.
CSR_CFG [29] RW cr_interrupt_testmode testuje přerušení. Generuje přerušení na konci každého testu.
  [28] RW cr_interrupt_on_error odešle přerušení, když dojde k chybě
      detekce.
  [27:20] RW cr_test_cfg konfiguruje chování každého testovacího režimu.
  [13:12] RW cr_chsel vybere virtuální kanál.
  [10:9] RW cr_rdsel konfiguruje typ požadavku na čtení. Kódování mají
      následující platné hodnoty:
      • 1'b00: RdLine_S
      • 2'b01: RdLine_I
      • 2'b11: Smíšený režim
  [8] RW cr_delay_en umožňuje náhodné vkládání zpoždění mezi požadavky.
  [6:5] RW Konfiguruje testovací režim, cr_multiCL-len. Platné hodnoty jsou 0,1 a 3.
  [4:2] RW cr_mode, konfiguruje testovací režim. Platné jsou následující hodnoty:
      • 3'b000: LPBK1
      • 3'b001: Číst
      • 3'b010: Napište
      • 3'b011: TRPUT
pokračování…
Jméno Bitové pole Přístup Popis
      Další informace o testovacím režimu naleznete v části Testovací režimy téma níže.
[1] RW c_cont vybere opakování testu nebo ukončení testu.

• Když je 1'b0, test se ukončí. Aktualizuje stav CSR, když

Bylo dosaženo počtu CSR_NUM_LINES.

• Když je 1'b1, test se přetočí na počáteční adresu poté, co dosáhne počtu CSR_NUM_LINES. V režimu převrácení se test ukončí pouze při chybě.

[0] RW cr_wrthru_en přepíná mezi typy požadavků WrLine_I a Wrline_M.

• 1'b0: WrLine_M

• 1'b1: WrLine_I

CSR_INACT_THRESHOLD [31:0] RW Limit neaktivity. Detekuje trvání zablokování během zkušebního provozu. Počítá počet po sobě jdoucích cyklů nečinnosti. Pokud se počítá nečinnost

> CSR_INACT_THRESHOLD, neodesílají se žádné požadavky, neodesílají se žádné odpovědi

přijat a je nastaven signál inact_timeout. Zápis 1 do CSR_CTL[1] aktivuje tento čítač.

CSR_INTERRUPT0 [23:16] RW Číslo vektoru přerušení pro zařízení.
[15:0] RW apic_id je APIC OD pro zařízení.
DSM_STATUS [511:256] RO Chyba výpisu formuláře Testovací režim.
[255:224] RO Konec nad hlavou.
[223:192] RO Start Overhead.
[191:160] RO Počet zápisů.
[159:128] RO Počet přečtení.
[127:64] RO Počet hodin.
[63:32] RO Otestujte registr chyb.
[31:16] RO Porovnejte a vyměňte počítadlo úspěšnosti.
[15:1] RO Jedinečné ID pro každý zápis stavu DSM.
[0] RO Příznak dokončení testu.

Testovací režimy
CSR_CFG[4:2] konfiguruje testovací režim. K dispozici jsou následující čtyři testy:

  • LPBK1: Toto je test kopírování paměti. AF zkopíruje CSR_NUM_LINES ze zdrojové vyrovnávací paměti do cílové vyrovnávací paměti. Po dokončení testu software porovná zdrojové a cílové vyrovnávací paměti.
  • Číst: Tento test klade důraz na cestu čtení a měří šířku pásma čtení nebo latenci. AF čte CSR_NUM_LINES počínaje CSR_SRC_ADDR. Toto je pouze test šířky pásma nebo latence. Neověřuje načtená data.
  • Napsat: Tento test zdůrazňuje cestu zápisu a měří šířku pásma zápisu nebo latenci. AF čte CSR_NUM_LINES počínaje CSR_SRC_ADDR. Toto je pouze test šířky pásma nebo latence. Neověřuje zapsaná data.
  • TRPUT: Tento test kombinuje čtení a zápis. Čte CSR_NUM_LINES počínaje umístěním CSR_SRC_ADDR a zapisuje CSR_NUM_LINES do CSR_SRC_ADDR. Měří také šířku pásma pro čtení a zápis. Tento test nekontroluje data. Čtení a zápis nemají žádné závislosti

Následující tabulka ukazuje kódování CSR_CFG pro čtyři testy. Tato tabulka nastaví a CSR_NUM_LINES, =14. Počet řádků mezipaměti můžete změnit aktualizací registru CSR_NUM_LINES.

Tabulka 8. Testovací režimy

Diagnostika FPGA: fpgadiag
Nástroj fpgadiag obsahuje několik testů pro diagnostiku, testování a hlášení hardwaru FPGA. Ke spuštění všech testovacích režimů použijte nástroj fpgadiag. Další informace o použití nástroje fpgadiag naleznete v části fpgadiag v příručce Open Programmable Acceleration Engine (OPAE) Tools Guide.

NLB Mode0 Hello_FPGA Test Flow

  1. Software inicializuje paměť stavu zařízení (DSM) na nulu.
  2. Software zapíše adresu DSM BASE do AFU. Zápis CSR (DSM_BASE_H), CSRWrite (DSM_BASE_L)
  3. Software připraví zdrojovou a cílovou vyrovnávací paměť. Tento přípravek je specifický pro test.
  4. Software zapisuje CSR_CTL[2:0]= 0x1. Tento zápis uvede test z resetu do konfiguračního režimu. Konfigurace může pokračovat pouze tehdy, když CSR_CTL[0]=1 & CSR_CTL[1]=1.
  5. Software konfiguruje parametry testu, jako je src, destaddress, csr_cfg, num lines a tak dále.
  6. Software CSR zapisuje CSR_CTL[2:0]= 0x3. AF zahájí provádění testu.
  7. Dokončení testu:
    • Hardware se dokončí po dokončení testu nebo po zjištění chyby. Po dokončení hardwarový AF aktualizuje DSM_STATUS. Softwarové průzkumy DSM_STATUS[31:0]==1 ke zjištění dokončení testu.
    • Software může vynutit dokončení testu zápisem CSR zápisů CSR_CTL[2:0]=0x7. Aktualizace hardwarového AF DSM_STATUS.

Historie revizí dokumentu pro uživatelskou příručku Native Loopback Accelerator Functional Unit (AFU).

Verze dokumentu Zrychlení Intel Verze zásobníku Změny
 2019.08.05 2.0 (podporováno Intel

Quartus Prime Pro Edition

18.1.2) a 1.2 (podporováno s

Intel Quartus Prime Pro Edition 17.1.1)

V aktuální verzi přidána podpora pro platformu Intel FPGA PAC D5005.
 2018.12.04 1.2 (podporováno Intel

Quartus® Prime Pro Edition 17.1.1)

Uvolnění údržby.
  2018.08.06 1.1 (podporováno Intel

Quartus Prime Pro Edition

17.1.1) a 1.0 (podporováno s

Intel Quartus Prime Pro Edition 17.0.0)

Aktualizováno umístění zdrojového kódu pro NLBample AFU v NLB Sample Funkce akcelerátoru (AF) sekce.
 2018.04.11 1.0 (podporováno Intel

Quartus Prime Pro Edition 17.0.0)

Počáteční vydání.

Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.

Dokumenty / zdroje

intel Native Loopback Accelerator Functional Unit (AFU) [pdfUživatelská příručka
Funkční jednotka AFU nativního akcelerátoru zpětné smyčky, nativní zpětná vazba, funkční jednotka AFU akcelerátoru, funkční jednotka AFU

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *