A simulation target, or SIM target, is an automatically generated MEX-file that implements a referenced model that executes in accelerator mode. Simulink® invokes the simulation target as needed during simulation to compute the behavior and outputs of the referenced model. Simulink uses the same simulation target for all instances of the referenced model that execute in accelerator mode. Instances of the referenced model that execute in normal mode do not use the simulation target.
To create model reference simulation targets, Simulink generates code that imposes some requirements and limitations on referenced models that execute in accelerator mode. Aside from these constraints, you can generally ignore simulation targets when you execute a referenced model in accelerator mode. For information on these constraints, see Choose Simulation Modes for Model Hierarchies.
By default, Simulink generates the simulation target for a referenced model that executes in accelerator mode if:
The simulation target does not exist when you update the diagram of a direct or indirect parent, simulate the model hierarchy, or generate code for the model hierarchy.
The simulation target is out of date with structural changes in the referenced model.
While generating a simulation target, the MATLAB® command window displays status messages so that you can monitor the simulation target generation process.
To programmatically build a model reference simulation target, use the
If you have a Simulink Coder™ license, be careful not to confuse the simulation target of a referenced model with these other types of targets:
Hardware target — A platform for which Simulink Coder generates code
System target — A file that tells Simulink Coder how to generate code for particular purpose
Rapid Simulation target (RSim) — A system target file supplied with Simulink Coder
Model reference target — A library module that contains Simulink Coder code for a referenced model
You can reduce the time that Simulink spends checking whether simulation targets require rebuilding by setting configuration parameter values as follows:
In all referenced models throughout the hierarchy, set the Signal resolution
configuration parameter to
Explicit only or
In the top model of the model hierarchy, set the Rebuild configuration
If any changes in known dependencies
detected. Alternatively, you can use this parameter to specify
that Simulink always or never rebuilds simulation targets.
These parameters exist in the configuration set of the model; they are not parameters of the Model block. Setting these parameters for any instance of a referenced model sets it for all instances of that model.
To use custom C code with Stateflow® or with MATLAB Function blocks when building a model reference simulation target, use the Include custom code for referenced models configuration parameter.
Using custom C code for referenced models in accelerator mode can produce different results than when you simulate the model without using custom code. If the custom code includes declarations of structures for buses or enumerations, the simulation target generation fails if the build results in duplicate declarations of those structures. Also, if custom code uses a structure that represents a bus or enumeration, you can get unexpected simulation results.
Simulink creates simulation targets in the
slprj build folder
of the current folder. If the
slprj folder does not exist,
Simulink creates it.
Simulink Coder code generation also uses the
slprj provide separate places for simulation code,
Coder code, and other files. For details, see Manage Build Process Folders (Simulink Coder).
You can place generated files in a different root folder than the current working folder. This option allows you to:
Store generated files separate from the models and other source materials used to generate them.
Reuse or share previously built simulation targets without having to set the current working folder to a previous working folder.
Separate generated simulation artifacts from generated production code.
The simulation cache folder is the root folder in which to place artifacts used for simulation.
To specify a simulation cache folder to use instead of the current folder
pwd), in the Simulink Preferences > General dialog box, set the Simulation cache folder by
entering or browsing to a folder path.
This preference provides the initial defaults for MATLAB session parameters.
Alternatively, you can set the
MATLAB session parameter using the
>> set_param(0, 'CacheFolder', fullfile('C:','Work','MyModelSimCache')) >> get_param(0, 'CacheFolder')
ans = C:\Work\MyModelSimCache
To override or restore the Simulation cache folder
preference only for the current MATLAB session, use the
Simulink.fileGenControl function. The values you set using
Simulink.fileGenControl expire at the end of the current