intel Native Loopback Accelerator Functional Unit (AFU)
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
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
- Software inicializuje paměť stavu zařízení (DSM) na nulu.
- Software zapíše adresu DSM BASE do AFU. Zápis CSR (DSM_BASE_H), CSRWrite (DSM_BASE_L)
- Software připraví zdrojovou a cílovou vyrovnávací paměť. Tento přípravek je specifický pro test.
- 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.
- Software konfiguruje parametry testu, jako je src, destaddress, csr_cfg, num lines a tak dále.
- Software CSR zapisuje CSR_CTL[2:0]= 0x3. AF zahájí provádění testu.
- 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 |