Changes the funcmap/name attribute on one or more ports of a given component. The component (and port, when needed), needs to be named and is looked up in the abstract model (the project needs to be compiled). The actual change is always made in concrete terminal object(s) looked up from the abstract port objects. If multiple terminals are contributing to the port (source terminals), the change is done to the terminals that already have the funcmap/name attribute. If none of the source terminals have that attribute, the attribute is created in one of the source terminals randomly chosen.

The first argument is the command to perform.

If the command is previous or next, the selected function of the given port is moved one step back or forward on the function list for the port. The function list has the order of functions as they appear in the li:funcmap/ports section of the funcmap file (this differs from the column ordering in the tabular form, which is deduced from function grouping).

If the command is set and the new function is specified as the 4th argument, the source terminal attribute is changed to that function. The added value of this command compared to the propset() action is that it looks up the terminal object to change and verifies whether the new function is available for the given port.

The setgrp command modifies multiple terminals so that a whole function group is activated (by function group name).