Product Documentation
Cadence Application Infrastructure User Guide
Product Version IC23.1, November 2023

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:

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;
}

Argument Description

Pattern

The name of the master file, which might include wildcards, such as the question mark ( ? ), which matches any one character, and the asterisk ( * ), which matches any character any number of times.

Preferred_Editor

The descriptor of the application used to create or modify views of this data format, which then searches the tools registry.

dfII_ViewType

The view type (view name) string is used for backward compatibility for DFII applications.

Co_Managed

A space-separated list of files to be checked in or out when the master file is checked in or out using a design management system. The list must include the Pattern, the master.tag (which contains the name of the master file), and the names of the other files you want to have checked in and out as a set.

ViewAlias

Shows the view type (view name) that are used to name the directory containing the co-managed group. The system uses the ViewAlias section to identify the data format name associated with a view name, and then uses the DataFormat section to find information about that view.

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:

Related Topics

The data.reg File Location

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
       : Tool identifier '[' toolProperties ']' 
| DataFormat identifier '{' dataFormatProperties '}'
| +DataFormat identifier '{' dataFormatProperties '}'
| Library '{' libraryProperties '}'
| Cell '{' cellProperties '}'
| ViewAlias identifier dataFormatType ';'
| ViewAlias '{' viewAliasProperties '}'
| Preferred_Editor '{' preferredEditorProperties '}'
| Include filename;
| SoftInclude filename;

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

tool_License

Checks whether a tool is available or not.

toolKnows_LCV

Indicates that the tool understands the library structure.

tool_Icon

Specifies icon that should be used to display a tool.

Start_With

Specifies the command to start the tool.

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 categories
// 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
Also_Managed = cdsinfo.tag display.drf prop.xx techfile.cds
*.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' DataFormatName ToolName ';'
| '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:

or

$(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:

  1. Add a new or edit an existing data.reg file to a site location that contains a Library entry with a Also_Managed property specifying the existing filenames along with the new filenames.
  2. To determine the existing filenames use the % dregprint -library command.

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:

  1. 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_SITE to the path to the site configuration area or put the data.reg file in your working directory.
  2. 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:

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.

  1. Create a site-wide data.reg file at $CDS_SITE using a text editor, for example,
    vi your_install_dir/share/local
  2. 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.

  1. Create a site-wide data.reg file using any text editor. For example
    vi data.reg
  2. Create a new data format.

Related Topics

Syntax and File Format of data.reg

Data Formats

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

Data Formats

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]
[-i index_file]
[-tool | -t [identifier]]
[-dataFormat | -f [identifier]]
[-library | -l]
[-cell | -c]
[-alias | -a [identifier]]
[-pattern | -p filename]

Arguments

-origin

Displays the origin (filename and line number) of each data registry entry.

-help

Displays information about the dregprint command.

-i index_file

The index file to use. An index file is a file with a .idx suffix that contains definitions and specifies other data.reg files to include.

This option is used only for testing.

-tool|-t [identifier]

Displays all Tool entries in the data registry. Specify identifier if you want to see the properties for that identifier.

-dataFormat|-f [identifier]

Displays all DataFormat entries in the data registry. Specify identifier if you want to see the properties for that identifier.

-library|-l

Displays all Library entries in the data registry.

-cell|-c

Displays all Cell entries in the data registry.

-alias|-a [identifier]

Displays all DataFormat aliases. Specify identifier if you want to see aliases for that identifier.

-pattern|-p filename

Displays DataFormat entries matching the pattern you specify.

Related Topics

Data Declarations For data.reg File

Syntax and File Format of data.reg

Tool and Data Registry Information


Return to top
 ⠀
X