Debugging komplexer digitaler Systeme
Bei der Entwicklung von Komponenten digitaler Systeme steht
man immer wieder vor dem gleichen Dilemma: Entweder man simuliert
Teile des Systems, wobei man sehr detailliert in das System
hineinschauen kann, dafür jedoch eine geringe Simulationsgeschwindigkeit
in Kauf nimmt, oder man emuliert die Schaltungen auf einem
Hardware-Emulator, mit dem man zwar recht hohe Taktraten erreicht,
aber dafür nachträglich keine internen Signale evaluieren kann.
In diesem Projekt werden die beiden Ansätze vereint,
in dem die Schaltung bis zum Auftreten eines Fehlers, der über
eine logische Bedingung definiert werden kann (Breakpoint) in einem
Emulator abläuft. Beim Auftreten eines Fehlers wird der aktuelle
Zustand konserviert und in einen angeschlossenen Simulator übertragen,
der exakt die gleiche Schaltung simuliert, die auch im Emulator
ausgef&umml;hrt wurde. Jetzt können alle internen Signale betrachtet werden.
Da stets mehrere Zustände gespeichert werden, kann man im Simulator
ein paar Takte zurück und vorwärts laufen.