Simics-Full System Simulator
Wind River Simics is a fast, functionally-accurate, full system simulator. Simics creates a high-performance virtual environment in which any electronic system - from a single board to complex, heterogeneous, multi-board, multi-processor, multicore systems - can be defined, developed and deployed. Using Simics, software developers can execute and debug their target software stack, from hypervisor to application.
Simics enables companies to adopt new approaches to the product development life cycle resulting in dramatic reduction in project risks, time to market, and development costs while also improving product quality and engineering efficiency. Simics allows engineering, integration and test teams to use approaches and techniques that are simply not possible on physical hardware.
Simics can simulate any digital system including a basic CPU + memory, a custom FPGA or ASIC, an individual board, or a rack full of boards. Large, complex, mixed architecture systems can be modeled with off-the-shelf support for several processor families (e.g. ARM, Intel, MIPS, PowerPC, Tensilica, and TI DSP), hundreds of IO devices, and standard communications, backplane and network protocols.
Simics allows us to teach device driver programming with a less painstaking process than with real hardware. Moreover, it allows us to take measurements, like for example interrupt latency, to show important concepts that would be more difficult to understand with real hardware.
Simics virtual platforms can be as complex or as simple as your actual physical hardware. They can contain multi-core processors, multiple processor boards, or multiple-board systems. This provides the ability to debug your system as a whole, instead of just debugging individual pieces. Simics virtual platforms can contain a mix of different target hardware architectures, including mixed endian architectures. Simics virtual platforms eliminate problems associated with using physical hardware for product development such as limited target availability, flaky prototype hardware, and hardware delays.