Während eine spezielle Assertionssprache offensichtlich bereits wegen der Kürze der Beschreibung vorteilhaft ist, bieten Assertions aus Sicht der Methodik viele weitere und nicht minder wichtige Vorteile. Hierzu zählen:
Effiziente Assertionsmethode
Zwar können Assertions sowohl dynamisch als auch statisch (formal) überprüft werden, aus Platzgründen beschränken sich die folgenden Betrachtungen jedoch auf den dynamischen Test (Simulation). Die Mehrheit der kommerziellen Simulatoren unterstützt heute Standard- Assertions-Sprachen bzw. steht kurz davor. Zwar bewältigen Simulatoren einfache Assertionsüberprüfungen recht gut, die Akquisition der Hilfsdaten (für das Debuggen und Analysieren erforderliche Daten) während der Ausführung reduziert aber die Simulatorgeschwindigkeit massiv. Die temporale Natur von Assertions kann gleichzeitig zahlreiche Versuche (Prüfungen) und Threads hervorrufen, die den Simulator ausbremsen und den Speicherbedarf beim Sammeln der erforderlichen Hilfsdaten ansteigen lassen. Wird der Großteil dieser Aufgabe auf das Debug-System übertragen, das sich wiederum so optimieren lässt, dass es nur die wirklich benötigten Daten ermittelt, entlastet dies den Simulator und beeinträchtigt so die Performance weniger. In dieser Konstellation erzeugt das Debug-System automatisch die benötigten Hilfsdaten, sodass der Simulator die Prüfungen wesentlich effektiver durchführen kann. Im Idealfall testet das Debug-System die Assertions gegen die während der Simulation erfassten Signaldaten, sodass der Simulator keine Zusatzaufgaben erfüllen muss, um ein Prüfen der Assertions zu ermöglichen. Bei diesem Ansatz lassen sich Assertions für die Steuerung der Extraktion des Designverhaltens aus einer Datei nutzen, welche die Signalverläufe enthält. Solche Signal-Trace-Dateien werden bei üblichen Verifikationsmethoden ohnehin erzeugt.
Diese Funktion kann sich auch während der Assertionserstellung als hilfreich erweisen, da sich Assertions schnell und unmittelbar bei ihrer Erstellung prüfen lassen. Alternativ wäre es notwendig, nach jeder kleinen Änderung im Assertionscode erneut einen Simulationsdurchlauf zu starten, was viel Zeit in Anspruch nehmen kann. Glücklicherweise profitieren Assertion- basierte Methoden besonders davon, wenn Debugsysteme einen Teil der Aufgaben übernehmen, die traditionell dem Simulator vorbehalten waren.
Da das Debuggen von Assertion- Fehlern eine komplexe Aufgabe ist, muss das Debugsystem folgende Funktionen bieten: