Wind River® Simics® allows developers to have on-demand and easy access to any target system, more efficient collaboration between developers, and more efficient and stable automation, enabling organizations to reap the business benefits of agile and continuous development practices to create and deliver better software, faster—even for complex, embedded, connected, and large IoT systems.
DEVELOP SOFTWARE IN A VIRTUAL ENVIRONMENT
Simics provides the access, automation, and collaboration required to enable agile and continuous development practices. By using virtual platforms and simulation, software developers can decouple their work from physical hardware and its limitations during development. Access to virtual hardware allows developers to do continuous integration and automated testing much sooner in the development cycle—even before the hardware design is finalized—as well as perform both testing and debugging during design and prototyping phases. All team members can have unlimited access to virtual hardware, allowing new ways of working and improved collaboration throughout the lifecycle. Virtual hardware can be shipped anywhere, at any time, improving collaboration and ensuring a common baseline for all developers. Ultimately, developers can dramatically reduce risks of shipping late, overrunning budget, and having quality problems. Software developers use Simics to simulate nearly anything, from a single chip all the way up to complete systems and networks of any size or complexity. A Simics simulation of a target system can run unmodified target software (the same boot loader, BIOS, firmware, operating system, board support package (BSP), middleware, and applications as the hardware), which means users can reap the benefits of using a pure software tool.
MAXIMIZE PRODUCT DEVELOPMENT VELOCITY THROUGH ACCESS, COLLABORATION, AND AUTOMATION Simics enables more efficient development and higher velocity for development and testing. With seamless and reliable access to the Simics virtual hardware platform, teams can refine in real time, iterate continuously, and move through design, development, and test quickly to incrementally build their system. Simics improves team communication by providing an environment where team members can share actual running systems and system setups with each other, rather than documenting and describing system setups and software behavior. Furthermore, Simics helps shorten development and testing cycles by automating what is impossible to automate with physical hardware. OPTIMIZE SYSTEM DEVELOPMENT Complex and connected systems are difficult to debug and manage. While traditional development tools can help you track down bugs related to a single board or software process, finding a bug in a system of many boards and processor cores is a daunting task. For example, if you stop one process or thread with a traditional debugger, other parts in the system will continue to execute, making it impossible to get a globally coherent view of the target system state. Simics provides access to, visibility into, and control over all boards and processor cores in the system. Single-stepping forward and in reverse applies to the system as a whole; the whole system can be inspected and debugged as a unit. Furthermore, a checkpoint—or snapshot—can be created, capturing the entire system state. This state can be passed to another developer, who can then inspect the precise hardware and software state, replay recorded executions, and continue execution as if it never stopped.