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.

Device Symbols and Libraries


About Device Symbols

Device symbols are an important resource in the design creation process. Whether the user primarily works with the symbols provided with HYPERSIM standard libraries or creates their special libraries, the completeness and accuracy of this data have a major effect on the design flow. Library files generally outlast any one design and are used for many years across many projects. In addition, many HYPERSIM features depend on customizing the standard library symbols. For these reasons, HYPERSIM provides many features for creating and editing the symbols themselves and for maintaining symbol library files.
Creating a device symbol can involve much more than just drawing the graphics representing the device. Many HYPERSIM features depend on correct text attributes being associated with each symbol.

Terminology Note

In this chapter, several terms are used to refer to the definition of a device symbol in a library. If the terms symbol, part, part type or type are used, we are referring to the definition of a device symbol in a library. The term symbol is used when we are primarily interested in the graphical representation of a device, but a symbol is always stored with related pin definition information and text attributes in the design file.

Working with Symbol Libraries

The symbols and related parameters for HYPERSIM devices are stored in data files called symbol libraries.

For each device type in a library, the following data is stored:

  • General information on the type, such as number of pins, number of inputs, number of outputs, type name, default attributes, position, orientation and type of each pin, etc.
  • A picture representing the symbol for this part type.
  • A polygon outlining the symbol, is used for highlighting and erasing the symbol.
  • An optional internal circuit definition.

Designs and Libraries

  • When a new device is added to a design, all information needed to display and edit the device is saved in the design file. Only one copy is kept, regardless of how many times the symbol is used in the design. No further access to the library itself is required. This is done to ensure that a design file is always a complete entity and that future changes to a library will not inadvertently render an old design incorrect.
  • However, some designs need to be updated with some improvements in the source library. Conversely, some modifications made on a device symbol need to be saved back in the library for further usage.
  • For these reasons, HYPERSIM records some information about each symbol in its source library and provides many features to allow the transfer and updating of symbols between designs and libraries. Once a new symbol is added to a design (i.e. one that hasn’t been used in this design before) the library name, file path and last modified date are stored in the attribute fields LibName, LibPath and LibDate, respectively. These attributes are used by the Options > Part Type > Update from Lib command to locate the original library and determine if it has changed since we used it.
  • In addition, whenever the definition of a device symbol is modified, a new checksum is generated. The checksum is used to verify the version of different instances of the device symbol. This checksum cannot be set by the user, but it can be dumped in the report using the $CHECKSUM script command (see Export_Script_Language). The checksum could be used to detect inadvertent modifications in the device.
  • The following sections deal with the creation and maintenance of library files. Later parts of this chapter deal with editing the symbols themselves.

Creating a New Library


To create a new and empty symbol library file:

  • Right-click anywhere in the Parts palette or use Options > Libraries > Library Operations. In the pop-up menu, select the New Library command.
  • In either case, a standard file save box will appear. Enter the desired name for the library and select a disk directory. The library is created and opened automatically so it appears in the Parts palette.
  • If the library needs to be opened automatically at HYPERSIM startup, see Automatically Opening Libraries at Startup.

Manually Opening a Library

To open any library file:

  • Right-click anywhere in the Parts palette or use Options > Libraries  > Library Operations. In the pop-up menu that appears, select the Open Library command.
  • A standard file open box appears. Locate the desired file in the usual way. The library is opened and appears in the Parts palette. A small amount of memory is used by each open library file.
  • Libraries with the same file name, but with different locations, can be opened.

Automatically Opening Libraries at Startup

  • Libraries can be opened automatically when the program starts.
  • Right-click anywhere in the Parts palette or use Options > Libraries > Library Operations. In the pop-up menu that appears, select the Auto-Open Libraries command.
  • This command opens the Auto-Open Libraries window.
  • To open a new library at startup, press the Add button and specify the library on the standard Open File box.
  • To remove a library from Auto-Open Libraries, select it in the list and press the Delete button.

As mentioned on Auto-Open Libraries window, some keywords in the initialization file (see Libraries section in hyperworks.ini) are used to specify the default folder for initial libraries. By default, when HYPERSIM is installed, a folder called HyLibs is created containing the initial libraries.

Manually Closing a Library

To close any open library file, either:

  • Right-click anywhere in the Parts palette or use Options > Libraries > Library Operations, in the pop-up menu, select the Close Library command.
  • In either case, a list of the open library files appears. The Shift and Ctrl keys can be used to select multiple files to be closed in one operation and then press the Close button.
  • Alternatively, double-clicking the name of a single library is sufficient.
  • Any information required for symbols used in any open designs is automatically retained in memory.
  • Once a symbol is added to the design, all information required has been copied into the design’s data. No further access to the library itself is required.

Lib Maintenance

The Lib Maintenance command is available from the right-click menu in the Parts palette or use Options > Libraries > Library Operations.


The Shift and Ctrl keys can be used for selecting more than one symbol in some operations.

DeleteDeletes one or more symbols from the Source Library. This operation cannot be undone.
DuplicateDuplicates symbols within the Source Library. The user will be prompted for each selected item to enter a new name. Names must be unique within a library.
PromoteCauses the selected items in the Source Library to be moved up the list.
DenoteCauses the selected items in the Source Library to be moved down the list.
RenameUsed to rename a single selected symbol in the Source Library.
SortSorts the entire list alphabetically.
RepairUseful for fixing library problems.
CopyThis button is used to copy one or more symbols from one library to another.
CompactWhen parts are deleted from a library, the free space in the file is not automatically recovered. In most cases, this is not a significant overhead. However, if a large percentage of the parts in a library has been deleted then the user may wish to compact the file. The modified library could be compacted in a new one. The previous library should be deleted after verifying the new library.

Items displayed in the Parts palette are always sorted alphabetically and the Promote, Denote and Sort procedures will not affect this order.

These procedures change the order in which the symbols are indexed in the library file, which affects ordering in some internal operations.


Update from Lib…

  • This command is available from Options > Part Type.
  • The Update from Lib… command updates the definition of the selected device from its original source library. There are a variety of options available to determine how attributes and subcircuits are updated and how a source symbol definition is selected.
  • Depending upon the options selected, this command may replace the entire internal circuit of the selected device. This cannot be undone!
  • Selecting the Update from Lib… command in the Part Type sub-menu of the Options toolbar, causes the following box to be displayed:

The box that appears may be simpler than that shown above.

Only options that are relevant to the specific device selected are shown.


The first option pop-up menu allows selecting how the source library will be located:

Select a new source library

This selection causes a sequence of two prompt boxes to be displayed requesting a library and then a part within the library. This new symbol is used to update the selected device.
Update from original libraryThis selection locates the original library that the device was derived from using information stored in its attribute fields. As long as the library can be located and a part with the same name can be located in the library, the user is not prompted to locate a source.

Next, the user needs to select which devices on the schematic which should be updated.

This is only when two or more devices of the same type are available in the design.

HYPERSIM will detect similar devices through all hierarchy levels. The choices are:

Update selected devices onlyThis option updates only the selected devices. This redefines the device to be different from others originally derived from the same library part.
Update all devices of the same typeThis option updates all devices in the design originally derived from the same part type. Note that this is determined by the internal logical linkage between the device instances and the part definition, not by the type name. If multiple type definitions got the same name in the design, this option will only update the devices linked to the same type as the selected one.
Update all devices with the same type name

This option updates all devices derived from a type with the same name as the selected one, even if the definitions have become separated by some previous operation. This is specifically intended to remedy the case where a design inadvertently contains multiple definitions of similar devices.


The Attribute Options dropdown menu allows choosing how attribute values are updated if the new symbol definition has different values than the existing device instance:

Keep all old valuesThis selection maintains all attribute values in the current instance, even if the new symbol definition has different values.
Keep all old values modified in the instanceThis selection indicates keeping any attribute values in the device instance that was changed from the default value in the original definition. Any value that still has the default specified in the old symbol will be updated to the new default value in the new symbol.
Use all new non-null valuesThis selection indicates using the value specified in the new definition if there is one, but keep any old values that are not overridden by new ones.
Use all New values-all old values will be discarded

In this case, the updated instance will have exactly the values in the new definition, even if they are empty. All attribute data present in the old definition will have been replaced by new values.
It is noted that the Name attribute is not modified by this operation. It is also recalled that all device simulation data, as seen in HYPERSIM side, is saved into attributes, so the user must be careful with the updating process since it can affect previously entered data and change the numerical behaviour of a device. The first attribute updating option is less dangerous.

Two other options appear in the Attributes section:
Recalculate attribute positionsThis checkbox allows the user to determine whether displayed attribute values will be left at their old positions or recalculated to fit with the symbol. If the symbol has not changed in shape appreciably and the user has manually repositioned the displayed values, this option should be turned off.

Update attributes only--symbol not changed

If this box is checked, only attribute values are affected, the device symbol, pins, subcircuit and other aspects of the part type will not be affected.
In some cases, the symbol of the updated device may significantly differ from the one used for its update. The distance between its pins may have changed. In such cases, it can become very difficult for HYPERSIM to readjust the signals to maintain correct signal paths and even connectivity. That is why in some cases it is preferable to check the last option.

Internal Circuit Options

Finally, if either the existing instance or the definitions in the library, or both, have subcircuits, then the user needs to choose which circuit should be kept.

Update the internal circuit from the libraryIf the selected device has an internal circuit, it is removed. If the new library part definition has an internal circuit, a new one is created.
Keep the existing internal circuitAny existing internal circuit is kept and only the symbol is updated. Note that this selection is chosen; the part definition in the design will be marked as having been changed since it is not the same as the library definition.
Extra Notes

The Update from Lib menu is disabled when the circuit is locked.

  • When updating devices located in subcircuits, there could be one or more copies of the parent circuit. In these cases, HYPERSIM can locate other devices through the parent circuits. The user must also remember that if the parent is not unique then changes to its contents will affect all other instances of the parent.
  • When two parents are identical (of the same type), then updating an internal device and selecting to update all devices of the same type, will find only the number of devices in one parent. When two parents are not identical, then updating an internal device and selecting to update all devices of the same type, will find the total number of devices from both parents.

Save to Lib

The Save to Lib (from Options > Part Type) command saves a type definition for the selected device to a library. The following box is displayed:

This table summarizes the options available:

Save the symbol image and its original orientationSaves the device in its original orientation, as originally created.
Save the symbol rotated…Saves the device as the device appears in the design.
Save internal circuit definitionIf this box is checked, the internal circuit attached to the selected device is saved with the part definition. It is very important to remember to check this box if the device has a subcircuit since it is not saved to the library otherwise.
Save all attributes from the original definition onlyIf this option is selected, only attributes originally defined for the library part are saved.
Save all attributes in the selected instanceIf this option is selected, all the attribute values associated with the selected device will be made part of the saved library part.
Save positions of all visible attributes in the selected instanceIf this box is checked, then a Pt position field is saved for each attribute visible on the instance and for which the associated Pt field is defined in the design’s attribute table. This option saves the desired position of a visible attribute after adjusting it with the mouse pointer.
Part NameThe part name under which the new library entry is saved. This is the name that appears in the library listing.
Open LibraryOpens a library which is not listed.
New LibraryThis button will display a standard file save box for the creation of a new, empty library.
It is strongly recommended to create user libraries in a directory different from the default HYPERSIM directory HyLibs.

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