Algorithmen testen

Matlab-Prototypen für FPGA-Systeme

30. Juni 2017, 13:30 Uhr | Von Oliver Bründler
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Abgeschirmt von der Implementierung

In den Bereichen Regelungstechnik und Signalverarbeitung hat sich Matlab als Quasi-Standard für die Entwicklung von Algorithmen etabliert. Die meisten Algorithmen werden in Matlab optimiert und analysiert, bevor sie implementiert werden. Dies gilt unabhängig davon, ob die tatsächliche Implementerung von Hand oder über Code-Generierung geschieht. Neben dem Algorithmus selbst werden dabei normalerweise auch Skripte geschrieben, um die Performance des Algorithmus zu analysieren und Parameter für verschiedene Anwendungsfälle zu berechnen. An dieser Stelle wäre es natürlich von Vorteil, mit Matlab direkt Messungen auf der realen Hardware durchführen zu können.

Dies ist tatsächlich möglich – ein Matlab-Prototyp kann direkt aus Matlab-Skripten angesprochen werden (Bild 1). Dadurch erhält der Applikationsspezialist direkten Zugriff auf die tatsächliche FPGA-Implementerung des Algorithmus, kann sich aber weiterhin in der ihm gut bekannten Welt von Matlab bewegen. Gleichzeitig kann er auch die bereits während der initialen Entwicklung des Algorithmus geschriebenen Analysefunktionen einfach auf Daten anwenden, die von der realen Hardware aufgezeichnet wurden. Dies gilt ebenfalls für die Berechnung von Parametern (z.B. Filter-Koeffizienten) für verschiedene Anwendungsfälle. Alle bereits in Matlab simulierten Testfälle lassen sich also auch auf der Hardware ausführen, und die Ergebnisse mit realen aufgezeichneten Daten lassen sich einfach mit Simulationen vergleichen (Bild 2).

Vergleich von Modell und Implementierung mit einem Matlab-Prototypen
Bild 2. Vergleich von Modell und Implementierung mit einem Matlab-Prototypen.
© Enclustra

FPGA-Spezialisten sind jedoch nach wie vor nötig, wenn tatsächlich eine Änderung am Algorithmus vorgenommen werden muss. Genau wie bei Mikrocontrollern und C/C++ kann der Applikationsspezialist aber wie gewohnt für die Optimierung von Parametern oder ausführliches Testen selbstständig und effizient arbeiten.

Dank bestehender Lösungen für die Kommunikation zwischen Matlab und einer FPGA-Implementierung lassen sich Matlab-Prototypen also mit minimalem Zusatzaufwand realisieren. Zwei Beispiele für bereits bestehende Lösungen sind etwa der FPGA-Manager von Enclustra (siehe Kasten) und Simulink Real-Time.

 

FPGA-Manager – die universelle Verbindung zwischen
Matlab und FPGA

Die von Enclustra entwickelte IP „FPGA-Manager“ implementiert die gesamte Kommunikation zwischen einem Host-PC und einem FPGA. Dazu wird im FPGA ein IP-Core eingebaut, der mit einer mitgelieferten Software-Bibliothek auf dem Entwicklungs-PC kommuniziert. Dadurch kann aus der PC-Software einfach auf Register im FPGA zugegriffen werden. Darüber hinaus können auch Datenströme (z.B. Video-Streams) in beide Richtungen übertragen werden, ohne dass der Benutzer sich um Protokolle oder andere Low-Level-Spezifikationen kümmern muss. FPGA-Manager unterstützt dabei verschiedene Schnittstellen (PCI Express, Ethernet, USB), Programmiersprachen (C, C++, C#, Matlab), Betriebssysteme (Windows, Linux) und FPGA-Hersteller (Xilinx, Altera). Dadurch ist diese Kommunikationslösung flexibel genug, um in den meisten Anwendungen eingesetzt werden zu können. Der Aufwand für eine Verbindung zwischen Entwicklungs-PC und FPGA fällt dadurch minimal aus.

 


  1. Matlab-Prototypen für FPGA-Systeme
  2. Abgeschirmt von der Implementierung
  3. Frühzeitige Tests von einzelnen Schaltungsteilen

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Enclustra GmbH

Weitere Artikel zu Mikrocontroller

Weitere Artikel zu Entwicklungswerkzeuge

Weitere Artikel zu Programmierbare Logik-ICs