Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Parameter Details

Device models, device instances and composite parameters are collectively called an entity, which are all derived from the ParameterBase tag class, and manage the mapping from a parameter's string name to a member variable in each created entity object. More...

Collaboration diagram for Parameter Details:

Device models, device instances and composite parameters are collectively called an entity, which are all derived from the ParameterBase tag class, and manage the mapping from a parameter's string name to a member variable in each created entity object.

The mapping is refered to as parameter binding and the object's bound member variable is refered to as the parameter member variable. The object may have an additional member variable for each binding that indicates if the value was specified in the netlist device and is known as the given member variable.

Each class of entity has a ParametricData<T> class, where T is the entity class, and a singleton object of that class. This singleton manages the parameter binding. A parameter descriptor, Descriptor, has the parameter member variable pointer for entity object of type T that sets and retrieves the current value of an entity's member variable using the parameters string name.

The Descriptor maintains other information about the parameter. It has a serial number for each parameter and a boolean member variable pointer that determines if the parameter has been given in the netlist. The given value map, GivenValueMap, is a mapping from entity object pointer and serial number to a boolean given member varaible indicating if the parameter was provided by the netlist.

Any entity may also wish to restore a parameter member variable value to the value originally set during initialization. The Descriptor maintains an index into an original value map to store and retrieve the parameters original value. The original value map, OriginalValueMap, is a mapping from entity object pointer and original value index to the parameter's origin value. If the original value index is -1, then no original value information is maintained.

A parameter may also be vectorized, allowing it to maintain a vector values. The Descriptor maintains that vector length.

A parameter has specific usages as described by the ParameterType::ExprAccess enumeration.

A parameter may also serves as an aggregation of parametric values which is stored as a composite parameter, CompositeParam, entity.

And a parameter has units, a documentation category and a documentation description.

Entity - DeviceModel, DeviceInstance or CompositeParam

Given - flag and possibly and entity member variable that indicates if a parameter was given in the netlist.

OriginalValue - parameters value after initialization