The functions described in this section provide an interface for working with properties.
When specifying the property ``number'' for electrical mode properties, either a number or string equivalent can be used. The string equivalent is a prefix of one of the supported property names. In addition, some of the properties have a letter that any word that starts with the letter will indicate that property. The idea was that each property could be keyed by a single letter, and this is almost still true (node is the exception).
The following table identifies the recognized strings. Not all of these properties apply in all functions. The listed order is the order of testing, the first match yields the equivalence.
Number | Name | String |
---|---|---|
1 | model | prefix |
2 | value | prefix |
3 | param | prefix |
3 | initc | prefix |
4 | other | prefix |
11 | name | prefix |
5 | nophys | prefix or starts with `y' or `Y' |
6 | virtual | prefix or starts with `t' ot `T' |
7 | flatten | prefix |
8 | range | prefix |
10 | node | prefix |
18 | nosymb | prefix or starts with `s' or `S' |
20 | macro | prefix or starts with `c' or `C' |
21 | devref | prefix |
The initc is an archaic alias for the param property that is still recognized. In some functions, an additonal keyword ``all'' is recognized in a way that has significance to the function. If the string does not match, an error is indicated.
If the number argument is a prefix of ``all'', then any property string will be returned. In physical mode, the number argument should otherwise be an integer. In electrical mode, the number argument can have string form as described in the introduction to this section.
A prefix of the string ``all'' can be passed for the number argument, in which case the handle will reference all properties of the cell. In physical mode, the number argument should otherwise be an integer. In electrical mode, the number argument can have string form as described in the introduction to this section.
If the first argument is an object handle, the function returns the strings from properties or pseudo-properties for the object referenced by the handle.
In physical mode, the function will locate a property with the given number, and return its string. If no property is found with that number, and a pseudo-property for the object matches the number, then the pseudo-property string is returned. If no matching pseudo-property is found, a null string is returned. Note: objects can be modified through setting pseudo-properties using the PrptyAdd function.
In electrical mode, the number argument can be a string, as described in the introduction to this section. In the case of an object handle, the ``all'' keyword is not supported.
The function will fail if the argument is not a valid object or
property handle. Use
GetCellPropertyString to obtain strings
from cell properties.
If the requested property is a name property of an electrical device or subcircuit, only the name is returned (the internal property string is more complex). Otherwise the ``raw'' string is returned.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. Unless the user is expecting the Xic interpretation of the property number, these numbers should be avoided. It is the caller's responsibility to ensure that the properties in this range are applied to the appropriate objects, in the correct context and with correct syntax, as there is little or no checking. Adding some properties in this range such as flags, flatten, or a pcell property will automatically remove an existing property with the same number, if any.
The pseudo-properties in the range 7200-7299 will have their documented effect when applied, and no property is added (see 10.1.2),
In electrical mode, it is possible to set these properties of device instances:
name, model, value, param, devref, other, range nophys, symblcand the following properties of subcircuit instances:
name, param, other, flatten, range nophys, symblc.Attempts to set properties not listed here will silently fail. The object must be defined in the current cell, thus the mode must be electrical.
If the function succeeds, 1 is returned. otherwise 0 is returned.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. Unless the user is expecting the Xic interpretation of the property number, these numbers should be avoided. It is the caller's responsibility to ensure that the properties in this range are applied to the appropriate objects, in the correct context and with correct syntax, as there is little or no checking.
The pseudo-properties in the range 7200-7299 will have their documented effect when applied, and no property is added,
In electrical mode, it is possible to set these properties of device instances:
name, model, value, param, devref, other, range nophys, symblcand the following properties of subcircuit instances:
name, param, other, flatten, range nophys, symblc.Attempts to set properties not listed here will silently fail. The object must be defined in the current cell, thus the mode must be electrical.
The number of properties added plus the number of pseudo-properties applied is returned.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. Unless the user is expecting the Xic interpretation of the property number, these numbers should be avoided. It is the caller's responsibility to ensure that the properties in this range are applied to the appropriate objects, in the correct context and with correct syntax, as there is little or no checking. Adding some properties in this range such as flags, flatten, or a pcell property will automatically remove an existing property with the same number, if any.
Numbers in the pseudo-property range 7200-7299 will do nothing.
In electrical mode, it is possible to set the param, other, virtual, flatten, macro, node, name, and symbolic properties of the current cell. The last three are not ``user settable'' but are needed when building up a new circuit cell in memory, as in the scripts produced by the !mkscript command. The string should have the format as read from a native cell file.
The function returns 1 if the operation was successful, 0 otherwise.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. It is the caller's responsibility to make sure that removal of properties in this range is appropriate. Giving numbers in the pseudo-property range 7200-7299 will do nothing.
If the string is null or empty, only the number is used for comparison, and all properties with that number will be removed. Otherwise, if the string is a prefix of the property string and the numbers match, the property will be removed.
In electrical mode, it is possible to remove these properties of device instances:
name, model, value, param, devref, other, range nophys, symblcand the following properties of subcircuit instances:
name, param, other, flatten, range nophys, symblc.Attempts to remove properties not listed here will silently fail. Except for other, the string argument is ignored. For other properties, the string is used as above to identify the property to delete.
Objects must be defined in the current cell. The function returns the number of properties removed.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. It is the caller's responsibility to make sure that removal of properties in this range is appropriate. Giving numbers in the pseudo-property range 7200-7299 will do nothing.
If the string is null or empty, only the number is used for comparison, and all properties with that number will be removed. Otherwise, if the string is a prefix of the property string and the numbers match, the property will be removed.
In electrical mode, it is possible to remove these properties of device instances:
name, model, value, param, devref, other, range nophys, symblcand the following properties of subcircuit instances:
name, param, other, flatten, range nophys, symblc.Attempts to remove properties not listed here will silently fail. Except for other, the string argument is ignored. For other properties, the string is used as above to identify the property to delete.
The number of properties removed is returned.
In physical mode, the property number can take any non-negative value. This includes property numbers that are used by Xic for various purposes in the range 7000-7199. It is the caller's responsibility to make sure that removal of properties in this range is appropriate. Giving numbers in the pseudo-property range 7200-7299 will do nothing.
If the string is null or empty, only the number is used for comparison, and all properties with that number will be removed. Otherwise, if the string is a prefix of the property string and the numbers match, the property will be removed.
In electrical mode, it is possible to remove the param, other, virtual, flatten, and macro properties of the current cell. Except for other, the string argument is ignored. For other properties, the string is used as above to identify the property to delete.
The function returns the number of properties removed.