Unitat funcional de l'accelerador de bucle invertit natiu intel (AFU)
Sobre aquest document
Convencions
Taula 1. Convencions del document
Convenció | Descripció |
# | Precedeix una ordre que indica que l'ordre s'ha d'introduir com a root. |
$ | Indica que s'ha d'introduir una ordre com a usuari. |
Aquest tipus de lletra | Fileels noms, les ordres i les paraules clau s'imprimeixen en aquest tipus de lletra. Les línies d'ordres llargues s'imprimeixen amb aquest tipus de lletra. Tot i que les línies d'ordre llargues poden encaixar a la línia següent, el retorn no forma part de l'ordre; no premeu enter. |
Indica que el text del marcador de posició que apareix entre els claudàtors angulars s'ha de substituir per un valor adequat. No introduïu els claudàtors angulars. |
Acrònims
Taula 2. Acrònims
Acrònims | Expansió | Descripció |
AF | Funció acceleradora | Imatge compilada de l'accelerador de maquinari implementada en lògica FPGA que accelera una aplicació. |
AFU | Unitat Funcional Accelerador | Accelerador de maquinari implementat en lògica FPGA que descarrega una operació computacional per a una aplicació de la CPU per millorar el rendiment. |
API | Interfície de programació d'aplicacions | Un conjunt de definicions de subrutines, protocols i eines per crear aplicacions de programari. |
ASE | Entorn de simulació AFU | Entorn de co-simulació que us permet utilitzar la mateixa aplicació amfitriona i AF en un entorn de simulació. ASE forma part de l'Intel® Acceleration Stack per a FPGA. |
CCI-P | Interfície de memòria cau bàsica | CCI-P és la interfície estàndard que utilitzen les AFU per comunicar-se amb l'amfitrió. |
CL | Línia de memòria cau | Línia de memòria cau de 64 bytes |
DFH | Capçalera de la funció del dispositiu | Crea una llista enllaçada de capçaleres de funcions per proporcionar una manera extensible d'afegir funcions. |
FIM | Gestor d'interfícies FPGA | El maquinari FPGA que conté la unitat d'interfície FPGA (FIU) i interfícies externes per a memòria, xarxes, etc.
La funció d'accelerador (AF) es connecta amb la FIM en temps d'execució. |
FIU | Unitat d'interfície FPGA | FIU és una capa d'interfície de plataforma que actua com a pont entre interfícies de plataforma com PCIe*, UPI i interfícies laterals AFU com CCI-P. |
continuat… |
Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.
Acrònims | Expansió | Descripció |
MPF | Fàbrica de propietats de memòria | El MPF és un bloc bàsic (BBB) que les AFU poden utilitzar per proporcionar operacions de conformació del trànsit CCI-P per a transaccions amb la FIU. |
Msg | Missatge | Missatge: una notificació de control |
NLB | Loopback natiu | El NLB realitza lectures i escriptures a l'enllaç CCI-P per provar la connectivitat i el rendiment. |
RdLine_I | Línia de lectura no vàlida | Sol·licitud de lectura de memòria, amb la pista de memòria cau FPGA establerta com a no vàlida. La línia no s'emmagatzema a la memòria cau a l'FPGA, però pot provocar una contaminació de la memòria cau de l'FPGA.
Nota: La memòria cau tag fa un seguiment de l'estat de la sol·licitud de totes les sol·licituds pendents a Intel Ultra Path Interconnect (Intel UPI). Per tant, tot i que RdLine_I està marcat com a no vàlid en finalitzar, consumeix la memòria cau tag temporalment per fer un seguiment de l'estat de la sol·licitud mitjançant UPI. Aquesta acció pot provocar el desallotjament d'una línia de memòria cau, provocant la contaminació de la memòria cau. L'avançtagL'ús de RdLine_I és que no es fa un seguiment pel directori de la CPU; per tant, impedeix la fisteria de la CPU. |
RdLine-S | Llegir la línia compartida | Sol·licitud de lectura de memòria amb la pista de memòria cau FPGA establerta com a compartida. S'intenta mantenir-lo a la memòria cau FPGA en un estat compartit. |
WrLine_I | La línia d'escriptura no és vàlida | Sol·licitud d'escriptura de memòria, amb la pista de memòria cau FPGA establerta com a No vàlida. La FIU escriu les dades sense intenció de mantenir-les a la memòria cau FPGA. |
WrLine_M | Línia d'escriptura modificada | Sol·licitud d'escriptura de memòria, amb la pista de memòria cau FPGA establerta a Modificada. La FIU escriu les dades i les deixa a la memòria cau FPGA en un estat modificat. |
Glossari d'acceleració
Taula 3. Pila d'acceleració per a CPU Intel Xeon® amb FPGA Glossari
Terme | Abreviatura | Descripció |
Intel Acceleration Stack per a CPU Intel Xeon® amb FPGA | Pila d'acceleració | Una col·lecció de programari, microprogramari i eines que ofereix una connectivitat optimitzada per al rendiment entre una FPGA Intel i un processador Intel Xeon. |
Targeta d'acceleració programable Intel FPGA (Intel FPGA PAC) | Intel FPGA PAC | Targeta acceleradora PCIe FPGA. Conté un gestor d'interfícies FPGA (FIM) que es combina amb un processador Intel Xeon a través del bus PCIe. |
La Unitat Funcional Native Loopback Accelerator (AFU)
S'ha acabat l'AFU Loopback natiu (NLB).view
- La NLB samples AFU comprenen un conjunt de Verilog i System Verilog files per provar les lectures i escriptures de la memòria, l'amplada de banda i la latència.
- Aquest paquet inclou tres AFU que podeu crear des de la mateixa font RTL. La vostra configuració del codi font RTL crea aquestes AFU.
La NLB SampFunció d'acceleració (AF)
$OPAE_PLATFORM_ROOT/hw/sampel directori les emmagatzema el codi font dels següents NLBamples AFU:
- nlb_mode_0
- nlb_mode_0_stp
- nlb_mode_3
Nota: El valor $DCP_LOC/hw/sampel directori emmagatzema els NLB sampcodi font de les AFU per al paquet de llançament 1.0.
Per entendre els NLB sampl'estructura del codi font de l'AFU i com crear-lo, consulteu una de les guies d'inici ràpid següents (segons quin Intel FPGA PAC utilitzeu):
- Si utilitzeu Intel PAC amb Intel Arria® 10 GX FPGA, consulteu la targeta d'acceleració programable Intel amb Intel Arria 10 GX FPGA.
- Si utilitzeu Intel FPGA PAC D5005, consulteu la Guia d'inici ràpid d'Intel Acceleration Stack per a la targeta d'acceleració programable Intel FPGA D5005.
El paquet de llançament proporciona els tres s següentsamples AF:
- Mode NLB 0 AF: requereix la utilitat hello_fpga o fpgadiag per realitzar la prova lpbk1.
- Mode NLB 3 AF: requereix la utilitat fpgadiag per realitzar les proves trupt, llegir i escriure.
- Mode NLB 0 stp AF: requereix la utilitat hello_fpga o fpgadiag per realitzar la prova lpbak1.
Nota: El nlb_mode_0_stp és el mateix AFU que nlb_mode_0, però amb la funció de depuració de Signal Tap activada.
Les utilitats fpgadiag i hello_fpga ajuden l'AF adequat a diagnosticar, provar i informar sobre el maquinari FPGA.
Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.
Figura 1. Loopback natiu (nlb_lpbk.sv) Embolcall de nivell superior
Taula 4. NLB Files
File Nom | Descripció |
nlb_lpbk.sv | Embolcall de primer nivell per a NLB que instancia el sol·licitant i l'àrbitre. |
àrbitre.sv | Instancia la prova AF. |
sol·licitant.sv | Accepta les peticions de l'àrbitre i les formata segons l'especificació CCI-P. També implementa el control de flux. |
nlb_csr.sv | Implementa un registre de control i estat (CSR) de lectura/escriptura de 64 bits. Els registres admeten lectures i escriptures de 32 i 64 bits. |
nlb_gram_sdp.sv | Implementa una memòria RAM genèrica de doble port amb un port d'escriptura i un port de lectura. |
NLB és una implementació de referència d'una AFU compatible amb la pila d'acceleració d'Intel per a CPU Intel Xeon amb manual de referència de la interfície de memòria cau bàsica de FPGA (CCI-P). La funció principal de NLB és validar la connectivitat de l'amfitrió mitjançant diferents patrons d'accés a la memòria. NLB també mesura l'amplada de banda i la latència de lectura/escriptura. La prova d'ample de banda té les opcions següents:
- 100% llegit
- Escriu al 100%.
- El 50% llegeix i el 50% escriu
Informació relacionada
- Guia d'inici ràpid d'Intel Acceleration Stack per a la targeta d'acceleració programable Intel amb Arria 10 GX FPGA
- Acceleration Stack per a CPU Intel Xeon amb FPGA Core Cache Interface (CCI-P) Manual de referència
- Guia d'inici ràpid d'Intel Acceleration Stack per a la targeta d'acceleració programable Intel FPGA D5005
Descripcions del registre d'estat i control de bucle natiu
Taula 5. Noms, adreces i descripcions de CSR
Adreça de bytes (OPAE) | Paraula Adreça (CCI-P) | Accés | Nom | Amplada | Descripció |
0 x 0000 | 0 x 0000 | RO | DFH | 64 | Capçalera de la funció del dispositiu AF. |
0 x 0008 | 0 x 0002 | RO | AFU_ID_L | 64 | ID AF baix. |
0 x 0010 | 0 x 0004 | RO | AFU_ID_H | 64 | ID AF alta. |
0 x 0018 | 0 x 0006 | Rsvd | CSR_DFH_RSVD0 | 64 | Obligatori reservat 0. |
0 x 0020 | 0 x 0008 | RO | CSR_DFH_RSVD1 | 64 | Obligatori reservat 1. |
0 x 0100 | 0 x 0040 | RW | CSR_SCRATCHPAD0 | 64 | Registre Scratchpad 0. |
0 x 0108 | 0 x 0042 | RW | CSR_SCRATCHPAD1 | 64 | Registre Scratchpad 2. |
0 x 0110 | 0 x 0044 | RW | CSR_AFU_DSM_BASE L | 32 | 32 bits inferiors de l'adreça base AF DSM. Els 6 bits inferiors són 4×00 perquè l'adreça està alineada amb la mida de la línia de memòria cau de 64 bytes. |
0 x 0114 | 0 x 0045 | RW | CSR_AFU_DSM_BASE H | 32 | 32 bits superiors de l'adreça base AF DSM. |
0 x 0120 | 0 x 0048 | RW | CSR_SRC_ADDR | 64 | Inicieu l'adreça física de la memòria intermèdia d'origen. Totes les sol·licituds de lectura s'orienten a aquesta regió. |
0 x 0128 | 0x004A | RW | CSR_DST_ADDR | 64 | Inicieu l'adreça física de la memòria intermèdia de destinació. Totes les sol·licituds d'escriptura s'orienten a aquesta regió |
0 x 0130 | 0x004C | RW | CSR_NUM_LINES | 32 | Nombre de línies de memòria cau. |
0 x 0138 | 0x004E | RW | CSR_CTL | 32 | Controla el flux de prova, l'inici, l'aturada i la força de finalització. |
0 x 0140 | 0 x 0050 | RW | CSR_CFG | 32 | Configura els paràmetres de prova. |
0 x 0148 | 0 x 0052 | RW | CSR_INACT_THRESH | 32 | Límit llindar d'inactivitat. |
0 x 0150 | 0 x 0054 | RW | CSR_INTERRUPT0 | 32 | SW assigna l'ID APIC d'interrupció i el vector al dispositiu. |
Mapa desplaçat DSM | |||||
0 x 0040 | 0 x 0010 | RO | DSM_STATUS | 32 | Estat de la prova i registre d'errors. |
Taula 6. Camps de bits CSR amb Examples
Aquesta taula enumera els camps de bits CSR que depenen del valor de CSR_NUM_LINES, . En l'exampel més avall = 14.
Nom | Camp de bits | Accés | Descripció |
CSR_SRC_ADDR | [63:] | RW | L'adreça alineada de 2^(N+6)MB apunta a l'inici de la memòria intermèdia de lectura. |
[-1:0] | RW | 0x0. | |
CSR_DST_ADDR | [63:] | RW | L'adreça alineada de 2^(N+6)MB apunta a l'inici de la memòria intermèdia d'escriptura. |
[-1:0] | RW | 0x0. | |
CSR_NUM_LINES | [31:] | RW | 0x0. |
continuat… |
Nom | Camp de bits | Accés | Descripció |
[-1:0] | RW | Nombre de línies de memòria cau per llegir o escriure. Aquest llindar pot ser diferent per a cada AF de prova.
Nota: Assegureu-vos que els buffers d'origen i de destinació siguin prou grans per allotjar-hi línies de memòria cau. CSR_NUM_LINES hauria de ser inferior o igual a . |
|
Per als valors següents, assumeix =14. Aleshores, CSR_SRC_ADDR i CSR_DST_ADDR accepten 2^20 (0x100000). | |||
CSR_SRC_ADDR | [31:14] | RW | Adreça alineada d'1 MB. |
[13:0] | RW | 0x0. | |
CSR_DST_ADDR | [31:14] | RW | Adreça alineada d'1 MB. |
[13:0] | RW | 0x0. | |
CSR_NUM_LINES | [31:14] | RW | 0x0. |
[13:0] | RW | Nombre de línies de memòria cau per llegir o escriure. Aquest llindar pot ser diferent per a cada AF de prova.
Nota: Assegureu-vos que els buffers d'origen i de destinació siguin prou grans per allotjar-hi línies de memòria cau. |
Taula 7. Camps de bits CSR addicionals
Nom | Camp de bits | Accés | Descripció |
CSR_CTL | [31:3] | RW | Reservat. |
[2] | RW | Força la finalització de la prova. Escriu la marca de finalització de la prova i altres comptadors de rendiment a csr_stat. Després de forçar la finalització de la prova, l'estat del maquinari és idèntic a la finalització de la prova no forçada. | |
[1] | RW | Inicia l'execució de la prova. | |
[0] | RW | Reinici de la prova baixa activa. Quan és baix, tots els paràmetres de configuració canvien als seus valors predeterminats. | |
CSR_CFG | [29] | RW | cr_interrupt_testmode prova les interrupcions. Genera una interrupció al final de cada prova. |
[28] | RW | cr_interrupt_on_error envia una interrupció quan es produeix un error | |
detecció. | |||
[27:20] | RW | cr_test_cfg configura el comportament de cada mode de prova. | |
[13:12] | RW | cr_chsel selecciona el canal virtual. | |
[10:9] | RW | cr_rdsel configura el tipus de sol·licitud de lectura. Les codificacions tenen el | |
valors vàlids següents: | |||
• 1'b00: RdLine_S | |||
• 2'b01: RdLine_I | |||
• 2'b11: Mode mixt | |||
[8] | RW | cr_delay_en permet la inserció aleatòria de retard entre sol·licituds. | |
[6:5] | RW | Configura el mode de prova, cr_multiCL-len. Els valors vàlids són 0,1 i 3. | |
[4:2] | RW | cr_mode, configura el mode de prova. Són vàlids els valors següents: | |
• 3'b000: LPBK1 | |||
• 3'b001: Llegir | |||
• 3'b010: Escriu | |||
• 3'b011: TRPUT | |||
continuat… |
Nom | Camp de bits | Accés | Descripció |
Per obtenir més informació sobre el mode de prova, consulteu Modes de prova tema a continuació. | |||
[1] | RW | c_cont selecciona el canvi de prova o la finalització de la prova.
• Quan 1'b0, la prova finalitza. Actualitza l'estat CSR quan S'ha arribat al recompte de CSR_NUM_LINES. • Quan és 1'b1, la prova passa a l'adreça inicial després d'arribar al recompte de CSR_NUM_LINES. En el mode de canvi, la prova només finalitza en cas d'error. |
|
[0] | RW | cr_wrthru_en canvia entre els tipus de sol·licitud WrLine_I i Wrline_M.
• 1'b0: WrLine_M • 1'b1: WrLine_I |
|
CSR_INACT_THRESHOLD | [31:0] | RW | Límit llindar d'inactivitat. Detecta la durada de les parades durant una prova d'execució. Compta el nombre de cicles inactius consecutius. Si la inactivitat compta
> CSR_INACT_THRESHOLD, no s'envia cap sol·licitud, no hi ha respostes rebut i s'estableix el senyal inact_timeout. Si escriu 1 a CSR_CTL[1], s'activa aquest comptador. |
CSR_INTERRUPT0 | [23:16] | RW | El número de vector d'interrupció del dispositiu. |
[15:0] | RW | apic_id és el DO APIC del dispositiu. | |
DSM_STATUS | [511:256] | RO | Error d'abocament del formulari Mode de prova. |
[255:224] | RO | Final de sobrecàrrega. | |
[223:192] | RO | Comença per sobre. | |
[191:160] | RO | Nombre d'escriptures. | |
[159:128] | RO | Nombre de lectures. | |
[127:64] | RO | Nombre de rellotges. | |
[63:32] | RO | Registre d'errors de prova. | |
[31:16] | RO | Compareu i intercanvieu el comptador d'èxits. | |
[15:1] | RO | ID únic per a cada escriptura d'estat de DSM. | |
[0] | RO | Bandera de finalització de la prova. |
Modes de prova
CSR_CFG[4:2] configura el mode de prova. Les quatre proves següents estan disponibles:
- LPBK1: Aquesta és una prova de còpia de memòria. L'AF copia CSR_NUM_LINES de la memòria intermèdia d'origen a la memòria intermèdia de destinació. Un cop finalitzada la prova, el programari compara els buffers d'origen i de destinació.
- Llegeix: Aquesta prova subratlla el camí de lectura i mesura l'amplada de banda o la latència de lectura. L'AF llegeix CSR_NUM_LINES a partir del CSR_SRC_ADDR. Això només és una prova d'amplada de banda o latència. No verifica les dades llegides.
- Escriu: Aquesta prova subratlla el camí d'escriptura i mesura l'amplada de banda o la latència d'escriptura. L'AF llegeix CSR_NUM_LINES a partir del CSR_SRC_ADDR. Això només és una prova d'amplada de banda o latència. No verifica les dades escrites.
- TRUPUT: Aquesta prova combina les lectures i les escriptures. Llegeix CSR_NUM_LINES a partir de la ubicació CSR_SRC_ADDR i escriu CSR_NUM_LINES a CSR_SRC_ADDR. També mesura l'amplada de banda de lectura i escriptura. Aquesta prova no verifica les dades. Les lectures i escriptures no tenen dependències
La taula següent mostra les codificacions CSR_CFG per a les quatre proves. Aquest conjunt de taules i CSR_NUM_LINES, =14. Podeu canviar el nombre de línies de memòria cau actualitzant el registre CSR_NUM_LINES.
Taula 8. Modes de prova
Diagnòstic FPGA: fpgadiag
La utilitat fpgadiag inclou diverses proves per diagnosticar, provar i informar sobre el maquinari FPGA. Utilitzeu la utilitat fpgadiag per executar tots els modes de prova. Per obtenir més informació sobre com utilitzar la utilitat fpgadiag, consulteu la secció fpgadiag de la Guia d'eines del motor d'acceleració programable obert (OPAE).
NLB Mode0 Hello_FPGA Flux de prova
- El programari inicialitza la memòria d'estat del dispositiu (DSM) a zero.
- El programari escriu l'adreça DSM BASE a l'AFU. Escriptura CSR (DSM_BASE_H), Escriptura CSRW (DSM_BASE_L)
- El programari prepara la memòria intermèdia d'origen i de destinació. Aquesta preparació és específica de la prova.
- El programari escriu CSR_CTL[2:0]= 0x1. Aquesta escriptura treu la prova del restabliment i al mode de configuració. La configuració només pot continuar quan CSR_CTL[0]=1 i CSR_CTL[1]=1.
- El programari configura els paràmetres de prova, com ara src, destaddress, csr_cfg, num lines, etc.
- CSR de programari escriu CSR_CTL[2:0]= 0x3. L'AF comença l'execució de la prova.
- Finalització de la prova:
- El maquinari es completa quan es completa la prova o detecta un error. Un cop finalitzat, l'AF de maquinari actualitza DSM_STATUS. El programari sondeja DSM_STATUS[31:0]==1 per detectar la finalització de la prova.
- El programari pot forçar la finalització de la prova escrivint escriptures CSR CSR_CTL[2:0]=0x7. Actualitzacions de maquinari AF DSM_STATUS.
Historial de revisions de documents per a la Guia d'usuari de la unitat funcional de l'accelerador de retorn natiu (AFU).
Versió del document | Acceleració Intel Versió de pila | Canvis |
2019.08.05 | 2.0 (comptat amb Intel
Quartus Prime Pro Edition 18.1.2) i 1.2 (admès amb Intel Quartus Prime Pro Edition 17.1.1) |
S'ha afegit suport per a la plataforma Intel FPGA PAC D5005 a la versió actual. |
2018.12.04 | 1.2 (comptat amb Intel
Quartus® Prime Pro Edition 17.1.1) |
Alliberament de manteniment. |
2018.08.06 | 1.1 (comptat amb Intel
Quartus Prime Pro Edition 17.1.1) i 1.0 (admès amb Intel Quartus Prime Pro Edition 17.0.0) |
S'ha actualitzat la ubicació del codi font dels NLBample AFU in La NLB SampFunció d'acceleració (AF) secció. |
2018.04.11 | 1.0 (comptat amb Intel
Quartus Prime Pro Edition 17.0.0) |
Alliberament inicial. |
Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.
Documents/Recursos
![]() |
Unitat funcional de l'accelerador de bucle invertit natiu intel (AFU) [pdfGuia de l'usuari Unitat funcional de l'accelerador de bucle natiu AFU, Loopback natiu, unitat funcional de l'accelerador AFU, unitat funcional AFU |