1.12 Model Trace Interface

This section describes the Model Trace Interface (MTI).

Fast Models supports the generation of traces that consistently track the execution and related activities in the model. In particular, tracking those activities that affect the state of the modeled IP. Generated virtual platforms provide trace support by using plug-ins in the form of DLLs and shared objects on Windows and Linux, respectively.

The following diagram represents the MTI architecture, where all the tracing information of the system is found.

Figure 1-2 MTI architecture
MTI architecture


A trace source provides information about a specific event that occurs in the component. In a processor component, this event can be, for example, the execution of an instruction, the taking of a branch, or an MMU translation. It can also be an event that is specific to models, such as the SYNC event, which is called at every quantum boundary. Each trace source contains fields that give more information about the event, including a text description. When the field is of type MTI_ENUM, the values for this field are also listed. For example:

Source CACHE_READ_MISS (Read access cache miss.)
    Field IS_SHARED type:MTI_ENUM size:1 (Is the access shared)
        0x0 = NON_SHARED
        0x1 = SHARED
    Field IS_PRELOAD type:MTI_ENUM size:1 (Is the access a preload)
        0x0 = NOT_PRELOAD
        0x1 = PRELOAD
    Field MASTER_ID type:MTI_UNSIGNED_INT size:4 (Indicates the master associated with this monitor)

ARM produces several prebuilt plug-ins, which are documented in the chapter Plug-ins for Fast Models. Source code example plug-ins are provided at $PVLIB_HOME/examples/MTI. Plug-ins are loaded at simulation start-up. You can load multiple plug-ins at the same time.

Non-ConfidentialPDF file icon PDF version100964_1161_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.