Simics Model Builder
Simics Model Builder is the development platform that allows users to create/modify, build, and combine modules that run on Simics Hindsight. These modules can range from a model of a simple IO device, System on Chip (SoC), board with only CPU and memory, or complete PCs with disks and graphical devices, to multi-processor/core systems, and network distributed compute farms.
Although Model Builder allows developers to integrate functional models from almost any language into Simics Hindsight, explicit support is provided for models written in C, C++, SystemC, Python, and DML. The capability to work with either source or object files ensures that vendor are able to integrate proprietary device models into what is otherwise an open virtual platform or system.
A key tool within the Model Builder development platform is Device Modeling Language (DML) a domain specific language explicitly tailored for the efficient creation of device models. DML provides a simple syntax dedicated to modeling the behavior and interfaces of devices freeing the modeler from focusing on how a device is physically implemented. The ability to create device models is further enhanced by Model Builder's ability to import/export The SPIRIT Consortium™ IP-XACT® register definitions directly to/from DML models.
The combination of domain specific modeling language support, broad language compatibility, source/object file integration capabilities, and the ability to configure complex platforms from existing device models, allows engineers to quickly create and use virtual hardware prototypes to run what-if scenarios and to investigate system architecture issues.

For further information, please refer to:
- Modeling Enhancements in Simics 4.2 web page
- White paper: Device Modeling Language (DML) user manual
- Modeling your System in Simics user manual
- Integrate device models written in C, C++, SystemC or Python
- Build device models using Device Modeling Language (DML)
- Combine individual device models into larger systems
- Extend simulator functionality
- Model the full system, not just a single SoC or reference board
- Create models more quickly with domain-specific tools for software engineers
- Utilize an extensive library of device models
- Re-use models in SystemC, C, or C++
- Encapsulate your Intellectual Property within binary models