Nov 05, 2019 Simics

Simics: Just when you thought it couldn’t get any better

By Sean Evoy

Simics helps our customers leverage DevOps and enhanced cybersecurity practices for embedded development in order to increase product quality and security, and to reduce time to market. The latest version of Simics adds to that ability with enhancements in three key areas. First, and perhaps most noteworthy, is performance improvements. Equally significant, but a bit more behind the scenes, are improvements in how virtual platforms are defined. And finally, Simics provides greater insight into a running simulation, so developers and testers can understand how their solution uses system resources.

Let's take a closer look at some of the new features of Simics.

Performance Improvements

In their testing of IA models, the Intel Simics team reports a 20% performance improvement in simulation times. These improvements are due to a combination of the third generation thread scheduler, better memory allocation, and enhancements to how SystemC components get integrated and run. Multi-core acceleration has also seen an improvement. Results will vary depending on the models, configurations and other factors, but the improvements to the threading model have helped.

Model Definition

The latest release of Simics delivers some significant improvements to how models are defined. The DML language used to define models has been updated to version 1.4. Along with necessary language-level improvements that customers have requested, comes first-class support for hierarchical objects. Hierarchical objects result in less namespace pollution and easier integration of SystemC modules. These enhancements make it easier to build and maintain new models.

New Consoles

There is a new implementation of target consoles available in Simics. The new consoles solve several problems that have been reported with the old implementation and opens up the possibility for future features like web-based frontends for Simics. Most commands from the old text consoles have been maintained, including scripting, to help with migration to Simics. New in this release is the save-to-file command, which saves the entire scrollback buffer and the current text on the screen to a file. Also new is the VNC command that opens a VNC port so users can connect a VNC client to their Simics target. Having a secure connection to a GUI running on the target opens up a range of simulation control options that were more challenging in previous versions.

Instrumentation Framework

The instrumentation framework and associated API provides a new way to instrument target system activity in Simics. It is a complete overhaul of how target instrumentation tools work in Simics. The framework makes it easier to write and maintain tools that inspect and collect information on the execution of the target system. The framework provides functionality for filtering data and offers improved performance for existing functionality like instruction tracing and code coverage. The Simics instrumentation API exposes this new functionality, so it is easier to write or integrate instrumentation tools.

Model Compatibility and Tools Modernization

Previous Simics models should run without modification in the new release of Simics. We are currently evaluating the compatibility of all our models, and the results so far are very encouraging. This helps to provide a simple migration path from the previous version of Simics. Simics also ships with an upgraded set of supporting tools which helps to improve the security and robustness of Simics. Modernizing the supporting tools and APIs makes it easier for our customers to integrate Simics into their DevOps or security testing infrastructure, and maintain that integration in the future.

We are very excited about the latest release of Simics. Existing Simics customers will benefit from enhanced simulation performance, both for existing use cases, but also in new and more complex simulations they haven’t yet attempted. If you looked at Simics in the past and had wanted better performance, you may want to take another look.

Simics continues to be a critical tool to enable DevOps for embedded development teams, and is invaluable when it comes to security testing. Simics just makes it better, stronger, faster than before.

If you’d like to learn more about how Simics can help you, speak with us today.

Previous The New Space Race Is an Agile Odyssey
Next Windows 7 End-of-Life: What it Means for Medical Devices