DML (short for Device Modeling Language) is a C-like programming language for writing device models for Simics using Transaction Level Modeling (TLM). Although device models can be written directly in C, using DML simplifies the structuring of the code, which makes it much more readable and mainatainable, and reduces the risk of making errors.
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. The output of dmlc is a set of C source and header files that can be compiled in the same way as a hand-written module would be. See the Simics Programming Guide for details on writing Simics modules in C.
The DML language and compiler is described in detail in the DML Reference Manual. See also the Device Modeling Guidelines document for a more high-level perspective on how to write device models.
1.3 Emacs DML Editing Mode
1.4 Example Device Models