Simics makes hardware bring-up, firmware development, and other
low-level programming tasks easier in a number of ways:
- Hardware replacement
- A simulator replaces hardware. This has two key benefits during
hardware bring-up: you can start working on the software before the
hardware is available, and you can have as many copies of the
simulated hardware as you like. Both of these translate directly to
reduced total development time for the combined hardware+software
product.
- Inspection and modification
- You can inspect the state of the entire simulation—memory,
processor registers, device registers, anything—all entirely
non-intrusively. And time is simply paused while you do so. You can
run backward in time, modify memory or register contents, and then
run forward again and see the effects of this change.
- Full debug support
- The full power of Simics debugging (see chapter 11), with breakpoints, symbolic debugging, reverse
execution, scripting, and so on, is available everywhere, even at
the very lowest levels.