Cadence Virtuoso setup: Difference between revisions
No edit summary |
m (Added Category:Integrated_Circuts) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= New single script install = | |||
Edit the europractice_installer.sh and change INST_DIR=/eda to INST_DIR=/prog (ignore the warning of changing install paths){{-}} | |||
Run "source europractice_installer.sh" and wait until done.{{-}} | |||
Check in the /prog/cadence/20xx-xx/script folder if there is a IC, VIPCAT and ASSURA script in there, if not modify the release versions and add the following snippet in a file called cadence_missing.csh | |||
<source lang="tcl"> | |||
setenv YEAR 2014-15 | |||
setenv $CDS_INST /prog/cadence/$YEAR/RHELx86 | |||
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_OVM | |||
setenv PATH "${PATH}:${CDS_VIPCAT}/tools/bin" | |||
if ( $?SPECMAN_PATH == 0) then | |||
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages" | |||
else | |||
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}" | |||
endif | |||
alias help_cds_vipcat '$CDS_VIPCAT/tools/bin/cdnshelp &' | |||
# | |||
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_UVM | |||
setenv PATH "${PATH}:${CDS_VIPCAT}/tools/bin" | |||
if ( $?SPECMAN_PATH == 0) then | |||
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages" | |||
else | |||
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}" | |||
endif | |||
alias help_cds_vipcat '$CDS_VIPCAT/tools/bin/cdnshelp &' | |||
# | |||
setenv CDS_ASSURA $CDS_INST/ASSURA_04.14.111_IC616OA | |||
setenv ASSURAHOME $CDS_ASSURA | |||
#the following line might be completely redundant | |||
setenv SUBSTRATESTORMHOME $ASSURAHOME # For Assura-RF | |||
setenv LANG C | |||
setenv PATH "${PATH}:${CDS_ASSURA}/tools/bin" | |||
setenv PATH "${PATH}:${CDS_ASSURA}/tools/assura/bin" | |||
setenv PATH "${PATH}:${SUBSTRATESTORMHOME}/bin" | |||
setenv ASSURA_AUTO_64BIT ALL | |||
alias help_cds_assura '$CDS_ASSURA/tools/bin/cdnshelp &' | |||
# assura | |||
setenv CDS_IC $CDS_INST/IC_6.1.6.080 | |||
# This line is required by the some design kits... | |||
setenv CDSDIR $CDS_IC | |||
# When using ADE set netlisting mode to analog ("dfIIconfig.pdf"), p16. | |||
setenv CDS_Netlisting_Mode Analog | |||
setenv MG_ENABLE_PTOT true | |||
# Required for tutorial material and cadence libraries (eg analogLib) | |||
setenv CDSHOME $CDS_IC | |||
setenv CDS_USE_PALETTE | |||
setenv PATH "${PATH}:${CDS_IC}/tools/bin" | |||
setenv PATH "${PATH}:${CDS_IC}/tools/dfII/bin" | |||
alias help_cds_ic '$CDS_IC/tools/bin/cdnshelp &' | |||
</source> | |||
Run the following to generate the startup script | |||
<source lang="tcl"> | |||
setenv YEAR 2014-15 | |||
# Fix path | |||
sed -i 's/eda/prog/g' /prog/cadence/$YEAR/scripts/*.csh | |||
# Fix non existent manpath | |||
sed -i 's/setenv MANPATH/#setenv MANPATH/g' /prog/cadence/$YEAR/scripts/*.csh | |||
chmod +x /prog/cadence/$YEAR/scripts/*.csh | |||
# Add all scripts to one fil | |||
ls /prog/cadence/$YEAR/scripts/*.csh > /prog/cadence/cadence_$YEAR\_init.csh | |||
# Add source to each line | |||
sed -i -e 's/^/source /' /prog/cadence/cadence_$YEAR\_init.csh | |||
echo 'source /prog/cadence/eda_general_init.csh' >> /prog/cadence/cadence_$YEAR\_init.csh | |||
chmod +x /prog/cadence/cadence_$YEAR\_init.csh | |||
ln -s /prog/cadence/cadence_$YEAR\_init.csh /prog/cadence/cadence_init.csh | |||
source /prog/cadence/cadence_init.csh | |||
</source> | |||
The content of eda_general_init.csh is | |||
<source lang="tcl"> | |||
setenv CDS_LIC_FILE 5280@vlsi.ift.uib.no | |||
setenv AMS_DIR /path/to/amslib | |||
setenv TSMC_DIR /path/to/tsmc | |||
setenv PATH "${PATH}:${AMS_DIR}/cds/bin" | |||
setenv CDS_BIND_TMP_DD true | |||
setenv IUSDIR $CDS_INCV | |||
alias ams_cds_start 'setenv AMS;ams_cds -tech c35b4 -nologo' | |||
alias tsmc_cds_start 'unsetenv AMS;virtuoso &' | |||
</source> | |||
Run checksys.sh script given at end of this page. | |||
= Old install method= | |||
== Update install manager == | == Update install manager == | ||
Always update install manager if a newer exists or else installations may fail. | Always update install manager if a newer exists or else installations may fail. | ||
Line 81: | Line 171: | ||
Include these lines at the bottom | Include these lines at the bottom | ||
setenv AMS_DIR /path/to/amslib | setenv AMS_DIR /path/to/amslib | ||
setenv TSMC_DIR /path/to/tsmc | |||
setenv PATH "${PATH}:${AMS_DIR}/cds/bin" | setenv PATH "${PATH}:${AMS_DIR}/cds/bin" | ||
setenv CDS_BIND_TMP_DD true | setenv CDS_BIND_TMP_DD true | ||
setenv IUSDIR $CDS_INCV | setenv IUSDIR $CDS_INCV | ||
alias ams_cds_start 'ams_cds | alias ams_cds_start 'setenv AMS;ams_cds -tech c35b4 -nologo' | ||
alias tsmc_cds_start 'unsetenv AMS;virtuoso &' | |||
Save file as cadence_ic_20xx_uib.csh | Save file as cadence_ic_20xx_uib.csh and add/update the symlink | ||
csh | csh | ||
chmod +x /prog/cadence/cadence_ic_20xx_uib.csh | chmod +x /prog/cadence/cadence_ic_20xx_uib.csh | ||
source /prog/cadence/ | ln -s /prog/cadence/cadence_ic_20xx_uib.csh /prog/cadence/cadence_init.csh | ||
source /prog/cadence/cadence_init.csh | |||
Run lmstat to check that it is possible to connect to the license server | Run lmstat to check that it is possible to connect to the license server | ||
lmstat -c 5280@<your licenceserver> | lmstat -c 5280@<your licenceserver> | ||
Line 130: | Line 222: | ||
</source> | </source> | ||
Then check the version in the aforementioned folder and the text file inside it. | Then check the version in the aforementioned folder and the text file inside it. | ||
Copy the .cdsinit script below to the folder /prog/cadence/IC_6.X.X.X/tools/dfII/local | |||
== Scripts == | == Scripts == | ||
Line 153: | Line 247: | ||
#$CDS_ET $CDS_ETS $CDS_MMSIM $incisiv_dir $CDS_VIPCAT $CTOS_ROOT ) | #$CDS_ET $CDS_ETS $CDS_MMSIM $incisiv_dir $CDS_VIPCAT $CTOS_ROOT ) | ||
#2013 | #2013 | ||
cds_paths=( $ALTOSHOME $CDS_ASSURA $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $CDS_RC $CDS_EDI $CDS_ET $CDS_ETS $CDS_MMSIM $CDS_INCV $CDS_VIPCAT $CTOS_ROOT) | cds_paths=( $ALTOSHOME $CDS_ASSURA $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $CDS_RC $CDS_EDI $CDS_ET | ||
$CDS_ETS $CDS_MMSIM $CDS_INCV $CDS_VIPCAT $CTOS_ROOT) | |||
# CTOS_ROOT doesn't seem to have a checksysconf | # CTOS_ROOT doesn't seem to have a checksysconf | ||
#2014 | |||
cds_paths=( $CDS_ASSURA $CDS_CONFORMAL $CTOS_ROOT $CDS_EDI $CDS_ET $CDS_EXT $CDS_IC $CDS_INCV $ALTOSHOME $CDS_MMSIM $CDS_MVS $CDS_PVS $CDS_RC $CDS_SSV $CDS_VIPCAT ) | |||
# CDS_ASSURA CDS_IC and CDS_VIPCAT needs manual script | |||
if [ -e ./problems.txt ] | if [ -e ./problems.txt ] | ||
Line 212: | Line 310: | ||
cat ./problems.txt | grep FAIL | cat ./problems.txt | grep FAIL | ||
fi | fi | ||
</source> | |||
===.cdsinit=== | |||
<source lang="autohotkey"> | |||
; AMS runs a script before starting virtuoso which creates a local .cdsinit in the current folder | |||
; load the local .cdsinit if the program was started with the variable AMS set else load TSMC settings | |||
if(getShellEnvVar("AMS") then | |||
loadi("./.cdsinit") | |||
else | |||
;if( ddIsId( ddGetObj( "tsmc13rf" ) ) then | |||
printf("********************************************\n") | |||
printf(" Starting TSMC 130nm \n") | |||
printf("********************************************\n") | |||
ddCreateLib( "tsmc13rf" strcat(getShellEnvVar("TSMC_DIR") "/tsmc13rf")) | |||
loadi(strcat(getShellEnvVar("TSMC_DIR") "/tsmc13rf/libInit.il")) | |||
) | |||
</source> | </source> | ||
Line 220: | Line 334: | ||
*tk | *tk | ||
*ksh | *ksh | ||
*sysstat | |||
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]] |
Latest revision as of 13:31, 15 September 2017
New single script install
Edit the europractice_installer.sh and change INST_DIR=/eda to INST_DIR=/prog (ignore the warning of changing install paths)
Run "source europractice_installer.sh" and wait until done.
Check in the /prog/cadence/20xx-xx/script folder if there is a IC, VIPCAT and ASSURA script in there, if not modify the release versions and add the following snippet in a file called cadence_missing.csh
setenv YEAR 2014-15
setenv $CDS_INST /prog/cadence/$YEAR/RHELx86
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_OVM
setenv PATH "${PATH}:${CDS_VIPCAT}/tools/bin"
if ( $?SPECMAN_PATH == 0) then
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages"
else
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}"
endif
alias help_cds_vipcat '$CDS_VIPCAT/tools/bin/cdnshelp &'
#
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_UVM
setenv PATH "${PATH}:${CDS_VIPCAT}/tools/bin"
if ( $?SPECMAN_PATH == 0) then
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages"
else
setenv SPECMAN_PATH "${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}"
endif
alias help_cds_vipcat '$CDS_VIPCAT/tools/bin/cdnshelp &'
#
setenv CDS_ASSURA $CDS_INST/ASSURA_04.14.111_IC616OA
setenv ASSURAHOME $CDS_ASSURA
#the following line might be completely redundant
setenv SUBSTRATESTORMHOME $ASSURAHOME # For Assura-RF
setenv LANG C
setenv PATH "${PATH}:${CDS_ASSURA}/tools/bin"
setenv PATH "${PATH}:${CDS_ASSURA}/tools/assura/bin"
setenv PATH "${PATH}:${SUBSTRATESTORMHOME}/bin"
setenv ASSURA_AUTO_64BIT ALL
alias help_cds_assura '$CDS_ASSURA/tools/bin/cdnshelp &'
# assura
setenv CDS_IC $CDS_INST/IC_6.1.6.080
# This line is required by the some design kits...
setenv CDSDIR $CDS_IC
# When using ADE set netlisting mode to analog ("dfIIconfig.pdf"), p16.
setenv CDS_Netlisting_Mode Analog
setenv MG_ENABLE_PTOT true
# Required for tutorial material and cadence libraries (eg analogLib)
setenv CDSHOME $CDS_IC
setenv CDS_USE_PALETTE
setenv PATH "${PATH}:${CDS_IC}/tools/bin"
setenv PATH "${PATH}:${CDS_IC}/tools/dfII/bin"
alias help_cds_ic '$CDS_IC/tools/bin/cdnshelp &'
Run the following to generate the startup script
setenv YEAR 2014-15
# Fix path
sed -i 's/eda/prog/g' /prog/cadence/$YEAR/scripts/*.csh
# Fix non existent manpath
sed -i 's/setenv MANPATH/#setenv MANPATH/g' /prog/cadence/$YEAR/scripts/*.csh
chmod +x /prog/cadence/$YEAR/scripts/*.csh
# Add all scripts to one fil
ls /prog/cadence/$YEAR/scripts/*.csh > /prog/cadence/cadence_$YEAR\_init.csh
# Add source to each line
sed -i -e 's/^/source /' /prog/cadence/cadence_$YEAR\_init.csh
echo 'source /prog/cadence/eda_general_init.csh' >> /prog/cadence/cadence_$YEAR\_init.csh
chmod +x /prog/cadence/cadence_$YEAR\_init.csh
ln -s /prog/cadence/cadence_$YEAR\_init.csh /prog/cadence/cadence_init.csh
source /prog/cadence/cadence_init.csh
The content of eda_general_init.csh is
setenv CDS_LIC_FILE 5280@vlsi.ift.uib.no
setenv AMS_DIR /path/to/amslib
setenv TSMC_DIR /path/to/tsmc
setenv PATH "${PATH}:${AMS_DIR}/cds/bin"
setenv CDS_BIND_TMP_DD true
setenv IUSDIR $CDS_INCV
alias ams_cds_start 'setenv AMS;ams_cds -tech c35b4 -nologo'
alias tsmc_cds_start 'unsetenv AMS;virtuoso &'
Run checksys.sh script given at end of this page.
Old install method
Update install manager
Always update install manager if a newer exists or else installations may fail.
cd /prog/cadence/ mkdir iscape tar zxvf /prog/download/download.msc.rl.ac.uk/Cadence/2012_2013/ISCAPE/lnx86/iscape_VERSION
Extract downloaded files
cd /prog/cadence/ mkdir download cd download find /prog/download/download.msc.rl.ac.uk/Cadence/ -name '*.tar' | xargs -l tar xvf
Run install manager
/prog/cadence/iscape/iscape/bin/iscape.sh&
configure install manager
preferences -> directories
Set default install directory to
/prog/cadence
install/update program with install manager
For new installs, follow the install instructions provided by europractice in addition to the tips from this guide. Correct directory naming reduces the amount of editing of the settings file later.
- Press the icon which has the text "local directory/media install"
- Select browse and navigate to the directory containing the install files and select the CDROM1 folder. *Check that there isn't a slash at the end of the path. The program doesn't search recursively.
fex: /prog/cadence/unpacked/ASSURA04.12.020-5141_lnx86.Hotfix/CDROM1
- You don't need to install all updates recursively, select only the latest hotfix and the install will ask for the path to the base install when it is needed. If there are no hotfixes, install the base install.
- Select the correct path to install to, keep the existing naming convention.
- If a window opens with "Welcome to OpenAccess.....", just press enter and then 'n' and then enter again.
- If a window opens which asks about configuring the license server, press n.
- When the install is finished and you are back in the result list, you need to press the small underlined cancel text to change the path.
- To make make less changes to the environment script later run this command and use the provided paths in the installation. The CDS_INST path will be changed later.
cat /prog/download/download.msc.rl.ac.uk/Cadence/2013_2014/cadence_ic_2013.csh | grep CDS_INST
Package specifics
INCISIVE
When doing a full install, INCISIVE needs to be installed first as it is required by IC. Press cancel when the ARM license file dialog shows.
ASSURA
There are two versions ASSURA*-615 and ASSURA*-5141. 5141 is for compability with IC5 (CDB). 61 is for use with IC6 (OA).
VIPCAT
Choose UVM as the packet to install for IP verification
Configuration
If a new install, then copy the template script called "cadence_ic_20xx.csh" from the download folder to the /prog/cadence folder.
Line references following will be based on the 2012 release of the file. Check that actual folder names are correct.
- 24 - Set correct license server at line
- 27 - Set CDS_INST to /prog/candence
- 37 - Set ALTOS path to /ALTOS/altos_rel3.2p3
- 57 - Set ASSURA path to /ASSURA_4.12_CDB if using IC5, /ASSURA_4.12_OA if using IC6
- 72/74 - Comment/uncomment line according to IC version
- 83 - Set to correct MVS folder (correct according to install instructions)
- 110 - Set to correct IC6 folder (correct according to install instructions)
- 151 - Set to correct ICC folder (correct according to install instructions)
- 188 - Set PVE path to /PVE_11.12HF106
- 213 - Set Conformal path to /CONFORMAL_11.10
- 229 - Set to correct RCL folder (correct according to install instructions)
- 243 - Set EDI path to /EDI_11.1
- 258 - Set to correct ET folder (correct according to install instructions)
- 274 - Set to correct ETS folder (correct according to install instructions)
- 293 - Set MMSIM path to /MMSIM_11.10
- 315 - Set INCISIVE path to /INCISIVE_12.1
- 387 - Set VIPCAT path to /VIPCAT_11.3.014
- 411 - Set CTOS path to /CTOS_12.1
If you correctly set the directories like specified above you can skip editing the paths to the specific programs and only change the one for CDS_INT.
Include these lines at the bottom
setenv AMS_DIR /path/to/amslib setenv TSMC_DIR /path/to/tsmc setenv PATH "${PATH}:${AMS_DIR}/cds/bin" setenv CDS_BIND_TMP_DD true setenv IUSDIR $CDS_INCV alias ams_cds_start 'setenv AMS;ams_cds -tech c35b4 -nologo' alias tsmc_cds_start 'unsetenv AMS;virtuoso &'
Save file as cadence_ic_20xx_uib.csh and add/update the symlink
csh chmod +x /prog/cadence/cadence_ic_20xx_uib.csh ln -s /prog/cadence/cadence_ic_20xx_uib.csh /prog/cadence/cadence_init.csh source /prog/cadence/cadence_init.csh
Run lmstat to check that it is possible to connect to the license server
lmstat -c 5280@<your licenceserver>
Both cdslmd and altosda should be listed as up.
Run the checksys.sh script listed below to check for any missing dependencies and to set up any missing tools links. In case the scipt gives an error like
Configuration checks failed, status is: FAIL
checkSysConf cannot reliably parse your systems /etc/redhat-release file
It would appear that the file is non-standard and does not contain release
information in the standard readable format.
The contents of your /etc/redhat-release is listed below between
<RELEASE_FILE> tags.
A 'correct' release file should have only one line of content, containing
version information in a standard format.
<RELEASE_FILE>
Red Hat Enterprise Linux Server release 5.9 (Tikanga)
</RELEASE_FILE>
Please check/correct your /etc/redhat-release file and try again.
There is no OEM datafile for -r for the Linux platform.
Valid OEM images are :
foreach: No match.
then the OS is probably newer than checkSysConf used, copy a newer version from another program folder. If you then get
This operating system version '5.0WS' is not supported
If you believe you are running a supported OS then check that
the OS version directory exists in the data directory:
/<path to cadence>/ICC_11.2.41/share/patchData/Linux/x86_64
Then check the version in the aforementioned folder and the text file inside it.
Copy the .cdsinit script below to the folder /prog/cadence/IC_6.X.X.X/tools/dfII/local
Scripts
Checksys.sh
Usefull for setting up missing tools folders and checking that all dependencies are installed
#!/bin/bash
#
# Script for setting up tools folders and checking dependencies
# By Arild Velure 2014
#
if ( [ -z "$CDS_INST" ] && [ -z "$CDS_TOP" ] )
then
echo "Please run environment script first"
exit 1
fi
# Add new modules if needed
#2012
#cds_paths=( $CDS_ASSURA $CDS_MVS $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $RC_PATH $CDS_SOCE
#$CDS_ET $CDS_ETS $CDS_MMSIM $incisiv_dir $CDS_VIPCAT $CTOS_ROOT )
#2013
cds_paths=( $ALTOSHOME $CDS_ASSURA $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $CDS_RC $CDS_EDI $CDS_ET
$CDS_ETS $CDS_MMSIM $CDS_INCV $CDS_VIPCAT $CTOS_ROOT)
# CTOS_ROOT doesn't seem to have a checksysconf
#2014
cds_paths=( $CDS_ASSURA $CDS_CONFORMAL $CTOS_ROOT $CDS_EDI $CDS_ET $CDS_EXT $CDS_IC $CDS_INCV $ALTOSHOME $CDS_MMSIM $CDS_MVS $CDS_PVS $CDS_RC $CDS_SSV $CDS_VIPCAT )
# CDS_ASSURA CDS_IC and CDS_VIPCAT needs manual script
if [ -e ./problems.txt ]
then
rm ./problems.txt
fi
# Some installers forget to link the tools folder to the tools.lnx86
# Creat links so we don't need to edit and check settings file
for i in "${cds_paths[@]}"
do
if [ ! -e $i ]
then
echo "Can't find path $i is it installed?"
continue
fi
if [ ! -e $i/tools ]
then
if [ -e $i/tools.lnx86 ]
then
ln -s tools.lnx86 $i/tools
fi
fi
# Run checksys to check that system is properly installed
echo "Checking $i"
if [ ! -e $i/tools/bin/checkSysConf ]
then
echo "checkSysConf not found"
continue
fi
# You need to specifically mention the name of the release to test for.
# Next line parses the output and grabs all lines which starts with a space and contains
# some characters, which should only be release names, and puts them in an array
proglist=($($i/tools/bin/checkSysConf -r | egrep '^ +\w'))
# If it returns empty it propably didn't find a supported OS version
if [ ${#proglist[@]} = 0 ]
then
$i/tools/bin/checkSysConf -r >> problems.txt
echo "FAIL, couldn't find releasename"
fi
for a in "${proglist[@]}"
do
echo "Prog version $a"
result=$($i/tools/bin/checkSysConf $a -q)
echo "$result"
if [ "$result" = "FAIL" ]
then
#Something failed, run again with verbosity
$i/tools/bin/checkSysConf $a >> problems.txt
fi
done
done
if [ -e ./problems.txt ]
then
echo "Missing modules:"
cat ./problems.txt | grep FAIL
fi
.cdsinit
; AMS runs a script before starting virtuoso which creates a local .cdsinit in the current folder
; load the local .cdsinit if the program was started with the variable AMS set else load TSMC settings
if(getShellEnvVar("AMS") then
loadi("./.cdsinit")
else
;if( ddIsId( ddGetObj( "tsmc13rf" ) ) then
printf("********************************************\n")
printf(" Starting TSMC 130nm \n")
printf("********************************************\n")
ddCreateLib( "tsmc13rf" strcat(getShellEnvVar("TSMC_DIR") "/tsmc13rf"))
loadi(strcat(getShellEnvVar("TSMC_DIR") "/tsmc13rf/libInit.il"))
)
Linux packages that might be required
- openmotif22
- libXp
- compat-readline43
- tk
- ksh
- sysstat