Software de entorno de simulación de unidades funcionales
Guía del usuario
Acerca de este documento
Este documento describe cómo simular comoampUnidad funcional del acelerador de archivos (AFU) que utiliza Intel
Entorno de simulación (ASE) de la unidad funcional del acelerador (AFU). Consulte la Guía del usuario del entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU) para obtener detalles completos sobre las capacidades y la arquitectura interna de ASE.
El entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU) es un entorno de cosimulación de hardware y software para cualquier tarjeta de aceleración Intel FPGA Programmable® (Intel FPGA PAC). Este entorno de cosimulación de software actualmente es compatible con los siguientes Intel FPGA PAC: 10 GX FPGA
- Tarjeta de aceleración programable Intel FPGA D5005
- Tarjeta de aceleración programable Intel con Intel Arria®
El ASE proporciona un modelo transaccional para el protocolo Core Cache Interface (CCI-P) y un modelo de memoria para la memoria local adjunta a FPGA.
El ASE también valida el cumplimiento de la Unidad Funcional del Acelerador (AFU) con los siguientes protocolos y API: - La especificación del protocolo CCI-P
- El avalon
Especificación de interfaz mapeada en memoria (Avalon-MM) - El motor de aceleración programable abierto (OPAE)®
Tabla 1. Pila de aceleración para CPU Intel Xeon® con FPGA Glosario
Término | Abreviatura | Descripción |
Intel Acceleration Stack para CPU Intel Xeon® con FPGA | Pila de aceleración | Una colección de software, firmware y herramientas que proporciona conectividad de rendimiento optimizado entre un Intel FPGA y un procesador Intel Xeon. |
Tarjeta de aceleración programable Intel FPGA (Intel FPGA PAC) | Intel FPGAPAC | Tarjeta aceleradora PCIe* FPGA. Contiene un administrador de interfaz FPGA (FIM) que se empareja con un procesador Intel Xeon a través de un bus PCIe. |
Plataforma escalable Intel Xeon con FPGA integrado | Plataforma FPGA Integrada | Plataforma Intel Xeon más FPGA con Intel Xeon y una FPGA en un solo paquete y compartiendo una memoria caché coherente a través de Ultra Path Interconnect (UPI). |
Información relacionada
Guía del usuario del entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU)
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos FPGA y semiconductores según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad u obligación que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la versión más reciente de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios.
*Otros nombres y marcas pueden ser reclamados como propiedad de terceros.
ISO 9001: 2015 registrado
Requisitos del sistema
Estos son los requisitos del sistema para el entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU):
- Un sistema operativo Linux de 64 bits. Esta versión validó los siguientes sistemas operativos:
— Para Intel FPGA PAC D5005: - RHEL 7.6 con núcleo 3.10.0-957
— Para Intel PAC con Intel Arria 10 GX FPGA: - RHEL 7.6 con núcleo 3.10.0-957
- Ubuntu 18.04 con núcleo 4.15
- Uno de los siguientes simuladores:
— Simulador Synopsys* VCS-MX-64-SP2016.06-2 RTL de 1 bits
— Simulador Modelsim SE de 64 bits Mentor Graphics* (Versión 10.5c)
— Simulador Mentor Graphics QuestaSim de 64 bits (Versión 10.5c) - Compilador C: GCC 4.7.0 o superior
- CMake: versión 2.8.12 o superior
- Biblioteca GNU C: versión 2.17 o superior
- Pitón: versión 2.7
- Software Intel Quartus® Prime Pro Edition versión 19.2 (1)
Configuración del entorno
Debe configurar su entorno de simulación e instalar el software OPAE antes de ejecutar el ASE.
- Configure las siguientes variables de entorno para su software de simulación:
• Para SVC:
$ exportar VCS_HOME=
$ exportar RUTA=$VCS_HOME/bin:$RUTA
La estructura del directorio de instalación de VCS es la siguiente:
Asegúrese de que su sistema tenga una licencia VCS válida.
• Para Modelsim SE/QuestaSim:
$ exportar MTI_HOME=
$ exportar RUTA=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$RUTA
La estructura del directorio de instalación de Modelsim/Questa es la siguiente:
Asegúrese de que su sistema tenga una licencia Modelsim SE/QuestaSim válida.
• Para la edición Intel Quartus Prime Pro:
$ exportar QUARTUS_HOME=
La estructura del directorio de instalación de Intel Quartus Prime es la siguiente:
Agregue la variable de entorno para verificar la licencia de Modelsim:
$ exportar MGLS_LICENSE_FILE= - Exportar:
$ exportar LM_LICENSE_FILE= - Extraer el archivo de tiempo de ejecución filee instalar bibliotecas OPAE, binarios, incluir files y bibliotecas ASE como se describe en la sección: Instalación del paquete de software OPAE en la Guía del usuario de inicio rápido de Intel Acceleration Stack para su Intel FPGA PAC.
Su entorno debe estar configurado correctamente para configurar y construir una AFU. En particular, debe instalar correctamente el kit de desarrollo de software (SDK) de OPAE. Los scripts OPAE SDK deben estar en PATH e incluir files y bibliotecas que deben estar disponibles para el compilador de C. Además, debe asegurarse de que la variable de entorno OPAE_PLATFORM_ROOT esté configurada. Consulte Instalación del paquete de software OPAE para obtener más información.
Para asegurarse de que OPAE SDK y ASE estén correctamente instalados, en un shell, confirme que su RUTA incluye afu_sim_setup. El afu_sim_setup debe estar en el directorio /usr/bin o en si construiste el OPAE desde la fuente files.
Información relacionada
- Guía del usuario del entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU)
- Instalación del paquete de software OPAE
Para Intel PAC con Intel Arria 10 GX FPGA. - Instalación del paquete de software OPAE para Intel FPGA PAC D5005.
Simulando hello_afu en modo cliente-servidor
El hello_afu exampEl archivo es una plantilla AFU simple que demuestra la interfaz principal de CCI-P. El RTL satisface los requisitos mínimos de una AFU y responde a las lecturas de E/S asignadas a la memoria para devolver el encabezado de características del dispositivo y el UUID de la AFU.
Figura 1. Árbol de directorios hello_afu
Nota:
Este documento utilizaample> para referirse a un exampdirectorio de diseño de archivos, como hello_afu en la figura anterior.
El software demuestra los requisitos mínimos para conectarse a un FPGA utilizando el OPAE. El RTL demuestra los requisitos mínimos para satisfacer el controlador OPAE y hello_afu exampsoftware de archivo.
filelist.txt especifica el files para simulación y síntesis RTL.
Para configurar y construir con éxito las AFUamparchivos, su entorno debe configurarse correctamente, como se describe en Configuración del entorno.
Información relacionada
- Guía del usuario del entorno de simulación (ASE) de la unidad funcional del acelerador Intel (AFU)
- Configuración del entorno en la página 5
Desarrollo de AFU con OPAE SDK
En la Guía del desarrollador de la unidad funcional del acelerador (AFU)
4.1. Simulación en Modo Cliente-Servidor
El siguiente ejemploample flow presenta los scripts básicos de ASE. Puedes simular todos los examparchivos con el ASE, excepto eth_e2e_e10 y eth_e2e_e40.
La simulación requiere dos procesos de software: un proceso para la simulación RTL y un segundo proceso para ejecutar el software conectado. Para construir un entorno de simulación RTL, ejecute lo siguiente en $OPAE_PLATFORM_ROOT/hw/samples/hola_afu:
$ afu_sim_setup –fuente hw/rtl/filelista.txt build_sim
Este comando construye un entorno ASE en el subdirectorio build_sim.
Para compilar y ejecutar el simulador:
$ cd construir_sim
$ hacer
$ hacer sim
El simulador imprime un mensaje de que está listo para la simulación. También imprime un mensaje que le pide que establezca la variable de entorno ASE_WORKDIR.
Abra otro shell para la simulación de software. Debe asegurarse de establecer la variable de entorno OPAE_PLATFORM_ROOT.
Para compilar y ejecutar el software en el nuevo shell:
$ CD $OPAE_PLATFORM_ROOT
$ exportar ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/trabajo
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hola_afu/sw
$hacer limpio
$ hacer USE_ASE=1
$ ./hola_afu
Nota:
El nombre de ruta específico para ASE_WORKDIR puede variar. Utilice el nombre de ruta proporcionado por el indicador del simulador.
El software y el simulador se ejecutan, registran transacciones y salen.
4.1.1. Registro de simulación Files
El directorio de trabajo de simulación almacena la forma de onda, las transacciones CCI-P y el registro de simulación files.
Complete los siguientes pasos para view la base de datos de formas de onda:
- Cambie al directorio en el que ejecutó el comando make sim.
- Tipo:
$ hacer olas
El comando make wave invoca la forma de onda viewes.
4.1.2. Declaraciones de Diseño
La siguiente file y directorios definen la simulación AFU:
- $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt especifica fuentes RTL.
- <AFU example> es el examparchivo como se muestra en la figura del árbol de directorios hello_afu.
- filelist.txt enumera SystemVerilog, VHDL y la notación de objetos JavaScript de AFU (.json) file.
- El AFU .json describe las interfaces que requiere el AFU. También incluye un UUID para identificar la AFU una vez descargada a una FPGA.
- hw/rtl/hello_afu.json define ccip_std_afu como la interfaz de nivel superior configurando afu-top-interface en ccip_std_afu. ccip_std_afu es la interfaz base CCI-P que incluye relojes, reinicio y estructuras CCI-P TX y RX. ex más avanzadoampLos archivos definen otras opciones de interfaz.
- El .json file declara el UUID de AFU. Un script OPAE genera el UUID. El RTL carga el UUID desde afu_json_info.vh.
- sw/Marcafile genera afu_json_info.h. El software carga el UUID desde afu_json_info.h.
4.1.3. Solución de problemas de simulación cliente-servidor
Si el comando afu_sim_setup falla, confirme que:
- afu_sim_setup está en su RUTA. afu_sim_setup debe estar en /usr/bin o en si compilaste OPAE desde la fuente files.
- Tienes Python versión 2.7 o superior instalada.
Si no puede construir y ejecutar el simulador, es probable que no haya instalado correctamente la herramienta de simulación RTL.
Cuando intenta compilar y ejecutar el software, si ve un mensaje de "Error al enumerar los AFC", omitió establecer USE_ASE=1 en la línea de comandos de creación. El software está buscando un dispositivo FPGA físico. Para recuperar, repita los pasos del comando make clean.
AFU exampLos
Tabla 2.
AFU exampLos
Cada AFU exampEl archivo incluye un LÉAME detallado. file, proporcionando una descripción operativa y notas sobre cómo simular el diseño. Para una comprensión completa del proceso de simulación, review el README file en cada AFU exampel.
AFU | Descripción | |
hola_mem_afu | hello_mem_afu demuestra una AFU que crea una máquina de estado simple para acceder a la memoria. La máquina de estado es capaz de varios patrones de acceso a la memoria local conectada directamente a los pines FPGA, como los DIMM DDR4. Esta memoria es distinta de la memoria del host a la que se accede a través de CCI-P. El host administra la máquina de estado del controlador hello_mem_afu mediante solicitudes de E/S mapeadas en memoria (MMIO) para controlar y registros de estado (CSR). | |
hola_intr_afu | hello_intr_afu demuestra la característica de interrupción de la aplicación en el ASE. | |
DMA y f1.1 (2) _ | dma_afu demuestra un componente básico de DMA para transferencias de memoria de host a FPGA, de FPGA a host y de FPGA a FPGA. Al simular esta AFU, el tamaño del búfer utilizado para la transferencia de DMA es pequeño para mantener un tiempo de simulación razonable. Para obtener más información, consulte la Guía del usuario de la unidad funcional del acelerador (AFU) de DMA. | |
modo_nlb_O | nlb_mode_O es un sistema CCI-P que demuestra la prueba de copia de memoria. $0PAE_PLATFORM_ROOT/ sw/opae—cre/número de facilidad>/sample/hola_fpga. c incluye nlb_mode_0. | |
$ sh regresión.sh -a -r rtl_sim -s <vcslmodelsimlquesta> [-i ) -b |
||
transmisión_dma | streaming_dma demuestra cómo transferir datos entre la memoria del host y un puerto de transmisión de FPGA. Para obtener más información, consulte la Guía del usuario de la unidad funcional del acelerador (AFU) DMA de transmisión. | |
hola_afu | hello_a fu es una AFU simple que demuestra la interfaz principal de CCI-P. El RTL satisface los requisitos mínimos de una AFU y responde a las lecturas de MMIO para devolver el encabezado de características del dispositivo y el UUID de la AFU. |
Información relacionada
- Guía del usuario de la unidad funcional del acelerador DMA (AFU)
Para obtener información sobre cómo compilar y ejecutar dma_afu en su Intel PAC con Intel Arria 10 GX FPGA. - Guía del usuario de la unidad funcional del acelerador (AFU) DMA de transmisión
Para obtener información sobre cómo compilar y ejecutar streaming_dma_afu en su Intel PAC con Intel Arria 10 GX FPGA. - Guía del usuario de la unidad funcional del acelerador DMA: Tarjeta de aceleración programable Intel FPGA D5005
Para obtener información sobre cómo compilar y ejecutar dma_afu en su Intel FPGA PAC D5005. - Guía del usuario de la unidad funcional del acelerador DMA de transmisión: tarjeta de aceleración programable Intel FPGA D5005
Para obtener información sobre cómo compilar y ejecutar dma_afu en su Intel FPGA PAC D5005.
Solución de problemas
Si aparece el siguiente error durante la simulación, corríjalo siguiendo los pasos a continuación.
Mensaje de error
# [SIM] ¡Probablemente aún se esté ejecutando una instancia de ASE en el directorio actual!
# [SIM] Comprobar PID 28816
# [SIM] Saldrá de la simulación... puede usar un SIGKILL para detener el proceso de simulación.
# [SIM] También verifique si .ase_ready.pid file se elimina antes de continuar. Solución
- Escriba kill ase_simv para eliminar los procesos de simulación de zombis y eliminar cualquier temporal files dejados atrás por procesos de simulación fallidos o bloqueos.
- Eliminar el .ase_ready.pid file, que se encuentra en el directorio $ASE_WORKDIR.
Archivos de la guía del usuario de inicio rápido de ASE
Versión de pila de aceleración de Intel | Guía del usuario |
2.0 | Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Guía de usuario de inicio rápido |
1. | Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Guía de usuario de inicio rápido |
1. | Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Guía de usuario de inicio rápido |
1.0 | Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Guía de usuario de inicio rápido |
Historial de revisión de documentos para la guía de usuario de inicio rápido de ASE
Versión del documento | Versión de pila de aceleración de Intel | Cambios |
2020.03.06 | 1.2.1 y 2.0.1 | Actualizado lo siguiente: • Requisitos del sistema |
2019.08.05 | 2.0 | • Se actualizó la versión Intel Quartus Prime Pro Edition en Requisitos del sistema. • Se agregó hello_afu en AFU ExampLes. • Se eliminó la información sobre la simulación en modo de regresión. • Se agregó una nueva sección: Archivos de la Guía del usuario de inicio rápido de ASE. |
2018.12.04 | 1. | Se agregó soporte para Ubuntu. |
2018.08.06 | 1. | Se actualizaron los requisitos del sistema, la estructura del directorio y los correspondientes filenombres. |
2018.04.10 | 1.0 | Lanzamiento inicial. |
683200 | 2020.03.06
Enviar comentarios
Documentos / Recursos
![]() |
Intel Accelerator Functional Unit Simulation Environment Software [pdf] Guía del usuario Unidad Funcional Aceleradora, Software de Entorno de Simulación, Unidad Funcional Aceleradora Entorno de Simulación, Software, Unidad Funcional Aceleradora Software de Entorno de Simulación |