intel-LOGO

Intel Native Loopback Accelerator Functional Unit (AFU)

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

Oor hierdie dokument

Konvensies
Tabel 1. Dokumentkonvensies

Konvensie Beskrywing
# Gaan voor 'n opdrag wat aandui dat die opdrag as wortel ingevoer moet word.
$ Dui aan dat 'n opdrag as 'n gebruiker ingevoer moet word.
Hierdie lettertipe Filename, opdragte en sleutelwoorde word in hierdie lettertipe gedruk. Lang opdraglyne word in hierdie lettertipe gedruk. Alhoewel lang opdragreëls na die volgende reël mag oorgaan, is die terugkeer nie deel van die opdrag nie; moenie enter druk nie.
Dui aan dat die plekhouerteks wat tussen die hoekhakies verskyn, met 'n toepaslike waarde vervang moet word. Moenie die hoekhakies betree nie.

Akronieme
Tabel 2. Akronieme

Akronieme Uitbreiding Beskrywing
AF Versneller funksie Saamgestelde Hardware Accelerator-beeld geïmplementeer in FPGA-logika wat 'n toepassing versnel.
AFU Versneller funksionele eenheid Hardewareversneller geïmplementeer in FPGA-logika wat 'n rekenaarbewerking vir 'n toepassing van die SVE aflaai om werkverrigting te verbeter.
API Toepassingsprogrammeringskoppelvlak 'n Stel subroetine-definisies, protokolle en gereedskap vir die bou van sagtewaretoepassings.
ASE AFU Simulasie Omgewing Ko-simulasie-omgewing wat jou toelaat om dieselfde gasheertoepassing en AF in 'n simulasie-omgewing te gebruik. ASE is deel van die Intel® Acceleration Stack vir FPGA's.
CCI-P Kernkas-koppelvlak CCI-P is die standaard koppelvlak wat AFU's gebruik om met die gasheer te kommunikeer.
CL Kaslyn 64-grepe kaslyn
DFH Toestelkenmerkopskrif Skep 'n gekoppelde lys kenmerkopskrifte om 'n uitbreidbare manier te bied om kenmerke by te voeg.
FIM FPGA-koppelvlakbestuurder Die FPGA hardeware wat die FPGA Interface Unit (FIU) bevat en eksterne koppelvlakke vir geheue, netwerk, ens.

Die versnellerfunksie (AF) koppel met die FIM tydens looptyd.

FIU FPGA-koppelvlak-eenheid FIU is 'n platform-koppelvlaklaag wat dien as 'n brug tussen platform-koppelvlakke soos PCIe*, UPI en AFU-kant-koppelvlakke soos CCI-P.
voortgesit …

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Akronieme Uitbreiding Beskrywing
MPF Geheue-eienskappefabriek Die MPF is 'n basiese boublok (BBB) ​​wat AFU's kan gebruik om CCI-P verkeersvormingsoperasies vir transaksies met die FIU te verskaf.
Bd Boodskap Boodskap – 'n beheerkennisgewing
NLB Inheemse Loopback Die NLB voer lees en skryf na die CCI-P-skakel om konnektiwiteit en deurvoer te toets.
RdLine_I Lees reël ongeldig Geheue-leesversoek, met FPGA-kaswenk op ongeldig gestel. Die lyn is nie in die FPGA gekas nie, maar kan FPGA-kasbesoedeling veroorsaak.

Let wel: Die kas tag volg die versoekstatus vir alle uitstaande versoeke op Intel Ultra Path Interconnect (Intel UPI).

Daarom, alhoewel RdLine_I ongeldig gemerk is by voltooiing, verbruik dit die kas tag tydelik om die versoekstatus oor UPI na te spoor. Hierdie aksie kan lei tot die uitsetting van 'n kaslyn, wat lei tot kasbesoedeling. Die advantagDie gebruik van RdLine_I is dat dit nie deur die SVE-gids opgespoor word nie; dus voorkom dit snuffel van SVE.

RdLine-S Lees Lyn Gedeel Geheue-leesversoek met FPGA-kaswenk gestel op gedeeld. Daar word gepoog om dit in die FPGA-kas in 'n gedeelde toestand te hou.
WrLine_I Skryf reël ongeldig Geheueskryfversoek, met FPGA-kaswenk op Ongeldig gestel. Die FIU skryf die data met geen bedoeling om die data in FPGA-kas te hou nie.
WrLine_M Skryf lyn Gewysig Geheue skryfversoek, met die FPGA-kaswenk ingestel op Gewysig. Die FIU skryf die data en laat dit in die FPGA-kas in 'n gewysigde toestand.

Versnellingswoordelys
Tabel 3. Versnellingsstapel vir Intel Xeon® SVE met FPGA's Woordelys

Termyn Afkorting Beskrywing
Intel Acceleration Stack vir Intel Xeon® CPU met FPGA's Versnellingsstapel 'n Versameling sagteware, firmware en gereedskap wat prestasiegeoptimaliseerde konneksie tussen 'n Intel FPGA en 'n Intel Xeon-verwerker bied.
Intel FPGA programmeerbare versnellingskaart (Intel FPGA PAC) Intel FPGA PAC PCIe FPGA versneller kaart. Bevat 'n FPGA Interface Manager (FIM) wat saam met 'n Intel Xeon verwerker oor die PCIe bus.

Die Native Loopback Accelerator Functional Unit (AFU)

Native Loopback (NLB) AFU verbyview

  • Die NLB sample AFU's bestaan ​​uit 'n stel Verilog en System Verilog files om geheue lees en skryf, bandwydte en latensie te toets.
  • Hierdie pakket bevat drie AFU's wat jy uit dieselfde RTL-bron kan bou. Jou opstelling van die RTL-bronkode skep hierdie AFU's.

Die NLB Sample Versneller-funksie (AF)
Die $OPAE_PLATFORM_ROOT/hw/samples gids stoor bronkode vir die volgende NLB sampdie AFU's:

  • nlb_modus_0
  • nlb_modus_0_stp
  • nlb_modus_3

Let wel: Die $DCP_LOC/hw/samples gids stoor die NLB sample AFU se bronkode vir die 1.0-vrystellingpakket.

Om die NLB sampDie AFU-bronkodestruktuur en hoe om dit te bou, verwys na een van die volgende vinnige begingidse (afhangende van watter Intel FPGA PAC jy gebruik):

  • As jy Intel PAC met Intel Arria® 10 GX FPGA gebruik, verwys na die IntelProgrammable Acceleration Card met Intel Arria 10 GX FPGA.
  • As jy Intel FPGA PAC D5005 gebruik, verwys na die Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmable Acceleration Card D5005.

Die vrystellingspakket verskaf die volgende drie sampdie AF's:

  • NLB-modus 0 AF: vereis hello_fpga of fpgadiag nut om die lpbk1-toets uit te voer.
  • NLB-modus 3 AF: vereis fpgadiag-nut om die trupt-, lees- en skryftoetse uit te voer.
  • NLB-modus 0 stp AF: vereis hello_fpga of fpgadiag nut om die lpbak1-toets uit te voer.
    Let wel: Die nlb_mode_0_stp is dieselfde AFU as nlb_mode_0 maar met Signal Tap-ontfoutfunksie geaktiveer.
    Die fpgadiag- en hello_fpga-hulpprogramme help die toepaslike AF om die FPGA-hardeware te diagnoseer, te toets en daaroor verslag te doen.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

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

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

Tabel 4. NLB Files

File Naam Beskrywing
nlb_lpbk.sv Topvlak-omhulsel vir NLB wat die versoeker en arbiter instansieer.
arbiter.sv Stel die toets AF aan.
requestor.sv Aanvaar versoeke van die arbiter en formateer die versoeke volgens die CCI-P spesifikasie. Implementeer ook vloeibeheer.
nlb_csr.sv Implementeer 'n 64-bis lees/skryf beheer en status (CSR) registers. Die registers ondersteun beide 32- en 64-bis lees en skryf.
nlb_gram_sdp.sv Implementeer 'n generiese dubbelpoort-RAM met een skryfpoort en een leespoort.

NLB is 'n verwysingsimplementering van 'n AFU wat versoenbaar is met die Intel Acceleration Stack vir Intel Xeon CPU met FPGA's Core Cache Interface (CCI-P) Verwysingshandleiding. NLB se primêre funksie is om gasheerverbindings te valideer deur verskillende geheuetoegangspatrone te gebruik. NLB meet ook bandwydte en lees-/skryfvertraging. Die bandwydtetoets het die volgende opsies:

  • 100% gelees
  • 100% skryf
  • 50% lees en 50% skryf

Verwante inligting

  • Intel Acceleration Stack Quick Start Guide vir Intel Programmeerbare Acceleration Card met Arria 10 GX FPGA
  • Versnellingsstapel vir Intel Xeon SVE met FPGA's Core Cache Interface (CCI-P) Verwysingshandleiding
  • Intel Acceleration Stack Quick Start Guide vir Intel FPGA Programmeerbare Acceleration Card D5005

Inheemse terugloopbeheer- en statusregisterbeskrywings
Tabel 5. CSR-name, adresse en beskrywings

 Byte-adres (OPAE) Woord Adres (CCI-P)  Toegang  Naam  Breedte  Beskrywing
0x0000 0x0000 RO DFH 64 AF-toestelkenmerkopskrif.
0x0008 0x0002 RO AFU_ID_L 64 AF ID laag.
0x0010 0x0004 RO AFU_ID_H 64 AF ID hoog.
0x0018 0x0006 Rsvd CSR_DFH_RSVD0 64 Verpligte Voorbehou 0.
0x0020 0x0008 RO CSR_DFH_RSVD1 64 Verpligte Voorbehou 1.
0x0100 0x0040 RW CSR_SCRATCHPAD0 64 Kladblokregister 0.
0x0108 0x0042 RW CSR_SCRATCHPAD1 64 Kladblokregister 2.
0x0110 0x0044 RW CSR_AFU_DSM_BASE L 32 Laer 32-bis van AF DSM basisadres. Die onderste 6 bisse is 4×00 omdat die adres in lyn is met die 64-grepe kaslyngrootte.
0x0114 0x0045 RW CSR_AFU_DSM_BASE H 32 Boonste 32-bis van AF DSM basisadres.
0x0120 0x0048 RW CSR_SRC_ADDR 64 Begin fisiese adres vir bronbuffer. Alle leesversoeke teiken hierdie streek.
0x0128 0x004A RW CSR_DST_ADDR 64 Begin fisiese adres vir bestemming buffer. Alle skryfversoeke teiken hierdie streek
0x0130 0x004C RW CSR_NUM_LINES 32 Aantal kasreëls.
0x0138 0x004E RW CSR_CTL 32 Beheer toetsvloei, begin, stop, dwing voltooiing.
0x0140 0x0050 RW CSR_CFG 32 Stel toetsparameters op.
0x0148 0x0052 RW CSR_INACT_THRESH 32 Onaktiwiteitsdrempellimiet.
0x0150 0x0054 RW CSR_INTERRUPT0 32 SW ken Interrupt APIC ID en Vector toe aan toestel.
DSM offset kaart
0x0040 0x0010 RO DSM_STATUS 32 Toetsstatus en foutregister.

Tabel 6. CSR Bit Fields met Examples
Hierdie tabel lys die CSR-bisvelde wat afhang van die waarde van die CSR_NUM_LINES, . In die example hieronder = 14.

Naam Bietjie Veld Toegang Beskrywing
CSR_SRC_ADDR [63:] RW 2^(N+6)MB-belynde adres wys na die begin van die leesbuffer.
[-1:0] RW 0x0.
CSR_DST_ADDR [63:] RW 2^(N+6)MB-belynde adres wys na die begin van die skryfbuffer.
[-1:0] RW 0x0.
CSR_NUM_LINES [31:] RW 0x0.
voortgesit …
Naam Bietjie Veld Toegang Beskrywing
  [-1:0] RW Aantal kasreëls om te lees of te skryf. Hierdie drempel kan verskil vir elke toets AF.

Let wel: Maak seker dat bron- en bestemmingsbuffers groot genoeg is om die kas lyne.

CSR_NUM_LINES moet minder as of gelyk aan wees .

Vir die volgende waardes, aanvaar =14. Dan aanvaar CSR_SRC_ADDR en CSR_DST_ADDR 2^20 (0x100000).
CSR_SRC_ADDR [31:14] RW 1MB-belynde adres.
[13:0] RW 0x0.
CSR_DST_ADDR [31:14] RW 1MB-belynde adres.
[13:0] RW 0x0.
CSR_NUM_LINES [31:14] RW 0x0.
[13:0] RW Aantal kasreëls om te lees of te skryf. Hierdie drempel kan verskil vir elke toets AF.

Let wel: Maak seker dat bron- en bestemmingsbuffers groot genoeg is om die kas lyne.

Tabel 7. Bykomende CSR Bit Fields

Naam Bietjie Veld Toegang Beskrywing
CSR_CTL [31:3] RW Voorbehou.
[2] RW Dwing toets voltooiing. Skryf toetsvoltooiingsvlag en ander prestasietellers na csr_stat. Nadat toetsvoltooiing afgedwing is, is die hardeware-toestand identies aan 'n nie-gedwonge toetsvoltooiing.
[1] RW Begin toetsuitvoering.
[0] RW Aktiewe lae toets-terugstelling. Wanneer dit laag is, verander alle konfigurasieparameters na hul verstekwaardes.
CSR_CFG [29] RW cr_interrupt_testmode toetse onderbreek. Genereer 'n onderbreking aan die einde van elke toets.
  [28] RW cr_interrupt_on_error stuur 'n onderbreking wanneer daar fout is
      opsporing.
  [27:20] RW cr_test_cfg konfigureer die gedrag van elke toetsmodus.
  [13:12] RW cr_chsel kies die virtuele kanaal.
  [10:9] RW cr_rdsel konfigureer die leesversoektipe. Die enkoderings het die
      volgende geldige waardes:
      • 1'b00: RdLine_S
      • 2'b01: RdLine_I
      • 2'b11: Gemengde modus
  [8] RW cr_delay_en maak ewekansige vertraging invoeging tussen versoeke moontlik.
  [6:5] RW Stel toetsmodus op, cr_multiCL-len. Geldige waardes is 0,1 en 3.
  [4:2] RW cr_mode, stel toetsmodus in. Die volgende waardes is geldig:
      • 3'b000: LPBK1
      • 3'b001: Lees
      • 3'b010: Skryf
      • 3'b011: TRPUT
voortgesit …
Naam Bietjie Veld Toegang Beskrywing
      Vir meer inligting oor die toetsmodus, verwys na die Toetsmodusse onderwerp hieronder.
[1] RW c_cont kies toetsoorrol of toetsbeëindiging.

• Wanneer 1'b0, eindig die toets. Dateer die status CSR op wanneer

CSR_NUM_LINES telling is bereik.

• Wanneer 1'b1, rol die toets oor na die beginadres nadat dit die CSR_NUM_LINES-telling bereik het. In oorrolmodus eindig die toets slegs by fout.

[0] RW cr_wrthru_en skakel tussen WrLine_I en Wrline_M versoek tipes.

• 1'b0: WrLine_M

• 1'b1: WrLine_I

CSR_INACT_THRESHOLD [31:0] RW Onaktiwiteitsdrempellimiet. Bespeur die duur van stalletjies tydens 'n toetslopie. Tel die aantal opeenvolgende ledige siklusse. As die onaktiwiteit tel

> CSR_INACT_THRESHOLD, geen versoeke word gestuur nie, geen antwoorde is nie

ontvang, en die inact_timeout-sein is ingestel. Die skryf van 1 na CSR_CTL[1] aktiveer hierdie teller.

CSR_INTERRUPT0 [23:16] RW Die onderbrekingsvektornommer vir die toestel.
[15:0] RW apic_id is die APIC OD vir die toestel.
DSM_STATUS [511:256] RO Foutstortvorm Toetsmodus.
[255:224] RO Einde oorhoofse.
[223:192] RO Begin oorhoofs.
[191:160] RO Aantal skrywes.
[159:128] RO Aantal lesings.
[127:64] RO Aantal horlosies.
[63:32] RO Toets foutregister.
[31:16] RO Vergelyk en ruil suksesteller.
[15:1] RO Unieke ID vir elke DSM-statusskryf.
[0] RO Vlag vir toetsvoltooiing.

Toetsmodusse
CSR_CFG[4:2] konfigureer die toetsmodus. Die volgende vier toetse is beskikbaar:

  • LPBK1: Dit is 'n geheue kopie toets. Die AF kopieer CSR_NUM_LINES vanaf die bronbuffer na die bestemmingsbuffer. Nadat die toets voltooi is, vergelyk die sagteware die bron- en bestemmingsbuffers.
  • Lees: Hierdie toets beklemtoon die leespad en meet leesbandwydte of latensie. Die AF lees CSR_NUM_LINES vanaf die CSR_SRC_ADDR. Dit is slegs 'n bandwydte- of latensietoets. Dit verifieer nie die data wat gelees is nie.
  • Skryf: Hierdie toets beklemtoon die skryfpad en meet skryfbandwydte of latensie. Die AF lees CSR_NUM_LINES vanaf die CSR_SRC_ADDR. Dit is slegs 'n bandwydte- of latensietoets. Dit verifieer nie die data wat geskryf is nie.
  • TRPUT: Hierdie toets kombineer die lees en skryf. Dit lees CSR_NUM_LINES vanaf CSR_SRC_ADDR-ligging en skryf CSR_NUM_LINES na CSR_SRC_ADDR. Dit meet ook lees- en skryfbandwydte. Hierdie toets kontroleer nie die data nie. Die lees en skryf het geen afhanklikhede nie

Die volgende tabel toon die CSR_CFG-enkoderings vir die vier toetse. Hierdie tabelstelle en CSR_NUM_LINES, =14. Jy kan die aantal kasreëls verander deur die CSR_NUM_LINES-register op te dateer.

Tabel 8. Toetsmodusse

FPGA Diagnostics: fpgadiag
Die fpgadiag-nutsding bevat verskeie toetse om die FPGA-hardeware te diagnoseer, te toets en daaroor verslag te doen. Gebruik die fpgadiag-nutsding om al die toetsmodusse uit te voer. Vir meer inligting oor die gebruik van die fpgadiag-nutsding, verwys na die fpgadiag-afdeling in die Open Programmable Acceleration Engine (OPAE) Tools Guide.

NLB-modus0 Hallo_FPGA-toetsvloei

  1. Sagteware inisialiseer Device Status Memory (DSM) na nul.
  2. Sagteware skryf die DSM BASE-adres na die AFU. CSR Write(DSM_BASE_H), CSRWrite(DSM_BASE_L)
  3. Sagteware berei bron en bestemming geheue buffer voor. Hierdie voorbereiding is toetsspesifiek.
  4. Sagteware skryf CSR_CTL[2:0]= 0x1. Hierdie skryfwerk bring die toets uit die reset en in die konfigurasiemodus. Opstelling kan slegs voortgaan wanneer CSR_CTL[0]=1 & CSR_CTL[1]=1.
  5. Sagteware konfigureer die toetsparameters, soos src, destaddress, csr_cfg, num lines, ensovoorts.
  6. Sagteware CSR skryf CSR_CTL[2:0]= 0x3. Die AF begin toetsuitvoering.
  7. Toets voltooiing:
    • Hardeware voltooi wanneer die toets voltooi is of 'n fout opspoor. Na voltooiing dateer die hardeware AF DSM_STATUS op. Sagteware-peilings DSM_STATUS[31:0]==1 om toetsvoltooiing op te spoor.
    • Sagteware kan toetsvoltooiing afdwing deur CSR skryf CSR_CTL[2:0]=0x7 te skryf. Hardeware AF werk DSM_STATUS op.

Dokumenthersieningsgeskiedenis vir die Inheemse Lus-terugversneller Functional Unit (AFU) Gebruikersgids

Dokument weergawe Intel versnelling Stapel weergawe Veranderinge
 2019.08.05 2.0 (ondersteun met Intel

Quartus Prime Pro-uitgawe

18.1.2) en 1.2 (ondersteun met

Intel Quartus Prime Pro Edition 17.1.1)

Bygevoeg ondersteuning vir die Intel FPGA PAC D5005 platform in die huidige weergawe.
 2018.12.04 1.2 (ondersteun met Intel

Quartus® Prime Pro Edition 17.1.1)

Instandhouding vrystelling.
  2018.08.06 1.1 (ondersteun met Intel

Quartus Prime Pro-uitgawe

17.1.1) en 1.0 (ondersteun met

Intel Quartus Prime Pro Edition 17.0.0)

Het die ligging van die bronkode vir die NLB s opgedateerample AFU in Die NLB Sample Versneller-funksie (AF) afdeling.
 2018.04.11 1.0 (ondersteun met Intel

Quartus Prime Pro Edition 17.0.0)

Aanvanklike vrystelling.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

Dokumente / Hulpbronne

Intel Native Loopback Accelerator Functional Unit (AFU) [pdf] Gebruikersgids
Native Loopback Accelerator Functional Unit AFU, Native Loopback, Accelerator Functional Unit AFU, Functional Unit AFU

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *