Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Simics ModelingNew to Visual Studio Code? Get it now.
Simics Modeling

Simics Modeling

Intel

intel.com
|
399 installs
| (0) | Free
Implement, debug & test Simics models in DML & Python
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Intel® Simics® Simulator Modeling Extension

The modeling extension for the Intel Simics Simulator is a collection of capabilities helping model developers to become more effective in implementing, debugging and testing device models based on Simics. It contains the following high level features.

  • Awareness of the Intel Simics Simulator project
  • DML-1.4 awareness (snippets, language server, debugger)
  • Awareness and debugging Python with the Intel Simics Simulator
  • Mixed language debug sessions (debug Python and DML/C/C++ simultaneously)
  • Debug support for the CTest test explorer provided by the CMake Tools extension.

Usage

Refer to the Wiki for explanations of how the extension is used and examples.

For host Python usage, follow the instructions at "Simics as Python module" section of the Simics User Guide. and then configure the created virtual environment as the Python interpreter of the VS Code workspace that has the Simics project opened.

Requirements

  • Visual Studio Code (=> 1.85)
  • Simics 7 version 7.30.0 for host python usage

Other extensions required or recommended

The Intel Simics Simulator Modeling Extension is to a large extent an integration and usage of other extensions and requires that those are installed. The other extension required are:

  • The Microsoft C/C++ extension pack which provides among other things the GDB debugger adapter and CMake Tools.
  • The Microsoft Python Extension (or the Python Extension pack ) for Python awareness

The Intel Simics Simulator Modeling extension has been verified to work with the Remote - SSH extension.

To generate code coverage, follow the instructions at "Coverage with GCOV/LCOV" section of the CMake chapter in the Simics documentation. If you have a custom coverage setup, then the previous step can be skipped. The coverage can then be displayed in the editor using for example the Coverage Gutters VS Code* extension. Recent versions of the CMake Tools extension also provides a way of displaying code coverage within the editor, which was a functionality contributed to that extension by developers of this extension.

DML language server

The DML language server is included in the Intel Simics Simulator Modeling Extension. It only supports DML-1.4 (i.e., DML-1.2 is not supported). It is developed at DML lang server and is a work in progress. Enhancement requests and issues on it should be filed in its Github repo issue tracker.

In order to get the full functionality of the DML language server, you must in most cases supply it with information about the configuration of your build tree (so that it can acquire extra compiler flag and include path information). This requires the CMAKE_EXPORT_COMPILE_COMMANDS CMake cache variable to be enabled during configuration of the project. This will generate the file "dml_compile_commands.json". in to the CMake build directory. Enter the path to the generated file in the "Compile Info Path" setting in the extension settings.

If you want to customize the linting settings used by the server, set the "lint cfg path" setting to point to a file specifying the new setting. For an example of how such a file should be formatted, see the example file in the DLS repository.

Credits

Debug related code is based on the code as part of VS Code* Python C++ Debug extension located at https://github.com/benibenj/vscode-pythonCpp (originally under MIT license). It has been modified and enhanced to fix some issues and better serve our use-cases.

The initial structure of this VS Code* extension and the associated code is based upon the Rust Analyzer extension for VS Code* primarily located at https://github.com/rust-lang/vscode-rust/tree/master/rust-analyzer/editors/code (originally licensed under Apache-2.0 and MIT licenses).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft