Intel Native Loopback Accelerator Functional Unit (AFU)
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
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
- Sagteware inisialiseer Device Status Memory (DSM) na nul.
- Sagteware skryf die DSM BASE-adres na die AFU. CSR Write(DSM_BASE_H), CSRWrite(DSM_BASE_L)
- Sagteware berei bron en bestemming geheue buffer voor. Hierdie voorbereiding is toetsspesifiek.
- 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.
- Sagteware konfigureer die toetsparameters, soos src, destaddress, csr_cfg, num lines, ensovoorts.
- Sagteware CSR skryf CSR_CTL[2:0]= 0x3. Die AF begin toetsuitvoering.
- 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 |