Logiciel d'environnement de simulation d'unité fonctionnelle
Guide de l'utilisateur
À propos de ce document
Ce document décrit comment simuler commeample Accelerator Functional Unit (AFU) utilisant l'Intel
Environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur (AFU). Reportez-vous au Guide de l'utilisateur de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) pour obtenir des détails complets sur les fonctionnalités et l'architecture interne de l'ASE.
L'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) est un environnement de co-simulation matérielle et logicielle pour toute carte d'accélération Intel FPGA Programmable® (Intel FPGA PAC). Cet environnement de co-simulation logicielle prend actuellement en charge les PAC Intel FPGA suivants : 10 GX FPGA
- Carte d'accélération programmable Intel FPGA D5005
- Carte d'accélération programmable Intel avec Intel Arria®
L'ASE fournit un modèle transactionnel pour le protocole CCI-P (Core Cache Interface) et un modèle de mémoire pour la mémoire locale attachée au FPGA.
L'ASE valide également la conformité de l'unité fonctionnelle de l'accélérateur (AFU) aux protocoles et API suivants : - La spécification du protocole CCI-P
- L'Avalon
Spécification de l'interface mappée en mémoire (Avalon-MM) - Le moteur d'accélération programmable ouvert (OPAE)®
Tableau 1. Pile d'accélération pour processeur Intel Xeon® avec FPGA Glossaire
Terme | Abréviation | Description |
Intel Acceleration Stack pour processeur Intel Xeon® avec FPGA | Pile d'accélération | Une collection de logiciels, de micrologiciels et d'outils qui fournit une connectivité optimisée en termes de performances entre un FPGA Intel et un processeur Intel Xeon. |
Carte d'accélération programmable Intel FPGA (Intel FPGA PAC) | Processeur Intel FPGA | Carte accélératrice PCIe* FPGA. Contient un gestionnaire d'interface FPGA (FIM) qui s'associe à un processeur Intel Xeon sur un bus PCIe. |
Plate-forme évolutive Intel Xeon avec FPGA intégré | Plate-forme FPGA intégrée | Plate-forme Intel Xeon plus FPGA avec Intel Xeon et un FPGA dans un seul package et partageant un cache cohérent de mémoire via Ultra Path Interconnect (UPI). |
Informations connexes
Guide de l'utilisateur de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU)
Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services.
*D'autres noms et marques peuvent être revendiqués comme étant la propriété d'autrui.
Enregistré ISO 9001: 2015
Configuration requise
Voici la configuration système requise pour l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) :
- Un système d'exploitation Linux 64 bits. Cette version a validé les systèmes d'exploitation suivants :
— Pour Intel FPGA PAC D5005 : - RHEL 7.6 avec noyau 3.10.0-957
— Pour Intel PAC avec FPGA Intel Arria 10 GX : - RHEL 7.6 avec noyau 3.10.0-957
- Ubuntu 18.04 avec noyau 4.15
- L'un des simulateurs suivants :
— Simulateur RTL Synopsys* VCS-MX-64-SP2016.06-2 1 bits
— Simulateur Mentor Graphics* Modelsim SE 64 bits (version 10.5c)
- Simulateur QuestaSim Mentor Graphics 64 bits (version 10.5c) - Compilateur C : GCC 4.7.0 ou supérieur
- CMake : version 2.8.12 ou supérieure
- Bibliothèque GNU C : version 2.17 ou supérieure
- Python : version 2.7
- Logiciel Intel Quartus® Prime Pro Edition version 19.2 (1)
Configuration de l'environnement
Vous devez configurer votre environnement de simulation et installer le logiciel OPAE avant d'exécuter l'ASE.
- Définissez les variables d'environnement suivantes pour votre logiciel de simulation :
• Pour VCS :
$ exporter VCS_HOME=
$ export PATH=$VCS_HOME/bin:$PATH
La structure du répertoire d'installation de VCS est la suivante :Assurez-vous que votre système dispose d'une licence VCS valide.
• Pour Modelsim SE/QuestaSim :
$ exporter MTI_HOME=
$ export PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
La structure du répertoire d'installation de Modelsim/Questa est la suivante :Assurez-vous que votre système dispose d'une licence Modelsim SE/QuestaSim valide.
• Pour l'édition Intel Quartus Prime Pro :
$ exporter QUARTUS_HOME=
La structure du répertoire d'installation d'Intel Quartus Prime est la suivante :Ajoutez la variable d'environnement pour vérifier la licence Modelsim :
$ exporter MGLS_LICENSE_FILE= - Exporter:
$ exporter LM_LICENSE_FILE= - Extraire l'archive d'exécution file, et installer les bibliothèques OPAE, les binaires, inclure files et les bibliothèques ASE comme décrit dans la section : Installation du progiciel OPAE dans le Guide de l'utilisateur de démarrage rapide Intel Acceleration Stack approprié pour votre Intel FPGA PAC.
Votre environnement doit être configuré correctement pour configurer et créer une AFU. En particulier, vous devez installer correctement le kit de développement logiciel (SDK) OPAE. Les scripts OPAE SDK doivent être sur PATH et inclure files et les bibliothèques qui doivent être disponibles pour le compilateur C. De plus, vous devez vous assurer que la variable d'environnement OPAE_PLATFORM_ROOT est définie. Reportez-vous à la section Installation du progiciel OPAE pour plus d'informations.
Pour vous assurer que le SDK OPAE et l'ASE sont correctement installés, dans un shell, confirmez que votre PATH inclut afu_sim_setup. Le afu_sim_setup doit être dans le répertoire /usr/bin ou dans si vous avez construit l'OPAE à partir de la source files.
Informations connexes
- Guide de l'utilisateur de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU)
- Installation du progiciel OPAE
Pour Intel PAC avec Intel Arria 10 GX FPGA. - Installation du progiciel OPAE pour Intel FPGA PAC D5005.
Simulation de hello_afu en mode client-serveur
L'ex hello_afuampLe fichier est un modèle AFU simple qui illustre l'interface CCI-P principale. Le RTL satisfait aux exigences minimales d'un AFU, répondant aux lectures d'E/S mappées en mémoire pour renvoyer l'en-tête de fonctionnalité de l'appareil et l'UUID de l'AFU.
Figure 1. Arborescence du répertoire hello_afu
Note:
Ce document utiliseample> faire référence à un example répertoire de conception, tel que hello_afu dans la figure ci-dessus.
Le logiciel démontre les exigences minimales pour se connecter à un FPGA à l'aide de l'OPAE. Le RTL démontre les exigences minimales pour satisfaire le pilote OPAE et le hello_afu example logiciel.
filelist.txt spécifie le files pour la simulation et la synthèse RTL.
Pour configurer et construire avec succès les AFUampfichiers, votre environnement doit être configuré correctement, comme décrit dans Configuration de l'environnement.
Informations connexes
- Guide de l'utilisateur de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU)
- Configuration de l'environnement à la page 5
Développer des AFU avec le SDK OPAE
Dans le guide du développeur de l'unité fonctionnelle de l'accélérateur (AFU)
4.1. Simulation en mode client-serveur
L'exemple suivantampLe flux présente les scripts ASE de base. Vous pouvez simuler tous les exampavec l'ASE, sauf eth_e2e_e10 et eth_e2e_e40.
La simulation nécessite deux processus logiciels : un processus pour la simulation RTL et un second processus pour exécuter le logiciel connecté. Pour construire un environnement de simulation RTL, exécutez ce qui suit dans $OPAE_PLATFORM_ROOT/hw/samples/hello_afu :
$ afu_sim_setup –source hw/rtl/filelist.txt build_sim
Cette commande construit un environnement ASE dans le sous-répertoire build_sim.
Pour créer et exécuter le simulateur :
$ cd build_sim
$ faire
$ faire une simulation
Le simulateur imprime un message indiquant qu'il est prêt pour la simulation. Il imprime également un message vous invitant à définir la variable d'environnement ASE_WORKDIR.
Ouvrez un autre shell pour la simulation logicielle. Vous devez vous assurer de définir la variable d'environnement OPAE_PLATFORM_ROOT.
Pour compiler et exécuter le logiciel dans le nouveau shell :
$ cd $OPAE_PLATFORM_ROOT
$ export ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/sampfichiers/hello_afu/build_sim/work
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ faire propre
$ faire USE_ASE=1
$ ./bonjour_afu
Note:
Le chemin d'accès spécifique pour ASE_WORKDIR peut varier. Utilisez le chemin d'accès fourni par l'invite du simulateur.
Le logiciel et le simulateur s'exécutent, enregistrent les transactions et se terminent.
4.1.1. Journal de simulation Files
Le répertoire de travail de simulation stocke la forme d'onde, les transactions CCI-P et le journal de simulation files.
Effectuez les étapes suivantes pour view la base de données de formes d'onde :
- Accédez au répertoire dans lequel vous avez exécuté la commande make sim.
- Taper:
$ faire la vague
La commande make wave invoque la forme d'onde vieweuh.
4.1.2. Déclarations de conception
Ce qui suit file et les répertoires définissent la simulation AFU :
- $OPAE_PLATFORM_ROOT/matériel/samples/ample>/hw/rtl/filelist.txt spécifie les sources RTL.
- <AFU example> est l'example répertoire comme indiqué dans la figure hello_afu Directory Tree.
- filelist.txt répertorie SystemVerilog, VHDL et la notation d'objet JavaScript AFU (.json) file.
- L'AFU .json décrit les interfaces requises par l'AFU. Il comprend également un UUID pour identifier l'AFU une fois téléchargé sur un FPGA.
- hw/rtl/hello_afu.json définit ccip_std_afu comme interface de niveau supérieur en définissant afu-top-interface sur ccip_std_afu. ccip_std_afu est l'interface CCI-P de base comprenant les horloges, la réinitialisation et les structures TX et RX CCI-P. Ex plus avancéampLes fichiers définissent d'autres options d'interface.
- Le .json file déclare l'AFU UUID. Un script OPAE génère l'UUID. Le RTL charge l'UUID à partir de afu_json_info.vh.
- sw/fairefile génère afu_json_info.h. Le logiciel charge l'UUID à partir de afu_json_info.h.
4.1.3. Dépannage de la simulation client-serveur
Si la commande afu_sim_setup échoue, confirmez que :
- afu_sim_setup est sur votre PATH. afu_sim_setup doit être dans /usr/bin ou dans si vous avez construit OPAE à partir de la source files.
- Vous avez Python version 2.7 ou supérieure installé.
Si vous ne parvenez pas à créer et à exécuter le simulateur, il est probable que vous n'ayez pas correctement installé votre outil de simulation RTL.
Lorsque vous essayez de construire et d'exécuter le logiciel, si vous voyez un message "Erreur lors de l'énumération des AFC", vous avez omis de définir USE_ASE=1 sur la ligne de commande make. Le logiciel recherche un périphérique FPGA physique. Pour récupérer, répétez les étapes de la commande make clean.
AFUExamples
Tableau 2.
AFUExamples
Chaque AFU example fichier comprend un fichier README détaillé file, fournissant une description opérationnelle et des notes sur la façon de simuler la conception. Pour une compréhension complète du processus de simulation, review le LISEZ-MOI file dans chaque AFU example.
AFU | Description | |
bonjour_mem_afu | hello_mem_afu illustre une AFU qui construit une machine à états simple pour accéder à la mémoire. La machine d'état est capable de plusieurs modèles d'accès à la mémoire locale directement connectée aux broches FPGA, telles que les modules DIMM DDR4. Cette mémoire est distincte de la mémoire hôte accessible via CCI-P. L'hôte gère la machine d'état du contrôleur hello_mem_afu à l'aide de requêtes d'E/S mappées en mémoire (MMIO) aux registres de contrôle et d'état (CSR). | |
bonjour_intr_afu | hello_intr_afu illustre la fonctionnalité d'interruption d'application dans l'ASE. | |
DMA et f1.1 (2) _ | dma_afu présente un bloc de construction de base DMA pour les transferts de mémoire hôte vers FPGA, FPGA vers hôte et FPGA vers FPGA. Lors de la simulation de cette AFU, la taille de la mémoire tampon utilisée pour le transfert DMA est petite pour maintenir un temps de simulation raisonnable. Pour plus d'informations, reportez-vous au Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA (AFU). | |
nlb_mode_O | nlb_mode_O est un système CCI-P démontrant le test de copie de mémoire. $0PAE_PLATFORM_ROOT/ sw/opae—cre/ease number>/sample/hello_fpga . c inclut nlb_mode_0. | |
$ sh régression.sh -a -r rtl_sim -s < vcslmodelsimlquesta > [-i ) -b | ||
streaming_dma | streaming_dma montre comment transférer des données entre la mémoire hôte et un port de streaming FPGA. Pour plus d'informations, reportez-vous au Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA (AFU). | |
bonjour_afu | hel lo_a fu est un AFU simple qui illustre l'interface CCI-P principale. Le RTL satisfait aux exigences minimales d'un AFU, répondant aux lectures MMIO pour renvoyer l'en-tête de fonctionnalité de l'appareil et l'UUID de l'AFU. |
Informations connexes
- Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA (AFU)
Pour plus d'informations sur la compilation et l'exécution de dma_afu sur votre PAC Intel avec le FPGA Intel Arria 10 GX. - Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA (AFU) en streaming
Pour plus d'informations sur la compilation et l'exécution de streaming_dma_afu sur votre PAC Intel avec FPGA Intel Arria 10 GX. - Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA : Carte d'accélération programmable Intel FPGA D5005
Pour plus d'informations sur la façon de compiler et d'exécuter le dma_afu sur votre Intel FPGA PAC D5005. - Guide de l'utilisateur de l'unité fonctionnelle de l'accélérateur DMA en continu : Carte d'accélération programmable Intel FPGA D5005
Pour plus d'informations sur la façon de compiler et d'exécuter le dma_afu sur votre Intel FPGA PAC D5005.
Dépannage
Si l'erreur suivante apparaît pendant la simulation, corrigez-la en suivant les étapes ci-dessous.
Message d'erreur
# [SIM] Une instance ASE est probablement encore en cours d'exécution dans le répertoire courant !
# [SIM] Vérifier le PID 28816
# [SIM] La simulation va se terminer… vous pouvez utiliser un SIGKILL pour arrêter le processus de simulation.
# [SIM] Vérifiez également si .ase_ready.pid file est retiré avant de continuer. La solution
- Tapez kill ase_simv pour tuer les processus de simulation de zombies et supprimer tout files laissés pour compte par des processus de simulation ratés ou des blocages.
- Supprimer le .ase_ready.pid file, trouvé dans le répertoire $ASE_WORKDIR.
Archives du guide de l'utilisateur de démarrage rapide ASE
Version de la pile d'accélération Intel | Guide de l'utilisateur |
2.0 | Guide de démarrage rapide de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) |
1. | Guide de démarrage rapide de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) |
1. | Guide de démarrage rapide de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) |
1.0 | Guide de démarrage rapide de l'environnement de simulation (ASE) de l'unité fonctionnelle de l'accélérateur Intel (AFU) |
Guide de l'utilisateur de démarrage rapide de l'historique de révision du document pour ASE
Version du document | Version de la pile d'accélération Intel | Changements |
2020.03.06 | 1.2.1 et 2.0.1 | Mise à jour des éléments suivants : • Configuration requise |
2019.08.05 | 2.0 | • Mise à jour de la version Intel Quartus Prime Pro Edition dans Configuration requise. • Ajout du hello_afu dans AFU Examples. • Suppression des informations sur la simulation en mode régression. • Ajout d'une nouvelle section : Archives du guide de l'utilisateur de démarrage rapide ASE. |
2018.12.04 | 1. | Ajout de la prise en charge d'Ubuntu. |
2018.08.06 | 1. | Mise à jour de la configuration système requise, de la structure des répertoires et des filenoms. |
2018.04.10 | 1.0 | Version initiale. |
683200 | 2020.03.06Envoyer des commentaires
Documents / Ressources
![]() | Logiciel d'environnement de simulation d'unité fonctionnelle Intel Accelerator [pdf] Guide de l'utilisateur Unité fonctionnelle d'accélérateur, logiciel d'environnement de simulation, environnement de simulation d'unité fonctionnelle d'accélérateur, logiciel, logiciel d'environnement de simulation d'unité fonctionnelle d'accélérateur |