Intel® Simics® Simulator Modeling ExtensionThe 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.
UsageRefer 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
Other extensions required or recommendedThe 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 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 serverThe 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 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. CreditsDebug 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). |