In general, Simics strives for compatibility between major releases. However, different parts of Simics will provide different level of compatibility.
The following interfaces are backward compatible between major releases. Any exceptions is listed in the release notes:
The following parts may change in major release and warnings may not be listed in the release notes:
The following parts are likely to change in major release without any warning:
Platform support may change at a major release.
For minor releases, the Simics ABI is backward compatible with rare exceptions due to error corrections. Error corrections causing incompatibility are noted in the release notes while backward compatible ABI extensions are not guaranteed to be mentioned. Thus, device models will usually only have to be re-compiled for a new major release and it should be possible to load them directly into a newer minor release. Note that there may be direct dependencies between modules unrelated to the Simics ABI that force two or more modules to be updated simultaneously.
Processor models are not guaranteed to be be movable even between minor releases. Instead a new version of the processor module is supplied with each new minor release.
Communication between Simics simulation processes is only guaranteed to work when running the same version of Simics.
DML code has a version number which is recognized or rejected by the DML compiler. DMLC generates code for the Simics version it is distributed with. However, the user can write DML code that runs with an older minor version of Simics by avoiding using interfaces introduced in later minor versions.
Target model functionality may have been be extended and corrected between minor releases. Target timing may have been changed between minor releases. Important updates and changes will be noted in the release notes.