Heutige System-on-Chips (SoCs) sind sowohl im Hinblick auf die Hardware als auch auf die Software komplex. Von Multi-Core-SoCs für mobile Anwendungen über Automobil-Steuergeräte (ECUs) bis hin zu IoT-Geräten enthalten diese SoCs immer mehr Hardware-abhängige Software, die mit dem Halbleiter zusammen ausgeliefert werden muss. Zudem sind Software-gesteuerte Tests notwendig, um die Systemfunktionalität zu verifizieren. Dadurch wird das Debugging zum Problem für die Hardware und Software. Ein konventionelles Debugging erlaubt jedoch keinen holistischen Einblick in die Hardware und Software, so dass die Ingenieure dafür zeitraubende manuelle Ansätze anwenden müssen.
Fehler an der Schnittstelle zwischen Hardware und Software erweisen sich normalerweise für die Hardware-abhängige Software als besondere Herausforderung. Manche Probleme treten nur unter höheren Belastungen auf. Mit konventionellen Debugging-Ansätzen lassen sich derartige Probleme nur schwer entdecken.
Für die aktuellen SoCs ist daher eine Post-Prozess-Debugging-Methodik erforderlich, die eine genaue, synchronisierte Darstellung der Hardware- und Software-Aktivität ermöglicht. Dies muss zudem in einem sinnvollen Zusammenhang erfolgen, also eine Darstellung des Signalverlaufs der Hardware mit dem zugehörigen Quellcode der Software. Da die heutigen komplexen SoCs immer mehr Software für die Verifikation und einen komplexeren Initialisierungs- und Boot-Code benötigen, kann eine genaue zeitbasierte Darstellung der Hardware-Ausführung in Verbindung mit einer synchronisierten, genauen zeitbasierten Darstellung der Software-Ausführung das Debugging deutlich beschleunigen und erleichtern.