intel Native Loopback Accelerator Functional Unit (AFU)
O ovom dokumentu
konvencije
Tablica 1. Konvencije dokumenata
Konvencija | Opis |
# | Prethodi naredbi koja označava da se naredba treba unijeti kao root. |
$ | Označava da naredbu treba unijeti kao korisnik. |
Ovaj font | Fileimena, naredbe i ključne riječi ispisani su ovim fontom. Dugi naredbeni redovi ispisani su ovim fontom. Iako dugi naredbeni redovi mogu prelaziti u sljedeći redak, povratak nije dio naredbe; nemojte pritisnuti enter. |
Označava da se tekst rezerviranog mjesta koji se pojavljuje između uglastih zagrada mora zamijeniti odgovarajućom vrijednošću. Nemojte unositi uglaste zagrade. |
Akronimi
Tablica 2. Akronimi
Akronimi | Ekspanzija | Opis |
AF | Funkcija akceleratora | Prevedena slika hardverskog akceleratora implementirana u FPGA logici koja ubrzava aplikaciju. |
AFU | Funkcionalna jedinica akceleratora | Hardverski akcelerator implementiran u FPGA logici koja rasterećuje računalne operacije za aplikaciju s CPU-a radi poboljšanja performansi. |
API | Programsko sučelje aplikacije | Skup definicija potprograma, protokola i alata za izradu softverskih aplikacija. |
ASE | AFU simulacijsko okruženje | Kosimulacijsko okruženje koje vam omogućuje korištenje iste glavne aplikacije i AF-a u simulacijskom okruženju. ASE je dio Intel® Acceleration Stack za FPGA. |
CCI-P | Core Cache sučelje | CCI-P je standardno sučelje koje AFU-ovi koriste za komunikaciju s glavnim računalom. |
CL | Linija predmemorije | 64-bajtna linija predmemorije |
DFH | Zaglavlje značajki uređaja | Stvara povezani popis zaglavlja značajki za pružanje proširivog načina dodavanja značajki. |
FIM | Upravitelj FPGA sučelja | FPGA hardver koji sadrži jedinicu FPGA sučelja (FIU) i vanjska sučelja za memoriju, umrežavanje itd.
Funkcija akceleratora (AF) povezuje se s FIM-om tijekom izvođenja. |
FOJ | FPGA jedinica sučelja | FIU je sloj sučelja platforme koji djeluje kao most između sučelja platforme kao što su PCIe*, UPI i AFU-side sučelja kao što je CCI-P. |
nastavak… |
Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
Akronimi | Ekspanzija | Opis |
MPF | Tvornica svojstava memorije | MPF je osnovni sastavni blok (BBB) koji AFU-ovi mogu koristiti za pružanje CCI-P operacija oblikovanja prometa za transakcije s FIU. |
Msg | Poruka | Poruka – kontrolna obavijest |
NLB | Izvorna petlja | NLB obavlja čitanje i pisanje na CCI-P vezu za testiranje povezivosti i propusnosti. |
RdLine_I | Read Line Invalid | Zahtjev za čitanje memorije, sa savjetom FPGA predmemorije postavljenim na nevažeći. Linija nije predmemorirana u FPGA, ali može uzrokovati onečišćenje predmemorije FPGA.
Bilješka: Predmemorija tag prati status zahtjeva za sve neriješene zahtjeve na Intel Ultra Path Interconnect (Intel UPI). Stoga, iako je RdLine_I označen kao nevažeći nakon završetka, on troši predmemoriju tag privremeno za praćenje statusa zahtjeva putem UPI-ja. Ova radnja može rezultirati izbacivanjem retka predmemorije, što dovodi do onečišćenja predmemorije. Napredaktage korištenja RdLine_I je da ga ne prati CPU direktorij; stoga sprječava njuškanje iz CPU-a. |
RdLine-S | Read Line Shared | Zahtjev za čitanje memorije sa savjetom FPGA predmemorije postavljenim na zajednički. Pokušava se zadržati u FPGA predmemoriji u zajedničkom stanju. |
WrLine_I | Nevažeći redak pisanja | Zahtjev za pisanje u memoriju, sa savjetom FPGA predmemorije postavljenim na Nevažeće. FIU zapisuje podatke bez namjere da ih zadrži u FPGA cacheu. |
WrLine_M | Napiši modificirani redak | Zahtjev za pisanje u memoriju, sa savjetom FPGA predmemorije postavljenim na Modificirano. FIU zapisuje podatke i ostavlja ih u FPGA cacheu u modificiranom stanju. |
Glosar ubrzanja
Tablica 3. Skup ubrzanja za Intel Xeon® CPU s FPGA Rječnikom
Termin | Kratica | Opis |
Intel Acceleration Stack za Intel Xeon® CPU s FPGA | Stog ubrzanja | Zbirka softvera, firmvera i alata koji pružaju povezivanje optimizirano za performanse između Intel FPGA i Intel Xeon procesora. |
Intel FPGA programabilna kartica za ubrzanje (Intel FPGA PAC) | Intel FPGA PAC | PCIe FPGA akceleratorska kartica. Sadrži FPGA Interface Manager (FIM) koji se spaja s Intel Xeon procesorom preko PCIe sabirnice. |
Funkcionalna jedinica Native Loopback Accelerator (AFU)
Native Loopback (NLB) AFU Overview
- NLB sample AFU-ovi se sastoje od skupa Veriloga i Veriloga sustava files za testiranje čitanja i pisanja memorije, propusnosti i latencije.
- Ovaj paket uključuje tri AFU-a koje možete izgraditi iz istog RTL izvora. Vaša konfiguracija RTL izvornog koda stvara ove AFU-ove.
NLB Sample Funkcija akceleratora (AF)
$OPAE_PLATFORM_ROOT/hw/sampdirektorij les pohranjuje izvorni kod za sljedeće NLB-oveample AFUs:
- nlb_način_0
- nlb_mode_0_stp
- nlb_način_3
Bilješka: $DCP_LOC/hw/sampdirektorij les pohranjuje NLB sample AFUs izvorni kod za paket izdanja 1.0.
Da biste razumjeli NLB sample strukturu izvornog koda AFU i kako ga izgraditi, pogledajte jedan od sljedećih vodiča za brzi početak (ovisno o tome koji Intel FPGA PAC koristite):
- Ako koristite Intel PAC s Intel Arria® 10 GX FPGA, pogledajte Intel Programmable Acceleration Card s Intel Arria 10 GX FPGA.
- Ako koristite Intel FPGA PAC D5005, pogledajte Intel Acceleration Stack Quick Start Guide za Intel FPGA programabilnu karticu za ubrzanje D5005.
Paket izdanja nudi sljedeća tri sample AFs:
- NLB način rada 0 AF: zahtijeva uslužni program hello_fpga ili fpgadiag za izvođenje testa lpbk1.
- NLB način 3 AF: zahtijeva uslužni program fpgadiag za izvođenje testova trupt, čitanja i pisanja.
- NLB način rada 0 stp AF: zahtijeva uslužni program hello_fpga ili fpgadiag za izvođenje testa lpbak1.
Bilješka: Nlb_mode_0_stp je isti AFU kao nlb_mode_0, ali s omogućenom značajkom otklanjanja pogrešaka Signal Tap.
Pomoćni programi fpgadiag i hello_fpga pomažu odgovarajućem AF-u u dijagnosticiranju, testiranju i izvješćivanju o FPGA hardveru.
Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
Slika 1. Native Loopback (nlb_lpbk.sv) omotač najviše razine
Tablica 4. NLB Files
File Ime | Opis |
nlb_lpbk.sv | Omotač najviše razine za NLB koji instancira podnositelja zahtjeva i arbitra. |
arbitar.sv | Instancira test AF. |
tražitelj.sv | Prihvaća zahtjeve od arbitra i formatira zahtjeve prema CCI-P specifikaciji. Također provodi kontrolu protoka. |
nlb_csr.sv | Implementira 64-bitne registre kontrole čitanja/pisanja i statusa (CSR). Registri podržavaju i 32- i 64-bitno čitanje i pisanje. |
nlb_gram_sdp.sv | Implementira generički dual-port RAM s jednim portom za pisanje i jednim portom za čitanje. |
NLB je referentna implementacija AFU kompatibilnog s referentnim priručnikom Intel Acceleration Stack za Intel Xeon CPU s FPGA sučeljem jezgre predmemorije (CCI-P). Primarna funkcija NLB-a je provjera povezivosti glavnog računala pomoću različitih obrazaca pristupa memoriji. NLB također mjeri propusnost i latenciju čitanja/pisanja. Test propusnosti ima sljedeće opcije:
- 100% pročitano
- 100% pisati
- 50% čita i 50% piše
Povezane informacije
- Vodič za brzi početak Intel Acceleration Stack za Intel programabilnu karticu za ubrzanje s Arria 10 GX FPGA
- Referentni priručnik za skup ubrzanja za Intel Xeon CPU s FPGA sučeljem predmemorije jezgre (CCI-P)
- Vodič za brzi početak Intel Acceleration Stack za Intel FPGA programabilnu karticu za ubrzanje D5005
Native Loopback kontrola i opis statusnog registra
Tablica 5. CSR nazivi, adrese i opisi
Adresa bajta (OPAE) | Riječ Adresa (CCI-P) | Pristup | Ime | Širina | Opis |
0x0000 | 0x0000 | RO | DFH | 64 | Zaglavlje značajke AF uređaja. |
0x0008 | 0x0002 | RO | AFU_ID_L | 64 | AF ID nizak. |
0x0010 | 0x0004 | RO | AFU_ID_H | 64 | AF ID visok. |
0x0018 | 0x0006 | Rsvd | CSR_DFH_RSVD0 | 64 | Obavezno rezervirano 0. |
0x0020 | 0x0008 | RO | CSR_DFH_RSVD1 | 64 | Obavezno rezervirano 1. |
0x0100 | 0x0040 | RW | CSR_SCRATCHPAD0 | 64 | Scratchpad registar 0. |
0x0108 | 0x0042 | RW | CSR_SCRATCHPAD1 | 64 | Scratchpad registar 2. |
0x0110 | 0x0044 | RW | CSR_AFU_DSM_BASE L | 32 | Nižih 32 bita osnovne adrese AF DSM. Donjih 6 bitova je 4×00 jer je adresa usklađena s veličinom retka predmemorije od 64 bajta. |
0x0114 | 0x0045 | RW | CSR_AFU_DSM_BASE H | 32 | Gornjih 32 bita osnovne adrese AF DSM. |
0x0120 | 0x0048 | RW | CSR_SRC_ADDR | 64 | Početna fizička adresa za izvorni međuspremnik. Svi zahtjevi za čitanje ciljaju ovu regiju. |
0x0128 | 0x004A | RW | CSR_DST_ADDR | 64 | Početna fizička adresa za odredišni međuspremnik. Svi zahtjevi za pisanje ciljaju ovu regiju |
0x0130 | 0x004C | RW | CSR_NUM_LINES | 32 | Broj redaka predmemorije. |
0x0138 | 0x004E | RW | CSR_CTL | 32 | Upravlja protokom testa, pokretanjem, zaustavljanjem, prisilnim završetkom. |
0x0140 | 0x0050 | RW | CSR_CFG | 32 | Konfigurira parametre testa. |
0x0148 | 0x0052 | RW | CSR_INACT_THRESH | 32 | Ograničenje praga neaktivnosti. |
0x0150 | 0x0054 | RW | CSR_INTERRUPT0 | 32 | SW dodjeljuje Interrupt APIC ID i Vector uređaju. |
DSM mapa pomaka | |||||
0x0040 | 0x0010 | RO | DSM_STATUS | 32 | Status testa i registar grešaka. |
Tablica 6. CSR bit polja s Examples
Ova tablica navodi bitna polja CSR koja ovise o vrijednosti CSR_NUM_LINES, . U example ispod = 14.
Ime | Bitno polje | Pristup | Opis |
CSR_SRC_ADDR | [63:] | RW | 2^(N+6)MB poravnate adrese pokazuju na početak međuspremnika za čitanje. |
[-1:0] | RW | 0x0. | |
CSR_DST_ADDR | [63:] | RW | 2^(N+6)MB poravnate adrese pokazuju na početak međuspremnika za pisanje. |
[-1:0] | RW | 0x0. | |
CSR_NUM_LINES | [31:] | RW | 0x0. |
nastavak… |
Ime | Bitno polje | Pristup | Opis |
[-1:0] | RW | Broj redaka predmemorije za čitanje ili pisanje. Ovaj prag može biti različit za svaki test AF.
Bilješka: Osigurajte da su izvorni i odredišni međuspremnici dovoljno veliki za smještaj redovi predmemorije. CSR_NUM_LINES treba biti manji ili jednak . |
|
Za sljedeće vrijednosti pretpostavite =14. Zatim, CSR_SRC_ADDR i CSR_DST_ADDR prihvaćaju 2^20 (0x100000). | |||
CSR_SRC_ADDR | [31:14] | RW | 1MB usklađena adresa. |
[13:0] | RW | 0x0. | |
CSR_DST_ADDR | [31:14] | RW | 1MB usklađena adresa. |
[13:0] | RW | 0x0. | |
CSR_NUM_LINES | [31:14] | RW | 0x0. |
[13:0] | RW | Broj redaka predmemorije za čitanje ili pisanje. Ovaj prag može biti različit za svaki test AF.
Bilješka: Osigurajte da su izvorni i odredišni međuspremnici dovoljno veliki za smještaj redovi predmemorije. |
Tablica 7. Dodatna CSR bit polja
Ime | Bitno polje | Pristup | Opis |
CSR_CTL | [31:3] | RW | Rezervirano. |
[2] | RW | Force test dovršetak. Zapisuje oznaku završetka testa i druge brojače performansi u csr_stat. Nakon prisilnog završetka testa, stanje hardvera je identično neforsiranom završetku testa. | |
[1] | RW | Započinje izvođenje testa. | |
[0] | RW | Aktivno nisko testno resetiranje. Kada je nizak, svi konfiguracijski parametri mijenjaju se na zadane vrijednosti. | |
CSR_CFG | [29] | RW | cr_interrupt_testmode testira prekide. Generira prekid na kraju svakog testa. |
[28] | RW | cr_interrupt_on_error šalje prekid kada dođe do pogreške | |
otkrivanje. | |||
[27:20] | RW | cr_test_cfg konfigurira ponašanje svakog načina testiranja. | |
[13:12] | RW | cr_chsel odabire virtualni kanal. | |
[10:9] | RW | cr_rdsel konfigurira vrstu zahtjeva za čitanje. Kodiranja imaju | |
sljedeće važeće vrijednosti: | |||
• 1'b00: RdLine_S | |||
• 2'b01: RdLine_I | |||
• 2'b11: Mješoviti način | |||
[8] | RW | cr_delay_en omogućuje nasumično umetanje odgode između zahtjeva. | |
[6:5] | RW | Konfigurira način testiranja, cr_multiCL-len. Važeće vrijednosti su 0,1 i 3. | |
[4:2] | RW | cr_mode, konfigurira testni mod. Sljedeće vrijednosti su važeće: | |
• 3'b000: LPBK1 | |||
• 3'b001: Pročitajte | |||
• 3'b010: Napiši | |||
• 3'b011: TRPUT | |||
nastavak… |
Ime | Bitno polje | Pristup | Opis |
Za više informacija o načinu testiranja pogledajte Načini testiranja tema u nastavku. | |||
[1] | RW | c_cont odabire prebacivanje testa ili prekid testa.
• Kada je 1'b0, test se završava. Ažurira status CSR kada Dosegnut je broj CSR_NUM_LINES. • Kada je 1'b1, test se prebacuje na početnu adresu nakon što dosegne broj CSR_NUM_LINES. U načinu prevrtanja, test se završava samo u slučaju pogreške. |
|
[0] | RW | cr_wrthru_en prebacuje između vrsta zahtjeva WrLine_I i Wrline_M.
• 1'b0: WrLine_M • 1'b1: WrLine_I |
|
CSR_INACT_THRESHOLD | [31:0] | RW | Ograničenje praga neaktivnosti. Otkriva trajanje zastoja tijekom probnog rada. Broji broj uzastopnih ciklusa mirovanja. Ako se računa neaktivnost
> CSR_INACT_THRESHOLD, zahtjevi nisu poslani, nema odgovora primljen, a postavljen je signal inact_timeout. Zapisivanje 1 u CSR_CTL[1] aktivira ovaj brojač. |
CSR_INTERRUPT0 | [23:16] | RW | Broj vektora prekida za uređaj. |
[15:0] | RW | apic_id je APIC OD za uređaj. | |
DSM_STATUS | [511:256] | RO | Testni način ispisa obrasca pogreške. |
[255:224] | RO | End Overhead. | |
[223:192] | RO | Pokrenite iznad glave. | |
[191:160] | RO | Broj zapisa. | |
[159:128] | RO | Broj čitanja. | |
[127:64] | RO | Broj satova. | |
[63:32] | RO | Registar pogrešaka testa. | |
[31:16] | RO | Usporedite i razmijenite brojač uspjeha. | |
[15:1] | RO | Jedinstveni ID za svako pisanje DSM statusa. | |
[0] | RO | Oznaka završetka testa. |
Načini testiranja
CSR_CFG[4:2] konfigurira način testiranja. Dostupna su sljedeća četiri testa:
- LPBK1: Ovo je test kopiranja memorije. AF kopira CSR_NUM_LINES iz izvornog međuspremnika u odredišni međuspremnik. Nakon završetka testa, softver uspoređuje izvorni i odredišni međuspremnik.
- Pročitajte: Ovaj test naglašava put čitanja i mjeri propusnost čitanja ili latenciju. AF čita CSR_NUM_LINES počevši od CSR_SRC_ADDR. Ovo je samo test propusnosti ili latencije. Ne provjerava očitane podatke.
- Pisati: Ovaj test naglašava putanju pisanja i mjeri propusnost pisanja ili latenciju. AF čita CSR_NUM_LINES počevši od CSR_SRC_ADDR. Ovo je samo test propusnosti ili latencije. Ne provjerava upisane podatke.
- TRPUT: Ovaj test kombinira čitanje i pisanje. Čita CSR_NUM_LINES počevši od lokacije CSR_SRC_ADDR i zapisuje CSR_NUM_LINES do CSR_SRC_ADDR. Također mjeri propusnost čitanja i pisanja. Ovaj test ne provjerava podatke. Čitanje i pisanje nemaju ovisnosti
Sljedeća tablica prikazuje CSR_CFG kodiranja za četiri testa. Ova tablica postavlja i CSR_NUM_LINES, =14. Možete promijeniti broj redova predmemorije ažuriranjem registra CSR_NUM_LINES.
Tablica 8. Načini testiranja
FPGA dijagnostika: fpgadiag
Uslužni program fpgadiag uključuje nekoliko testova za dijagnosticiranje, testiranje i izvješćivanje o FPGA hardveru. Upotrijebite uslužni program fpgadiag za pokretanje svih načina testiranja. Za više informacija o korištenju uslužnog programa fpgadiag, pogledajte odjeljak fpgadiag u Vodiču za alate Open Programmable Acceleration Engine (OPAE).
NLB Mode0 Hello_FPGA Test Flow
- Softver inicijalizira memoriju statusa uređaja (DSM) na nulu.
- Softver zapisuje DSM BASE adresu u AFU. CSR pisanje (DSM_BASE_H), CSR pisanje (DSM_BASE_L)
- Softver priprema izvorni i odredišni memorijski međuspremnik. Ovaj pripravak je specifičan za test.
- Softver piše CSR_CTL[2:0]= 0x1. Ovo pisanje dovodi test iz resetiranja u konfiguracijski mod. Konfiguracija se može nastaviti samo kada CSR_CTL[0]=1 & CSR_CTL[1]=1.
- Softver konfigurira testne parametre, kao što su src, destaddress, csr_cfg, num lines, i tako dalje.
- Softverski CSR piše CSR_CTL[2:0]= 0x3. AF počinje s izvođenjem testa.
- Završetak testa:
- Hardver završava kada test završi ili otkrije pogrešku. Nakon završetka, hardverski AF ažurira DSM_STATUS. Softver ispituje DSM_STATUS[31:0]==1 za otkrivanje završetka testa.
- Softver može prisiliti dovršetak testa pisanjem CSR writes CSR_CTL[2:0]=0x7. Hardverski AF ažurira DSM_STATUS.
Povijest revizija dokumenta za korisnički priručnik funkcionalne jedinice Native Loopback Accelerator (AFU)
Verzija dokumenta | Intelovo ubrzanje Verzija skupa | Promjene |
2019.08.05 | 2.0 (podržava Intel
Quartus Prime Pro Edition 18.1.2) i 1.2 (podržano sa Intel Quartus Prime Pro Edition 17.1.1) |
Dodana podrška za Intel FPGA PAC D5005 platformu u trenutnom izdanju. |
2018.12.04 | 1.2 (podržava Intel
Quartus® Prime Pro Edition 17.1.1) |
Otpuštanje za održavanje. |
2018.08.06 | 1.1 (podržava Intel
Quartus Prime Pro Edition 17.1.1) i 1.0 (podržano sa Intel Quartus Prime Pro Edition 17.0.0) |
Ažurirano je mjesto izvornog koda za NLB sample AFU u NLB Sample Funkcija akceleratora (AF) odjeljak. |
2018.04.11 | 1.0 (podržava Intel
Quartus Prime Pro Edition 17.0.0) |
Početno izdanje. |
Intel Corporation. Sva prava pridržana. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Intel jamči performanse svojih FPGA i poluvodičkih proizvoda prema trenutnim specifikacijama u skladu s Intelovim standardnim jamstvom, ali zadržava pravo izmjene bilo kojeg proizvoda i usluge u bilo koje vrijeme bez prethodne najave. Intel ne preuzima nikakvu odgovornost niti obvezu proizašlu iz primjene ili upotrebe bilo koje informacije, proizvoda ili usluge opisane ovdje, osim ako je Intel izričito pismeno pristao. Intelovim kupcima savjetuje se da nabave najnoviju verziju specifikacija uređaja prije nego što se pouzdaju u bilo kakve objavljene informacije i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
Dokumenti / Resursi
![]() |
intel Native Loopback Accelerator Functional Unit (AFU) [pdf] Korisnički priručnik Native Loopback Accelerator Function Unit AFU, Native Loopback, Accelerator Functional Unit AFU, Functional Unit AFU |