 |
Replay allows users to rapidly find
and isolate bugs.
Click to enlarge |
Overview
Carbon Model Studio’s Replay Plug-in allows enables software running on a Carbon Model to be rapidly iterated and debugged. Replay leverages the debug methods used by software engineers to accelerate system integration.
Replay Highlights
Replay provides these key benefits:
- Accelerates virtual prototype runtime iteration speeds
- Enables easy identification of software issues
- Automatically detects mismatch with previous run and switches to RTL model
- No manual coding required to implement
Hardware and software engineers debug problems differently. Hardware engineers may prefer waveform-based debugging, while software engineers prefer interactive software debug environments. In these debug environments, software engineers often iteratively execute the same section of code to identify problems and validate fixes. Replay takes advantage of this behavior by accelerating the speed of successive iterations. The first time code is run, it executes at normal speeds. Every subsequent execution of that same code is run using the saved responses from the first execution. Replaying the responses instead of recalculating the model’s behavior means that the same code runs substantially faster.
Replay Technology
During the first simulation, when software is executing on Carbon Models, the Carbon Models record the incoming bus traffic and responses. The models’ state information is also saved periodically at “checkpoints”. In subsequent iterations, the Carbon Models replay their saved responses to the system at very high-speed. Replay monitors the model stimulus and detects any differences in from previous runs. If there is a change, a full Carbon Model is substituted for the Replay Model guaranteeing that the simulation can execute new code paths with the hardware’s true behavior. Replay mode’s high-performance enables interactive software debugging, while maintaining complete hardware accuracy.
© 2007 Carbon Design Systems, Inc. Verilog is a registered trademark of Cadence Design Systems. All other trademarks and registered trademarks are the property of their respective owners. |