Integration von SoC erfordert Verifikation von Hard- und Software IC-Design erfordert mehr als Integration!

Bild 1: Beispiel für ein Smartphone-System
Bild 1: Beispiel für ein Smartphone-System

Weil integrierte Schaltkreise zunehmend Systemeigenschaften aufweisen, die durch Software bestimmt sind, kann deren Verifikation ohne angemessene Darstellung der Systemumgebung und der darauf laufenden Software zum Scheitern von Projekten führen.

Im Laufe der letzten zwanzig Jahre haben sich die Produkte der Halbleiter-Unternehmen grundlegend verändert. Wo früher Software-Treiber ausreichend waren, um ein Halbleiter-Bauteil zu unterstützen, benötigen die heutigen komplexen Chip-Designs umfangreiche Software, damit diese überhaupt funktionieren. Entsprechend diesen Anforderungen haben die Halbleiter-Anbieter massiv in den Aufbau von Software/Entwicklungsteams investieren müssen. Die Abhängigkeiten zwischen Hardware und Software sind zudem viel komplizierter geworden.

Das zeigt sich exemplarisch bei einem typischen Mobiltelefon-SoC in seiner Systemumgebung (siehe Bild 1). Das Subsystem des Anwendungsprozessors führt einen komplexen Software-Stack aus, der sich dem Endanwender als Betriebssystem, wie Android, Linux, iOS oder Windows, sowie den darauf laufenden Anwendungen darstellt. 

Dazu gibt es viel Software innerhalb eines solchen Systems, die für den Benutzer meist nicht direkt sichtbar ist. Hierzu gehören die Bare-Model-Software zur Beschleunigung von Video und Audio sowie Protokoll-Stacks für die Modems, welche das SoC mit der drahtlosen Systemumgebung verbinden.

Außerhalb des Chips stellen drahtlose Schnittstellen die Verbindung zur Luftschnittstelle über Antennen zu 2G, 3G, 4G, LTE und zukünftigen Netzwerken her. Auf Tastendruck stellt das Subsystem des Anwendungs-Prozessors eine Verbindung über das Modem, die Luftschnittstelle und das aktuelle LTE-Netzwerk mit dem gewünschten Gesprächspartner her. Bevor dieser Chip in die Produktion geht, muss diese Funktionalität aber ausreichend geprüft werden. Dazu müssen die Projekt-Teams Software, Hardware und die Systemumgebung entsprechend kombinieren, was eine äußerste Herausforderung für die Entwicklungsumgebungen darstellt.