4.19.5 Instantiation parameters

The parameters that are exposed through simulation_getInstantiationParameterInfo() are called instantiation parameters.

Instantiation parameter values are used to initialize the initialization-time and runtime parameters of each instance during instantiation. After the system is instantiated, the instantiation parameter values are exposed through the resource_*() functions of each instance.

Instantiation parameters are exposed as a flat list of parameters. The full instance path is prepended to the parameter name, to indicate the hierarchy of the not-yet-instantiated system:

<instance_path>.<parameter_name>

This parameter will later on be exposed by instance <instance_path> as parameter <parameter_name>.

There are subtle differences between instantiation parameters and the instance-specific initialization-time and runtime parameters:

  • Instantiation parameters have a hierarchical name and are exposed through simulation_getInstantiationParameterInfo(). They can only be set by using simulation_setInstantiationParameterValues(). At instantiation, there is no functional difference between initialization-time and runtime parameters. The instantiation parameters are the sum of all initialization-time and runtime parameters, but with hierarchical names.

  • Instantiation parameters are global and their association with a specific, future, instance is only implied through their hierarchical parameter name. Instantiation parameters use ResourceInfo metadata, the function simulation_getInstantiationParameterInfo(), which is similar to resource_getList(), and the function simulation_setInstantiationParameterValues(), which is similar to resource_write().

  • The main difference between instantiation parameters and the per-instance initialization-time and runtime parameters is that instantiation parameters are only identified by their hierarchical name string and do not have a resource id (rscId) or instance id (instId).

  • Initialization-time parameters refer to parameters that can only be set before instantiation and cannot be changed later. Before instantiation, they are exposed globally as instantiation parameters, with a hierarchical parameter name, and after instantiation they are exposed as resources with parameterInfo.initOnly = True. That is, they are exposed only by the instance they belong to, with a non-hierarchical name.

  • Runtime parameters refer to parameters that can be set before instantiation and can also be changed later. Before instantiation, they are exposed globally as instantiation parameters, with a hierarchical parameter name, and after instantiation they are exposed as resources with parameterInfo.initOnly = False. That is, they are exposed only by the instance they belong to, with a non-hierarchical name.

Non-ConfidentialPDF file icon PDF version101196_0100_00_en
Copyright © 2018 Arm Limited or its affiliates. All rights reserved.