intel - logotipProgramari d'entorn de simulació d'unitats funcionals
Guia d'usuari

Sobre aquest document

Aquest document descriu com simular comampla Unitat funcional de l'accelerador (AFU) amb Intel
Entorn de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador (AFU). Consulteu la Guia d'usuari de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU) per obtenir detalls complets sobre les capacitats i l'arquitectura interna de l'ASE.
L'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU) és un entorn de simulació conjunta de maquinari i programari per a qualsevol targeta d'acceleració Intel FPGA Programable® (Intel FPGA PAC). Aquest entorn de co-simulació de programari actualment admet els següents PAC Intel FPGA: 10 GX FPGA

  • Targeta d'acceleració programable Intel FPGA D5005
  • Targeta d'acceleració programable Intel amb Intel Arria®
    L'ASE proporciona un model transaccional per al protocol Core Cache Interface (CCI-P) i un model de memòria per a la memòria local connectada a FPGA.
    L'ASE també valida el compliment de la unitat funcional de l'accelerador (AFU) amb els protocols i API següents:
  • L'especificació del protocol CCI-P
  • L'Avalon
    Especificació de la interfície amb mapes de memòria (Avalon-MM).
  • El motor d'acceleració programable obert (OPAE)®

Taula 1. 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 d'un bus PCIe.
Plataforma escalable Intel Xeon amb FPGA integrada Plataforma FPGA integrada Plataforma Intel Xeon més FPGA amb Intel Xeon i un FPGA en un sol paquet i compartint una memòria cau coherent a través d'Ultra Path Interconnect (UPI).

Informació relacionada
Guia d'usuari de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).

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.
Registre ISO 9001:2015

Requisits del sistema

Aquests són els requisits del sistema per a l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU):

  • Un sistema operatiu Linux de 64 bits. Aquesta versió va validar els sistemes operatius següents:
    — Per a Intel FPGA PAC D5005:
  • RHEL 7.6 amb el nucli 3.10.0-957
    — Per a Intel PAC amb Intel Arria 10 GX FPGA:
  • RHEL 7.6 amb el nucli 3.10.0-957
  • Ubuntu 18.04 amb el nucli 4.15
  • Un dels simuladors següents:
    — Simulador de RTL Synopsys de 64 bits* VCS-MX-2016.06-SP2-1
    — Gràfics Mentor de 64 bits* Simulador Modelsim SE (versió 10.5c)
    — Simulador de gràfics Mentor de 64 bits QuestaSim (versió 10.5c)
  • Compilador C: GCC 4.7.0 o superior
  • CMake: versió 2.8.12 o superior
  • Biblioteca GNU C: versió 2.17 o superior
  • Python: versió 2.7
  • Versió del programari Intel Quartus® Prime Pro Edition 19.2 (1)

Configuració de l'entorn

Heu de configurar el vostre entorn de simulació i instal·lar el programari OPAE abans d'executar l'ASE.

  1. Establiu les variables d'entorn següents per al vostre programari de simulació:
    • Per a VCS:
    $ exporta VCS_HOME=
    $ export PATH=$VCS_HOME/bin:$PATH
    L'estructura del directori d'instal·lació de VCS és la següent:
    Programari d'entorn de simulació de la unitat funcional intel Accelerator - Figura 1Assegureu-vos que el vostre sistema tingui una llicència VCS vàlida.
    • Per Modelsim SE/QuestaSim:
    $ exporta MTI_HOME=
    $ export PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    L'estructura del directori d'instal·lació de Modelsim/Questa és la següent:
    Programari d'entorn de simulació de la unitat funcional intel Accelerator - Figura 2Assegureu-vos que el vostre sistema tingui una llicència Modelsim SE/QuestaSim vàlida.
    • Per a Intel Quartus Prime Pro Edition:
    $ exporta QUARTUS_HOME=
    L'estructura del directori d'instal·lació d'Intel Quartus Prime és la següent:
    Programari d'entorn de simulació de la unitat funcional intel Accelerator - Figura 3Afegiu la variable d'entorn per comprovar la llicència de Modelsim:
    $ exporta MGLS_LICENSE_FILE=
  2. Exportació:
    $ exporta LM_LICENSE_FILE=
  3.  Extraieu l'arxiu de temps d'execució file, i instal·leu biblioteques OPAE, binaris, inclouen files i biblioteques ASE, tal com es descriu a la secció: Instal·lació del paquet de programari OPAE a la Guia d'usuari d'inici ràpid d'Intel Acceleration Stack adequada per al vostre Intel FPGA PAC.

El vostre entorn ha d'estar configurat correctament per configurar i crear una AFU. En particular, heu d'instal·lar correctament el kit de desenvolupament de programari (SDK) OPAE. Els scripts de l'SDK d'OPAE han d'estar a PATH i incloure'ls files i biblioteques que han d'estar disponibles per al compilador C. A més, heu d'assegurar-vos que la variable d'entorn OPAE_PLATFORM_ROOT està establerta. Consulteu Instal·lació del paquet de programari OPAE per obtenir més informació.
Per assegurar-vos que OPAE SDK i ASE estan instal·lats correctament, en un shell, confirmeu que el vostre PATH inclou afu_sim_setup. L'afu_sim_setup hauria d'estar al directori /usr/bin o a si heu creat l'OPAE des de l'origen files.

Informació relacionada

  • Guia d'usuari de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).
  • Instal·lació del paquet de programari OPAE
    Per a Intel PAC amb Intel Arria 10 GX FPGA.
  • Instal·lació del paquet de programari OPAE per a Intel FPGA PAC D5005.

Simulant hello_afu en mode client-servidor

El hello_afu example és una plantilla AFU senzilla que mostra la interfície principal CCI-P. El RTL compleix els requisits mínims d'una AFU, responent a les lectures d'E/S assignades a la memòria per retornar la capçalera de la funció del dispositiu i l'UUID de l'AFU.
Figura 1. Arbre de directoris hello_afu

Programari d'entorn de simulació de la unitat funcional intel Accelerator - Figura 4

Nota:
Aquest document utilitzaample> per referir-se a un example directori de disseny, com ara hello_afu a la figura anterior.
El programari demostra els requisits mínims per connectar-se a una FPGA mitjançant l'OPAE. El RTL demostra els requisits mínims per satisfer el conductor OPAE i el hello_afu exampel programari.
filelist.txt especifica el files per a la simulació i síntesi RTL.
Per configurar i construir correctament les AFUamp, el vostre entorn s'ha de configurar correctament, tal com es descriu a Configuració de l'entorn.

Informació relacionada

  • Guia d'usuari de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).
  • Configuració de l'entorn a la pàgina 5

Desenvolupament d'AFU amb l'SDK OPAE
A la Guia del desenvolupador de la unitat funcional de l'accelerador (AFU).

4.1. Simulació en mode client-servidor

El següent example flow introdueix els scripts ASE bàsics. Podeu simular tots els exampfitxers amb l'ASE, excepte eth_e2e_e10 i eth_e2e_e40.
La simulació requereix dos processos de programari: un procés per a la simulació RTL i un segon procés per executar el programari connectat. Per construir un entorn de simulació RTL, executeu el següent a $OPAE_PLATFORM_ROOT/hw/samples/hello_afu:
$ afu_sim_setup –source hw/rtl/filelist.txt build_sim
Aquesta ordre construeix un entorn ASE al subdirectori build_sim.
Per crear i executar el simulador:
$ cd build_sim
$ fer
$ fer sim
El simulador imprimeix un missatge que indica que està preparat per a la simulació. També imprimeix un missatge que us demana que configureu la variable d'entorn ASE_WORKDIR.
Obriu un altre shell per a la simulació de programari. Heu d'assegurar-vos d'establir la variable d'entorn OPAE_PLATFORM_ROOT.
Per crear i executar el programari al nou shell:
$ cd $OPAE_PLATFORM_ROOT
$ exportar ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/work
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ netejar
$ fan USE_ASE=1
$ ./hola_afu

Nota:
El nom de camí específic per a ASE_WORKDIR pot variar. Utilitzeu el nom de camí que proporciona l'indicador del simulador.
El programari i el simulador s'executen, registren transaccions i surten.

4.1.1. Registre de simulació Files
El directori de treball de simulació emmagatzema la forma d'ona, les transaccions CCI-P i el registre de simulació files.
Completa els passos següents per view la base de dades de formes d'ona:

  1. Canvieu al directori en què heu executat l'ordre make sim.
  2. Tipus:
    $ fer onada
    L'ordre make wave invoca la forma d'ona vieweh.

4.1.2. Declaracions de disseny
El següent file i directoris defineixen la simulació AFU:

  • $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt especifica fonts RTL.
  • <AFU example> és l'exampdirectori tal com es mostra a la figura de l'arbre de directoris hello_afu.
  • filelist.txt enumera SystemVerilog, VHDL i la notació d'objectes JavaScript AFU (.json) file.
  • L'AFU .json descriu les interfícies que requereix l'AFU. També inclou un UUID per identificar l'AFU un cop descarregat a una FPGA.
  • hw/rtl/hello_afu.json defineix ccip_std_afu com la interfície de nivell superior configurant afu-top-interface com a ccip_std_afu. ccip_std_afu és la interfície CCI-P bàsica que inclou rellotges, restabliment i estructures CCI-P TX i RX. Més avançat exampels defineixen altres opcions d'interfície.
  • El .json file declara l'UUID de l'AFU. Un script OPAE genera l'UUID. L'RTL carrega l'UUID des de afu_json_info.vh.
  • sw/Makefile genera afu_json_info.h. El programari carrega l'UUID des de afu_json_info.h.

4.1.3. Resolució de problemes de simulació client-servidor
Si l'ordre afu_sim_setup falla, confirmeu que:

  • afu_sim_setup és al vostre PATH. afu_sim_setup hauria d'estar a /usr/bin o a si heu creat OPAE des de la font files.
  • Teniu instal·lat Python versió 2.7 o superior.

Si no podeu crear i executar el simulador, és probable que no hàgiu instal·lat correctament l'eina de simulació RTL.
Quan intenteu crear i executar el programari, si veieu un missatge d'"Error en l'enumeració dels AFC", heu omès la configuració USE_ASE=1 a la línia d'ordres make. El programari està buscant un dispositiu físic FPGA. Per recuperar-lo, repetiu els passos de l'ordre make clean.

AFU Examples

Taula 2.
AFU Examples
Cada AFU exampinclou un README detallat file, proporcionant una descripció operativa i notes sobre com simular el disseny. Per a una comprensió completa del procés de simulació, review el README file en cada AFU example.

AFU Descripció
hola_mem_afu hello_mem_afu demostra una AFU que construeix una màquina d'estats senzilla per accedir a la memòria. La màquina d'estat és capaç de diversos patrons d'accés a la memòria local connectada directament als pins FPGA, com ara DIMM DDR4. Aquesta memòria és diferent de la memòria de l'amfitrió a la qual s'accedeix mitjançant CCI-P. L'amfitrió gestiona la màquina d'estat del controlador hello_mem_afu mitjançant sol·licituds d'E/S assignades a memòria (MMIO) per controlar els registres d'estat (CSR).
hola_intr_afu hello_intr_afu mostra la funció d'interrupció de l'aplicació a l'ASE.
DMA i f1.1 (2) _ dma_afu mostra un bloc bàsic de construcció DMA per a transferències de memòria d'amfitrió a FPGA, FPGA a amfitrió i FPGA a FPGA. Quan es simula aquesta AFU, la mida del buffer utilitzada per a la transferència de DMA és petita per mantenir el temps de simulació raonable. Per obtenir més informació, consulteu la Guia d'usuari de la unitat funcional de l'accelerador DMA (AFU).
nlb_mode_O nlb_mode_O és un sistema CCI-P que demostra la prova de còpia de memòria. $0PAE_PLATFORM_ROOT/ sw/opae—número cre/ease>/sample/hello_fpga . c inclou nlb_mode_0.
$ sh regressió.sh -a -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
-b
streaming_dma streaming_dma mostra com transferir dades entre la memòria de l'amfitrió i un port de transmissió FPGA. Per obtenir més informació, consulteu la Guia d'usuari de la unitat funcional de l'accelerador DMA (AFU) de streaming.
hola_afu hel lo_a fu és una AFU senzilla que demostra la interfície principal CCI-P. El RTL compleix els requisits mínims d'una AFU, responent a les lectures MMIO per retornar la capçalera de la funció del dispositiu i l'UUID de l'AFU.

Informació relacionada

  • Guia d'usuari de la unitat funcional de l'accelerador DMA (AFU).
    Per obtenir informació sobre com compilar i executar el dma_afu al vostre Intel PAC amb Intel Arria 10 GX FPGA.
  • Guia d'usuari de la unitat funcional de l'accelerador DMA (AFU) de streaming
    Per obtenir informació sobre com compilar i executar el streaming_dma_afu al vostre Intel PAC amb Intel Arria 10 GX FPGA.
  • Guia d'usuari de la unitat funcional de l'accelerador DMA: targeta d'acceleració programable Intel FPGA D5005
    Per obtenir informació sobre com compilar i executar el dma_afu al vostre Intel FPGA PAC D5005.
  • Guia de l'usuari de la unitat funcional de l'accelerador DMA de transmissió: targeta d'acceleració programable Intel FPGA D5005
    Per obtenir informació sobre com compilar i executar el dma_afu al vostre Intel FPGA PAC D5005.

Resolució de problemes

Si apareix l'error següent durant la simulació, corregiu-lo seguint els passos següents.
Missatge d'error
# [SIM] Probablement encara s'està executant una instància ASE al directori actual!
# [SIM] Comproveu el PID 28816
# [SIM] La simulació sortirà... podeu utilitzar un SIGKILL per acabar amb el procés de simulació.
# [SIM] Comproveu també si .ase_ready.pid file s'elimina abans de continuar. Solució

  1. Escriviu kill ase_simv per matar els processos de simulació de zombis i eliminar qualsevol temporal files'han deixat enrere per processos de simulació fallits o tancaments.
  2. Suprimeix el .ase_ready.pid file, que es troba al directori $ASE_WORKDIR.

Arxius de la Guia d'usuari d'inici ràpid d'ASE

Versió Intel Acceleration Stack Guia d'usuari
2.0 Guia de l'usuari d'inici ràpid de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).
1. Guia de l'usuari d'inici ràpid de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).
1. Guia de l'usuari d'inici ràpid de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).
1.0 Guia de l'usuari d'inici ràpid de l'entorn de simulació (ASE) de la unitat funcional de l'accelerador Intel (AFU).

Historial de revisions de documents per a la Guia d'usuari d'inici ràpid d'ASE

Versió del document Versió Intel Acceleration Stack Canvis
2020.03.06 1.2.1 i 2.0.1 S'ha actualitzat el següent:
• Requisits del sistema
2019.08.05 2.0 • S'ha actualitzat la versió Intel Quartus Prime Pro Edition a Requisits del sistema.
• S'ha afegit l'hello_afu a AFU Examples.
• S'ha eliminat la informació sobre la simulació en mode de regressió.
• S'ha afegit una nova secció: ASE Quick Start User Guide Archives.
2018.12.04 1. S'ha afegit el suport d'Ubuntu.
2018.08.06 1. S'han actualitzat els requisits del sistema, l'estructura de directoris i els corresponents filenoms.
2018.04.10 1.0 Alliberament inicial.

683200 | 2020.03.06
Concentrador d'enllaç TCL HH42CV1 - icona 8Envia comentaris

Documents/Recursos

Intel Accelerator Programari d'entorn de simulació de la unitat funcional [pdfGuia de l'usuari
Unitat funcional de l'accelerador, programari d'entorn de simulació, entorn de simulació d'unitat funcional de l'accelerador, programari, programari d'entorn de simulació d'unitat funcional de l'accelerador

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *