Funkcijska enota intel Native Loopback Accelerator (AFU)
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
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
- Programska oprema inicializira pomnilnik stanja naprave (DSM) na nič.
- Programska oprema zapiše naslov DSM BASE v AFU. CSR Write(DSM_BASE_H), CSRWrite(DSM_BASE_L)
- Programska oprema pripravi izvorni in ciljni medpomnilnik. Ta pripravek je specifičen za test.
- 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.
- Programska oprema konfigurira testne parametre, kot so src, destaddress, csr_cfg, num lines itd.
- CSR programske opreme zapiše CSR_CTL[2:0]= 0x3. AF začne z izvajanjem testa.
- 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 |