Titre : |
Développement d'un convertisseur de simulateur multi-physique Modelica vers VHDL pour exécution sur FPGA |
Type de document : |
Travail de fin d'études |
Auteurs : |
Victor JANSSENS, Auteur ; Bernard Tourneur, ; Nicolas Marchand, |
Editeur : |
ECAM |
Année de publication : |
2024 |
Langues : |
Français (fre) |
Mots-clés : |
Systèmes contrôlés |
Index. décimale : |
TFE - Electronique |
Résumé : |
Mon Travail de Fin d'Etude a été effectué au sein de l'entreprise Tractebel, une filiale d'Engie, principal acteur de l'énergie en Europe. Le département Control & Command (I&C) conçoit et/ou valide des systèmes de contrôle pour un large panel de systèmes énergétiques, des centrales nucléaires aux électrolyseurs, et bien d'autres. Pour dimensionner/valider ces systèmes, le département I&C développe et emploie régulièrement des simulateurs. Un des problèmes lié à la simulation de système complexe est la grande quantité de calculs à réaliser pour avoir une précision suffisante et donc son temps d'exécution. Pour palier a ce problème, une solution proposée est d'utiliser une technologie hardware alternative : le Field Programmable Gate Array (FPGA). Les FPGA's sont des circuits imprimés (bear metal) re-programmable, permettant de créer une architecture répondant spécifiquement à la problématique posée. On peut donc, par exemple, choisir la précision de l'encodage d'information (32 vs 64 bits), décider du nombre d'unités de calculs, créer son propre protocole de communication. Elle offre une énorme flexibilité ! Dans notre cas, l'objectif est de faire de l'accélération de calculs, on doit ainsi paralléliser un maximum de calculs et pouvoir extraire la data assez rapidement pour éviter un goulot d'étranglement. C'est dans cette optique que j'ai développé un programme/méthodologie qui permet de convertir un modèle tournant sur un CPU et de pouvoir l'exécuter sur un FPGA. La conversion de modèle s'articule en plusieurs principales étapes : 1. Développer un modèle codé dans le langage Modelica en utilisant l'IDE OpenModelica. 2. Utiliser le solveur d'OpenModelica pour résoudre les équations d'état régissant le système. 3. Extraire les opérations élémentaires (Add,Sub,Mul,Div) à partir d'un fichier XML. 4. Planifier l'ordre et la priorité des opérations à exécuter (scheduling). 5. Génération automatique de fichier VHDL représentant le modèle sous schéma logique 6. Affichage des résultats à l'aide d'un Jupyter Notebook Ce TFE rassemble énormément de concepts et technologies différentes autant d'un point de vue software que hardware. Les connaissances accumulées au cours de ce projet seront également valorisées par le département I&C, lui permettant de développer des compétences vitales en design FPGA et donc de participer aux projets de réalisation impliquant cette technologie dans le futur. |
Développement d'un convertisseur de simulateur multi-physique Modelica vers VHDL pour exécution sur FPGA [Travail de fin d'études] / Victor JANSSENS, Auteur ; Bernard Tourneur, ; Nicolas Marchand, . - ECAM, 2024. Langues : Français ( fre)
Mots-clés : |
Systèmes contrôlés |
Index. décimale : |
TFE - Electronique |
Résumé : |
Mon Travail de Fin d'Etude a été effectué au sein de l'entreprise Tractebel, une filiale d'Engie, principal acteur de l'énergie en Europe. Le département Control & Command (I&C) conçoit et/ou valide des systèmes de contrôle pour un large panel de systèmes énergétiques, des centrales nucléaires aux électrolyseurs, et bien d'autres. Pour dimensionner/valider ces systèmes, le département I&C développe et emploie régulièrement des simulateurs. Un des problèmes lié à la simulation de système complexe est la grande quantité de calculs à réaliser pour avoir une précision suffisante et donc son temps d'exécution. Pour palier a ce problème, une solution proposée est d'utiliser une technologie hardware alternative : le Field Programmable Gate Array (FPGA). Les FPGA's sont des circuits imprimés (bear metal) re-programmable, permettant de créer une architecture répondant spécifiquement à la problématique posée. On peut donc, par exemple, choisir la précision de l'encodage d'information (32 vs 64 bits), décider du nombre d'unités de calculs, créer son propre protocole de communication. Elle offre une énorme flexibilité ! Dans notre cas, l'objectif est de faire de l'accélération de calculs, on doit ainsi paralléliser un maximum de calculs et pouvoir extraire la data assez rapidement pour éviter un goulot d'étranglement. C'est dans cette optique que j'ai développé un programme/méthodologie qui permet de convertir un modèle tournant sur un CPU et de pouvoir l'exécuter sur un FPGA. La conversion de modèle s'articule en plusieurs principales étapes : 1. Développer un modèle codé dans le langage Modelica en utilisant l'IDE OpenModelica. 2. Utiliser le solveur d'OpenModelica pour résoudre les équations d'état régissant le système. 3. Extraire les opérations élémentaires (Add,Sub,Mul,Div) à partir d'un fichier XML. 4. Planifier l'ordre et la priorité des opérations à exécuter (scheduling). 5. Génération automatique de fichier VHDL représentant le modèle sous schéma logique 6. Affichage des résultats à l'aide d'un Jupyter Notebook Ce TFE rassemble énormément de concepts et technologies différentes autant d'un point de vue software que hardware. Les connaissances accumulées au cours de ce projet seront également valorisées par le département I&C, lui permettant de développer des compétences vitales en design FPGA et donc de participer aux projets de réalisation impliquant cette technologie dans le futur. |
|