12
Occurrence Property Dictionary
An occurrence property dictionary is a central repository for simulation-control property definitions. Applications such as UltraSim register properties in the property dictionary via application-specific property dictionary files. Other applications, such as the Cadence Hierarchy Editor, which do not necessarily know the semantics of the properties, can then be used to set the properties.
The use of a property dictionary enables the Hierarchy Editor to provide the right error checks when users set properties. It also prevents multiple applications from using the same property name for different purposes or with different property characteristics, such as a different default value.
The property dictionary only contains property definitions, which include information such as the default value of a property, the applications it applies to, and any restrictions on its use. The property dictionary does not store the values of these properties; property values are stored in the property file prop.cfg.
You can also customize the property dictionary by providing property definitions in a user property dictionary file (propdict.def file). You typically do this only for properties that you use frequently with an application but that have not been added to the dictionary by the application. The propdict.def file is typically placed in a site-level directory; however, you can also have user property dictionary files at the personal or group levels. The Cadence Setup Search File mechanism (CSF) is used to find the file.
Property Dictionary File
The property dictionary comprises two types of files:
-
Application property dictionary files
Each application that uses the property dictionary provides an application-specific property dictionary file named appName.def.
Do not modify appName.deffiles. If you want to customize property definitions, create a user property dictionary file instead. -
User property dictionary files
User property dictionary files are namedpropdict.defand can be located in any directory that is found by the CSF search mechanism. You can have more than onepropdict.deffile.
User property dictionary files are read after the application files are read.
Both application and user property dictionary files have the same format.
The property dictionary file has the following format:
/* Comment */
// Comment
occPropDefpropName{attribute;attribute; ...
}
occPropDefpropNameaddAffectedApp “appName”;
include path;
Related Topics
Customizing the Property Dictionary
Property Definition Statements
Property definition include the following statements:
Comments
Comments have the following syntax:
-
Multiple-line comment:
/*
comment*/ -
One-line comment that continues till the end of the line:
//
comment
Property definitions (occPropDef statements)
Property definitions specify the default value of a property, the value type and value range that is allowed, a description, a tool tip, the applications the property applies to, and any restrictions on its use.
Property definitions have the following syntax:
occPropDefpropName{attribute;attribute; ...
}
where propName is the name of the property and attribute is one of the following:
The following general rules apply to attributes:
- Each attribute expression ends with a semi-colon.
-
Attributes that use a colon instead of an equals sign can be used multiple times in an
occPropDefstatement. Attributes that use an equals sign can only be used once. -
Whitespace is optional between attributeName and
=and between=and attributeValue. Similarly, whitespace is optional between attributeName and:and:and attributeValue. - A legal attributeValue, unless otherwise specified above, is either a set of non-special, non-whitespace characters or a string of printable characters that is enclosed in double quotes.
-
If attributeValue is in quotes and you want to include a double quote or a backslash in the string, escape it with a preceding backslash:
\”or\\. To specify a newline, end the line with a backslash.
addAffectedApp statements
The addAffectedApp statement adds an application to an existing property definition. It does not have to be in the same file as the property definition.
The addAffectedApp statement has the following syntax:
occPropDefpropNameaddAffectedApp “affectedApp”;
occPropDef mos_method addAffectedApp “Hspice”;
adds the application Hspice to the previously-defined property mos_method.
include statements
A property dictionary file can include other property dictionary files with the include statement.
The include statement has the following syntax:
include path;
where path is the path to the property dictionary file to be included. If the path is relative, it is interpreted as being relative to the file that contains the include statement. path can include environment variables such as $HOME and installation root expressions such as $(inst_root_with: path). Included files do not have to be named propdict.def or appName.def.
Related Topics
Customizing the Property Dictionary
If you want to add properties to the property dictionary, you can do so by customizing the dictionary.
In general, you do not need to customize the dictionary. However, if there are properties that you use frequently with an application, and you want the ability to set them through the Hierarchy Editor, you can add them to the dictionary. Any properties you add will be displayed in, and can be set through, the Hierarchy Editor. Also, since the Hierarchy Editor uses the property definitions to do appropriate error checks such as checking whether a specified value is of the right type or is within the legal range, adding frequently-used properties to the dictionary provides a way of minimizing errors when the properties are set.
To customize the property dictionary, you create a user property dictionary file called propdict.def.
A propdict.def file can include other propdict.def files. Therefore, you can have multiple propdict.def files. For example, if you have customized the property dictionary at different levels such as the personal, group and site levels, your personal propdict.def file can include the group and site propdict.def files.
The Cadence Setup Search mechanism (CSF) is used to find the propdict.def file to use.
To create a propdict.def file:
-
Create an ASCII file called
propdict.defin any directory that is listed in yoursetup.locfile, for example,$HOME. -
In the
propdict.deffile, specify the changes you want to make to the property dictionary. You can do the following:
You should only add simulation-control properties that are understood by a Cadence application.
Sample Property Dictionary File
//----------------------
// Property definitions
//----------------------
occPropDef speed { valueType = enum; valueRange = "1 2 3 4 5 6 7 8"; valueDefault = "5"; description = "Sets the speed/accuracy tradeoff for simulation."; tooltip = "Sets the speed/accuracy tradeoff for simulation."; affectedApp: "UltraSim";
}
occPropDef sim_mode { valueType = enum; valueRange = "s a amr ms da df"; valueDefault = "ms"; toolTip = "Sets the simulation mode; SPICE mode; Analog mode; Analog \ Multi-rate mode; Mixed signal mode; Digital accurate mode; \
Digital fast mode";
affectedApp: "UltraSim";
}
Related Topics
Cadence Setup Search File: setup.loc
Return to top