Operator EnumParamReference

Operator Library: Parameters

This operator generates a 1:1 map parameter (in parameter Value) out of a module parameter located anywhere in the design. You specify the referenced parameter (path and name) in parameter Reference.

[Important] Availability

To use the EnumParamReference operator, you need either an Expert license, a Parameter Module license, or the VisualApplets 4 license.

The referenced parameter is of type VA_ENUM. The map parameter mirrors all properties of the referenced parameter and is also of type VA_ENUM.

You can define a target within the design hierarchy where the referenced parameter will be visible and accessible. The target is defined by two parameters: DisplayHierarchy and DisplayName. In DisplayHierarchy you address a hierarchical box within the same process the reference operator itself is located in. In parameter DisplayName you set up the name for the target parameter. If DisplayHierarchy and DisplayName are both set, the parameter defined by DisplayName will be available in the hierarchical box addressed by DisplayHierarchy. If DisplayName is empty, no parameter is created. If DisplayName is set, but DisplayHierarchy is empty, the parameter defined by DisplayName is added to the parent hierarchy (i.e., the hierarchical box the reference operator itself is located in).

This allows you to make a parameter of your design available on any hierarchical level (of the design) you want. For example, you can make the parameters of modules within a protected hierarchical box available for parametrization directly under the properties of the protected hierarchical box itself.

Mapped parameters can be referenced themselves. Thus, you can reference either the content of parameter Value in a reference operator, or reference the parameter you have defined in the parameters DisplayName and DisplayHierarchy. This is especially important when protected hierarchical boxes are built up out of other protected hierarchical boxes.

[Note] All connected parameters update at once

If one of the connected parameters is changed (referenced parameter, map parameter Value, or target parameter), the value is changed in all other connected parameters, too.

The operator has no inputs and outputs, as it doesn't interfere with the data flow structure of the design.

A general introduction into library Parameters you find in Library Parameters.

Example:

Map parameter "SignalParamRef" is now available in Process0/Level0/Level1:

I/O Properties

Property Value
Operator Type None (since there are no inputs or outputs)

Supported Link Format

None

Parameters

Status
Type static read (although the GUI displays write) parameter
Default none
Range OK or error message

Displays the error status. If parameter Activate is set to Yes, the other module parameters are checked. This parameter displays the result of this check, i.e., either OK or an error message.

This parameter is not part of the final applet.

DisplayName
Type static write parameter
Default none
Range any string

If you want to grant access from and to the referenced parameter (defined in parameter Reference) at another point in the design (in addition to the reference operator instance itself), you need to define a new parameter. Specify here the name of this new parameter.

If this field is empty, no new parameter is created.

DisplayHierarchy
Type static write parameter
Default none
Range any string

Specify here the hierarchical box to which you want to attach the new map parameter you defined in parameter DisplayName.

For this parameter, you can use the autocompletion functionality and syntax highlighting. To use autocompletion, click into the Parameter Values field of this parameter in the Module Properties dialog, and press the TAB key of your keyboard. More detailed instructions for the autocompletion functionality are available at 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'.

If you defined a new parameter DisplayName, but leave parameter DisplayHierarchy empty: The new parameter is added to the hierarchical box that contains the reference operator instance. (Keep in mind this is not possible if the reference operator instance is located on the highest (process) level.)

[Note] Syntax for Setting up Path to Display Target

If you want the new parameter to show up in another place of the design, you need to specify the path to the hierarchical box that is to contain the new parameter in parameter DisplayHierarchy.

The syntax is as follows:

<Path> is the relative path from process level to the hierarchical level of the design where the <Hierarchical Box> is located that is to receive the new parameter. Thus, parameter DisplayHierarchy can only address hierarchical boxes within the same process. Use a slash as separator between different hierarchical levels.

<HierarchicalBox> is the name of the hierarchical box that is to receive the new map parameter.

Example: Level0/Level1

Value
Type static, dynamic, write, read parameter
Default 0
Range Signed integer (64 bit), unsigned integer (64 bit)

Map parameter for access from and to the referenced parameter. This parameter mirrors all properties of the referenced parameter.

Description
Type static write parameter
Default -
Range any text

Enter here the description for the parameter Value.

Reference
Type static write parameter
Default none
Range any string defining the referenced parameter: relative path to module, module name, and parameter name

Here, you define the position of the referenced parameter within the design.

For this parameter, you can use the autocompletion functionality and syntax highlighting. To use autocompletion, click into the Parameter Values field of this parameter in the Module Properties dialog, and press the TAB key of your keyboard. More detailed instructions for the autocompletion functionality are available at 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'.

[Note] Syntax for Referencing

The syntax is as follows:

<Path> is the relative path to the hierarchical level where the referenced module "Module" is located. Use a slash as separator between different hierarchical levels. Define the path as relative path from the hierarchical level the reference operator instance is located in.

<Module> is the name of the module (operator instance or hierarchical box) that contains the referenced parameter.

<ParamName> is the actual name of the referenced parameter.

If <Path> starts with a slash, the path is interpreted as absolute path starting from design level (e.g., /Process0/UUT/Signal.Mode).

You can also use ../ to go up a level. However, take care you don't use this option when designing freely replicable or relocatable modules.

Activate
Type dynamic write parameter
Default No
Range {No,Yes}

Yes = Access to and from referenced parameter (via map parameter Value) is activated.

No = Access to and from referenced parameter is de-activated and parameter Status disabled. Parameters DisplayName and DisplayHierarchy have no effect.

Examples of Use

The use of operator EnumParamReference is shown in the following examples: