You copied the Doc URL to your clipboard.

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 processing unit 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_HIT (Read access cache hit.)
	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)
		0x1 = PRELOAD

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.