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.
base right