Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • 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 with each symbol about its source library and provides a number of features to allow transfer and updating of symbols between designs and libraries. Once a new symbol is added in 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 device symbol. This checksum cannot be set by the user, but it can be dumped in 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:

...

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:

...

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 in the event that 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 to keep 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 to use 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 behavior 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 chose; 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 is able to 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:

...