Virtuelle Prototypen

7. Februar 2007, 16:49 Uhr |
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Was ist zu tun?

Der Einsatz von VSPs ist sinnvoll, um die Performance einer Architektur frühzeitig zu quantifizieren. Bei Multiprozessor- Architekturen ist den Bus- und Speichersystemen besondere Aufmerksamkeit zu schenken. Durch eingehende Tests lassen sich Engpässe in der Busarchitektur identifizieren. Werden diese nicht beseitigt, können sie Ressourcenkonflikte verursachen, die zu mangelnder Systemleistung oder gar einem Deadlock und »Aushungern « von Prozessen führen kann. Dann gilt es, die Leistung der in Frage kommenden Architekturen anhand realer oder vergleichbarer Anwendungssoftwarelasten zu testen. Dies vermeidet Ungewissheiten und Fehler, die bei bloßen Schätzungen auftreten können.

passend zum Thema

Ein zusätzlicher Vorteil ist die bedeutend einfachere Umsetzung verschiedener Architekturen im Vergleich zu FPGA-basierten Ansätzen. Innerhalb eines Arbeitstages können mehrere Architekturen bewertet werden. VSPs eignen sich gut dafür, Requirements und Use-Cases in Form einer ausführbaren Spezifikation zu erfassen, die als Basis für die Implementierung und die Verifikation der Implementierung dient. Bei frühzeitigem Einsatz ist ein sorgfältig entwickelter VSP in Bezug auf die eindeutige Beschreibung des Systembetriebs weitaus effektiver als eine schriftliche Spezifikation. Natürlich sind zyklusgenaue Modelle notwendig.

Bei taktzyklengenauen Beschreibungen gibt es weniger Einschränkungen hinsichtlich der Anwendungsfelder (Architektur, SW-Entwicklung, etc.). Außerdem können sie für das Zeitverhalten echtzeit- kritischer, äußerst reaktiver Systeme und sogar bei der Verifikation der Hardware- Implementierung verwendet werden.

Wie für alle Modelle gilt auch für VSPs, dass sie während der gesamten Designphase zu pflegen sind und aktualisierte und geänderte Versionen zu erstellen sind, wenn die Architektur an die Implementierung angepasst und verfeinert wird. Wird der virtuelle Systemprototyp gepflegt und aktualisiert, lässt er sich noch lange nach der tatsächlichen Verfügbarkeit des Systems zum einfachen Aufspüren von Systemfehlern verwenden. Der VSP leistet auch als Hilfsmittel für die Softwareentwicklung gute Dienste. Bei entsprechender Leistungsfähigkeit lässt sich der virtuelle Systemprototyp nicht nur für die frühzeitige Gerätetreiber- Entwicklung nutzen, sondern auch für das Design der Middleware und der Regelalgorithmen. Wird die Applikationssoftware frühzeitig entwickelt und getestet, können Funktionsfehler identifiziert und vor Abschluss der Implementierung beseitigt werden. Dies spart NRE- und Maskenkosten.

Bild02_e54518_02.jpg
Bild 2: Schematischer Vergleich verschiedener Entwurfsabläufe

Was ist zu vermeiden?

Anders als bei vielen herkömmlichen Entwurfsverfahren sollte der Anwender nicht warten, bis die Hardware zur Verfügung steht, um mit der Softwareentwicklung und den Tests auf Systemebene zu beginnen. Virtuelle Systemprototypen sind bewährte Hilfsmittel, die es dem Anwender erlauben, ungefähr ein Jahr früher mit der Softwareentwicklung zu beginnen, als es bei konventionellen Methoden möglich ist, die auf Hardwareprototypen basieren. Dasselbe gilt auch für die Software: Bereits vor der Fertigstellung der Applikationssoftware ist es möglich, Leistungstests auf Applikationsebene durchzuführen. Repräsentative Anwendungen sind besser als gar keine testbaren Anwendungen oder verspätete Applikationstests.

Stehen keine zeitakkuraten Modelle zur Verfügung, ist das Einsatzspektrum von VSPs stark limitiert. Rein funktionale Modelle sind keine Hilfe. Solche Modelle können das System-Timing (Prozessor, Bus, Peripherie) kaum repräsentativ wiedergeben. Rein funktionale Modelle lassen zwar eine frühe SW-Entwicklung zu, aber der Portierungsaufwand auf echtzeitkritische Hardware bleibt immens. Dies gilt auch für Implementierungsmodelle. Zyklengenaue, schnelle Simulationsmodelle lassen sich auf Verhaltensebene in einem Bruchteil der Zeit entwickeln, die sonst für den Hardware- Entwurf notwendig ist. Der Einsatz von Modellierungsverfahren, die sich eher für die Implementierung als für die Simulation eignen, ist kontraproduktiv. Es gilt, die Modelle auf die Softwaresicht zu abstrahieren, unter Berücksichtigung aller relevanten Timingpfade. Je einfacher ein Modell, desto höher ist die Simulationsgeschwindigkeit.

Marcel Consée, DESIGN&ELEKTRONIK


  1. Virtuelle Prototypen
  2. Was ist zu tun?

Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!