Software
Communicate with software experts on product changes and improvements
16 Discussions

The Public Release of Intel® Simics® (and More)

Jakob_Engblom
Employee
1 0 3,654

The Simics® simulator and Simics virtual platforms have a long history in industry and academia. It has been a commercial tool for 25 years, with first code written more than 30 years ago. Today, it is used extensively for pre-silicon and post-silicon software development, testing, and system integration at Intel and by Intel’s customers and partners. Since 2021, the Simics simulator is also available as a public release, allowing academics, hobbyists, and even commercial users to download and use Simics for free (check the product information page for license details).

The public release of the Simics simulator contains the complete Simics base product, along with the Simics Quick-Start Platform (QSP) and training materials. The QSP can run complete real-world software stacks including modern Linux* and Windows* distributions booting from UEFI (Unified Extensible Firmware Interface). The system is configurable and extensible, including changing the processor cores to various modern Intel cores.

Introducing: Intel Integrated Simulation Infrastructure with Modeling

Even better, recent public releases also include the Intel Integrated Simulation Infrastructure with Modeling (Intel ISIM). Intel ISIM goes beyond the typical functional models used in classic Simics virtual platforms to include performance, power, thermal, and power management models.

isim-structure.png

The public release includes an example system model with integrated functional, performance, power, thermal, and power management model. The system model uses the Simics QSP functional model as the base and can run the same real software stacks. The example is parametrized and configurable, enabling users to experiment with power management and thermal throttling in a full-system setting.  

simics-qsp-isim-running-screenshot.png

This screenshot shows an example of the QSP-based setup in action, going through the Get Started guide for Intel ISIM that is included in the installation.

Introducing: Open-Source Device Modeling Language

The Device Modeling Language (DML) is a domain-specific language for creating fast functional transaction-level virtual platform models. DML has been developed and used with the Simics simulator for more than 15 years. The latest version of DML, 1.4, incorporates all the experience gained over the years. It makes it easy to do simple things like declaring programming registers and connecting models over transaction interfaces. DML also supports large-scale code reuse and custom modeling framework using powerful templating mechanisms. In my opinion, this is the best way to build virtual platform models.

Example snippet of Device Modeling Language (DML) source codeExample snippet of Device Modeling Language (DML) source code

The compiler and language have been released as open source and are available on GitHub at https://github.com/intel/device-modeling-language. The public release of the Simics simulator includes a ready-to-use build of the DML compiler along with the standard library and many example models. If you want to experiment with DML, the public release of Simics is currently the way to go.

simics-mandelbrot-workshop-02-screenshot.png

To get an idea for how modeling works in the Simics simulator and see a non-trivial use of DML, I strongly recommend going through the “workshop-02” materials from the training materials included in the installation.

Get Started

To me personally, it is very rewarding to see that the Simics simulator, Intel ISIM, and DML be made available in a public release. Back in 2002 when I started working with the Simics simulator, we had many users in academia who produced both amazing research and inspiring courses using the technology. It’s time to get back there again, with what is at core a much more capable simulator framework and too.

Next step: download, install, and run the simulator!