next up previous contents index
Next: Express PCells Up: Connecting to Cadence Installations Previous: Connecting to Cadence Installations   Contents   Index

Compatibility and Setup

The present release of Xic is known to be compatible with Virtuoso 6.1.6 in terms of OpenAccess versioning. It is very likely compatible with earlier 6.1.x releases, but these have not been tested, though 6.1.4 has been verified with earlier Xic releases.

The installation location of the Cadence tools may be set in the environment variable CDSHOME. The user should verify that this variable is set in the environment. If not, the user must locate the installation directory for Cadence tools some other way.

Listing the installation directory, e.g.,

will provide a listing of files and subdirectories, which include the names ``tools'' and ``tools.lnx86''. In addition, there will be a subdirectory (perhaps more than one) with a name similar or identical to ``oa_v22.43.050''. This is OpenAccess. In this directory you will find a ``lib'' directory containing subdirectories with library files for 32 and 64-bit systems. The files of interest will match the Xic installation bit-width. The OpenAccess provided with Virtuoso 6.1.6 is newer than the publicly available version of OpenAccess that Xic is compiled against, but that does not appear to matter. If there are multiple OpenAccess versions present, probably the newest one (largest release numbers) should be used, but if problems are encountered other versions can be tried.

The full path to the directory containing the appropriate OpenAccess shared library files must be added to the system's library search string. On an example Cadence installation, the path, for 64-bits, is

In addition, callbacks may require that Xic have access to additional shared libraries supplied by Cadence. For 64-bits, this directory is

Traditionally in Unix/Linux, the shared library search path is modified by setting the
LD_LIBRARY_PATH environment variable. This variable provides additional locations for the system to search for needed shared libraries, in addition to system default locations that are implicit.

This variable can be used to set the search path, but in Xic there is a better way: set the
XIC_LIBRARY_PATH environment variable instead. This is like LD_LIBRARY_PATH. but applies only to the Xic program. Setting LD_LIBRARY_PATH applies to all programs, whether they need the additional search locations or not.

The XIC_LIBRARY_PATH variable is most conveniently set in the user's shell startup file. The variable string consists of a list of directories, separated by colon (`:') characters. The directories in the list are searched left-to-right to resolve shared library references, when a program is started. One should probably also include the value of the LD_LIBRARY_PATH in case that has been set for some other reason.

For our example, lines like the following should be added to the shell startup files. For bash and similar:

# Hook Xic to the Cadence OpenAccess library
and for C-shell:
# Hook Xic to the Cadence OpenAccess library
setenv XIC_LIBRARY_PATH $CDSHOME/oa_v22.43.050/lib/linux_rhel50_gcc44x_64/opt
Similar commands can be given on the command line.

Once the new definitions apply, when Xic starts, the following message should appear on the console among the initial startup messages:

Using OpenAccess (
If the message is not seen, try setting the XIC_PLUGIN_DBG environment variable and starting Xic again. Messages printed in the console window should indicate where the error occurs.

With OpenAccess successfully connected, the File Menu will contain the OpenAccess Libs button. If Xic was started in a directory with a cds.lib file, the libraries in the file should be listed in the pop-up. Probably, it is best when working with Xic to work from a different directory than when working with Virtuoso. If so, you will want to copy in your cds.lib file, which defines the Cadence libraries available. You can modify this copy with a text editor if desired. The libraries will be listed in the OpenAccess Libraries panel if they exist.

next up previous contents index
Next: Express PCells Up: Connecting to Cadence Installations Previous: Connecting to Cadence Installations   Contents   Index
Stephen R. Whiteley 2022-05-28