Mémoire de maîtrise (2025)
Résumé
L’utilisation des langages de programmation pour optimiser toutes sortes de travaux com- plexes est la norme. Le langage P4 a besoin d’un tel support pour se développer avec l’aide de langages de haut niveau tel que le C++ et Python. En effet, il est présentement compliqué de réaliser des communications accélérées sur circuit logique programmable (FPGA) sans une seule manipulation manuelle du code en langage de description matériel (HDL). Dans cette étude, nous présentons une méthode de communication plus simple pour tous les utilisateurs d’externes des processeurs de paquets (P4). Notre objectif est d’utiliser des interfaces Python générées par une architecture personnalisée de P4. La génération automatique des interfaces va simplement permettre au programmeur de haut niveau d’avoir accès à des fonctionnali- tés de bas niveau sans avoir à programmer du HDL. C’est important, car généralement les programmeurs P4 ne connaissent pas ou ne veulent pas manipuler le HDL. La génération et l’interconnectivité des modules matériels pour les pipelines P4 sont effectuées sur une base automatique pour les utilisateurs d’externes qui veulent avoir plus de fonctionnalités dans leur réseau de communication. Les interfaces générées incluent l’accès direct à la mémoire (DMA) et l’interconnexion des composants périphériques, permettent la mise en œuvre de pont de communication multipériphériques flexibles. Les résultats de simulation valident la véritable fonctionnalité de notre méthodologie d’interface de pointe. En effet, une fonction ex- terne au programme P4 a été connectée à l’aide d’interface générée automatiquement. Cette fonction externe communique avec le pipeline P4 à travers les modules matériels générés. En plus d’améliorer l’efficacité de développement, ce projet a une faible consommation de ressources matérielles et la solution est fonctionnelle dans l’industrie, car celle-ci est validée par les outils d’Intel. La compilation avec Quartus des modules matériels générés à partir du compilateur d’Intel et celles générées par l’outil Python montre une utilisation de ressources de 1,81 % de la logique (table de recherche ou LUT) pour une puce Arria10. De plus, les ressources sont limitées à 1,62 % pour la mémoire (bloc de RAM) et 0,96 % pour les bascules (registres). La différence avec le pipeline sans interface générée est de 281 registres et 194 LUT, donc une différence de 1,64 % et de 4,54 % pour le nombre de registres et le nombre d’unités logique (LUT) respectivement. La méthode proposée est efficace pour l’utilisateur et améliore la flexibilité du langage P4.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
