HNI Logo
FPGA-in-the-Loop Simulation mit RAPTOR2000

Motivation

Die HiL Simulation

Rekonfigurierbare Hardware (Field Programmable Gate Arrays, FPGAs) wird aufgrund ihrer Flexibilität und des guten Verhältnisses zwischen Kosten und Leistung in zunehmendem Maße als Plattform für regelungstechnische Anwendungen eingesetzt. Während Werkzeuge wie Matlab/Simulink den Entwurf und die Simulation digitaler Regler inzwischen sehr komfortabel unterstützen, sind die Möglichkeiten zum automatisierten Testen in der Zielhardware bisher beschränkt.

Daher wurde am Fachgebiet Schaltungstechnik ein Hardware-in-the-Loop (HiL) System entwickelt, das diese Lücke schließt und eine uneingeschränkte Wiederverwendbarkeit einer Testumgebungen in  Matlab/Simulink,  ModelSim bzw.  CAMeL-View unterstützt.

Konzept HiLDE und HiLDEGART

Der Begriff „Hardware-in-the-Loop“ beschreibt ein Konzept, welches die Kopplung einer realen Hardware mit einer virtuellen Umgebung zu Testzwecken realisiert. Dieses Prinzip wird auch im Rahmen der FPGA-in-the-Loop (FiL) Technologie verwendet, wobei zwei FiL-Arten zu unterscheiden sind:

Bei der offline Simulation wird ein Testobjekt (Design Under Test, DUT) in eine virtuelle Testumgebung eingebunden. Die Testumgebung wird dabei in der Regel von einem Simulator wie Matlab/Simulink, ModelSim oder Ähnlichen berechnet, und eine Simulatorspezifische Schnittstelle stellt die Verbindung zum DUT her. Dabei sind alle Eingänge des DUT, also auch der Takt, rein ereignisgesteuert, was eine rein funktionale Verifikation des DUT bzw. eine Beschleunigung der Simulation ermöglicht.

Die online Simulation stellt zusätzlich zur funktionalen Verifikation auch die Möglichkeit zur Überprüfung des zeitlichen Verhaltens dar. Dazu wird die Testumgebung auf einem System ausgeführt, das die Einhaltung von Latenzen wie in der realen Strecke garantiert, also ein Echtzeitsystem darstellt. Im Rahmen des HiLDE (Hardware-in-the-Loop Development Environment) Projektes werden zunächst ausschließlich Simulationen der ersten Kategorie ermöglicht.

Nachdem sich der Benutzer in der offline Simulation von der Korrektheit des DUT in Hardware überzeugen konnte, wird im Rahmen der online Umgebung HiLDEGART (HiLDE for Generic Active Realtime Testing) das DUT in die endgültige Umgebung, also die Regelstrecke eingesetzt. HiLDEGART unterstützt den Entwicklungsprozess durch die Möglichkeit zur Visualisierung und Parametrisierung eines Reglers zur Laufzeit, wodurch der Entwickler die Möglichkeit hat, viele Variationen von Parametern zu testen. Die so gewonnenen Daten können auf einfachem Wege exportiert werden, so dass sie z.B. in der ursprünglichen Simulationsumgebung als Stimuli verwendet werden können.

Während die derzeitige Implementierung der Schnittstellen auf  RAPTOR2000 bzw. RAPTOR-X64 angepasst sind, lassen sich sowohl für HiLDE als auch für HiLDEGART beliebige, FPGA basierte Systeme mit einer entsprechenden Schnittstelle zum PC einbinden.

Automatisierte Einbettung - vMAGIC

Die automatische Erzeugung der für HiLDE bzw. HiLDEGART benötigten Schnittstellen ist ein unerlässlicher Teil des FiL-Entwurfsablaufes. Das zu diesem Zweck entwickelte Werkzeug jvToolsLib wird derzeit durch ein Parser-basiertes System - vMAGIC (VHDL Manipulation And Generation Interface) - ersetzt. vMAGIC ist eine API, die Manipulationen von VHDL Quellcode auf Ebene eines Syntaxbaumes (AST - Abstract Syntax Tree) ermöglicht. Für den Benutzer stehen Klassen zur Verfügung, die die Elemente des Baumes (Deklarationen, Zuweisungen, Attribute usw.) repräsentieren, und  die semantische Operationen auf diesen Elementen ausführen können. Auf diese Weise sind im Prinzip alle denkbaren Manipulationen (z.B. Füge ein Register ein, Route dieses Signal durch alle Hierarchieebenen usw. ) realisierbar. Im Falle von HiLDE und HiLDEGART werden z.B. Speicherelemente und Busschnittstellen automatisch erzeugt.

FPGA-in-the-Loop Entwurfsablauf mit vMAGIC

Links

Kontakt

 Dipl.-Ing Christopher Pohl

Fon: +49 (0) 5251 | 60-6343

 M. Sc. Carlos Paiz

Fon: +49 (0) 5251 | 60-6340

 Dr.-Ing. Mario Porrmann

Fon: +49 (0) 5251 | 60-6352

 

 



Nach oben