2.2.2. CADISimulationFactory

The CADISimulationFactory creates a new CADI simulation. The simulation factory:

A typical SoC system is hierarchical in design and contains multiple components. The name of a parameter indicates its ownership of a dedicated sub-component. A dedicated specifier represents each hierarchical level and its corresponding component:

For example, the size parameter for a memory component named mem in the core component of a system named socsystem is socsystem.core.mem.size.


In this guide, the term target is typically used instead of component. Both terms describe a sub-system, or a single component, in a SoC.

During instantiation of a CADI simulation, the corresponding interface method receives the parameters:

As with SelectSimulation(), the Instantiate() method can receive pointers to CADISimulationCallback and CADIErrorCallback objects. The pointers are registered to the CADI simulation returned to the caller. These callbacks are used, for example, to send messages from the factory to the caller during instantiation.


A CADI simulation factory is intended to exist only temporarily. As soon as the required CADI simulation is created, the Release() method must be called to release the factory.

Because of the temporary existence of the factory, CADIBroker becomes the owner of the simulation.

Copyright © 2008-2010 ARM Limited. All rights reserved.ARM DUI 0444F