Eine Simulation ist besonders hilfreich, wenn sie eine konkrete Frage beantwortet: Reagiert ein Baustein nach einem Reset wie gefordert? Bleiben Daten unter Rückstau erhalten? Wird ein Grenzwert richtig behandelt? Für diese Antworten braucht es mehr als einen Simulatorstart: kontrollierte Eingaben, eine eindeutige Erwartung und eine verständliche Fehlermeldung.
Den Fehlerfall verkleinern
Sichern Sie zunächst den auslösenden Test und den verwendeten Quellstand. Reduzieren Sie erst dann die Menge der beteiligten Module, ohne das beobachtete Verhalten zu verlieren. Ein kurzer, wiederholbarer Test ist beim Debuggen oft wertvoller als eine sehr lange Waveform. Dokumentieren Sie Taktdauer, Reset, Generic-Werte und gegebenenfalls den Zufallsstartwert.
Die Phasen getrennt betrachten
- KompilierungDer Compiler analysiert die Dateien in den zugeordneten Bibliotheken. Fehlende Pakete und falsche Sprachstände müssen hier geklärt werden.
- ElaborationDas Modell wird aus den gewählten Design Units, Bindungen und Parametern aufgebaut. Eine erfolgreiche Kompilierung garantiert keine gültige Hierarchie.
- AusführungDie Testbench erzeugt Stimuli, Zeit schreitet fort und Prüfungen bewerten das Verhalten.
- AnalyseAssertions lokalisieren die verletzte Erwartung; Waveforms und Quelltextkontext erklären die Ursache.
Active-HDL oder Riviera-PRO?
Active-HDL ist eine integrierte FPGA-Entwicklungs- und Simulationsumgebung auf Windows. Riviera-PRO adressiert umfangreiche Verifikationsabläufe. Die Auswahl erfolgt anhand des Betriebssystems, des Testbench-Stils, der Bibliotheken und der benötigten Debug- und Coverage-Funktionen. Edition und Lizenzumfang müssen die konkrete Anforderung abdecken.
Was ein Evaluierungstest zeigen sollte
- Der vorhandene HDL-Code und notwendige IP-Modelle lassen sich mit den vorgesehenen Optionen aufbauen.
- Ein absichtlich eingebauter Fehler wird mit sinnvoller Meldung gefunden.
- Der Fehler lässt sich aus einem gespeicherten Quellstand erneut auslösen.
- Ergebnisse sind für einen Kollegen nachvollziehbar, ohne dessen Arbeitsumgebung vorauszusetzen.
Beginnen Sie mit einer selbstprüfenden Testbench aus den Application Notes. Für die Überführung in wiederholbare Läufe folgt der Bereich Automatisierung.
