Suite de synthèse C++ pour le développement d'algorithmes PolarFire FPGA

Mise à jour : 6 août 2023
Suite de synthèse C++ pour le développement d'algorithmes PolarFire FPGA

« Une grande majorité des algorithmes de calcul de périphérie, de vision par ordinateur et de contrôle industriel sont développés nativement en C++ par des développeurs ayant peu ou pas de connaissance des sous-jacents. FPGA matériel », selon la société.

Appelé SmartHLS, l'outil permet aux algorithmes C++ d'être directement traduits en code RTL (niveau de transfert de registre) optimisé FPGA.

Il est basé sur l'environnement de développement intégré open source Eclipse et utilise du code logiciel C++ pour générer un composant IP HDL (propriété intellectuelle du langage de conception matérielle) à intégrer dans les projets Libero SmartDesign de Microchip.

Dans le détail, l'utilisateur implémente sa conception dans un logiciel C++ et vérifie la fonctionnalité avec des tests logiciels. Ensuite, LegUp compile le programme C++ en modules matériels Verilog équivalents aux fonctionnalités.

SmartHLS peut exécuter une co-simulation avec Modelsim pour vérifier le comportement du matériel au cycle précis et confirmer que la fonctionnalité matérielle correspond au logiciel, et il peut générer les cœurs IP matériels pour l'intégration dans des systèmes plus importants par SmartDesign. LegUp peut également exécuter la synthèse Libero sur le Verilog généré pour déterminer la zone FPGA et Fmax. En plus de PolarFire, l'outil prend en charge les FPGA SmartFusion2.

« Écrire du code logiciel C++ est plus facile pour les ingénieurs que de concevoir en RTL car le code logiciel est plus concis, avec 5 à 10 fois moins de lignes de C++ requises que RTL », a déclaré Microchip. « Le logiciel est également plus facile à comprendre et à modifier pour des améliorations ou une maintenance futures par rapport à RTL. La concision et la lisibilité du logiciel signifient moins de bogues dans la conception de votre FPGA.

La page produit SmartHLS est ici