FPGA

Entwicklung von schnellen Applikationen mit SDSoC und Zynq

< zurück

Seite: 2/3

Anbieter zum Thema

Bild 1: SDSoC-Entwicklungsprozess „Full System Optimizing Compiler“(Bild:  Gessler, Krause)
Bild 1: SDSoC-Entwicklungsprozess „Full System Optimizing Compiler“
(Bild: Gessler, Krause)

Das Werkzeug Software-Defined-System-On-Chip – kurz SDSoC – stellt die Entwicklungsumgebung für die Zynq-Familie dar. SDSoC ist eine Eclipse IDE zur Entwicklung von C/C++-Applikationen. Die Applikation kann Bare-Metal oder mittels eines OS wie Linux oder FreeRTOS verarbeitet werden. Bild 1 zeigt den Entwicklungsprozess mit SDSoC. Ausgangspunkt ist das C/C++-Modell des zu implementierenden Algorithmus bzw. der Applikation. Dieses Modell wird auf hoher Abstraktionsebene mittels „Profiling“ analysiert. Ziel dieser Analyse ist die Lokalisierung von Funktionen (mit hoher Laufzeit) im Programmcode, die sich für eine Hardware-Beschleunigung im PL-Teil eignen.

Bildergalerie

Die identifizierten zu beschleunigenden Funktionen werden gekennzeichnet. Hieraus generiert SDSoC anschließend automatisch die Beschreibung des PL-Teils sowie die entsprechende Verbindungstechnik (AMBA-Bus) für den PS-Teil. Die FPGA-Entwicklungsumgebung Xilinx Vivado wie auch die Werkzeuge HLS mit GCC werden automatisch im Hintergrund von SDSoC aufgerufen. Eine individuelle Anpassungen, wie Optimierungsart oder Verbindungstechnik des Hardware-Beschleunigers erfolgt auf hoher Abstraktionsstufe in C/C++ mittels #Pragma-Direktiven. Bei einer multiplikativen Addition kann beispielsweise durch die Anwendung der #Pragma-Direktive „Pipelining“ ein höherer Gesamtdurchsatz erzielt werden, ohne diese selbst zu definieren (siehe hierzu auch die oben gezeigten Code-Beispiele).

Die Zielgruppe sind System- und Embedded-Software-Entwickler. Vorteil dieser Entwicklungsmethodik ist, dass keine besonderen Kenntnisse bezüglich Schaltungstechnik oder FPGA-Entwicklung notwendig sind.

SDSoC und Zynq in der Automatisierungstechnik

Bild 2 zeigt einen typischen Einsatz des Zynq-Bausteins in der Automatisierungstechnik. Der Mikroprozessor-Teil (PS) wird als HMI-SchnittstelIe (Human-Machine-Interface) mit GUI, welches auf einem Betriebssystem implementiert wird, eingesetzt und dient somit als Kommunikationsplattform. Angeschlossene intelligente Geräte sind beispielsweise berührungsempfindliche Bildschirme, Industrie-PCs oder eine SPS mit Schnittstellen wie Ethernet oder CAN-Bus (Feldbus) zum Datenaustausch.

Der FPGA-Teil fungiert als Hardware-Beschleuniger für Algorithmen aus der Mess-, Steuer- und Regeltechnik. Dieser ist echtzeitfähig, Taktzyklengenau und verfügt über eine kundenspezifische Peripherie (Konnektivität). Endgeräte sind Sensoren, Aktoren, Servos und Motoren.

Artikelfiles und Artikellinks

(ID:44023256)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung