
Virtutech Simics is a flexible and scalable software solution that models electronic systems with high performance and fidelity. Simics provides the means for corporations to improve their product development lifecycle from bring-up to deployment. Simics is a family of products optimized to the tasks performed by different engineers: low-level software developers, application developers, system integrators and testers, and project management.
Simics provides software developers unprecedented debugging access to their applications running on the Simics platform, a virtualized software development (VSD) environment. Extending the capabilities of traditional software debuggers, Simics provides advanced software debugging features such as saving the complete system state and then later restarting from that state, deterministic behavior to ensure that the software and system behaves the same way each time, advanced breakpoints and watchpoints, scripting capability to automate repetitive tasks, device and system logging capability, and reverse execution which is extremely powerful for finding elusive bugs.
Simics can be used alone or in tandem with 3rd party source level debuggers and integrated development environments. Simics allows for a 3rd party debugger to connect via an Ethernet connection to a remote debug agent running with the application in the simulation.
Simics allows users to create, modify, configure, and control the virtual boards and systems that run on the Simics platform. Virtual boards and systems can range from simple boards with just a CPU and memory, to complete PCs or workstations with disks and graphical devices, to multi-processor/core systems, to complex systems containing multiple networked computers. Simics provides a compiler for the Device Modeling Language (DML). DML allows for device models to be created quickly and efficiently by modeling just the behavior of the device instead of how the device is physically implemented. Simics also provides a convenient way for doing quick prototyping and running what-if scenarios to see how various hardware configurations affect the performance of the software.