Attributes are arbitrary blocks of text that can be 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 usage. 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 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 Fields||When 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 Fields||You 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 fields have the following specific limitations:
- Maximum length of field name: 16 characters
- Maximum length of field data item: 2000,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, simply select the field name in the list. The current contents of the field will be 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 will display 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 will be 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 will appear. 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 will always be taken as 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 will be 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,0T||The value will extend right and down from the top- left corner of the device.|
|0Mm,0Bt||The value will be centered above the symbol with the bottom of the text at the top of the symbol.|
|150,-75||The value will be centered at a position above and to the right of the top-left corner.|
|The value will 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 Name||The 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 instance||This option is not used in the current version of HYPERSIM®.|
|Group with Name||When 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 Name||When 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-line"||If this switch is checked, then the Return key may be used to enter Carriage Return characters into this field.|
|Rotate text with object||If 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 Default||If 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 List||If 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 Part||This 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 only||This 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.|
|Temporary||Creates a temporary attribute.|
|Allowed in object types||This 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 Length||You 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.|
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 Only||A 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 Data||A 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 Name||The name of the field as it appears in the Define Attributes box.|
|Used In||The types of objects this field is used in.|
|Description||How 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 Name||Used In||Desription|
|Devices||Only in the symbol editor. Internal usage.|
|AltPicName.Dev||Devices||Used for the addAltPic method for DWType objects.|
|AutoSym.Bottom||Devices||The string used in the "bottom pins" box in the "Auto Create Symbol" command in the device symbol editor. See Auto Create Symbol.|
|AutoSym.Left||Devices||The string used in the "left pins" box in the "Auto Create Symbol" command in the device symbol editor. See Auto Create Symbol.|
|AutoSym.Right||Devices||The string used in the "right pins" box in the "Auto Create Symbol" command in the device symbol editor. See Auto Create Symbol.|
|AutoSym.Top||Devices||The string used in the "top pins" box in the "Auto Create Symbol" command in the device symbol editor. See Auto Create Symbol.|
|Bname||Signals||Not used, kept for future needs.|
|Browse.DEV||Design||Internal usage for the configuration of the Browser tool.|
|Brows.PIN||Design||Internal usage for the configuration of the Browser tool.|
|Brows.SIG||Design||Internal usage for the configuration of the Browser tool.|
|Bus3Prefix||Design||Internal usage for setting the 3-phase bus default prefix.|
|Category||Devices||Allows 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.|
|CalculateModelData||Devices||Used by some devices for providing a function for calculating model data.|
|CctName||Design||Design file name. Sets the window title and name of next saved file. Normally only set by the Open and Save commands.|
|CctOS||Design||The system (Windows) that was used to create the design file. Normally only set by the Open and Save commands.|
|CctPath||Design||The directory path name for the design file. Normally only set by the Open and Save commands.|
|ColorCode||Devices||Used for color coding devices based on some data criteria. Holds the color code number.|
|DateStamp.Cct||Design||This 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.Dev||Devices||This 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.Last||Design||This field is used by the program as part of the date stamping process. See Device Date Stamping.|
|DateStamp.Symbol||Devices||This field is set by the program when a symbol (part definition) in a library is modified. See Device Date Stamping.|
|Delay||Devices||Internal usage, only in the Symbol Editor.|
|Depth||Devices||Indicates 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.|
|Description||Devices||Used for saving and making visible device scope requests or initialization options.|
|Description.Pt||Devices||Provides attribute position, scriptable.|
|Designer||Design||Intended to be used to display the designer’s name on the sheet. See Creating a Title Block.|
|DesignGlobalData||Design||Internal usage for global data transmission between devices|
|DesignGlobalDataOption||Design||Internal usage for global data transmission between devices.|
|DesignType||Design||A value used to distinguish which design template was used to create the design.|
|DeviceDoc||Design||Used for setting device documentation location in some user-defined device masks.|
|DeviceVersion||Device||Provides a model version number.|
|DevPrefix||Design||Default prefix for auto-assigned device names. Normally set using the "Device Naming" Options command. See Device Naming Options.|
Starts the specified script when a double-click occurs on the device. It is also possible to specify a ondblclick method in that script:
|DrawingData||Devices||Used by some devices to keep specific symbol drawing data.|
|DWLSrcName||Devices||Internal usage, only in the Symbol Editor.|
|DWLSrcOS||Devices||Internal usage, only in the Symbol Editor.|
|DWLSrcPath||Devices||Internal usage, only in the Symbol Editor.|
|EMTP_lastRun_status||Devices||Used for parametric studies.|
|EMTPPhaseLabelA||Signals||Holds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.|
|EMTPPhaseLabelB||Signals||Holds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.|
|EMTPPhaseLabelC||Signals||Holds the phase label when a signal is 3-phase. Internal usage. The phase label is usually shown near the bus.|
Indicates if the device is excluded from the Netlist (from the simulation data). Available values are "Ex" and "2".
|Exclude.Script||Design||Names the script called when the Exclude value changes. It is held by the design for all devices.|
|ExtCctDate||Devices||Modified date of external design file containing device internal circuit. Normally set by the device Symbol Editor.|
|ExtCctLib||Devices||Name of library to search for an internal circuit. Used only by the Symbol Editor.|
|ExtCctName||Devices||Name of external design file containing device internal circuit. Normally set by the device Symbol Editor.|
|ExtCctOS||Devices||Source system type for design file containing device internal circuit. Normally set by the device Symbol Editor.|
|ExtCctPath||Devices||Directory path for the design file containing the device internal circuit. Normally set by the device Symbol Editor.|
|FormData||Devices||Used for saving device data that is not necessarily sent to the Netlist.|
This device attribute can be set to OPTION or DataFile.
|Ground||Devices||List of pins to be hooked to ground in the Netlist. Available in the Symbol Editor.|
|GlobalData||Devices||When this value is 1, it means that this device uses Global Data and needs automatic updating.|
|GlobalDataTag||Design||Internal usage for global data transmission between devices.|
|HideSBBRules||Devices||Internal usage. EMTP.|
|HierNameSep||Design||Contains 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|
|Reserved for future use.|
|LibDate||Devices||"Last 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.|
|LibName||Devices||Name of the library the device was read or updated from. This is used by the "Update from Lib" command. See Update from Lib.|
|LibPath||Devices||Directory path of the library the device was read or updated from. This is used by the Update from Lib command.|
|LibOS||Devices||Source system of the library the device was read or updated from. This is used by the Update from Lib command.|
|LibType||Devices||The original name of the part when it was read from a library. This is used by the Update from Lib command.|
Becomes 1 when the device (subnetwork) is masked with the default properties script.
|Names the script called when Mask.Dev changes. This is used to optionally clear mask data when unmasking.|
|ModelData||Devices||Used for saving device simulation data into the design and sending into the Netlist file.|
|ModelData1||Devices||Extra data for some devices.|
|ModelDataError||Devices||Set to 1 when the device has a data error. Can be used in search functions.|
|MPLevel||Devices||Device patch version number.|
|Name||Devices, signals||Device or signal name, (sometimes called "reference designator"). See Device Naming Options.|
|Name.Pt||Devices||Name attribute position, scriptable.|
|Name.Prefix||Devices||Prefix used to create default Name value. Used by Auto-name options. See Setting the Auto-Generated Name Format.|
|Name.Spice||Device||Reserved for future usage.|
|OKErrors||Devices, Signals, Pins||Used by the Find tool to mark errors set as OK by user. Should not be set manually.|
|Package||Devices||Reserved for future usage. Available in the Symbol Editor.|
|PageRef||Devices||Used in Page Connector pseudo-devices only. Contains the auto-generated page references. See Automatic Display of Page References.|
|PageRefFormat||Design||Format string for page references. Normally modified only using the "Design Preferences" command. See Automatic Display of Page References.|
|PageRefWidth||Design||Maximum number of items per line in page references. Normally modified only using the "Design Preferences" command. See Automatic Display of Page References.|
|ParamsA||Devices||Used for saving device simulation data into the design and sending into the Netlist file.|
|ParamsB||Devices||Used for saving device simulation data into the design and sending into the Netlist file.|
|ParamsC||Devices||Used for saving device simulation data into the design and sending into the Netlist file.|
|ParamsEMTP||Design||Holds main simulation parameters, such as time-step and maximum simulation time.|
|Part||Devices||Part 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.List||Devices||List of part types possible for this symbol.|
|PartTemp||Devices||Holds a unique part name for subcircuits. Avoids user errors when the user does not maintain unique part types correctly.|
|PatchLevel||Design||Design patch level.|
|Permutable||Devices||Reserved for future usage. Available in the Symbol Editor.|
|Phase||Devices||Gives the number of device phases. This number is 3 when the device accepts 3-phase signals.|
|PinSequence||Devices||This 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|
|PkgLevel||Devices||Reserved for future usage. Available in the Symbol Editor.|
|PkgPrefix||Design||Reserved for future usage.|
|Power||Devices||Reserved for future usage. Available in the Symbol Editor.|
|PrefixField||Design||Contains 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.|
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:
|Revision||Design||Intended to be used to display the designer’s name on the sheet. Not used internally. See Creating a Title Block.|
|Scope_A||Devices||Used for holding programmable scope name on phase A or general signal device.|
|Scope_B||Devices||Used for holding programmable scope name on phase B or general signal device.|
|Scope_C||Devices||Used for holding programmable scope name on phase C or general signal device.|
|Script.Copy.Dev||Design||Names the script for copying device data. Called from device right-click “Copy/Paste” command.|
|Script.Edit.Des||Design||Reserved for future usage.|
|Script.ExInc.Dev||Design||Names the script for excluding and including a device.|
|Script.Dev||Design||The name of a script to run each time a device is placed. Disabled in the current release.|
|Script.Info.Dev||Devices||Internal usage. EMTP.|
|Names a script called when the user right-clicks on a signal and selects "Signal Parameters".|
|Script.Mask.Dev||Devices||Names the mask script called when the subcircuit is double-clicked.|
|Script.Open||Design||The name of a script to run each time the design file is opened. Disabled in the current release.|
|Script.Open.Dev||Devices||Names the script called when the device is double-clicked.|
|Script.Paste.Dev||Design||Names the script for pasting device data. Called from device right-click "Copy/Paste" command.|
|SimModelInfo.Dev||Devices||Reserved for future usage. Available in the Symbol Editor.|
|Holds the signal voltage level selected from the "Signal Parameters" command.|
|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.|
|This script is called when SignalVoltage changes. It is named in the design.|
|SigPrefix||Design||Prefix used to generate default signal names. Normally set using the Signal Naming Options command. See Signal Auto-Naming Options.|
|simulation_type||Design||Holds the simulation type.|
|Sniffer||Devices||Names the device script called when the device is clicked on.|
|Spice||Devices||Reserved for future usage. Available in the Symbol Editor.|
|Status||Devices||Used for updating global data in devices during global data transmission.|
|Status.Script||Devices||Updating method when Status changes.|
|SteppedOut||Devices||Becomes 1 when the device is a control device and has the Step option turned on in its solution mode.|
Script called when the SteppedOut attribute changes.
|SubCctCode.Dev||Devices||Can 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.Dev||Devices||Reserved for future usage. Available in the Symbol Editor.|
|Timing.Save||Reserved for future usage.|
|Unit||Devices||Reserved for future usage. Available in the Symbol Editor.|
|UnusedPins||Devices||List of unused pins in this part type. Not used internally.|
|user_fill_color||Devices||Saves the previous color when color coding is applied.|
|user_fill_color1||Devices||Saves the previous color when color coding is applied.|
|user_line_color||Devices||Saves the previous color when color coding is applied.|
|user_line_color1||Devices||Saves the previous color when color coding is applied.|
|Value||Devices||Used to keep and show some device data on the design drawing.|
|Value1||Devices||Used to keep and show some device data on the design drawing.|
|Value2||Devices||Used to keep and show some device data on the design drawing.|
|ValueDisplayOpt||Devices||Reserved for future usage. Available in the Symbol Editor.|
|Visual.Dev||Devices||Becomes 1 when the subcircuit is set to be visual.|
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.
|Control||What it Does|
|Close Box||Click this control (x) to close the Browser window. Another method of closing is to select the Browser item in the View menu.|
|File Menu||This menu contains the Save As command, which allows you to save the contents of the spreadsheet as a text file.|
|Edit Menu||This menu contains the standard clipboard editing commands which allow you to operate on selected cells in the spreadsheet.|
|Select Menu||This 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:
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:
|Design||In 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.|
|Circuit||In this scope the search is limited to the pages of the circuit with the most active window.|
|Here Down||In 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.|
|Page||This 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.|
- 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 Commands||The Edit menu in the Browser panel contains the standard clipboard editing commands Cut, Copy, Paste, and Clear, plus four additional menu items:|
|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.|
|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.|
|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.|
|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 Columns||Columns 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 Columns||Columns 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