intel-LOGO

intel Native Loopback Accelerator Functional Unit (AFU)

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

Om dette dokument

Konventioner
Tabel 1. Dokumentkonventioner

Konvention Beskrivelse
# Går forud for en kommando, der angiver, at kommandoen skal indtastes som root.
$ Angiver, at en kommando skal indtastes som bruger.
Denne skrifttype Filenavne, kommandoer og nøgleord udskrives med denne skrifttype. Lange kommandolinjer udskrives med denne skrifttype. Selvom lange kommandolinjer kan ombrydes til næste linje, er returneringen ikke en del af kommandoen; tryk ikke på enter.
Angiver, at pladsholderteksten, der vises mellem vinkelparenteserne, skal erstattes med en passende værdi. Indtast ikke vinkelbeslagene.

Akronymer
Tabel 2. Akronymer

Akronymer Udvidelse Beskrivelse
AF Accelerator funktion Kompileret Hardware Accelerator-billede implementeret i FPGA-logik, der accelererer en applikation.
AFU Accelerator funktionel enhed Hardwareaccelerator implementeret i FPGA-logik, som aflaster en beregningsoperation for en applikation fra CPU'en for at forbedre ydeevnen.
API Applikationsprogrammeringsgrænseflade Et sæt subrutinedefinitioner, protokoller og værktøjer til opbygning af softwareapplikationer.
ASE AFU Simuleringsmiljø Co-simuleringsmiljø, der giver dig mulighed for at bruge den samme værtsapplikation og AF i et simuleringsmiljø. ASE er en del af Intel® Acceleration Stack til FPGA'er.
CCI-P Core Cache Interface CCI-P er standardgrænsefladen AFU'er bruger til at kommunikere med værten.
CL Cache linje 64-byte cache linje
DFH Enhedsfunktionshoved Opretter en sammenkædet liste over funktionsoverskrifter for at give en udvidelsesbar måde at tilføje funktioner på.
FIM FPGA Interface Manager FPGA-hardwaren, der indeholder FPGA Interface Unit (FIU) og eksterne grænseflader til hukommelse, netværk osv.

Acceleratorfunktionen (AF) har grænseflader med FIM'en under kørsel.

FIU FPGA Interface enhed FIU er et platformsgrænsefladelag, der fungerer som en bro mellem platformsgrænseflader som PCIe*, UPI og AFU-sidegrænseflader såsom CCI-P.
fortsatte…

Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet og andre Intel-mærker er varemærker tilhørende Intel Corporation eller dets datterselskaber. Intel garanterer ydeevnen af ​​sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af ​​oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester. *Andre navne og mærker kan hævdes at være andres ejendom.

Akronymer Udvidelse Beskrivelse
MPF Hukommelsesegenskaber Fabrik MPF er en Basic Building Block (BBB), som AFU'er kan bruge til at levere CCI-P trafikformende operationer for transaktioner med FIU'en.
Msg Besked Besked – en kontrolmeddelelse
NLB Native Loopback NLB udfører læsninger og skrivninger til CCI-P-linket for at teste forbindelse og gennemløb.
RdLine_I Læs linje ugyldig Hukommelseslæseanmodning, med FPGA-cache-tip indstillet til ugyldig. Linjen er ikke cachelagret i FPGA'en, men kan forårsage FPGA-cacheforurening.

Note: Cachen tag sporer anmodningsstatus for alle udestående anmodninger på Intel Ultra Path Interconnect (Intel UPI).

Derfor, selvom RdLine_I er markeret som ugyldig ved afslutning, forbruger den cachen tag midlertidigt for at spore anmodningsstatus over UPI. Denne handling kan resultere i udsættelse af en cache-linje, hvilket resulterer i cache-forurening. Advanentage ved at bruge RdLine_I er, at det ikke spores af CPU-biblioteket; dermed forhindrer det snooping fra CPU.

RdLine-S Læs linje delt Hukommelseslæseanmodning med FPGA-cache-tip indstillet til delt. Der gøres et forsøg på at holde det i FPGA-cachen i en delt tilstand.
WrLine_I Skriv linje ugyldig Memory Write Request, med FPGA-cache-tip indstillet til Ugyldig. FIU'en skriver dataene uden intentioner om at beholde dataene i FPGA-cache.
WrLine_M Skriv linje ændret Memory Write Request, med FPGA-cache-tip indstillet til Modified. FIU'en skriver dataene og efterlader dem i FPGA-cachen i en modificeret tilstand.

Accelerationsordliste
Tabel 3. Accelerationsstak for Intel Xeon® CPU med FPGA'er Ordliste

Semester Forkortelse Beskrivelse
Intel Acceleration Stack til Intel Xeon® CPU med FPGA'er Accelerationsstak En samling af software, firmware og værktøjer, der giver ydeevneoptimeret forbindelse mellem en Intel FPGA og en Intel Xeon-processor.
Intel FPGA programmerbart accelerationskort (Intel FPGA PAC) Intel FPGA PAC PCIe FPGA acceleratorkort. Indeholder en FPGA Interface Manager (FIM), der parres med en Intel Xeon-processor over PCIe-bussen.

Native Loopback Accelerator Functional Unit (AFU)

Native Loopback (NLB) AFU Overview

  • NLB'erneample AFU'er omfatter et sæt af Verilog og System Verilog files for at teste hukommelseslæsninger og -skrivninger, båndbredde og latens.
  • Denne pakke indeholder tre AFU'er, som du kan bygge fra den samme RTL-kilde. Din konfiguration af RTL-kildekoden skaber disse AFU'er.

NLB Sample Accelerator Funktion (AF)
$OPAE_PLATFORM_ROOT/hw/samples bibliotek gemmer kildekoden til følgende NLB'erample AFU'er:

  • nlb_mode_0
  • nlb_mode_0_stp
  • nlb_mode_3

Note: $DCP_LOC/hw/samples bibliotek gemmer NLB'erneample AFUs kildekode til 1.0-udgivelsespakken.

For at forstå NLB'erneampFor AFU-kildekodestrukturen, og hvordan den opbygges, henvises til en af ​​følgende Quick Start Guides (afhængigt af hvilken Intel FPGA PAC du bruger):

  • Hvis du bruger Intel PAC med Intel Arria® 10 GX FPGA, skal du se IntelProgrammable Acceleration Card med Intel Arria 10 GX FPGA.
  • Hvis du bruger Intel FPGA PAC D5005, skal du se Intel Acceleration Stack Quick Start Guide til Intel FPGA Programmable Acceleration Card D5005.

Udgivelsespakken indeholder følgende tre sample AF'er:

  • NLB-tilstand 0 AF: kræver hello_fpga eller fpgadiag-værktøj for at udføre lpbk1-testen.
  • NLB-tilstand 3 AF: kræver fpgadiag-værktøj til at udføre trupt-, læse- og skrivetests.
  • NLB-tilstand 0 stp AF: kræver hello_fpga eller fpgadiag-værktøj for at udføre lpbak1-testen.
    Note: nlb_mode_0_stp er den samme AFU som nlb_mode_0, men med Signal Tap debug-funktionen aktiveret.
    Hjælpeprogrammerne fpgadiag og hello_fpga hjælper den relevante AF med at diagnosticere, teste og rapportere om FPGA-hardwaren.

Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet og andre Intel-mærker er varemærker tilhørende Intel Corporation eller dets datterselskaber. Intel garanterer ydeevnen af ​​sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af ​​oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester. *Andre navne og mærker kan hævdes at være andres ejendom.

Figur 1. Native Loopback (nlb_lpbk.sv) Top Level Wrapper

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

Tabel 4. NLB Files

File Navn Beskrivelse
nlb_lpbk.sv Indpakning på øverste niveau til NLB, der instansierer anmoderen og dommeren.
arbiter.sv Instantierer test-AF.
requestor.sv Accepterer anmodninger fra dommeren og formaterer anmodningerne i henhold til CCI-P-specifikationen. Implementerer også flowkontrol.
nlb_csr.sv Implementerer et 64-bit læse/skrive kontrol- og statusregistre (CSR). Registrene understøtter både 32- og 64-bit læsning og skrivning.
nlb_gram_sdp.sv Implementerer en generisk dual-port RAM med en skriveport og en læseport.

NLB er en referenceimplementering af en AFU, der er kompatibel med Intel Acceleration Stack for Intel Xeon CPU med FPGAs Core Cache Interface (CCI-P) referencemanual. NLB's primære funktion er at validere værtsforbindelse ved hjælp af forskellige hukommelsesadgangsmønstre. NLB måler også båndbredde og læse/skriveforsinkelse. Båndbreddetesten har følgende muligheder:

  • 100% læst
  • 100% skriver
  • 50 % læser og 50 % skriver

Relateret information

  • Intel Acceleration Stack Quick Start Guide til Intel Programmerbart Acceleration Card med Arria 10 GX FPGA
  • Accelerationsstak til Intel Xeon CPU med FPGA'er Core Cache Interface (CCI-P) Referencemanual
  • Intel Acceleration Stack Quick Start Guide til Intel FPGA Programmable Acceleration Card D5005

Native Loopback-kontrol og statusregisterbeskrivelser
Tabel 5. CSR-navne, adresser og beskrivelser

 Byte-adresse (OPAE) Ord adresse (CCI-P)  Adgang  Navn  Bredde  Beskrivelse
0x0000 0x0000 RO DFH 64 AF-enhedsfunktionshoved.
0x0008 0x0002 RO AFU_ID_L 64 AF ID lavt.
0x0010 0x0004 RO AFU_ID_H 64 AF ID højt.
0x0018 0x0006 Rsvd CSR_DFH_RSVD0 64 Obligatorisk reserveret 0.
0x0020 0x0008 RO CSR_DFH_RSVD1 64 Obligatorisk reserveret 1.
0x0100 0x0040 RW CSR_SCRATCHPAD0 64 Scratchpad register 0.
0x0108 0x0042 RW CSR_SCRATCHPAD1 64 Scratchpad register 2.
0x0110 0x0044 RW CSR_AFU_DSM_BASE L 32 Lavere 32-bit AF DSM-basisadresse. De nederste 6 bits er 4×00, fordi adressen er justeret til 64-byte cache-linjestørrelsen.
0x0114 0x0045 RW CSR_AFU_DSM_BASE H 32 Øvre 32-bit AF DSM-basisadresse.
0x0120 0x0048 RW CSR_SRC_ADDR 64 Start fysisk adresse for kildebuffer. Alle læseanmodninger er målrettet mod denne region.
0x0128 0x004A RW CSR_DST_ADDR 64 Start fysisk adresse for destinationsbuffer. Alle skriveanmodninger er målrettet mod denne region
0x0130 0x004C RW CSR_NUM_LINES 32 Antal cache-linjer.
0x0138 0x004E RW CSR_CTL 32 Styrer testflow, start, stop, kraftfuldførelse.
0x0140 0x0050 RW CSR_CFG 32 Konfigurerer testparametre.
0x0148 0x0052 RW CSR_INACT_THRESH 32 Grænse for inaktivitet.
0x0150 0x0054 RW CSR_INTERRUPT0 32 SW tildeler Interrupt APIC ID og Vector til enheden.
DSM offset kort
0x0040 0x0010 RO DSM_STATUS 32 Teststatus og fejlregister.

Tabel 6. CSR-bitfelter med eksamples
Denne tabel viser de CSR-bitfelter, der afhænger af værdien af ​​CSR_NUM_LINES, . I example nedenfor = 14.

Navn Bitfelt Adgang Beskrivelse
CSR_SRC_ADDR [63:] RW 2^(N+6)MB justeret adresse peger på starten af ​​læsebufferen.
[-1:0] RW 0x0.
CSR_DST_ADDR [63:] RW 2^(N+6)MB justeret adresse peger på starten af ​​skrivebufferen.
[-1:0] RW 0x0.
CSR_NUM_LINES [31:] RW 0x0.
fortsatte…
Navn Bitfelt Adgang Beskrivelse
  [-1:0] RW Antal cachelinjer at læse eller skrive. Denne tærskel kan være forskellig for hver test-AF.

Note: Sørg for, at kilde- og destinationsbuffere er store nok til at rumme cache linjer.

CSR_NUM_LINES skal være mindre end eller lig med .

Antag for følgende værdier =14. Derefter accepterer CSR_SRC_ADDR og CSR_DST_ADDR 2^20 (0x100000).
CSR_SRC_ADDR [31:14] RW 1 MB tilpasset adresse.
[13:0] RW 0x0.
CSR_DST_ADDR [31:14] RW 1 MB tilpasset adresse.
[13:0] RW 0x0.
CSR_NUM_LINES [31:14] RW 0x0.
[13:0] RW Antal cachelinjer at læse eller skrive. Denne tærskel kan være forskellig for hver test-AF.

Note: Sørg for, at kilde- og destinationsbuffere er store nok til at rumme cache linjer.

Tabel 7. Yderligere CSR-bitfelter

Navn Bitfelt Adgang Beskrivelse
CSR_CTL [31:3] RW Reserveret.
[2] RW Tving testafslutning. Skriver testafslutningsflag og andre ydeevnetællere til csr_stat. Efter tvungen testafslutning er hardwaretilstanden identisk med en ikke-tvungen testafslutning.
[1] RW Starter testudførelse.
[0] RW Aktiv lav test nulstilling. Når den er lav, ændres alle konfigurationsparametre til deres standardværdier.
CSR_CFG [29] RW cr_interrupt_testmode test afbryder. Genererer et afbrydelse i slutningen af ​​hver test.
  [28] RW cr_interrupt_on_error sender et interrupt, når der opstår fejl
      opdagelse.
  [27:20] RW cr_test_cfg konfigurerer adfærden for hver testtilstand.
  [13:12] RW cr_chsel vælger den virtuelle kanal.
  [10:9] RW cr_rdsel konfigurerer læseanmodningstypen. Kodningerne har
      følgende gyldige værdier:
      • 1'b00: RdLine_S
      • 2'b01: RdLine_I
      • 2'b11: Blandet tilstand
  [8] RW cr_delay_en muliggør tilfældig forsinkelsesindsættelse mellem anmodninger.
  [6:5] RW Konfigurerer testtilstand, cr_multiCL-len. Gyldige værdier er 0,1 og 3.
  [4:2] RW cr_mode, konfigurerer testtilstand. Følgende værdier er gyldige:
      • 3'b000: LPBK1
      • 3'b001: Læs
      • 3'b010: Skriv
      • 3'b011: TRPUT
fortsatte…
Navn Bitfelt Adgang Beskrivelse
      For mere information om testtilstanden, se Testtilstande emne nedenfor.
[1] RW c_cont vælger test rollover eller test afslutning.

• Når 1'b0, afsluttes testen. Opdaterer status CSR når

Antal CSR_NUM_LINES er nået.

• Når 1'b1, ruller testen over til startadressen, efter at den når CSR_NUM_LINES optællingen. I rollover-tilstand afsluttes testen kun ved fejl.

[0] RW cr_wrthru_en skifter mellem WrLine_I og Wrline_M anmodningstyper.

• 1'b0: WrLine_M

• 1'b1: WrLine_I

CSR_INACT_THRESHOLD [31:0] RW Grænse for inaktivitet. Registrerer varigheden af ​​stall under en testkørsel. Tæller antallet af på hinanden følgende tomgangscyklusser. Hvis inaktiviteten tæller

> CSR_INACT_THRESHOLD, ingen anmodninger sendes, ingen svar er

modtaget, og inact_timeout-signalet er indstillet. Ved at skrive 1 til CSR_CTL[1] aktiveres denne tæller.

CSR_INTERRUPT0 [23:16] RW Afbrydelsesvektornummeret for enheden.
[15:0] RW apic_id er APIC OD for enheden.
DSM_STATUS [511:256] RO Fejldump formular Testtilstand.
[255:224] RO Afslut overhead.
[223:192] RO Start overhead.
[191:160] RO Antal skrifter.
[159:128] RO Antal aflæsninger.
[127:64] RO Antal ure.
[63:32] RO Test fejlregister.
[31:16] RO Sammenlign og byt succestæller.
[15:1] RO Unikt ID for hver DSM-statusskrivning.
[0] RO Flag for testafslutning.

Testtilstande
CSR_CFG[4:2] konfigurerer testtilstanden. Følgende fire tests er tilgængelige:

  • LPBK1: Dette er en hukommelseskopitest. AF kopierer CSR_NUM_LINES fra kildebufferen til destinationsbufferen. Når testen er afsluttet, sammenligner softwaren kilde- og destinationsbufferne.
  • Læse: Denne test understreger læsestien og måler læsebåndbredde eller latens. AF læser CSR_NUM_LINES startende fra CSR_SRC_ADDR. Dette er kun en båndbredde- eller latenstest. Den bekræfter ikke de læste data.
  • Skrive: Denne test understreger skrivestien og måler skrivebåndbredde eller latens. AF læser CSR_NUM_LINES startende fra CSR_SRC_ADDR. Dette er kun en båndbredde- eller latenstest. Den bekræfter ikke de skrevne data.
  • TRPUT: Denne test kombinerer læsning og skrivning. Den læser CSR_NUM_LINES startende fra CSR_SRC_ADDR placering og skriver CSR_NUM_LINES til CSR_SRC_ADDR. Den måler også læse- og skrivebåndbredde. Denne test kontrollerer ikke dataene. De læser og skriver har ingen afhængigheder

Følgende tabel viser CSR_CFG-kodningerne for de fire tests. Dette tabelsæt og CSR_NUM_LINES, =14. Du kan ændre antallet af cachelinjer ved at opdatere CSR_NUM_LINES-registret.

Tabel 8. Testtilstande

FPGA-diagnostik: fpgadiag
Fpgadiag-værktøjet inkluderer flere tests til at diagnosticere, teste og rapportere om FPGA-hardwaren. Brug fpgadiag-værktøjet til at køre alle testtilstande. For mere information om brug af fpgadiag-værktøjet, se fpgadiag-afsnittet i Open Programmable Acceleration Engine (OPAE) Tools Guide.

NLB Mode0 Hello_FPGA Test Flow

  1. Software initialiserer Device Status Memory (DSM) til nul.
  2. Software skriver DSM BASE-adressen til AFU. CSR Write(DSM_BASE_H), CSRWrite(DSM_BASE_L)
  3. Software forbereder kilde- og destinationshukommelsesbuffer. Dette præparat er testspecifikt.
  4. Software skriver CSR_CTL[2:0]= 0x1. Denne skrivning bringer testen ud af nulstilling og i konfigurationstilstand. Konfiguration kan kun fortsætte, når CSR_CTL[0]=1 & CSR_CTL[1]=1.
  5. Software konfigurerer testparametrene, såsom src, destaddress, csr_cfg, num lines, og så videre.
  6. Software CSR skriver CSR_CTL[2:0]= 0x3. AF begynder testudførelsen.
  7. Testafslutning:
    • Hardware fuldføres, når testen er fuldført eller opdager en fejl. Efter færdiggørelsen opdaterer hardware AF DSM_STATUS. Softwareafstemninger DSM_STATUS[31:0]==1 for at registrere testafslutning.
    • Software kan fremtvinge testafslutning ved at skrive CSR skriver CSR_CTL[2:0]=0x7. Hardware AF opdaterer DSM_STATUS.

Dokument revisionshistorik for den oprindelige Loopback Accelerator Functional Unit (AFU) brugervejledning

Dokumentversion Intel Acceleration Stack version Ændringer
 2019.08.05 2.0 (understøttet med Intel

Quartus Prime Pro Edition

18.1.2) og 1.2 (understøttet med

Intel Quartus Prime Pro Edition 17.1.1)

Tilføjet understøttelse af Intel FPGA PAC D5005-platformen i den aktuelle udgivelse.
 2018.12.04 1.2 (understøttet med Intel

Quartus® Prime Pro Edition 17.1.1)

Vedligeholdelsesfrigivelse.
  2018.08.06 1.1 (understøttet med Intel

Quartus Prime Pro Edition

17.1.1) og 1.0 (understøttet med

Intel Quartus Prime Pro Edition 17.0.0)

Opdaterede placeringen af ​​kildekoden til NLB'erneample AFU i NLB Sample Accelerator Funktion (AF) afsnit.
 2018.04.11 1.0 (understøttet med Intel

Quartus Prime Pro Edition 17.0.0)

Første udgivelse.

Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet og andre Intel-mærker er varemærker tilhørende Intel Corporation eller dets datterselskaber. Intel garanterer ydeevnen af ​​sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af ​​oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester. *Andre navne og mærker kan hævdes at være andres ejendom.

Dokumenter/ressourcer

intel Native Loopback Accelerator Functional Unit (AFU) [pdfBrugervejledning
Native Loopback Accelerator Functional Unit AFU, Native Loopback, Accelerator Functional Unit AFU, Functional Unit AFU

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *