It showed up one day, and my wife quickly snarfed it up. She immediately recognized it as a left-hander's timepiece. As you might guess, we have a few left-handed devices around here, including scissors, pencils, and measuring cups. The clock was a trinket from Texas Instruments (TI) to highlight its latest version of Code Composer Studio with Rewind Debugging (see "IDE Goes Multicore" at www.elecdesign.com, ED Online 10807).
Rewind Debugging is actually a cross between tracing and simulation that's found in a variety of debuggers. TI's implementation is very cool, and it targets DSP developers. For those new to this technique, you start by tracing an application. The feature can be used when a breakpoint is reached. At this point, you can step backward and see what the program was doing. Or you can step forward along the recorded timeline, or modify memory or register values to see how this changes execution. Essentially, you can rewind the application execution to a particular point in time, make changes, and start running. It's definitely a powerful tool for finding and fixing bugs. It comes down to a matter of delivering the right tool for DSP developers.
This form of debugging is particularly effective in a simulated environment where a developer has insights and control over all aspects of the architecture, from the instruction-set simulator to the peripheral interface. This approach has become critical as product turnaround times continue to shrink. Developers must start before hardware is available, which is where simulation steps in.
Unfortunately, not all simulation environments are created equal. One end of the spectrum takes the system down to the electrical level using EDA tools, and it's even possible to accelerate software-based solutions using FPGAs. At the other end, raw speed is essential, and applications may be compiled for the development processor instead of the target processor. This can actually lead to applications that run faster than on the target platform. In between are instruction-set simulators (ISSs) that offer a level of accuracy compared to the target while providing the performance necessary to run an application in real time or near-real time. To some, a particular simulation tool may be so foreign that it's as confusing as a left-handed clock. Sometimes, it's a matter of changing your mindset.
I now have my own silver TI timepiece sitting above my monitor. As a right-handed person, it takes a little effort to remember that the hands are running counter-clockwise. But it serves as a reminder that crafting good tools for a target audience requires the proper mindset.