C++-Synthese-Suite für die Entwicklung von PolarFire FPGA-Algorithmen

Update: 6. August 2023
C++-Synthese-Suite für die Entwicklung von PolarFire FPGA-Algorithmen

„Ein Großteil der Edge-Computing-, Computer Vision- und industriellen Steuerungsalgorithmen wird nativ in C++ von Entwicklern mit geringen oder keinen Kenntnissen der zugrunde liegenden Grundlagen entwickelt FPGA Hardware“, so das Unternehmen.

Das Tool namens SmartHLS ermöglicht die direkte Übersetzung von C++-Algorithmen in FPGA-optimierten RTL-Code (Register Transfer Level).

Es basiert auf der integrierten Open-Source-Entwicklungsumgebung Eclipse und verwendet C++-Softwarecode, um eine HDL-IP-Komponente (Hardware Design Language Intellectual Property) für die Integration in die Libero SmartDesign-Projekte von Microchip zu generieren.

Im Detail setzt der Anwender sein Design in C++-Software um und verifiziert die Funktionalität mit Softwaretests. Als nächstes kompiliert LegUp das C++-Programm in funktionsäquivalente Verilog-Hardwaremodule.

SmartHLS kann eine Co-Simulation mit Modelsim ausführen, um das zyklusgenaue Verhalten der Hardware zu überprüfen und zu bestätigen, dass die Hardwarefunktionalität mit der Software übereinstimmt, und kann die Hardware-IP-Cores für die Integration in größere Systeme durch SmartDesign generieren. LegUp kann auch die Libero-Synthese auf dem generierten Verilog ausführen, um den FPGA-Bereich und Fmax zu bestimmen. Neben PolarFire unterstützt das Tool SmartFusion2-FPGAs.

„Das Schreiben von C++-Softwarecode ist für Ingenieure einfacher als das Entwerfen in RTL, da der Softwarecode prägnanter ist und 5-10x weniger C++-Zeilen als RTL erforderlich sind“, sagte Microchip. „Außerdem ist die Software im Vergleich zu RTL einfacher zu verstehen und für zukünftige Verbesserungen oder Wartungen zu modifizieren. Die Prägnanz und Lesbarkeit der Software bedeutet weniger Fehler in Ihrem FPGA-Design.“

Die SmartHLS Produktseite ist da