Welche Rolle spielt MATLAB/Simulink in Ihren virtuellen Prototypen?
Mit MATLAB/Simulink entwickeln und simulieren wir den Signalverarbeitungsteil des ASICs. Virtuelle Prototypen sind ein neuartiger Ansatz, der das gesamte System-on-Chip in SystemC modelliert - einschließlich Busarchitektur, Prozessoren und Interfaces. Verschiedene Themen wie die Kommunikation werden dabei abstrahiert, so gelangt man schnell zu einem initialen Modell des ASICs.
In pdf" target="_blank" href="http://matlabexpo.com/de/2017/proceedings/automatisierte-integration-von-simulink-modellen-in-virtuelle-plattformen.pdf">meinem Beitrag auf der MATLAB EXPO versuche ich die modellbasierte Welt mit der Welt der virtuellen Prototypen zusammen zu bringen. In Zusammenarbeit mit MathWorks haben wir eine Lösung erarbeitet, welche MATLAB/Simulink-Modelle automatisiert in eine virtuelle Plattform integriert. Ohne diese Lösung müsste auch das Verhalten des Signalpfades neu modelliert werden. Diesen manuellen Schritt haben wir durch eine automatisierte Lösung in MATLAB/Simulink ersetzt.
Ist das über Automotive-Applikationen hinaus relevant?
Sehr sogar. Unsere Lösung ist für alle komplexen SoCs relevant, von welchen Teile modellbasiert entwickelt werden - egal ob sie ASIC- oder FPGA-basiert sind. Sobald das SoC algorithmische Komponenten integriert, kann man diese in MATLAB/Simulink entwickeln und in einen virtuellen Prototyp einbetten.
Wie funktioniert die automatische Integration von MATLAB/Simulink-Modellen?
Wir verwenden für die ASIC-Entwicklung einen IP-XACT-basierten Designflow. IP-XACT hat seinen Ursprung in der automatisierten Konfiguration und Integration von wiederverwendbarer IP. Wir nutzen IP-XACT sowohl zur Definition von Registerschnittstellen der On-Chip-Komponenten als auch für die Beschreibung der On-Chip-Architektur (Bild 3). Aus IP-XACT generieren wir verschiedenste Dokumente wie z.B. VHDL-Beschreibungen, C-Header für die Softwareentwickler, HTML-Dokumentation als auch SystemC-Beschreibungen für das Virtual Prototyping.
Auch für die automatische Integration der MATLAB/Simulink-Modelle in virtuelle Prototypen nutzen wir die IP-XACT-Registerbeschreibungen. Aus MATLAB/Simulink wird dann ein C-Kern generiert, welcher die Signalverarbeitung modelliert. Dieser Kern wird von einem Wrapper umhüllt, der automatisch generiert wird und die in IP-XACT beschriebenen Register in SystemC modelliert.
Diese Register dienen dazu, im virtuellen Prototyp das SystemC-Modul an den On-Chip-Bus anzuschließen. Außerdem wird Code generiert, der das Register-Interface mit dem Signalverarbeitungs-Kern synchronisiert. So erhalten wir ein SystemC-Modul (Bild 4), welches die Signalpfadkomponente inklusive Registerinterface repräsentiert und direkt in einen virtuellen Prototyp integriert werden kann.
Wie verlief die Zusammenarbeit mit MathWorks?
Die Zusammenarbeit mit MathWorks erfolgte im Rahmen des vom Bundesministerium für Bildung und Forschung geförderten Projekts EffektiV. Nach der Zusammenarbeit steht dieser Ansatz nun im MathWorks-Portfolio bereit und kann von allen Anwendern der Simulink Verification and Validation Toolbox genutzt werden.