6
Cadence Data Registry File: data.reg
The Cadence data registry maps design data formats to specific applications, view names, and related files.The Cadence data registry file mechanism supports defining various data types (especially views), associating default editors with data, as well as being a general registry facility.
The data formats and mapping can apply to any design or design project.
Use the data.reg file to register the following for your Virtuoso applications:
- Data format for each available view name
- Default editor for each data format
- Sets of file types, called co-managed sets, that design management operations treat as single entities
- Global properties for libraries and cells
- View aliases and Virtuoso viewtype support
- Icon used to represent a view in various browsers
The file contains data format definitions listing the available types of views and tool definitions the editors for the data formats. The data is not design or project specific. Cadence supplies the data registry for each Cadence application; however, you might want to integrate your own applications. In this case, you need to add that application’s data information to the registry.
The data.reg File Location
By default, registry files are located in two directories:
your_install_dir/share/cdssetup/registry/data
your_install_dir/share/cdssetup/registry/tools
where your_install_dir is the location of the Cadence software installation.
Each directory contains several files with an application name and a .reg extension, such as composer.reg, where that application’s relationships are defined. These directories build the base set of tool and data definitions. If you do not use the default your_install_dir/share/local location for $CDS_SITE, you need to set the value of the environment variable $CDS_SITE to the path to your new site configuration area.
Data Directory Examples
A typical set of data registry definitions is this one for the Virtuoso® schematic editor located in your_install_dir/share/cdssetup/registry/data/composer.reg:
DataFormat ComposerSchematic { // Define Composer Schematics Pattern = sch.oa; Preferred_Editor = schematic; dfII_ViewType = schematic; Co_Managed = sch.oa master.tag data.dm pc.db verilog.v verilog.vams ams_direct.dat amsAPT.apt;
}
/* Map the DataFormat names to the DFII view names*/ ViewAlias { schematic = ComposerSchematic;
}
Tool Directory Example
A tool registry definition for the Virtuoso schematic editor located in your_install_dir/share/cdssetup/registry/tool/composer.reg looks like this:
Tool schematic{
}
data.reg File Creation
To add extra definitions based on requirements, you can create a custom data.reg file in your current, home, or $CDS_SITE directory. If you need to create it for a CDS site, then set the value of the environment variable $CDS_SITE to the path to the site configuration area.
Related Topics
Data Declarations For data.reg File
Syntax and File Format of data.reg
Path syntax for entries in data.reg files are as follows:
- When running on Windows, the backslash ( \ ) and the forward slash ( / ) are treated synonymously.
-
When running on Windows, <letter>
:is a valid path; when running on UNIX, <letter>:is not a valid path. -
A comment line consist of a pound sign ( # ), which has to be the first non whitespace character. Other examples are as follows:
/* this is a multiline comment */ -- this is a single line comment # this is a single line comment // this is a single line comment
-
Multiline comments only work when a whitespace character, such as space, newline, and tab, is added after a slash-star pair (
/*or*/). - Whitespace is any blank or tab character. Blank lines are acceptable.
- An entry consists of a keyword followed by zero or more words and ends with a new line character or a pound sign ( # ).
- Keywords are case insensitive.
- Identifiers and property names are case sensitive.
Related Topics
Data Declarations For data.reg File
Data declarations are need to be done for data.reg files to maintain the database. For each of the relevant types in the registry, you define the set of properties that must exist. You can also provide optional properties.
A property assignment has the following format:
propertyAssignment:identifier'='propertyValue';'
And, the format of the data declaration is as follows:
declaration
: Toolidentifier'['toolProperties']'
| DataFormatidentifier'{'dataFormatProperties'}'
| +DataFormatidentifier'{'dataFormatProperties'}'
| Library '{'libraryProperties'}'
| Cell '{'cellProperties'}'
| ViewAliasidentifierdataFormatType';'
| ViewAlias '{'viewAliasProperties'}'
| Preferred_Editor '{'preferredEditorProperties'}'
| Includefilename;
| SoftIncludefilename;
Tool Identifier
A tool description is denoted by the Tool keyword followed by a unique identifier.
The syntax for a Tool definition is given below:
Tool
: 'Tool'identifier'['toolProperties']'
The valid values of tool properties are:
| Properties | Description |
|---|---|
Examples of Tool Identifiers
Tool vi {
tool_License = NONE; // Not licensed
Start_With = Exec -Program "vi" -Args "%FullPath";
toolKnows_LCV = FALSE;
};
Tool "Daves-AI-Editor" {
Tool_License = DAVE_AI_EDIT;
toolKnows_LCV = TRUE;
tool_Icon = Large share/cdssetup/toolIcons/bigHall
Small share/cdssetup/toolIcons/smallHall.xpm;
};
Data Formats
In addition to tool identifiers, the system needs to know about the available data formats.
A data format is the type or representation for a view. For example, a view inside a library can be a schematic, VHDL text, or any other type. The master.tag file in the view directory contains the name of the master tool file in that view.
The +DataFormat construct lets you specify additional or overriding properties for an already declared DataFormat definition. If the DataFormat has not been declared previously, then the construct is ignored.
You can use the += operator append items to the list of values previously assigned to a DataFormat property.
DataFormat properties can be categorised into:
Library Properties
A library data definition specifies properties that are generic to all libraries. The syntax for this definition is as follows:
library : 'Library' '{' libraryProperties '}'
The default definition is as follows:
Library {//cdsinfo.tag is the file that indicates that this directory//is a Cadence library if the associated strict lib checking
//facility is turned on.
//// *.Cat and *.TopCat describe cell categoriesAlso_Managed = cdsinfo.tag display.drf prop.xx techfile.cds
// techfile.cds is the binary tech file representation
// *.tf is an ASCII tech file representation
// display.drf is the display resource file
// prop.xx is the library property file
// *.att is a translated ‘attach’ file from DFII 4.3.x
// *.cfg is a DFII 4.3.x config file converted to a DM checkpoint
*.Cat *.TopCat *.att *.cfg *.rul *.tf;
}
Cell Properties
A cell data definition specifies properties that are generic to all cells inside libraries.
The syntax for this definition is as follows:
cell : 'Cell' '{' cellProperties '}'
The default definition is as follows:
Cell { // prop.xx is the cell property file // *.att is an attached file at the cell level Also_Managed = prop.xx *.att;
}
View Aliases
You can create new view names of any type (DataFormat) using a view aliasing capability. When the system needs to perform an operation on a non-existent view, it queries you for the type (DataFormat) of the view, or it tries to guess the type. The ViewAlias list essentially is a list of default view names.
For example, if you want to edit a view named schematic for the cell alu, and the view schematic did not exist for alu, then the system looks at the list of ViewAliases for a definition of schematic.
The ViewAlias list contains view names in the CDBA namespace. Any application using this information maps it, as appropriate, from this name space. For more information, see Name Mapping
Preferred Editor
You can specify the editor to be used to edit or view a specific data format. The following construct lets you specify a preferred editor:
preferredEditor: 'Preferred_Editor'DataFormatNameToolName';'
| 'Preferred_Editor' '{'preferredEditorList'}' ';'
preferredEditorList:DataFormatName'='ToolName';'
| ' 'preferredEditorList
Include
| Include filename;
The property filename is interpreted relative to the location of the file it occurs in if it is not rooted in the same way as in your cds.lib file.
Specify filename to either Include or SoftInclude as an expression using:
$(csf_search:somePathlette) specifies that a search for a path fragment is to be performed in each location specified in setup.loc. The path being resolved to the first match found.SoftInclude
| SoftInclude filename;
As Include above, but no error is displayed if the specified file is not found.
Related Topics
Customizing Predefined Data Formats
Expanding Files Listed in Also_Managed Property
Expanding Files Listed in Also_Managed Property
The Also_Managed property specified for the Library properties lists a set of files.
To expand the set of files listed in Also_Managed property, do the following:
-
Add a new or edit an existing
data.regfile to a site location that contains a Library entry with aAlso_Managedproperty specifying the existing filenames along with the new filenames. -
To determine the existing filenames use the
% dregprint -librarycommand.
When upgrading to a new release of the Cadence software, it may be necessary to add more filenames to the Also_Managed property.
Related Topics
Data Declarations For data.reg File
Adding View Type to the Virtuoso Studio Design Environment
To create a new viewType in the Virtuoso Studio design environment:
-
Create registry files in the Virtuoso installation hierarchy your_install_dir/share/cdssetup/registry/ or use the default your_install_dir/share/local location for
$CDS_SITE, you need to set the value of the environment variable$CDS_SITEto the path to the site configuration area or put thedata.regfile in your working directory. - Load a SKILL file or files that defines the actions or triggers to be performed when opening up a given view type.
Related Topics
Syntax and File Format of data.reg
Cadence Application Infrastructure Files
Tool and Data Registry Information
The system reads tool and data registry information in the following order:
-
All the
.regfiles in your_install_dir/share/cdssetup/registry/dataand your_install_dir/share/cdssetup/registry/toolsare read. This builds the base set of tool and data definitions. To add data formats, add files into thedatadirectory. To add tools, add files into thetoolsdirectory.
The.regfiles in atoolsordatadirectory are read in a random order. When the same definition is found in more than one.regfile, the value from the last file that is read is used. No error is reported. Therefore, do not include the same definition in more than one file.If you do any design management tasks (from an application that uses GDM or directly throughgdmcommands), the data registry is reinitialized to look for registry information in all available hierarchies. That is, all the.regfiles in install_dir/share/cdssetup/registry/dataand install_dir/share/cdssetup/registry/toolsdirectories of all Cadence hierarchies that are defined in your environment are read. If you are running applications under the Stream Manager environment,$CDS_STRM_DIR_LISTis used to find the hierarchies; otherwise,$PATHis used to find the hierarchies. For each definition, the hierarchy of the application that is reading the registry information has the highest priority, followed by the first hierarchy defined by$CDS_STRM_DIR_LIST(or$PATH), followed by the second hierarchy defined by$CDS_STRM_DIR_LIST(or$PATH), and so on. If there are duplicate definitions, then the definition from the hierarchy that has the higher priority is used. (You will not get an error for duplicate definitions.) -
The default search mechanism, through the
setup.locfile, searches for adata.regfile. If one is found, it is read on top of the definitions already read in. In other words, after reading the base set of definitions, adata.regfile is searched for in the same way as acds.libfile.
Otherdata.regfiles can be readby including them in the firstdata.regfile that was found. To add extra definitions, create adata.regfile named./data.regor$HOME/data.reg.If you do not use the default your_install_dir/share/locallocation for$CDS_SITE, you need to set the value of the environment variable$CDS_SITEto the path to the site configuration area; for example,INCLUDE $CDS_SITE/data.reg;
Related Topics
Data Declarations For data.reg File
Using the Data Registry for Third-Party Views
If your Cadence libraries contain views that were created in third-party applications and then encapsulated or integrated in Cadence tools, you need to use the data registry to make them available to other applications.
-
Create a site-wide
data.regfile at$CDS_SITEusing a text editor, for example,vi
your_install_dir/share/local - Create a new data format.
Converting Custom Views
If your existing Cadence libraries contain views that were created in third-party applications and then encapsulated or integrated, you can use the registry to make them available for the future versions.
-
Create a site-wide
data.regfile using any text editor. For examplevi data.reg
- Create a new data format.
Related Topics
Syntax and File Format of data.reg
Customizing Predefined Data Formats
You can add new properties or modify existing properties of the current data format definition using the +DataFormat construct. This construct adds the new definition to the existing definitions. If the +DataFormat construct contains a property that already exists, it gets overridden. You need to register the tool using Cadence SKILL language commands.
This is the format of an original definition:
DataFormat ComposerSchematic { Pattern = sch.oa; Preferred_Editor = schematic; dfII_ViewType = schematic; Co_Managed = sch.oa master.tag data.dm pc.db verilog.v verilog.vams ams_direct.dat amsAPT.apt;
}
This is the format of an addition definition in the data.reg file:
+DataFormat ComposerSchematic { # Add "*.vhd" to the Co_Managed set
#
Co_Managed += *.vhd; #
# Add another property
My_Property = "The user is ME";
}
Related Topics
The dregprint Command
The dregprint unix command is typically used to examine the registry entries, which are visible to the Cadence tools. The dregprint command should run from the same directory where the Cadence tool is run because files in the current working directory can affect the registry entries.
Use the following syntax for the dregprint command:
dregprint [-origin | -o] [-help | -h] [-iindex_file] [-tool | -t [identifier]] [-dataFormat | -f [identifier]] [-library | -l] [-cell | -c] [-alias | -a [identifier]] [-pattern | -pfilename]
Arguments
Related Topics
Data Declarations For data.reg File
Syntax and File Format of data.reg
Tool and Data Registry Information
Return to top