Systems consist of two primary elements: hardware and software. An increasing percentage of most electronic systems is implemented in software. Rather than waiting for hardware prototypes before beginning debug of the system software, many designers are turning to virtual prototyping systems.
Simics from Virtutech is one such system, enabling designers to simulate the entire system under test. It's accurate enough for firmware, device-driver, and operating-system development. It's also fast enough for software development and debug as well as regression testing.
To enhance Simics' utility, the Simics Hindsight debug tool lets developers move forward and backward in any code and stop at any point. Traditional software debug requires returning to the program's start every time a bug is found. Simics Hindsight permits developers to step back in time at will.
After a bug is detected, the execution can be reversed until just before it occurs and then investigated in detail as it runs forward again. Hindsight offers a reverse-continue command (running the program backwards until a breakpoint is reached or the program starts) as well as a reverse-single-step command (backing up to the previous instruction or line of code). This will dramatically reduce the amount of time spent in debug.
A typical initial engagement involves modeling an entire system and equipping a group of 10 to 15 developers with Simics. Such an engagement is priced from $200,000 to $300,000, depending on configuration. The addition of Simics Hindsight to this kind of installation costs $5000/seat.