Techniktrends

Wegweiser durch die Virtualisierungswildnis

Seite: 2/3

Anbieter zum Thema

Virtuelle Prototypen für die Software-Entwicklung

Ein Hauptziel der Virtualisierung ist es, das virtualisierte Ecosystem dort anzuwenden, wo eine echte physikalische Umgebung nicht zur Verfügung steht, z.B. wegen fehlender Hardware. Virtuelle Prototypen stellen eine virtualisierte Umgebung zur Verfügung, um die Software zu entwickeln, die letztendlich auf der echten Hardware läuft. Da die Virtualisierung nur diese Software-Prototypingfunktion unterstützen muss, braucht die Genauigkeit der Virtual Machine nicht jener der Platform Virtual Machines zu entsprechen.

Virtuelle Prototypen müssen nur die Aspekte der Softwareapplikation unterstützen, die auch entwickelt werden. Befehlssatzsimulatoren fallen genau in diese Kategorie. Ein Simulator kann z.B. einen einzigen CPU-Kern simulieren oder den Kern und die gesamte Peripherie, die ein System-on-Chip-(SOC-) oder Board-Design ausmacht. Sollte die Virtual Machine eine bestimmte erforderliche Einheit nicht unterstützen, stellt der Softwaresimulator ein Plug-in-Interface bereit, über das Entwickler spezifische Peripheriesimulationen hinzufügen können.

Befehlssatzsimulatoren für das Embedded-Software-Applikationsprototyping wurden im Laufe der letzten Jahre immer weiter entwickelt. Gründe sind die Fortschritte bei der Virtualisierungs-Technik und die Geschwindigkeiten gängiger PCs, die virtuelle Prototypen ausführen. Ähnliche Virtualisierungstechniken, die früher virtuelle IT-Plattformen unterstützten, werden heute auch dazu benutzt, virtuelle Prototypen zu beschleunigen.

Softwareentwickler können so wiederum komplexere Applikationen simulieren; in einigen Fällen sogar das gleiche Komplettsystem, das später auf der physikalischen Zielhardware laufen wird. Viele Unternehmen, einschließlich Green Hills, Virtutech, Synopsys und Vast bieten diese High-Speed-Virtual-Prototyping-Umgebungen für Embedded-Softwareentwickler an, die damit Software vor der Hardwareverfügbarkeit entwickeln und integrieren können. Damit verkürzt sich die Markteinführungsdauer erheblich.

Hardware-Prototyping versus Software-Prototyping

Virtuelle Prototypen werden schon seit langem für das Hardware-Prototyping verwendet. Sie ermöglichen es, ein Modell (meist in einer Hardwareprogrammiersprache wie Verilog oder System C geschrieben) des geplanten Hardwareprodukts auszuführen, um es, und manchmal auch die darauf laufende Software, zu simulieren und zu debuggen. Für jegliche Hardwareentwicklung ist dies ein wesentlicher Bestandteil, da die Kosten der ASIC-Entwicklung sehr hoch sind und virtuelles Prototyping sicherstellt, dass das Hardwaredesign keine Fehler enthält, die später einen teuren Respin erfordern.

Verwirrend ist die Tatsache, dass die Anbieter von Hardware-Modellierungsumgebungen und Software-Simulationsumgebungen den Begriff „virtueller Prototyp“ für ihre Produkte nutzen (in einigen Fällen bietet ein Anbieter sogar beide Varianten an). Zwei gleichnamige Techniken sprechen also verschiedene Endanwender, Ziele und Leistungs-Charakteristika etc. an. Hardware-Prototyping-Tools sind gewöhnlich langsamer und erstellen Modelle, die bis hinab auf Gate-Ebene nahe der physikalischen Implementierung reichen. Software-Prototyping-Tools müssen nur bis zur funktionellen Ebene einer Baugruppe hinab genau sein, die von der Systemsoftware gesehen wird.

Betriebssysteme, Gerätetreiber und Applikationscode lassen sich in diesen Modellen ausführen. Verwirrung entsteht dadurch, dass diese getrennten Applikationen als Hardware-Prototyping-Tools und Software-Prototyping-Tools angesehen werden. In einigen Fällen kann ein einziges Tool (oder eine Kombination aus zwei integrierten Tools) Hardware-Modeling und Software-Simulation bereitstellen. Sie werden als Hardware/Software-Co-Prototyping-Tools bezeichnet.

Artikelfiles und Artikellinks

(ID:269148)