intel-LOGO

Funkcijska enota intel Native Loopback Accelerator (AFU)

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

O tem dokumentu

konvencije
Tabela 1. Dogovori v dokumentu

konvencije Opis
# Pred ukazom, ki označuje, da je treba ukaz vnesti kot root.
$ Označuje ukaz, ki ga je treba vnesti kot uporabnik.
Ta pisava Fileimena, ukazi in ključne besede so natisnjeni v tej pisavi. S to pisavo so natisnjene dolge ukazne vrstice. Čeprav se dolge ukazne vrstice lahko previjejo v naslednjo vrstico, vrnitev ni del ukaza; ne pritisnite enter.
Označuje, da je treba besedilo nadomestnega mesta, ki se pojavi med kotnimi oklepaji, zamenjati z ustrezno vrednostjo. Ne vnašajte oglatih oklepajev.

Kratice
Tabela 2. Kratice

Kratice Razširitev Opis
AF Funkcija pospeševalnika Prevedena slika strojnega pospeševalnika, implementirana v logiko FPGA, ki pospeši aplikacijo.
AFU Funkcionalna enota pospeševalnika Hardware Accelerator, implementiran v logiko FPGA, ki razbremeni računsko operacijo za aplikacijo iz CPE-ja, da izboljša zmogljivost.
API Programski vmesnik aplikacij Niz definicij podprogramov, protokolov in orodij za izdelavo programskih aplikacij.
ASE AFU simulacijsko okolje Sosimulacijsko okolje, ki vam omogoča uporabo iste gostiteljske aplikacije in AF v simulacijskem okolju. ASE je del sklada Intel® Acceleration Stack za FPGA.
CCI-P Core Cache vmesnik CCI-P je standardni vmesnik AFU, ki ga uporabljajo za komunikacijo z gostiteljem.
CL Vrstica predpomnilnika 64-bajtna vrstica predpomnilnika
DFH Glava funkcije naprave Ustvari povezan seznam glav funkcij, da zagotovi razširljiv način dodajanja funkcij.
FIM Upravljalnik vmesnika FPGA Strojna oprema FPGA, ki vsebuje vmesniško enoto FPGA (FIU) in zunanje vmesnike za pomnilnik, mreženje itd.

Funkcija pospeševalnika (AF) je med izvajanjem povezana s FIM.

FIU Vmesniška enota FPGA FIU je plast vmesnika platforme, ki deluje kot most med vmesniki platforme, kot so PCIe*, UPI in vmesniki na strani AFU, kot je CCI-P.
nadaljevanje ...

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

Kratice Razširitev Opis
MPF Tovarna lastnosti pomnilnika MPF je osnovni gradnik (BBB), ki ga AFU-ji lahko uporabljajo za zagotavljanje operacij oblikovanja prometa CCI-P za transakcije s FIU.
Sporočilo Sporočilo Sporočilo – kontrolno obvestilo
NLB Native Loopback NLB izvaja branje in pisanje v povezavo CCI-P, da preizkusi povezljivost in prepustnost.
RdLine_I Branje vrstice je neveljavno Zahteva za branje pomnilnika z namigom predpomnilnika FPGA, nastavljenim na neveljavno. Vrstica ni predpomnjena v FPGA, vendar lahko povzroči onesnaženje predpomnilnika FPGA.

Opomba: Predpomnilnik tag spremlja stanje zahtev za vse nerešene zahteve na Intel Ultra Path Interconnect (Intel UPI).

Zato, čeprav je RdLine_I po zaključku označen kot neveljaven, porabi predpomnilnik tag začasno spremljanje statusa zahteve prek UPI. To dejanje lahko povzroči izgon vrstice predpomnilnika, kar povzroči onesnaženje predpomnilnika. Napredektage uporabe RdLine_I je, da mu ne sledi imenik CPE; tako preprečuje vohljanje iz CPE-ja.

RdLine-S Preberite vrstico v skupni rabi Zahteva za branje pomnilnika z namigom predpomnilnika FPGA, nastavljenim na skupno rabo. Poskuša se ohraniti v predpomnilniku FPGA v skupnem stanju.
WrLine_I Vrstica za pisanje je neveljavna Zahteva za pisanje v pomnilnik z namigom za predpomnilnik FPGA, nastavljenim na Neveljavno. FIU zapiše podatke brez namena, da bi jih hranila v predpomnilniku FPGA.
WrLine_M Napiši spremenjeno vrstico Zahteva za pisanje v pomnilnik z namigom predpomnilnika FPGA, nastavljenim na Spremenjeno. FIU zapiše podatke in jih pusti v predpomnilniku FPGA v spremenjenem stanju.

Glosar za pospeševanje
Tabela 3. Pospeševalni sklad za CPE Intel Xeon® s FPGA Glosar

Izraz Okrajšava Opis
Intel Acceleration Stack za procesor Intel Xeon® s FPGA Pospeševalni sklad Zbirka programske opreme, vdelane programske opreme in orodij, ki zagotavlja povezljivost z optimizirano zmogljivostjo med procesorjem Intel FPGA in procesorjem Intel Xeon.
Intel FPGA Programmable Acceleration Card (Intel FPGA PAC) Intel FPGA PAC PCIe FPGA pospeševalna kartica. Vsebuje FPGA Interface Manager (FIM), ki se poveže s procesorjem Intel Xeon prek vodila PCIe.

Funkcionalna enota Native Loopback Accelerator (AFU)

Native Loopback (NLB) AFU Overview

  • NLB sample AFU-ji sestavljajo niz Verilog in System Verilog files za testiranje branja in pisanja pomnilnika, pasovne širine in zakasnitve.
  • Ta paket vključuje tri AFU-je, ki jih lahko sestavite iz istega vira RTL. Vaša konfiguracija izvorne kode RTL ustvari te AFU-je.

NLB Sample Funkcija pospeševalnika (AF)
$OPAE_PLATFORM_ROOT/hw/samples hrani izvorno kodo za naslednje NLB-jeample AFU:

  • nlb_mode_0
  • nlb_mode_0_stp
  • nlb_mode_3

Opomba: $DCP_LOC/hw/sampimenik les hrani NLB sample AFUs izvorna koda za paket izdaje 1.0.

Za razumevanje NLB sample strukturo izvorne kode AFU in kako jo zgraditi, glejte enega od naslednjih vodnikov za hiter začetek (odvisno od tega, kateri Intel FPGA PAC uporabljate):

  • Če uporabljate Intel PAC z Intel Arria® 10 GX FPGA, glejte Intel Programmable Acceleration Card z Intel Arria 10 GX FPGA.
  • Če uporabljate Intel FPGA PAC D5005, si oglejte vodnik za hiter začetek Intel Acceleration Stack za Intel FPGA Programmable Acceleration Card D5005.

Paket izdaje ponuja naslednje tri sample AF:

  • Način NLB 0 AF: za izvedbo preizkusa lpbk1 zahteva pripomoček hello_fpga ali fpgadiag.
  • NLB način 3 AF: zahteva pripomoček fpgadiag za izvajanje preizkusov trupt, branja in pisanja.
  • Način NLB 0 stp AF: za izvedbo preizkusa lpbak1 zahteva pripomoček hello_fpga ali fpgadiag.
    Opomba: Nlb_mode_0_stp je enak AFU kot nlb_mode_0, vendar z omogočeno funkcijo odpravljanja napak Signal Tap.
    Pripomočka fpgadiag in hello_fpga pomagata ustreznemu AF pri diagnosticiranju, testiranju in poročanju o strojni opremi FPGA.

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

Slika 1. Native Loopback (nlb_lpbk.sv) Ovoj najvišje ravni

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

Tabela 4. NLB Files

File Ime Opis
nlb_lpbk.sv Ovoj najvišje ravni za NLB, ki instancira zahtevnika in razsodnika.
arbiter.sv Instancira preskusni AF.
requestor.sv Sprejema zahteve razsodnika in jih oblikuje v skladu s specifikacijo CCI-P. Izvaja tudi nadzor pretoka.
nlb_csr.sv Implementira 64-bitne registre za nadzor branja/pisanja in status (CSR). Registri podpirajo 32- in 64-bitno branje in pisanje.
nlb_gram_sdp.sv Implementira generični dual-port RAM z enim pisanjem in enim branjem.

NLB je referenčna izvedba AFU, ki je združljiva z referenčnim priročnikom Intel Acceleration Stack za procesor Intel Xeon z vmesnikom jedrnega predpomnilnika FPGA (CCI-P). Primarna funkcija NLB je preverjanje povezljivosti gostitelja z uporabo različnih vzorcev dostopa do pomnilnika. NLB meri tudi pasovno širino in zakasnitev pri branju/pisanju. Preizkus pasovne širine ima naslednje možnosti:

  • 100% prebrano
  • 100% napiši
  • 50 % bere in 50 % piše

Povezane informacije

  • Priročnik za hiter začetek Intel Acceleration Stack za programabilno kartico Intel Acceleration Card z Arria 10 GX FPGA
  • Referenčni priročnik za pospeševalni sklad za procesor Intel Xeon z vmesnikom jedrnega predpomnilnika FPGA (CCI-P)
  • Priročnik za hiter začetek Intel Acceleration Stack za Intel FPGA programljivo pospeševalno kartico D5005

Native Loopback Control in opis statusnega registra
Tabela 5. Imena, naslovi in ​​opisi CSR

 Bajtni naslov (OPAE) Beseda Naslov (CCI-P)  Dostop  Ime  širina  Opis
0x0000 0x0000 RO DFH 64 Glava funkcije naprave AF.
0x0008 0x0002 RO AFU_ID_L 64 AF ID nizek.
0x0010 0x0004 RO AFU_ID_H 64 AF ID visoko.
0x0018 0x0006 Rsvd CSR_DFH_RSVD0 64 Obvezno rezervirano 0.
0x0020 0x0008 RO CSR_DFH_RSVD1 64 Obvezno rezervirano 1.
0x0100 0x0040 RW CSR_SCRATCHPAD0 64 Register beležke 0.
0x0108 0x0042 RW CSR_SCRATCHPAD1 64 Register beležke 2.
0x0110 0x0044 RW CSR_AFU_DSM_BASE L 32 Nižjih 32-bitov osnovnega naslova AF DSM. Spodnjih 6 bitov je 4×00, ker je naslov poravnan z velikostjo vrstice predpomnilnika 64 bajtov.
0x0114 0x0045 RW CSR_AFU_DSM_BASE H 32 Zgornjih 32-bitov osnovnega naslova AF DSM.
0x0120 0x0048 RW CSR_SRC_ADDR 64 Začetni fizični naslov za izvorni medpomnilnik. Vse zahteve za branje ciljajo na to regijo.
0x0128 0x004A RW CSR_DST_ADDR 64 Začetni fizični naslov za ciljni medpomnilnik. Vse zahteve za pisanje so usmerjene na to regijo
0x0130 0x004C RW CSR_NUM_LINES 32 Število vrstic predpomnilnika.
0x0138 0x004E RW CSR_CTL 32 Nadzoruje potek preskusa, zagon, zaustavitev, prisilno dokončanje.
0x0140 0x0050 RW CSR_CFG 32 Konfigurira testne parametre.
0x0148 0x0052 RW CSR_INACT_THRESH 32 Omejitev praga neaktivnosti.
0x0150 0x0054 RW CSR_INTERRUPT0 32 SW dodeli ID prekinitve APIC in vektor napravi.
Zemljevid odmika DSM
0x0040 0x0010 RO DSM_STATUS 32 Status testa in register napak.

Tabela 6. Bitna polja CSR z Examples
Ta tabela navaja bitna polja CSR, ki so odvisna od vrednosti CSR_NUM_LINES, . V bivšemample spodaj = 14.

Ime Bitno polje Dostop Opis
CSR_SRC_ADDR [63:] RW 2^(N+6)MB poravnanega naslova kaže na začetek bralnega medpomnilnika.
[-1:0] RW 0x0.
CSR_DST_ADDR [63:] RW 2^(N+6)MB poravnanega naslova kaže na začetek zapisovalnega medpomnilnika.
[-1:0] RW 0x0.
CSR_NUM_LINES [31:] RW 0x0.
nadaljevanje ...
Ime Bitno polje Dostop Opis
  [-1:0] RW Število vrstic predpomnilnika za branje ali pisanje. Ta prag je lahko drugačen za vsak preskusni AF.

Opomba: Zagotovite, da sta izvorni in ciljni medpomnilnik dovolj velika, da sprejmeta vrstice predpomnilnika.

CSR_NUM_LINES mora biti manjše ali enako .

Za naslednje vrednosti predpostavimo =14. Nato CSR_SRC_ADDR in CSR_DST_ADDR sprejmeta 2^20 (0x100000).
CSR_SRC_ADDR [31:14] RW 1 MB poravnan naslov.
[13:0] RW 0x0.
CSR_DST_ADDR [31:14] RW 1 MB poravnan naslov.
[13:0] RW 0x0.
CSR_NUM_LINES [31:14] RW 0x0.
[13:0] RW Število vrstic predpomnilnika za branje ali pisanje. Ta prag je lahko drugačen za vsak preskusni AF.

Opomba: Zagotovite, da sta izvorni in ciljni medpomnilnik dovolj velika, da sprejmeta vrstice predpomnilnika.

Tabela 7. Dodatna bitna polja CSR

Ime Bitno polje Dostop Opis
CSR_CTL [31:3] RW Rezervirano.
[2] RW Prisilni zaključek preizkusa. Zapiše zastavico o zaključku preizkusa in druge števce uspešnosti v csr_stat. Po vsiljenem zaključku testa je stanje strojne opreme enako kot pri neizsiljenem zaključku testa.
[1] RW Začne izvajanje testa.
[0] RW Aktivna nizka preizkusna ponastavitev. Ko je nizka, se vsi konfiguracijski parametri spremenijo na privzete vrednosti.
CSR_CFG [29] RW cr_interrupt_testmode testira prekinitve. Ustvari prekinitev na koncu vsakega testa.
  [28] RW cr_interrupt_on_error pošlje prekinitev, ko pride do napake
      odkrivanje.
  [27:20] RW cr_test_cfg konfigurira vedenje vsakega preskusnega načina.
  [13:12] RW cr_chsel izbere virtualni kanal.
  [10:9] RW cr_rdsel konfigurira vrsto zahteve za branje. Kodiranja imajo
      naslednje veljavne vrednosti:
      • 1'b00: RdLine_S
      • 2'b01: RdLine_I
      • 2'b11: Mešani način
  [8] RW cr_delay_en omogoča naključno vstavljanje zakasnitve med zahtevami.
  [6:5] RW Konfigurira preskusni način, cr_multiCL-len. Veljavne vrednosti so 0,1 in 3.
  [4:2] RW cr_mode, konfigurira testni način. Veljavne so naslednje vrednosti:
      • 3'b000: LPBK1
      • 3'b001: Preberi
      • 3'b010: Pišite
      • 3'b011: TRPUT
nadaljevanje ...
Ime Bitno polje Dostop Opis
      Za več informacij o testnem načinu glejte Testni načini tema spodaj.
[1] RW c_cont izbere preskusno prevračanje ali prekinitev preskusa.

• Ko je 1'b0, se test zaključi. Posodobi status CSR, ko

Število CSR_NUM_LINES je doseženo.

• Ko je 1'b1, se preizkus premakne na začetni naslov, ko doseže število CSR_NUM_LINES. V načinu prevračanja se test konča le ob napaki.

[0] RW cr_wrthru_en preklaplja med vrstama zahtev WrLine_I in Wrline_M.

• 1'b0: WrLine_M

• 1'b1: WrLine_I

CSR_INACT_THRESHOLD [31:0] RW Omejitev praga neaktivnosti. Zazna trajanje zastojev med preskusnim zagonom. Šteje število zaporednih ciklov nedejavnosti. Če neaktivnost šteje

> CSR_INACT_THRESHOLD, nobena zahteva ni poslana, noben odgovor ni

prejel in nastavljen je signal inact_timeout. Zapisovanje 1 v CSR_CTL[1] aktivira ta števec.

CSR_INTERRUPT0 [23:16] RW Številka prekinitvenega vektorja za napravo.
[15:0] RW apic_id je APIC OD za napravo.
DSM_STATUS [511:256] RO Preizkusni način obrazca izpisa napake.
[255:224] RO End Overhead.
[223:192] RO Začni nad glavo.
[191:160] RO Število zapisov.
[159:128] RO Število branj.
[127:64] RO Število ur.
[63:32] RO Testni register napak.
[31:16] RO Primerjaj in izmenjaj števec uspehov.
[15:1] RO Enolični ID za vsako pisanje stanja DSM.
[0] RO Zastavica za dokončanje preizkusa.

Testni načini
CSR_CFG[4:2] konfigurira testni način. Na voljo so naslednji štirje testi:

  • LPBK1: To je test kopiranja spomina. AF kopira CSR_NUM_LINES iz izvornega medpomnilnika v ciljni medpomnilnik. Po končanem preizkusu programska oprema primerja izvorni in ciljni medpomnilnik.
  • Preberite: Ta preizkus poudarja pot branja in meri pasovno širino ali zakasnitev branja. AF bere CSR_NUM_LINES od CSR_SRC_ADDR. To je samo preizkus pasovne širine ali zakasnitve. Ne preverja prebranih podatkov.
  • Napišite: Ta preizkus poudarja pisalno pot in meri pasovno širino pisanja ali zakasnitev. AF bere CSR_NUM_LINES od CSR_SRC_ADDR. To je samo preizkus pasovne širine ali zakasnitve. Ne preverja zapisanih podatkov.
  • TRPUT: Ta test združuje branje in pisanje. Bere CSR_NUM_LINES od lokacije CSR_SRC_ADDR in zapisuje CSR_NUM_LINES v CSR_SRC_ADDR. Meri tudi pasovno širino za branje in pisanje. Ta test ne preverja podatkov. Branje in pisanje nimata nobenih odvisnosti

Naslednja tabela prikazuje kodiranja CSR_CFG za štiri teste. Ta tabela določa in CSR_NUM_LINES, =14. Število vrstic predpomnilnika lahko spremenite tako, da posodobite register CSR_NUM_LINES.

Tabela 8. Testni načini

Diagnostika FPGA: fpgadiag
Pripomoček fpgadiag vključuje več testov za diagnosticiranje, testiranje in poročanje o strojni opremi FPGA. Za zagon vseh testnih načinov uporabite pripomoček fpgadiag. Za več informacij o uporabi pripomočka fpgadiag glejte razdelek fpgadiag v Vodniku po orodjih Open Programmable Acceleration Engine (OPAE).

NLB Mode0 Hello_FPGA Test Flow

  1. Programska oprema inicializira pomnilnik stanja naprave (DSM) na nič.
  2. Programska oprema zapiše naslov DSM BASE v AFU. CSR Write(DSM_BASE_H), CSRWrite(DSM_BASE_L)
  3. Programska oprema pripravi izvorni in ciljni medpomnilnik. Ta pripravek je specifičen za test.
  4. Programska oprema zapiše CSR_CTL[2:0]= 0x1. To pisanje vrne test iz ponastavitve v konfiguracijski način. Konfiguracija se lahko nadaljuje le, če CSR_CTL[0]=1 & CSR_CTL[1]=1.
  5. Programska oprema konfigurira testne parametre, kot so src, destaddress, csr_cfg, num lines itd.
  6. CSR programske opreme zapiše CSR_CTL[2:0]= 0x3. AF začne z izvajanjem testa.
  7. Zaključek preizkusa:
    • Strojna oprema se zaključi, ko se preskus zaključi ali zazna napako. Po zaključku strojni AF posodobi DSM_STATUS. Programska oprema anketira DSM_STATUS[31:0]==1 za zaznavanje zaključka preizkusa.
    • Programska oprema lahko vsili dokončanje testa tako, da zapiše CSR writes CSR_CTL[2:0]=0x7. AF strojne opreme posodobi DSM_STATUS.

Zgodovina revizij dokumenta za uporabniški priročnik funkcionalne enote Native Loopback Accelerator (AFU)

Različica dokumenta Intelov pospešek Različica sklada Spremembe
 2019.08.05 2.0 (podprto z Intel

Quartus Prime Pro Edition

18.1.2) in 1.2 (podprto z

Intel Quartus Prime Pro Edition 17.1.1)

Dodana podpora za platformo Intel FPGA PAC D5005 v trenutni izdaji.
 2018.12.04 1.2 (podprto z Intel

Quartus® Prime Pro Edition 17.1.1)

Izpust za vzdrževanje.
  2018.08.06 1.1 (podprto z Intel

Quartus Prime Pro Edition

17.1.1) in 1.0 (podprto z

Intel Quartus Prime Pro Edition 17.0.0)

Posodobljena lokacija izvorne kode za NLB sample AFU in NLB Sample Funkcija pospeševalnika (AF) razdelek.
 2018.04.11 1.0 (podprto z Intel

Quartus Prime Pro Edition 17.0.0)

Začetna izdaja.

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

Dokumenti / Viri

Funkcijska enota intel Native Loopback Accelerator (AFU) [pdf] Uporabniški priročnik
Funkcionalna enota pospeševalnika izvorne povratne zanke AFU, izvorna povratna zanka, funkcijska enota pospeševalnika AFU, funkcionalna enota AFU

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *