MATLAB für das FPGA-Prototyping

Entwicklung, Bereitstellung und Debugging von Prototypen mit MATLAB und Simulink

Beim Prototyping Ihrer Algorithmen auf FPGA-basierter Hardware spielt es keine Rolle, wie viel Erfahrung Sie im FPGA-Design haben.

Mit MATLAB und Simulink können Sie Folgendes tun:

  • Hardwarefähige Entwürfe mithilfe bewährter IP-Blöcke und Subsysteme aufbauen
  • Das Hardware-Verhalten auf der Systemebene simulieren und so Fehler vor der Bereitstellung auf dem FPGA beseitigen
  • HDL- und C Code generieren, der für beliebige FPGA- oder SoC-Geräte geeignet ist
  • Code automatisch auf FPGA- und SoC-Boards und -Kits von AMD® und Intel® bereitstellen
  • Hardware-Signale abgreifen und aufzeichnen

„Wir haben zwar umfangreiche Erfahrung auf unserem Gebiet, aber wenig Erfahrung mit der FPGA-Integration. Mit Simulink und HDL Coder konnten wir uns voll auf den Entwurf intelligenter Algorithmen für unser Produkt konzentrieren anstatt darauf, wie diese Algorithmen auf einem bestimmten FPGA ausgeführt werden.“

Boris Van Amerongen, Orolia

Drahtlose Anwendungen

Sie können Ihre Entwürfe nach und nach mit realen Hardware-Elementen auffüllen: von der Simulation Ihres Algorithmus mit echten, drahtlos übertragenen Ein- und Ausgaben bis hin zur vollständigen Implementierung auf Software-Defined Radio-Plattformen mit FPGAs, SoCs oder selbst entwickelten Boards.

Die Hardware-erprobten IP-Blöcke und -Subsysteme der Wireless HDL Toolbox für drahtlose Entwürfe machen den Einstieg leicht. Zum IP gehören Beispiele, die zeigen, wie Sie schrittweise vom Algorithmenentwurf mit MATLAB zu Implementierungsmodellen für drahtlose Systeme in Simulink vorangehen. Das gesamte IP wurde auf Festkomma quantisiert. Sie können also mit dem Fixed-Point Designer die Quantisierung individueller Logiken verwalten, die Sie vor der Implementierung mit dem HDL Coder hinzufügen.

Entwerfen und simulieren Sie Projekte auf der Systemebene und erweitern Sie sie schrittweise um reale Hardware-Aspekte, bis sie bereit für eine vollständige Bereitstellung in Feldtests sind.


Anwendungen zur Steuerung von Motoren und Leistungselektronik

Implementieren Sie Regelungsalgorithmen für Motoren und Leistungselektronik auf FPGA-Hardware und beschleunigen Sie Hardware-in-the-Loop-Anlagenmodelle auf FPGA-Beschleunigern wie Speedgoat-I/O-Modulen.

Anwendungen zur Steuerung von Motoren und Leistungselektronik

Sie können die Performance von Regelungsalgorithmen, die auf FPGA-basierter Hardware laufen, untersuchen oder Anlagenmodelle durch FPGA-basiertes Hardware-in-the-Loop beschleunigen. Mit seiner umfassenden Unterstützung für die Generierung von HDL-Code für mathematische und trigonometrische Funktionen in Form von Festkomma- oder nativen Gleitkommafunktionen (9:19) bietet der HDL Coder den direkten Weg vom Simulink-Modell zur Hardware.

Wenn Sie die optimale Partitionierung Ihres Algorithmus für die SoC-Bereitstellung suchen, können Sie Partitionierungs-Strategien untersuchen und simulieren und so dessen Leistung noch vor der Bereitstellung auf einer Prototypen-Plattform bewerten. Anschließend können Sie vorkonfigurierte Kits, Einführung in die Speedgoat FPGA-Technologie (7:53) oder ein selbst entwickeltes Board verwenden.


Anwendungen zur Video- und Bildverarbeitung

Die automatische Generierung von HDL- und C-Code ermöglicht das Prototyping von Vision-Algorithmen auf FPGA-basierten Plattformen, die mit MATLAB und Simulink verbunden sind. Außerdem lassen sich Hardware-erprobte Vision-Blöcke für die Bildverarbeitung dazu nutzen, ein Implementierungsmodell zu erstellen, mit dem das Hardwareverhalten wie Pixel-Streaming, Umgebungsalgorithmen, externer Speicherzugriff und Steuerungssignale simuliert werden kann.

Ihre Modelle können auf gängigen FPGA-Evaluierungskits mit Kameras bereitgestellt werden. Alternativ kann Ihr Hardware-Team eine Unterstützung für Ihre eigene Plattform entwickeln, sodass Sie Prototypen direkt aus MATLAB und Simulink heraus bereitstellen können.

Anwendungen zur Video- und Bildverarbeitung

Ein auf einem FPGA-Prototypenboard ausgeführter Algorithmus zur Ausblendung von Nebel.


FPGA-basierte Deep Learning-Inferenzen können direkt aus MATLAB heraus auf Prototypen-Hardware ausgeführt und anschließend ein HDL-basierter IP-Core für Deep Learning erzeugt werden, der auf beliebigen FPGAs oder ASICs bereitgestellt werden kann.

Deep Learning-Inferenz

Mit nur wenigen MATLAB-Befehlen lassen sich Deep Learning-Inferenzen durch das Prototyping von Netzwerken auf FPGA- und SoC-Boards beschleunigen. Danach können Sie Ihr Netzwerk in MATLAB iterieren, indem Sie die Inferenzleistung auf dem FPGA analysieren, das Netzwerk anpassen, Festkomma-Quantisierung einführen und es erneut bereitstellen. Abschließend können Sie einen Target-unabhängigen IP-Core in HDL generieren, den Sie zur Implementierung an das Hardware-Team weitergeben.


Debugging von FPGA-Prototypen

Durch das FPGA-Prototyping mit realen Inputs können Sie Bugs aufspüren, die vorher in der Simulation nicht gefunden und behoben wurden. Sie können in Ihren FPGA- oder SoC-Prototypen Logiken einfügen, mit denen Sie MATLAB-Befehle interaktiv aus AXI-zugänglichen Registern lesen und in diese schreiben oder Daten an Testpunkten innerhalb der FPGA-Struktur abgreifen können.

Wenn Sie Ihren FPGA-Prototypen lieber mithilfe Ihrer MATLAB- oder Simulink-Testbench testen möchten, übernimmt das FPGA-in-the-Loop-System die Automatisierung des Setups und verwaltet die Simulationsschnittstelle, um Daten an das FPGA zu senden und sie wieder in Ihre Testbench zurückzulesen.

Diese Verfahren unterstützen eine Vielzahl von Boards mit AMD-, Intel- und Microsemi-Geräten. Alternativ können Sie auch selbst entwickelte Boards definieren.

Fügen Sie automatisch Logiken für das Debugging und die Interaktion mit Ihrem FPGA-Prototypen aus MATLAB heraus ein.