intel-LOGO

intel Native Loopback Accelerator Functional Unit (AFU)

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

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

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

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

  1. Softver inicijalizira memoriju statusa uređaja (DSM) na nulu.
  2. Softver zapisuje DSM BASE adresu u AFU. CSR pisanje (DSM_BASE_H), CSR pisanje (DSM_BASE_L)
  3. Softver priprema izvorni i odredišni memorijski međuspremnik. Ovaj pripravak je specifičan za test.
  4. 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.
  5. Softver konfigurira testne parametre, kao što su src, destaddress, csr_cfg, num lines, i tako dalje.
  6. Softverski CSR piše CSR_CTL[2:0]= 0x3. AF počinje s izvođenjem testa.
  7. 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

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *