This document describes the API used to implement models of processors in Simics. Simics handles the simulation framework, including the user interfaces, standardized APIs, plug-in administration, and commonly used utilities and resources. The processor models use and implement the standardized APIs, which allows mixing simulation models and creating a uniform interface to the user.
The processor API is the part of the API that gives a model to get control over simulator scheduling. It includes processor specific interfaces to enable standard functions and commands for the processor models as well as efficient memory interfaces to allow fast simulation. The most important interfaces are covered in this document, for the other interfaces please refer to the API Reference Manual.
Depending on use, the processors should implement and use different parts of the interfaces described.
A number of areas that a processor model may support can be identified as follows:
Like any other model, processor models should be written to integrate well into the Simics environment. See the Simics Model Development Checklist section for a good checklist to follow when designing and implementing the model. See also the Simics User’s Guide for more information about the features discussed in this document.
How to configure a system and create start scripts is described in System Configurations in Model Builder User’s Guide.
Example system configurations can be found in [simics]/targets/cosim/.