JANUARY 2015 NOTICE:  Some of the information on these pages may be out of date. If in doubt, contact the ITSG at itcoecis-help@cornell.edu

Cadence won't start, doesn't exit cleanly, or complains about lock files

  1. Ensure you are not running Cadence anywhere (i.e. research server, linuxpool, amdpool, etc.)
  2. To find your cadence processes run the command
ps -elf | grep cadence | grep <login id>

For example:

ps -elf | grep cadence | grep yyy33

You can omit the "| grep cadence" just to see all your processes.

  1. You can kill all your processes, including your login shell, by typing
kill -9 -1
  1. Check your processes again per step 2 until you are sure your cadence processes are gone.
  2. You may need to clean up Cadence lock files.   You can run the command:
find . -name .snapshot -prune -o -name *cdslck* -exec rm {} \;

If you still have issue, repeat this process and try the following:

$ kill -9 -1
$ mkdir backup
$ mv .cds* Cadence* .cadence cds* CDS* .libmgr .libsel backup
$ exit

When starting Cadence, an error indicates that cds.lib can not be read.

In some instances, it indicates there might be a problem with cdsd daemon.

Various security updates affect NFS periodically. You need to set the environment variable DD_DONT_DO_OS_LOCKS before starting cadence.

Example:

prompt> setenv DD_DONT_DO_OS_LOCKS TRUE
prompt> icfb

Spectre Memory Errror

Spectre gives you Out of Memory Errors

Warning from spectre during PNoise analysis `pnoise'.
WARNING (SPCRTRF-15142): The 'maxsidebands' parameter in analysis `pnoise' has the unusually small value of 5.
Using too small a value degrades accuracy because this parameter controls the amount of noise folding considered.

Using the operating-point information generated by PSS analysis `pss', you get:

Mem Used:    579124 kB (Memory Exhausted)

It was found by Xiao Wang that if you pass the "-64" command line switch to the simulation, the problem goes away. The "-64" command line switch tells Spectre to use the 64 bit version.

Setting up Cadence Environment (TCSH)

You have to set the application install directory environment variables for the tools you want to use. Below is an example for all of them:

#
# Path to application install directories
#
set CDSHOME  = /opt/cadence/ic
set ASSURAHOME = /opt/cadence/assura
set ANLSHOME = /opt/cadence/anls
set ASSURAHOME = /opt/cadence/assura
set CONFRMLHOME = /opt/cadence/confrml
set EMGRHOME = /opt/cadence/emgr
set ETHOME = /opt/cadence/et
set ETSHOME = /opt/cadence/ets
set EXTHOME = /opt/cadence/ext
set ICHOME = /opt/cadence/ic
set IFVHOME = /opt/cadence/ifv
set IUSHOME = /opt/cadence/ius
set MMSIMHOME = /opt/cadence/mmsim
set PACIFICHOME = /opt/cadence/pacific
set RCHOME = /opt/cadence/rc
set SOCHOME = /opt/cadence/soc
set SPBHOME = /opt/cadence/spb
set CTOSHOME = /opt/cadence/ctos

Then you set paths to the executables for each of the apps, for example:

#
# Path to Cadence Executables
#
set dfiiPath = ($CDSHOME/tools/bin $CDSHOME/tools/dfII/bin)
set assuraPath = ($ASSURAHOME/tools/bin $ASSURAHOME/tools/dfII/bin)
set anlsPath = ( $ANLSHOME/tools/bin $ANLSHOME/tools/dfII/bin )
set confrmlPath = ( $CONFRMLHOME/tools/bin $CONFRMLHOME/tools/dfII/bin)
set emgrPath = ( $EMGRHOME/tools/bin $EMGRHOME/tools/dfII/bin)
set etPath = ( $ETHOME/tools/bin $ETHOME/tools/dfII/bin )
set etsPath = ( $ETSHOME/tools/bin $ETSHOME/tools/dfII/bin )
set extPath = ( $EXTHOME/tools/bin $EXTHOME/tools/dfII/bin )
set ifvPath = ( $IFVHOME/tools/bin $IFVHOME/tools/dfII/bin )
set iusPath = ( $IUSHOME/tools/bin $IUSHOME/tools/dfII/bin )
set mmsimPath = ( $MMSIMHOME/tools/bin $MMSIMHOME/tools/dfII/bin )
set pacificPath = ( $PACIFICHOME/tools/bin $PACIFICHOME/tools/dfII/bin )
set rcPath = ( $RCHOME/tools/bin $RCHOME/tools/dfII/bin )
set socPath = ( $SOCHOME/tools/bin $SOCHOME/tools/dfII/bin )
set spbPath = ( $SPBHOME/tools/bin SPBHOME/tools/dfII/bin )
set ctosPath = ( $CTOSHOME/tools/bin $CTOSHOME/tools/dfII/bin )

Then you have to update your actual UNIX path:

#
# Set Path
#

set path = ( $PATH \
$dfiiPath \
$assuraPath \
$anlsPath\
$confrmlPath\
$emgrPath\
$etPath\
$etsPath\
$extPath\
$iusPath\
$ifvPath\
$iusPath\
$mmsimPath\
$pacificPath\
$rcPath\
$socPath\
$spbPath \
$ctosPath )

Add an entry to point to the licensing information:

#
# Generic License File Setting
#
#setenv LM_LICENSE_FILE 5280@flexa.ece.cornell.edu,5280@flexa.ece.cornell.edu,5280@flexa.ece.cornell.edu:$LM_LICENSE_FIE

#
# Cadence Specific License File Setting
#
setenv CDS_LIC_FILE 5280@flex.ece.cornell.edu

Set up the cadence environment variables

#
# Cadence Specific Environment Variables
#

setenv CADENCE_BASE /opt/cadence
setenv CDS_INSTALL_DIR ${CDS_INST_DIR}/tools/dfII
setenv CLS_CDSD_COMPATIBILITY_LOCKING NO
setenv SPECTRE_DEFAULTS " \-E "
setenv CDS_Netlisting_Mode Analog
setenv CDS_DEFAULT_BROWSER firefox
setenv CDS_AUTO_64BIT ALL

#
# Other Cadence Environment Varibles
#
#CDS_LOG_PATH
#CDS_LOAD_ENV
#CDS_PROMPT_CKOUT
#CDS_AUTO_CKOUT
#CDS_PROMPT_CKIN
#CDS_AUTO_CKIN
#CDS_IBM_FULLDUMP

Setting up Cadence Environment (BASH)

You have to set the application install directory environment variables for the tools you want to use. Below is an example for all of them:

#
# Path to application install directories
#
export CDSHOME=/opt/cadence/ic
export ASSURAHOME=/opt/cadence/assura
export ANLSHOME=/opt/cadence/anls
export ASSURAHOME=/opt/cadence/assura
export CONFRMLHOME=/opt/cadence/confrml
export EMGRHOME=/opt/cadence/emgr
export ETHOME=/opt/cadence/et
export ETSHOME=/opt/cadence/ets
export EXTHOME=/opt/cadence/ext
export ICHOME=/opt/cadence/ic
export IFVHOME=/opt/cadence/ifv
export IUSHOME=/opt/cadence/ius
export MMSIMHOME=/opt/cadence/mmsim
export PACIFICHOME=/opt/cadence/pacific
export RCHOME=/opt/cadence/rc
export SOCHOME=/opt/cadence/soc
export SPBHOME=/opt/cadence/spb
export CTOSHOME=/opt/cadence/ctos

Then you set paths to the executables for each of the apps, for example:

#
# Path to Cadence Executables
#
export dfiiPath=$CDSHOME/tools/bin:$CDSHOME/tools/dfII/bin
export assuraPath=$ASSURAHOME/tools/bin:$ASSURAHOME/tools/assura/bin
export anlsPath=$ANLSHOME/tools/bin:$ANLSHOME/tools/dfII/bin
export confrmlPath=$CONFRMLHOME/tools/bin:$CONFRMLHOME/tools/dfII/bin
export emgrPath=$EMGRHOME/tools/bin:$EMGRHOME/tools/dfII/bin
export etPath=$ETHOME/tools/bin:$ETHOME/tools/dfII/bin
export etsPath=$ETSHOME/tools/bin:$ETSHOME/tools/dfII/bin
export extPath=$EXTHOME/tools/bin:$EXTHOME/tools/dfII/bin
export ifvPath=$IFVHOME/tools/bin:$IFVHOME/tools/dfII/bin
export iusPath=$IUSHOME/tools/bin:$IUSHOME/tools/dfII/bin
export mmsimPath=$MMSIMHOME/tools/bin:$MMSIMHOME/tools/dfII/bin
export pacificPath=$PACIFICHOME/tools/bin:$PACIFICHOME/tools/dfII/bin
export rcPath=$RCHOME/tools/bin:$RCHOME/tools/dfII/bin
export socPath=$SOCHOME/tools/bin:$SOCHOME/tools/dfII/bin
export spbPath=$SPBHOME/tools/bin SPBHOME/tools/dfII/bin
export ctosPath=$CTOSHOME/tools/bin:$CTOSHOME/tools/dfII/bin

Then you have to update your actual UNIX path:

#
# Set Path
#

export PATH=$PATH:$dfiiPath:$assuraPath:$anlsPath:$confrmlPath:$emgrPath:$etPath:$etsPath:$extPath:$iusPath:$ifvPath:$iusPath:$mmsimPath:$pacificPath:$rcPath:$socPath:$spbPath:$ctosPath

Add an entry to point to the licensing information:

#
# Generic License File Setting
#
#export LM_LICENSE_FILE=5280@flex.ece.cornell.edu:$LM_LICENSE_FILE

#
# Cadence Specific License File Setting
#
export CDS_LIC_FILE=5280@flex.ece.cornell.edu

Set up the cadence environment variables

#
# Cadence Specific Environment Variables
#

export CADENCE_BASE=/opt/cadence
export CDS_INSTALL_DIR=${CDS_INST_DIR}/tools/dfII
export CLS_CDSD_COMPATIBILITY_LOCKING=NO
export SPECTRE_DEFAULTS=" -E "
export CDS_Netlisting_Mode=Analog
export CDS_DEFAULT_BROWSER=firefox
export CDS_AUTO_64BIT=ALL


#
# Other Cadence Environment Varibles
#
#CDS_LOG_PATH
#CDS_LOAD_ENV
#CDS_PROMPT_CKOUT
#CDS_AUTO_CKOUT
#CDS_PROMPT_CKIN
#CDS_AUTO_CKIN
#CDS_IBM_FULLDUMP
#CDS_LOG_VERSION
#CDS_SHM_ADDR

1 Comment

  1. user-ddce6

    Calibre use may require exporting Mentor Graphics:

    export MGLS_LICENSE_FILE=1718@flex.ece.cornell.edu