DML (Device Modeling Language) is a programming language for modeling devices in Simics. DML has been designed to make it easy to represent the kind of things that are needed by a device model, and uses special syntactic constructs to describe common elements such as memory mapped hardware registers and connections to other Simics configuration objects.
The DML compiler is called dmlc. It translates a device model description written in DML into C source code that can be compiled and loaded as a Simics module.
This document describes the DML language, the standard libraries, and the dmlc compiler, as of version 1.0 of DML. See also the DML Tutorial for a more hands-on introduction to DML, and the Device Modeling Guidelines document for a broader perspective on how to write device models.