March 24, 2026
New DSL, old drama
Intel Device Modeling Language for virtual platforms
Intel’s new device language drops — fans hype speed, skeptics cry lock‑in
TLDR: Intel launched a language to build fast virtual device models that currently only works with its Simics simulator. Fans applaud speed and polish, while critics roast “yet another language” and Simics‑only lock‑in, with extra memes about confusing settings and Windows symlink woes; many want open back‑ends next
Intel just unveiled the Device Modeling Language (DML), a niche-but-spicy tool that lets engineers describe pretend hardware so they can test software before real chips exist. It compiles down to C for Intel’s own Simics simulator, and that’s where the community’s plot twist begins. The cheer squad is raving that DML’s high-level bits—think ready-made “register banks” and built-in logging—mean faster virtual devices with fewer headaches. The grumble gang? They’re chanting “vendor lock‑in,” pointing out DML only targets Simics today, while begging for back‑ends for QEMU or other simulators.
Comments turned into a mini‑soap‑opera over the definition of “public”: yes, there’s a public Simics release, but critics argue that’s not the same as being truly open. Meanwhile, devs are screenshotting the alphabet soup of environment variables like DMLC_PATHSUBST and T126_JOBS—one joked, “This is DevOps Mad Libs.” Windows users add fuel with the note about broken symlinks: “Extract on Linux,” the docs wink, and Reddit dragged.
Still, there’s love for the nerdy extras: self‑profiling, size stats, and a magic button to package sources for bug‑hunts. The hottest take: “Yet Another DSL” fatigue vs. “If it makes virtual hardware faster, inject it straight into my veins.” Verdict from the crowd: slick tool, strong vibes, and a cliffhanger ending—will Intel open it up beyond Simics
Key Points
- •DML is a domain-specific language for fast functional/transaction-level device models with abstractions like registers, bit fields, events, interfaces, and logging.
- •DMLC compiles DML into C code that uses APIs tailored to a specific simulator, currently supporting only the Intel Simics simulator.
- •Building DMLC requires a Simics installation and project; users without commercial access can install the Public Release of Intel Simics.
- •DMLC is built inside a Simics project by placing the DML repository under modules/dmlc and running make dmlc; tests run via make test-dmlc or the provided test-runner.
- •Multiple environment variables (e.g., DMLC_DIR, T126_JOBS, DMLC_PATHSUBST, PY_SYMLINKS, DMLC_DEBUG, DMLC_PROFILE) support development, debugging, profiling, and reproducibility.