Documentation Home Page HYPERSIM Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

Attributes


Attributes Overview

Attributes are arbitrary blocks of text associated with any device, signal or pin in a design, or with the design itself. Attributes have a wide variety of uses, including:

  • Displaying device name, part type, value, etc. on the schematic.
  • Storing data for the device model. Attributes are used to store and send data into HYPERSIM.
  • Storing various HYPERSIM related data on the object (device, signal, pin or design).
  • Storing any other user-defined data for various tasks of design maintenance, annotations or some other encapsulation tasks.

Attributes can be used in conjunction with the scripting and report generation features of HYPERSIM to implement powerful interfacing, customizing and error-checking features. You can define as many attribute fields as you need to store the text data required for your application.
In addition, many HYPERSIM features use attributes as temporary or permanent storage locations for data relating to a device or signal. For example, each device in a design has the name and location of the library it was read from stored in an attribute field. This allows the library to be located easily for later updating.
Attribute-based changes and programming are only for advanced users. Illegal manipulations will not be necessarily intercepted by HYPERSIM and you may corrupt device or design data and even make a design impossible to repair. A clear understanding of attributes is needed before making any changes.

Attribute Organization

Attribute Definition Table

Attributes are divided into named fields. The list of allowable field names is stored with each design in the attribute definition table. For each field, the table contains:

  • the field name (up to 16 characters)
  • what types of objects that field can be used in (devices, signals, pins or design)
  • data entry constraints (maximum length, carriage returns, etc.)
  • default settings, such as whether the field should be made visible on the diagram.

Once a field is defined in the table, its name is never typed again. When attribute data is entered for a selected object, the field name is picked from a list of allowable fields. This eliminates any chance of accidentally misspelling the field name in one object.

Predefined FieldsWhen a new design is created, a default attribute definition table is created with the standard, predefined fields. Predefined fields cannot be deleted from the design since many of them have specific internal functions in HYPERSIM.
See Predefined Attribute Fields for a complete listing of built-in fields.
User-defined FieldsYou can add more fields to a design at any time using the Define Attribute Fields command in the Options>Design toolbar.

Primary vs. Secondary Fields

HYPERSIM has 50 or more predefined fields that are used for various program features and more can be added by the user. Most of these fields never need to be viewed or set directly by the user. To reduce clutter, attribute fields can be defined as being primary or secondary. When entering attribute data, you can choose whether you wish to see primary fields only or all fields.
The primary/secondary setting is for viewing and editing convenience only and has no effect on the meaning or internal usage of the field. This setting for individual fields can be changed at any time using the Define Attribute Fields command in the Options > Design toolbar.

Attribute Limitations

Attribute fields have the following specific limitations:

  • Maximum length of field name: 16 characters
  • Maximum length of field data item: 200,000,000 characters. Note: In principle, binary data could be pasted into an attribute field although this is not recommended since HYPERSIM provides no mechanism for displaying or editing this data.
  • Maximum number of user-defined fields: 900
  • Maximum number of displayed positions of a single attribute item: 100

Like all other circuit data, the amount of attribute data that can be associated with a design is limited by available memory.

Entering and Editing Attribute Data: Basic Procedure

To edit the attributes associated with a device, pin or signal, you can either:

  • Choose the object of interest on the schematic and right-click to select the command Attributes.
  • The Attributes command is also available when you select the object and use Ctrl+I.

To edit design attributes, select the Design Attributes in Options>Design toolbar.
Any of these methods will display the general attribute editing box which is used to enter or edit attribute data on a single object:

By default the field list at the left side of this box shows only the primary fields available for the selected kind of object. You can click on the All fields button to view all available fields.

Entering Data Values

  • To edit the contents of a field, select the field name in the list. The current contents of the field is displayed in the editable text box. Edit this value using the usual text editing techniques.
  • Press the Done button or select another field when done. When you select another field, data entered for the previous field is saved. If the data you typed exceeded the maximum length for the field, or if it contained invalid characters for the field, then you will be asked to correct the data.
  • You can view or edit as many fields as desired while in this box. No changes are made to the actual design data until you click the Done button. Clicking Cancel will abandon all changes made while in this box.

Restoring the Default Value

  • Clicking the Use Default Value button sets the value for the selected field to the default value stored with the symbol. This is valid only for device and pin attributes for which a default value was
  • specified. If this button is inactive (grayed out) then the value is already the default value, or no default value is present. Only devices and pins can have default values.
  • See Setting Part Attributes for more information on entering default attribute values while editing a symbol.

Using the Value List Pop-up Menu

  • If the selected field has an associated value list field, then a pop-up value menu will appear near the Use Default Value button. An item selected out of this menu will cause the value text box to be updated accordingly. This does not prevent the text data from being edited directly.
  • When an attribute field has more than one possible value, the list is displayed in one of these menus. For example, if the sub-menu Part appears, this means there are multiple part definitions available in this device type. Selecting one of the parts in the part sub-menu causes the part attribute field to be changed for that device.
  • See more information on value list fields in Using Value List Fields.

Displaying an Attribute on the Schematic

To display device, signal or pin attribute text on the schematic:

  • Edit the attribute value as desired.
  • Turn on the Visible switch.

When you click Done, the attribute text will now be displayed in a default position near the device, pin or signal. It can be dragged to the desired location using the pointer cursor.

  • Design attributes can be displayed on the schematic using text variables. See Using Text Variables
  • For information on setting the default position for an attribute on a symbol, see Using Default Position Fields.

Entering Design Attributes

To view or set attributes associated with the design itself, select the Design Attributes command in Options>Design. This command displays the standard attribute data entry box allowing you to enter attribute data for the design itself. Design attributes can be used to create variables in text blocks on the schematic and to insert global data in the Netlist output.
The Visible option is not available for design attributes, since there is no single object on the schematic to associate them with. Design attributes can be made visible by using text variables, described in Using Text Variables.

Entering Pin Attributes

You can view or set pin attributes by right-clicking on the desired pin and selecting the Attributes command.
The attribute editing box for pins is identical to the one for devices, signals and the design, except that Next and Previous buttons appear at the bottom. These can be used to view and edit other pins on the same device without having to return to the schematic and select them individually.

Attribute text right-click menu

When you right-click on a visible attribute text you have access to several editing commands. In this example the visible Name attribute is clicked:

  • The Edit command is equivalent to double-clicking on the attribute text.
  • Justification is explained in Setting Visible Attribute Justification.
  • Hide is explained in Hide a Visible Attribute Value.
  • Duplicate is explained in Duplicate, Merge and Delete options.
  • The Rotate commands allow rotating the text as explained in Rotating Attribute Text.
  • The Show Field Name command is described in Showing the Field Name with an Attribute Value.

Rotating Attribute Text

To rotate an attribute text item that is already displayed on the schematic, right-click on the attribute text and select the rotation related commands starting with Rotate.

Hide a Visible Attribute Value
If you wish to hide a device, pin or signal attribute value that is displayed on the schematic (that is, remove the displayed text from the schematic, but keep the value associated with the object), you can use any of these methods:

  • Right-click on the text and select the Hide command in the pop-up menu.
  • Right-click on the text and select the Edit command. In the text edit box that appears, turn off the Visible switch.
  • Display the general attribute editing box for the object, using the methods described earlier in this chapter. Select the field in question and turn off the Visible switch.
  • Click on the Zap (delete) tool in the tool palette, or select the Zap command in the Edit menu and then click on the attribute text you wish to hide.

Any of these methods removes the displayed text from the schematic without modifying the value that is stored with the object.

If the value you are hiding is a signal name, this operation may have side effects on the connectivity represented by the signal. Hidden signal names are not controlled by the user and this operation will break the virtual connection method (see Connecting Signals by Name).

Setting Attribute Text Style

  • There are two ways to set attribute text style globally for all attributes and separately for individual attributes. When an attribute has a separate setting the global command will not affect it.
  • There is no way to set text style for an individual object attribute item.
  • Changing the attribute text style affects all visible attributes throughout the design for all attributes that have the default setting. This may alter text alignment and position to accommodate a different text size.

The attribute text style setting affects the following types of items:

  • Device and signal names.
  • Bundle breakout and bundle pin labels.
  • All other attributes displayed on the diagram.

but does not affect:

  • Border text
  • Pin numbers

The text changes are applied when the OK button in the Design Preferences box is clicked. For larger designs, there may be a substantial delay while new positions of all displayed attribute items are calculated.

To set the global text style:

Choose the Design Preferences command in the Options> Design toolbar.
Select the Text tab and click on the Attr Text Style button. This displays the following box:

This box allows you to select the text font, size and style used for all attributes displayed in the design.
Depending on the size of the design, there may be some delay at this point. The program must check all visible attribute items to see if there position and framing is affected by the text change.
Another method for setting text style for individual attributes is available through the definition of attribute fields (see Defining Attribute Fields).

Setting Visible Attribute Justification

  • Attribute justification determines how text is aligned relative to the device it is associated with. Generally, the program chooses a justification that is appropriate for the initial placement of the text and there is no need to change it. However, if text is being modified frequently and does not reposition itself as desired, the justification can be modified individually for text items.
  • To set the justification, right-click on the text item in question. In the attribute pop-up menu that appears, select the Justification command. This command allows you to change the vertical and horizontal justification used in the positioning the attribute text on the diagram. When this command is selected, the following box will be displayed:

The selected point on the text is considered to be the reference point for the given attribute block. This point will be kept fixed if any field value or text style changes cause the box to be resized.
The Justification command affects only the position of the text relative to the associated object. It does not affect the alignment of text in multi-line text items on the schematic. HYPERSIM does not provide any method of choosing center or right justification of multi-line text items.

Displaying an Attribute Value in Multiple Locations

  • You can display a single attribute value in multiple locations on a schematic. This is intended for use particularly with signals, which can be spread over large areas of a page or multiple pages. If a value is displayed more than once, editing any one of the displayed values will affect all appearances of it.
  • To create multiple displayed attribute items, right-click on the text item in question. In the attribute pop-up menu that appears, select the Duplicate command. This command creates another visible occurrence of the same attribute field. This text can then be dragged or rotated to any desired position on the schematic.

Showing the Field Name with an Attribute Value

The Show Field Name command from the right-click on attribute text menu allows you to display the field name with the value on the schematic. When this item is checked, the display will be in the form fieldName=value. Selecting this command again will cause the display to revert to the normal value display. This command applies only to the selected field on the selected object.

Using Value List Fields

A value list field allows you to specify a list of possible values that can be used in a selected field. This list of values if then displayed to the user at various locations, allowing easy selection of one of the available items.
A value list field has the same name as the associated field but with .List appended. When a field named xxx.List is seen by the program, it takes these steps:

When the attribute edit box is displayed for a given object and the field xxx is selected, a pop-up menu is displayed containing all the possible values for the field. The user may then select the appropriate value from the menu.
When a pop-up menu is displayed by right-clicking on an object, a sub-menu with the field name xxx as its title appears. The list of possible field values will be displayed in the sub-menu. The user can select one of these items to directly change the value of field xxx.

Value List Data Format

The value list field must contain a sequence of textual values following these rules:

  • Items must be separated by commas. A comma is always a separator and therefore cannot be part of the value.
  • The value string can contain any characters other than commas, but leading and trailing blanks are removed.
  • The length of a value string is limited to 16 characters.
  • The maximum number of values is limited to 256.

Normally, a default value for the xxx.List field should be defined with the symbol in the library using the device symbol editor tool. In this way, the value list will always be available whenever this device type is selected from the library. If the field is defined in only one device on the diagram, the value list will only be available for that device.

Using Script fields

HYPERSIM allows you to call a script (attribute change script) when a given attribute value changes. A script field has the same name as the associated field but with .Script appended. You must be careful not to create loops through scripts, since that may kill the application. When an attribute changes, HYPERSIM first searches for the attribute change script in the object where the change occurred and if the corresponding xxx.Script string is empty, it looks into the design.

Using Default Position Fields

For device or pin attribute fields that are to be displayed on the schematic, an associated field called a default position field can be created. For example, this mechanism is used to provide default positions for the Name and Part fields used in all standard HYPERSIM libraries. These standard fields can be used as an example.
A default position field has the same name as the associated field but with .Pt (for Point) appended. When a field named xxx.Pt is seen by the program, it uses the values in this field to generate a default position for the xxx field.

Default Position Data Format

  • The default position field must contain a sequence of textual values following these rules:
  • Two items, an X and a Y position, must be specified, separated by a comma. Leading and trailing non-numeric characters are ignored.
  • The X and Y values are each decimal numbers representing an offset from the top-left corner of the device measured in 1/1000. Negative values are allowed (negative is up and left).
  • The X coordinate can be optionally followed by an upper case letter indicating horizontal justification, as follows: L for left, M for middle, R for right. The given number specifies the offset to the left, middle or right position of the displayed text. If no letter appears, middle is assumed, i.e. the text will be centered at the given position.
  • The X coordinate can be optionally followed by a lower case letter indicating which point on the symbol’s bounding box to use as the reference point, as follows: l for the left edge, m for the midpoint, r for the right edge. The given number specifies the offset from the left, middle or right position of the symbol. If no letter appears, left is assumed.
  • The Y coordinate can be optionally followed by an upper case letter indicating vertical justification, as follows: T for top, M for middle, B for bottom. The given number specifies the offset to the top, middle or bottom position of the displayed text. If no letter appears, middle is assumed, i.e. the text will be centered at the given position.

The Y coordinate can be optionally followed by a lower case letter indicating where on the symbol the position is to be measured from, as follows: t for top, m for middle, b for bottom. The given number specifies the offset from the top, middle or bottom of the symbol’s bounding box. If no letter appears, top is assumed.
Some examples of value points are:

0R,0TExtend right and down from the top-left corner of the device.
0Mm,0BtCentered above the symbol with the bottom of the text at the top of the symbol.
150,-75Centered at a position above and to the right of the top-left corner.

(400L,100)

Extend left from a point to the right of the top-left corner of the device. (Leading and trailing characters are ignored.)

Normally, a default value for the xxx.Pt field should be defined with the symbol in the library using the device symbol editor. In this way, the value will be available for setting the default position of the associated field when the device is placed on the schematic.

You can place a symbol on a schematic, position all the displayed attributes in the locations you want them, and then use the Options>Part Type>Save to Lib command to store the symbol back into a library. The Save to Lib command automatically creates .Pt fields for any displayed attributes and saves them with the new definition. See Saving Part Type to Library for more information.

Defining Attribute Fields

All changes in field definitions are done using the Define Attribute Fields command in the Options > Design toolbar. Selecting this command displays the following dialog box:

To create a new field:

  • Select the *New Field* item in the list, if it is not already.
  • Type the name of the field in the Field Name box.
  • Select one or more of the boxes under Allowed in object types.
  • Optionally enter a maximum length.
  • Optionally enable any of the other field options.
  • Click OK. The new field will now appear in the attribute data entry box for the selected object types.

You should not modify already defined fields for the HYPERSIM template as this may have dangerous consequences and corrupt design data.

Setting Attribute Field Options

When a new field is created using the Define Attribute Fields command a number of options are available which determine how that field will behave in your design. These options are described in the following sections.
Changing any of the following options in a field that has already been used in the design has no effect on items already displayed on the schematic.
To make a temporary change (e.g. to display a field that is not normally displayed) you can use the Duplicate button in the Define Attribute Fields box to create a new field containing the same data but with new display options. This field can be deleted again when no longer needed.
Note the following characteristics of these settings:

Changing the values of any of the option switches for an existing field do not affect any values already in the design. Only new data will be affected. See Temporarily Displaying Attributes for tips on using the Duplicate function to update the way existing data is displayed.

  • The name and option settings for most predefined fields are fixed and will be disabled in this box.
  • Regardless of changes made in this box, no design data is updated until you click the OK button.
Field NameThe Field Name box allows you to enter the name of a new field or rename an existing user-defined one. If you rename a field so that it has the same name as another existing field, this becomes a Merge operation described in Merging Two Existing Attribute Fields. You will be prompted to confirm a merge before proceeding.
Keep with instanceThis option is not used in the current version of HYPERSIM.
Group with NameWhen this switch is checked, any value entered for this field will be displayed beneath the Name field by default. When the Name is moved, this field will also be moved.
This option can be used for fields that are typically shown with the name on a schematic.
Show Field NameWhen this switch is checked, the field name will be shown with the value on the schematic.
The Show Field Name option can also be controlled for each individual item on the schematic using the Show Field Name command in the visible attribute pop-up menu.
Allow Carriage Returns: Multi-lineIf this switch is checked, then the Return key may be used to enter Carriage Return characters into this field.
Rotate text with objectIf this box is checked, displayed values will be rotated if the associated object is rotated on the schematic. Otherwise, when the object is rotated, the text will move to an appropriate new position but be drawn in the normal orientation.
Visible by DefaultIf this box is checked, whenever a value is entered for this field it will be displayed on the schematic in a default position. If the field is found in the default attributes for a device, the field will be displayed automatically on the diagram when the device is placed.
Changing this setting has no effect on values already in the circuit.
In Primary ListIf this box is checked, the field will be considered a primary field and will be displayed in all attribute entry boxes when Primary Only is selected.
Link value list to PartThis is for cases where you have one symbol that might have multiple part names. In the Part.List field you can have a comma-separated list of values that can be put in for Part. Any other field X can also have a field X.List. If link value to Part is turned on, then when the user selects a Part value from the list, the corresponding value for X is automatically set. Learn more on the List field in Using Value List Fields.
Read onlyThis option makes the attribute read only. It cannot be modified by the user by selecting the attribute in the design. This is typically used for setting data from scripts or saving data that should not be touched by users.
TemporaryCreates a temporary attribute.
Allowed in object typesThis group of check boxes allows you to select which types of schematic objects may have this field associated with them. You can check any one or more boxes, although in general we suggest using different names for fields used with different object types.
At least one of the Allowed in Object Types: switches must be selected for a new field.
Maximum LengthYou can specify a maximum length (in characters) for the field data. This value does not determine how much storage is allocated internally for the data, it only affects checks that are done when the user enters data. All attribute data stored with the design occupies only the space required for its current value.
Duplicate
  • This button allows you to create a new field with the same settings and (optionally) data contents as an existing one. You will be prompted to confirm the data duplication option before proceeding. More information on this operation is given in the following section.
Delete

This button allows you to permanently remove a field definition and all associated data from the design. NOTE: THIS CANNOT BE UNDONE!

More information on the delete operation is given in the following section.

Duplicate, Merge and Delete options

  • The Duplicate, Merge and Delete Attribute functions do more than just add or delete a name in the attribute list. They will actually scan the entire design and update the data stored with each object. This makes them very powerful tools for updating your design. First we will review how the functions are invoked, then mention some possible uses for them.
  • These three functions are all invoked from the Define Attribute Fields command. No design data is modified until the OK button is clicked in the Define Attribute Fields box.
  • When the design is updated, all Duplicates are done first, then all Merges and Deletes. This means that a field can be duplicated, then the original source deleted, all in one invocation of the Define Attribute Fields box.
  • There is no guarantee of the order of execution within the Duplicates or within the Deletes and Merges. Therefore, chains of operations (e.g. making a copy of a copy) are not guaranteed to work as expected. If there is any doubt, perform one operation, then exit the Define Attributes Fields box using the OK button, then perform the next operation.
  • Each of these operations can result in data being updated throughout a design. and they cannot be undone! For large designs there may be a considerable delay after the OK button is clicked in the Define Attribute Fields box.

Globally Duplicating Attribute Data

The Duplicate operation adds a new field name to the list with characteristics the same as an existing one. It will also optionally duplicate the data stored under that name throughout the design.

  • The pre-defined fields in HYPERSIM cannot be renamed or removed. However, you can duplicate them, and the copy will be marked as user-defined, meaning that it can be deleted again or modified in any way.
  • A field is duplicated by selecting its name in the field list and then clicking on the Duplicate button in the Define Attribute Fields dialog:
  • At this point a box will be displayed allowing you to choose one of the following options:

Duplicate Definition OnlyA new field will be defined with characteristics just like the one being duplicated, but it will have an empty value in each of the objects in the design.
Duplicate DataA new field will be defined and the associated value in each object in the design will also be duplicated and associated with the new field name. Changing the value of the new field in a given object will have no effect on the original field.
One important feature of this Duplicate operation is that any attribute display options, such as Visible by Default or Show with Field Name, that are turned on before leaving the Define Attribute Fields box will be applied to the duplicated data. This means that a field that was formerly hidden can be duplicated and displayed throughout the entire design with just this one operation.


Merging Two Existing Attribute Fields

The Merge operation takes two existing attribute field definitions and merges them into one. If a given object (device, signal, pin or design) has values in both of the original fields, the one being renamed takes precedence and the other is lost.
Pre-defined fields cannot be renamed, so they cannot be merged into other fields. You can however merge a user-defined field into a pre-defined one.
There is no explicit button for the Merge operation. Merge is invoked whenever a field is renamed so that its name matches another field's.

The procedure is as follows:

  • Click on the field to be renamed in the field list. The data in this field will take precedence when the design is updated.
  • Type the new name (i.e. the name of the field you wish to merge to) into the Field Name text edit box.
  • Type the Tab key or click on any of the option switches to indicate that you have finished typing.
  • A box will be displayed asking you to confirm the merge. Click the OK button:

The actual merging of design data does not take place until you click on the OK button in the Define Attribute Fields box.
You can only merge fields that have similar Allowed in Object Types settings. It means that you cannot merge a signal field into a device field.

Deleting Attribute Field Definitions

The Delete operation removes the selected name from the list of available fields and removes all data values associated with the field throughout the design. Pre-defined fields cannot be deleted. Before deleting any field, verify its documentation or its usage, harmful conditions will result otherwise.

  • This operation cannot be undone and should be used with care.
  • To delete a field, simply select its name in the field list and click on the Delete button.
  • In any case, no design data is updated until the OK button is pressed on the Define Attribute Fields box.

Temporarily Displaying Attributes

The Duplicate function is a convenient method of displaying data temporarily on the schematic. For example, you may wish to display some simulation parameters on the schematic while tracking a particular design problem, even though you don't want them there for the final printout.
To do this:
Select the Define Attribute Fields command (Options> Design).

  • Choose the field you wish to display.
  • Click on the Duplicate button.
  • Click on the Duplicate Data option in the confirmation box.
  • Enable the Visible by Default and (if desired) the Show Field Name and Primary options.
  • Click the OK button in the Define Attributes box to complete the operation.

The duplicate field will now be displayed on each object in the design. When the duplicate field is no longer needed, it can be removed with the Delete function described above.

Permanently Showing Data Throughout a Design

The Visible by default option in the Define Attribute Fields box normally has no effect on values that already exist in the design. Enabling the option for a field that is already in use affects only future entries. However, the Duplicate and Merge operations can be used to update the display of existing data throughout the design. This is done as follows:

  • Select the Define Attribute Fields (Options > Design).
  • Select the field to be displayed in the field list.
  • Click the Duplicate button.

In the confirmation box, click the Duplicate Data button.

  • You now have a copy of the original field: Make sure the newly-created field is selected in the list, then rename it back to the name of the original field. If the original field was Name, the duplicate will be Name1 and we now select Name1 and rename it back to Name. Press the Tab key or select another field name when you are finished typing.
  • The Merge confirmation box will appear. Click the OK button.
  • Click on the Visible By Default option and any other display options desired.
  • Click the OK button to complete the operation

This operation in effect re-enters all the data into the selected field with the new display options.

Merging Dissimilar Designs

The Merge feature is a useful tool when bringing together designs created with different attribute definitions, or when importing designs from other systems or older versions of HYPERSIM.
We strongly recommend reviewing attribute field usage under these circumstances and using the Merge feature to convert all non-standard fields to pre-defined ones where possible. This will make the design more compatible with the standard report formats provided with HYPERSIM and will reduce confusion in future design revisions.

Importing Attribute Definitions

Whenever circuit data is brought into a design, either from a design file, a device library or the clipboard, it is possible that the incoming data contains attribute fields that are not defined in the destination design. This section discusses how HYPERSIM deals with this situation.
In general, HYPERSIM attempts to ensure that an entry exists in the attribute definition table for every field used in the design. When new data is imported, field usage in the imported data is compared to the existing table. Normally, no discrepancies are found and this process is invisible. If any mismatch is found, you will be warned and given a chance to add the new definitions to the table automatically.

Pasting from the Clipboard or Placing a Library Device

In these two cases, HYPERSIM does the following:

  • All fields used in the incoming device or circuit scrap are looked up in the design's attribute table.
  • Any field that doesn't exist in the design is put on a list to be added.
  • Any field that does exist in the design but is incompatible (i.e. different object type or keep with instance settings) is renamed by adding an underscore _ to the name.
  • A list of the new fields that will be added is displayed in a warning box. If any of these fields are unexpected, or can be converted to standard fields, the names should be noted at this point. Changes in field usage can be made using the Merge and Delete operations mentioned elsewhere in this chapter.

Predefined Attribute Fields


The following tables list fields that are predefined for each new design that is created from the standard HYPERSIM template. These fields cannot be removed because many of them are used internally by specific HYPERSIM features.
The following information is provided in the table:

Field NameThe name of the field as it appears in the Define Attributes box.
Used InThe types of objects this field is used in.
DescriptionHow the field is used.

More on the usage of these fields can be found in other documentation sections. The documentation of individual devices also contains information on device data storage into attributes.

Field NameUsed InDesription

ABELSrcName

DevicesOnly in the symbol editor. Internal usage.
AltPicName.DevDevicesUsed for the addAltPic method for DWType objects.
AutoSym.BottomDevicesThe string used in the bottom pins box in the Auto Create Symbol command in the device symbol editor. See Auto Create Symbol.
AutoSym.LeftDevicesThe string used in the left pins box in the Auto Create Symbol command in the device symbol editor. See Auto Create Symbol.
AutoSym.RightDevicesThe string used in the right pins box in the Auto Create Symbol command in the device symbol editor. See Auto Create Symbol.
AutoSym.TopDevicesThe string used in the top pins box in the Auto Create Symbol command in the device symbol editor. See Auto Create Symbol.
BnameSignalsNot used, kept for future needs.
Browse.DEVDesignInternal usage for the configuration of the Browser tool.
Brows.PINDesignInternal usage for the configuration of the Browser tool.
Brows.SIGDesignInternal usage for the configuration of the Browser tool.
Bus3PrefixDesignInternal usage for setting the 3-phase bus default prefix.
CategoryDevicesAllows categorizing devices. Available to the user. Can be used as an alternate device prefix by entering the name of this field in PrefixField. Not used internally.
CalculateModelDataDevicesUsed by some devices for providing a function for calculating model data.
CctNameDesignDesign file name. Sets the window title and name of next saved file. Normally only set by the Open and Save commands.
CctOSDesignThe system (Windows) that was used to create the design file. Normally only set by the Open and Save commands.
CctPathDesignThe directory path name for the design file. Normally only set by the Open and Save commands.
ColorCodeDevicesUsed for color coding devices based on some data criteria. Holds the color code number.
DateStamp.CctDesignThis field is set by the program to the current date and time each time the circuit is modified. This is intended to allow scripts to determine if a design has been modified since the last time the script was run.
DateStamp.DevDevicesThis field is set by the program to the current date and time when a device is placed in the circuit and not modified thereafter. See Device Date Stamping.
DateStamp.LastDesignThis field is used by the program as part of the date stamping process. See Device Date Stamping.
DateStamp.SymbolDevicesThis field is set by the program when a symbol (part definition) in a library is modified. See Device Date Stamping.
DelayDevicesInternal usage, only in the Symbol Editor.
DepthDevicesIndicates nesting depth of device sub-circuit. Only used temporarily by the Report tool while generating hierarchical reports. This value is not maintained during editing operations.
DescriptionDevicesUsed for saving and making visible device scope requests or initialization options.
Description.PtDevicesProvides attribute position, scriptable.
DesignerDesignIntended to be used to display the designer’s name on the sheet. See Creating a Title Block.
DesignGlobalDataDesignInternal usage for global data transmission between devices
DesignGlobalDataOptionDesignInternal usage for global data transmission between devices.
DesignTypeDesignA value used to distinguish which design template was used to create the design.
DeviceDocDesignUsed for setting device documentation location in some user-defined device masks.
DeviceVersionDeviceProvides a model version number.
DevPrefixDesignDefault prefix for auto-assigned device names. Normally set using the Device Naming Options command. See Device Naming Options.
DevScript.DevDevices

Starts the specified script when a double-click occurs on the device. It is also possible to specify a ondblclick method in that script:
function ondblclick(dblClickDevice, x, y)
{
// dblClickDevice is the device
// x and y are device coordinates
}

DrawingDataDevicesUsed by some devices to keep specific symbol drawing data.
DWLSrcNameDevicesInternal usage, only in the Symbol Editor.
DWLSrcOSDevicesInternal usage, only in the Symbol Editor.
DWLSrcPathDevicesInternal usage, only in the Symbol Editor.
EMTP_lastRun_statusDevicesUsed for parametric studies.
EMTPPhaseLabelASignalsHolds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.
EMTPPhaseLabelBSignalsHolds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.
EMTPPhaseLabelCSignalsHolds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.
ExcludeDevices

Indicates if the device is excluded from the Netlist (from the simulation data). Available values are Ex and 2.
Ex means that the device is temporarily excluded.
2 means that the device is permanently excluded. This value is used, for example, for devices that are setting simulation options and should not appear as parts in the Netlist.

Exclude.ScriptDesignNames the script called when the Exclude value changes. It is held by the design for all devices.
ExtCctDateDevicesModified date of external design file containing device internal circuit. Normally set by the device Symbol Editor.
ExtCctLibDevicesName of library to search for an internal circuit. Used only by the Symbol Editor.
ExtCctNameDevicesName of external design file containing device internal circuit. Normally set by the device Symbol Editor.
ExtCctOSDevicesSource system type for design file containing device internal circuit. Normally set by the device Symbol Editor.
ExtCctPathDevicesDirectory path for the design file containing the device internal circuit. Normally set by the device Symbol Editor.
FormDataDevicesUsed for saving device data that is not necessarily sent to the Netlist.
FunctionDevices

This device attribute can be set to OPTION or DataFile.
When it is set to OPTION: the device data in ParamsA and/or ModelData attributes will appear at beginning of the Netlist. It is used for devices that are setting simulation options. Such devices can appear only at the top level of a design and not in subcircuits.
When it is set to DataFile, then the ModelData attribute is used to provide the name of an external file. The contents of the external file are inserted directly into the Netlist file after the simulation options. Such a file can contain generic subcircuit definitions and include calls to other subcircuits. It can also contain the definition of simulation parameters. The simulation parameters must be always defined at the top of the Netlist file.
It is allowed to use one or more devices with the Function attribute set to DataFile in a given design. Such devices can appear only at the top level of a design and not in subcircuits.

GroundDevicesList of pins to be hooked to ground in the Netlist. Available in the Symbol Editor.
GlobalDataDevicesWhen this value is 1, it means that this device uses Global Data and needs automatic updating.
GlobalDataTagDesignInternal usage for global data transmission between devices.
HideSBBRulesDevicesInternal usage. EMTP.
HierNameSepDesignContains the separator string used in generating hierarchical device and signal names for Report output. Normally set only by commands in a report script file. See the entry for the $HIERNAMESEPARATOR command in Export Script Language
InstName

Devices
Signals

Reserved for future use.
LibDateDevicesLast Modified Date of the library the device was read or updated from, stored in encoded form. This is used by the Update from Lib command. See Update from Lib.
LibNameDevicesName of the library the device was read or updated from. This is used by the Update from Lib command. See Update from Lib.
LibPathDevicesDirectory path of the library the device was read or updated from. This is used by the Update from Lib command.
LibOSDevicesSource system of the library the device was read or updated from. This is used by the Update from Lib command.
LibTypeDevicesThe original name of the part when it was read from a library. This is used by the Update from Lib command.
Mask.DevDevices

Becomes 1 when the device (subnetwork) is masked with the default properties script.
Becomes 2 when the device (subnetwork) is masked with a user specified script.

Mask.Dev.Script

Design
Devices

Names the script called when Mask.Dev changes. This is used to optionally clear mask data when unmasking.
ModelDataDevicesUsed for saving device simulation data into the design and sending into the Netlist file.
ModelData1DevicesExtra data for some devices.
ModelDataErrorDevicesSet to 1 when the device has a data error. Can be used in search functions.
MPLevelDevicesDevice patch version number.
NameDevices, signalsDevice or signal name, (sometimes called reference designator). See Device Naming Options.
Name.PtDevicesName attribute position, scriptable.
Name.PrefixDevicesPrefix used to create default Name value. Used by Auto-name options. See Setting the Auto-Generated Name Format.
Name.SpiceDeviceReserved for future usage.
OKErrorsDevices, Signals, PinsUsed by the Find tool to mark errors set as OK by user. Should not be set manually.
PackageDevicesReserved for future usage. Available in the Symbol Editor.
PageRefDevicesUsed in Page Connector pseudo-devices only. Contains the auto-generated page references. See Automatic Display of Page References.
PageRefFormatDesignFormat string for page references. Normally modified only using the Design Preferences command. See Automatic Display of Page References.
PageRefWidthDesignMaximum number of items per line in page references. Normally modified only using the Design Preferences command. See Automatic Display of Page References.
ParamsADevicesUsed for saving device simulation data into the design and sending into the Netlist file.
ParamsBDevicesUsed for saving device simulation data into the design and sending into the Netlist file.
ParamsCDevicesUsed for saving device simulation data into the design and sending into the Netlist file.
ParamsEMTPDesignHolds main simulation parameters, such as time-step and maximum simulation time.
PartDevicesPart type code. Used in the Netlist to identify the device. HYPERSIM uses this name to identify the device in its list of built-in models.
Part.ListDevicesList of part types possible for this symbol.
PartTempDevicesHolds a unique part name for subcircuits. Avoids user errors when the user does not maintain unique part types correctly.
PatchLevelDesignDesign patch level.
PermutableDevicesReserved for future usage. Available in the Symbol Editor.
PhaseDevicesGives the number of device phases. This number is 3 when the device accepts 3-phase signals.
PinSequenceDevicesThis field can be used to determine pin order in Netlist output formats that require specific device pin ordering. This is not defined in the standard HYPERSIM libraries. Not used internally. See the entry for the $DEVPINSEQUENCE command in Export Script Language
PkgLevelDevicesReserved for future usage. Available in the Symbol Editor.
PkgPrefixDesignReserved for future usage.
PowerDevicesReserved for future usage. Available in the Symbol Editor.
PrefixFieldDesignContains the name of the field to use as a name prefix for device auto-naming. See Setting the Auto-Generated Name Format.
ProbeHotPt.Dev
Reserved for future usage.
RestrictDevices

An integer value from 0 to 7 used to set access restrictions for the device’s internal circuit. The value is the sum of the following:
1 = Don’t report
2 = Don’t package
4 = Don’t Push Into
Normally set using the Properties command.

RevisionDesignIntended to be used to display the designer’s name on the sheet. Not used internally. See Creating a Title Block.
Scope_ADevicesUsed for holding programmable scope name on phase A or general signal device.
Scope_BDevicesUsed for holding programmable scope name on phase B or general signal device.
Scope_CDevicesUsed for holding programmable scope name on phase C or general signal device.
Script.Copy.DevDesignNames the script for copying device data. Called from device right-click Copy/Paste command.
Script.Edit.DesDesignReserved for future usage.
Script.ExInc.DevDesignNames the script for excluding and including a device.
Script.DevDesignThe name of a script to run each time a device is placed. Disabled in the current release.
Script.Info.DevDevicesInternal usage. EMTP.
Script.Info.Sig

Design
Signals

Names a script called when the user right-clicks on a signal and selects Signal Parameters.
Script.Mask.DevDevicesNames the mask script called when the subcircuit is double-clicked.
Script.OpenDesignThe name of a script to run each time the design file is opened. Disabled in the current release.
Script.Open.DevDevicesNames the script called when the device is double-clicked.
Script.Paste.DevDesignNames the script for pasting device data. Called from device right-click Copy/Paste command.
Script.PinDesignReserved
Script.SigDesignReserved
SimModelInfo.DevDevicesReserved for future usage. Available in the Symbol Editor.
SignalType.Pin
Internal usage.
SignalType.Sig
Internal usage.
SignalVoltage

Signals

Holds the signal voltage level selected from the Signal Parameters command.
SignalVoltage.List

Design
Signals

List currently available voltage values for color coding signals. These values are available in the design attribute, but can be separately saved into the signal attribute. This is a comma separated list of values used in the script named by Script.Info.Sig.
SignalVoltage.ScriptDesign
Signals
This script is called when SignalVoltage changes. It is named in the design.
SigPrefixDesignPrefix used to generate default signal names. Normally set using the Signal Naming Options command. See Signal Auto-Naming Options.
SimLoad
Internal usage
simulation_typeDesignHolds the simulation type.
SnifferDevicesNames the device script called when the device is clicked on.
SpiceDevicesReserved for future usage. Available in the Symbol Editor.
StatusDevicesUsed for updating global data in devices during global data transmission.
Status.ScriptDevicesUpdating method when Status changes.
SteppedOutDevicesBecomes 1 when the device is a control device and has the Step option turned on in its solution mode.
SteppedOut.Script

Design
Devices

Script called when the SteppedOut attribute changes.
Used for control devices and named in the design.

SubCctCode.DevDevicesCan contain the name of an external Netlist file. This attribute is use to insert external Netlist files through subcircuits. Pin names are used to interface with external Netlist signals.

This option is only for defining subcircuit Netlists. The subcircuit header for interfacing signals is automatically defined by HYPERSIM.

TestVectors.DevDevicesReserved for future usage. Available in the Symbol Editor.
Timing.Save
Reserved for future usage.
UnitDevicesReserved for future usage. Available in the Symbol Editor.
UnusedPinsDevicesList of unused pins in this part type. Not used internally.
user_fill_colorDevicesSaves the previous color when color coding is applied.
user_fill_color1DevicesSaves the previous color when color coding is applied.
user_line_colorDevicesSaves the previous color when color coding is applied.
user_line_color1DevicesSaves the previous color when color coding is applied.
ValueDevicesUsed to keep and show some device data on the design drawing.
Value1DevicesUsed to keep and show some device data on the design drawing.
Value2DevicesUsed to keep and show some device data on the design drawing.
ValueDisplayOptDevicesReserved for future usage. Available in the Symbol Editor.
Visual.DevDevicesBecomes 1 when the subcircuit is set to be visual.

Property Browser

Browser for attributes
The Property Browser (also called Browser) is a tool used to view, edit and navigate schematic data in spreadsheet-style format. Rows of the spreadsheet display objects in the schematic, either devices, signals, pins or nets. A cell of the spreadsheet displays an attribute value for the object in that row and the attribute field name in that column. The nets show all the pin connections on a signal.

Opening the Browser

To open the Browser, select the Property Browser item in Home > Find. This opens a spreadsheet window.

ControlWhat it Does
Close BoxClick this control (x) to close the Browser window. Another method of closing is to select the Browser item in the View menu.
File MenuThis menu contains the Save As command, which allows you to save the contents of the spreadsheet as a text file.
Edit MenuThis menu contains the standard clipboard editing commands which allow you to operate on selected cells in the spreadsheet.
Select MenuThis menu contains options to control the type of objects displayed and how they are selected.
Attribute Type Selector

This list allows you to select what type of fields are shown in the Attribute List. By default, only Primary fields are shown, i.e. attribute fields marked as Primary in the Defining Attribute Fields command. You can also select to show:
Secondary fields: fields not marked as Primary
Pseudo attributes: Text values that are associated with an item by the system, but are not normal attribute fields, including the internal part name and graphical information.
Definition fields: All attribute fields not marked Keep with Instance in the Define Attribute Fields table.
Instance fields: All attribute fields marked Keep with Instance in the Define Attribute Fields table.

By default the Browser will initially display all devices in the current circuit. If any objects are selected in the schematic, the Browser will display only selected devices or signals. Selected devices have priority over selected signals. You can select what must be shown using Select > Object Type.

Closing the Browser

To close the Browser window, either click in the Close box (the small X button at the corner of the window), or select the Browser item again in the View menu.

Updating the Browser Window

The Browser will update any time a change occurs in the schematic that affects the data displayed in the spreadsheet, or when its scope is set to Circuit and the current circuit changes.

Selecting the Type of Objects Displayed

  • The Browser is controlled by the separate File, Edit and Select menus on the Browser panel itself. The menus in the main application menu bar do not affect the Browser. Specifically, the Cut, Copy and Paste edit menu items in the main menu bar will still operate on the selected circuit items and not on the spreadsheet.
  • The Object Type submenu under Select allows you to change the type of object being displayed. There are eight different types of objects that may be displayed Devices, Signals, Pins, Nets, and selected Devices, Signals, Pins, and Nets.
  • If the Selected form of an object is chosen to be displayed, e.g. Selected Devices, then only items which are selected in the schematic will be displayed. Similarly, if Selected Signals is chosen in the Object Type menu, then only signals that are selected in the schematic will be listed in the spreadsheet.

Determining Where to Search for Objects

When looking for objects, the Browser will limit its search scope by using the selection made in the scope menu pop-up. There are four different scopes:

DesignIn this scope the entire design hierarchy is searched for objects of the correct type. This scope has a side-effect. Some of the objects attribute values displayed may not be editable because of definition/instance conflict resolution. The uneditable objects and/or fields will be displayed with a gray background.
CircuitIn this scope the search is limited to the pages of the circuit with the most active window.
Here DownIn this scope the search for objects is in the circuit with the active most window and in all circuits below it in the hierarchy. Some of the objects and/or fields may not be editable for the same reasons as explained in Design scope.
PageThis scope only looks for objects in the circuit with the most active window and in addition only looks at the page associated with that window.

Displaying Attributes

  • To add an attribute field to the spreadsheet, simply double-click its name in the attribute list.
  • The Nets and Selected Nets object types display a different format in the spreadsheet and do not allow attributes to be added.
  • The attribute field names appearing in the list will change as the type of object selected for display is changed. Only attributes that apply to a given object type are displayed. For example, the attribute field Part is associated with Devices but will not be associated with Signals.
  • If an attribute name is checked in the attribute list then it will be added as a new column at the end of the spreadsheet. Double-clicking a checked attribute name removes the associated attribute from the spreadsheet. The sorting is based on the first column. You can change the ordering by moving the columns.

Changing Attribute Values: Selecting and Editing Cells

To edit a cell, just click on it and start typing. Cells that are shaded gray are displaying values that cannot be edited in the spreadsheet. This could be the case if a given circuit or subcircuit is locked (read-only).
Modifying the value of a cell will cause the corresponding attribute value of the object in the schematic to change! The schematic data is updated immediately and there is no undo.

Using the Edit Menu CommandsThe Edit menu in the Browser panel contains the standard clipboard editing commands Cut, Copy, Paste, and Clear, plus four additional menu items:
  • Fill Down
The Fill Down command takes the selection rectangle and copies the values in the cells at the top of the selection to all the selected cells below them.
  • Fill Right
The Fill Right command takes the selection rectangle and copies the values in the cells at the left of the selection to all the selected cells to the right of them.
  • Make Visible
The Make Visible command takes the object attributes affected by the selection rectangle and makes them visible in the schematic. This command applies only to attribute values (not pseudo-attributes like the part name) and only to visible objects. For example, it is not possible to display attributes associated with bundle internal signals.
  • Make Invisible
The Make Invisible command takes the object attributes affected by the selection rectangle and makes them invisible in the schematic.

To select several cells you can click hold and drag. You can also select the first cell and use the shift button to select a range of cells.

Disallowed Editing Changes

Any editing change that may cause a structural change to the connectivity of the schematic (although legal under some conditions) will be disallowed and aborted by the Browser. There are only a few special cases that will cause this to happen. For example:

  • Renaming a visible signal to the same name as another visible signal on the same page would cause the two signals to become one signal.
  • Making a signal visible which has the same name as an already visible signal with the same name would cause the two signals to become one signal.

Saving and Printing Data in a Browser Window

The Save As command in the Browser’s File menu provides a method of directly saving data that appears in the spreadsheet display. There is no direct printing command to print the contents of the spreadsheet, but you can open the resulting test file in any text editor or word processor to format it for printing. If is required to automate such a task, then a better approach is to use an Export script.

Browser Clipboard Data Format

The Browser exports data in a tab-delimited text format commonly used by spreadsheet and database programs. The following points summarize this format:
Items appearing on one line in the spreadsheet display appear on one text line.

  • Items on one line are separated by a tab character.
  • Lines are terminated by a single carriage return character.
  • If an item contains anything other than alphanumeric characters and spaces it is enclosed in double quotes. If it contains a double-quote character, that character is doubled, i.e. it is preceded by a second double- quote.

Note that attribute items can themselves contain carriage returns and other control characters. Such items will be enclosed in double-quotes in the clipboard text.

Showing Objects in the Schematic

When the Show in Schematic option in the Select menu is checked, the Browser will always attempt to display the associated schematic object whenever a cell is selected in the spreadsheet.
The Browser may sometimes not be able to show the object. The reason for this is generally that the object was not in an open window, or does not have a visible representation, e.g. bus internal signals.

Sorting Displayed Objects
Items are always displayed in the spreadsheet sorted in order by the first column. If the values in the first column are the same, the second columns is used, etc. The sort order can be changed by re-ordering the columns so that the primary sort value is in the first column. You can use attributes to create a grouping function. If the Category (available to the user, see Predefined Fields) attribute is selected for categorizing devices, then it can be made as the first column in the spreadsheet to show devices sorted within this grouping.

Adjusting the Spreadsheet

Resizing ColumnsColumns may be resized by moving the cursor into the column heading area and positioning it over the vertical dividing line. The cursor when correctly positioned it will change shape. Press the mouse button and drag the line to size the column to its desired size. Rows cannot be resized.
Moving ColumnsColumns are reordered by moving the cursor into the column heading area and positioning it over the column heading to move. Click once on the column label to make the column become selected, then hold and drag the label to its new position.


It can be useful to move columns so that the sorting mechanism will base the sort on the new ordering of the col

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter