Veranstaltungen

FPGA Programming in C

C2FPGA

Mit steigender Komplexität der Anwendungen suchen immer mehr Entwickler einen Weg, rechenintensive Teile der Algorithmen in Hardware zu implementieren. Der Kurs FPGA Programmierung in C ist eine ausführliche Einführung in Software basierte FPGA-Programmierungs-Techniken und richtet sich an Anwender mit Software-Programmier-Erfahrung, die rechenintensive Teile einer embedded Software in ein FPGA bringen möchten, um eine höhere Rechenperformance zu erreichen.

Der Kurs zeigt die Prinzipien und Anwendungen von FPGA-Programmierung in C und vermittelt das grundlegende Wissen über die Hardware, das der Software-Entwickler braucht. Es wird gezeigt, wie Softwareteile schnell in ein FPGA implementiert werden können und wie man Softwarenentwicklungs-Methoden nutzt, um Hardware in C zu beschreiben und HDL-Code zu generieren.

Kursinhalt

FPGA und rekonfigurierbare Rechenhardware

  • Grundkomponenten von FPGAs
  • Vorteile von FPGAs über gewöhnliche CPUs und DSPs
  • FPGA Design Flow
  • Im FPGA eingebettete Prozessoren

VHDL Crash Kurs

  • VHDL Entities, Architekturen, Prozesse, Komponenten, Datentypen, FSMs
  • Beschreibung von Hardware mit VHDL

Programmierung mit ImpulseC und CoDeveloper

  • Das Konzept der Stream Programmierung
  • Unterschiede zwischen ImpulseC und ANSI-C
  • Grundstruktur eines ImpulseC Programmes
  • Einschränkungen der Anwendung von C zur Beschreibung von Hardware
  • Techniken zur Nutzung von existierenden (Legacy) C Programmen zur Implementierung mit ImpulseC

Optimierung eines ImpulseC Programms

  • Optimierungstechniken wie Loop-Unrolling, Pipelining usw.
  • Nutzung der ImpulseC Pragmas zur Optimierung

Hardware-Code Generierung

  • Datenflussgraph einer mit CoDeveloper generierten Hardware
  • CoDeveloper Optionen under deren Einstellung zur Hardware-Generierung
  • Generierter Hardware-Code für Stream, Signal, Array

Protools und Simulation

  • Analyse der generierten Hardware mit StageMaster Explorer
  • Nutzung des StageMaster Debugger zur Zyklusgenauen Simulation der Hardware
  • Möglichkeiten der Simulation eines Designs
  • Hardwaresimulationstechniken zur Verifikation des Hardware-Codes mit ModelSim
  • Vorstellung von CoSimulations-techniken mit Matlab und Simulink der Verifikation der generierungen Hardware

FPGA Implementierung

  • Schritte der Implementierung eines Designs in ein Xilinx oder Altera FPGA
  • Design Flow mit Xilinx PlatformStudio bzw. Altera SoPC Builder und die Konfiguration der Hardwareplatform
  • Simulation des Systems

Das theoretische Wissen wird durch 4 Übungen vertieft:

1. Ein kleines VHDL Beispiel als Einstieg
2. Umwandlung von Legacy C-Code zur Implementierung mit CoDeveloper
3. Simulation einer mit CoDeveloper generierten Hardware (RTL Code)
4. Implementierung des Mandelbrot Beispiels in HW und SW (PPC) zum Vergleich

Termin
auf Anfrage.

Anmeldung
Bitte senden Sie die Anmeldung an training [at] evision-systems.de

Anmeldeformular

Schulungsgebühr
1.250 € zzgl. MwSt. Schulungsunterlagen, Getränke und Mittagessen sind im Preis enthalten.


Voraussetzung
Basis-Wissen zur C Sprache und Software Programmierung