IC 23.1 Installation
This guide covers installation of IC 23.1 on RHEL 8/9. Its important to understand a few design concepts for this deployment.
- The server is accessed by VNC over an SSH tunnel to a mainframe (aka large server) either hosted on premise or in a cloud environment.
- Security is achieved over SSH and VNC passwords are disabled.
- The server can support multiple silmultaneous users, but each user must access a different port which is determined by the VNC service file for that user.
- In my experience, Cadence is mostly memory intensive if being used for simulations. As a starting point, I recommend 8-10GB of RAM per user. Thus a modern (aka recent) CPU and 50 GB of RAM will support around 5 simultaneous users. That will vary based on usage and its recommended to monitor resource usage and then adjust accordingly.
Server Specs
- Minimum 4GB RAM, Recommended starting 8-10GB per user.
- Minimum 4GB Swap
Server Deployment
I assume you are starting with a minimal redhat 8 install with only command line access. SSH access is not covered by this guides scope.
Register and attach a Redhat subscription. Make sure to update the system hostname before registering the system with Rehat. A paid license is not necessary if you have a developer account. It is highly recommended to use a full (paid) license in production. Sign in using your Redhat account credentials.
sudo subscription-manager register sudo subscription-manager attachUpdate the server. Install dnf-automatic and start daemons.
sudo dnf update sudo dnf install dnf-automatic sudo systemctl enable --now dnf-automatic.timer sudo systemctl enable --now dnf-automatic-install.timerInstall firewalld and configure firewall.
sudo dnf install -y firewalld sudo systemctl enable --now firewalld sudo firewall-cmd --set-default-zone work sudo firewall-cmd --list-all(Optional) Install cockpit (Administration Web GUI).
sudo dnf install -y cockpit sudo systemctl enable --now cockpit.socketYou can now access the web GUI.
Install other dependencies.
sudo dnf install -y tigervnc-server tigervnc-selinux redhat-lsb-coreNote: Redhat 9 no longer supports lsb, thus you dont need to install redhat-lsb-core, but it is required on Redhat 8. However, the license manager utilities still depends on lsb. I had to revert to Redhat 8 in order to use lmutil and other license manager tools.
Install desktop environment dependencies.
sudo dnf group install -y "Server with GUI"Add user accounts using the cadence_ic_new_user.sh script.
If you are constantly presented with an administrator prompt with the message “Authentication is required to refresh the system repositories”, you can disable this message for your user with the command:
gsettings set org.gnome.software download-updates false
VNC Server Notes
The new user script takes care of everything, but its worth documenting some important nuances.
New vnc users need to be added to the user mapping in
/etc/tigervnc/vncserver.users.echo ":1=ec2-user" | tee -a /etc/tigervnc/vncserver.usersThe VNC password can be turned off if desired by updating either
/etc/tigervnc/vncserver-config-mandatoryor/etc/tigervnc/vncserver-config-defaults. Mandatory == Override user config settings. Defaults == Set default, but allow user config settings. Both None and TLSNone are required to turn off password when using ssh tunnel.echo "securitytypes=None,TLSNone" | tee -a /etc/tigervnc/vncserver-config-mandatoryTo re-enable the vnc password:
sed -i 's/securitytypes=None,TLSNone/#securitytypes=None,TLSNone/g' /etc/tigervnc/vncserver-config-mandatoryThe vnc server is listening for all incoming connections on localhost. This is done so that its easier to quickly toggle direct access on and off via the firewall. Just allow the corresponding VNC port in the firewall to allow direct connections.
Redhat 9 VNC
Add a mapping for the root/admin user account. Note this configures the VNC server port for that user. I.e. 1 == port 5901, 2 == port 5902, etc.
echo ":1=ec2-user" | tee -a /etc/tigervnc/vncserver.usersCopy the systemd service file template:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.serviceEnable and start the daemon. Replace
{display}with the number mapping from step 1:systemctl enable --now vncserver@:<display>.serviceDisable the vnc password (optional):
echo "securitytypes=None,TLSNone" | tee -a /etc/tigervnc/vncserver-config-mandatory
IC Installation
This guide covers installation of IC version 23.1. Download the IC install files from the Cadence download portal. If you didnt download directly to the server, you can upload them using sftp.
Create the work directory
/tmp/cadence.mkdir -p /opt/cadence/downloadsExtract the tar files.
sudo find . -name '*.tar' -exec tar xf {} \; mv IC23.10.000_lnx86.Base/ /opt/cadence/downloads mv IC23.10.020_lnx86.Hotfix/ /opt/cadence/downloadsAfter extracting the tar archives, you need to also extract compressed tgz files that were inside the Base and Hotfix archives.
Extract the Base files:
cd /opt/cadence/downloads/IC23.10.000_lnx86.Base/CDROM1/ tar xzf IScape05.01-p001lnx86.t.Z cd kits find . -name '*.t.Z' -exec tar -xzf '{}' \;Extract the Hotfix files:
cd /opt/cadence/downloads/IC23.10.020_lnx86.Hotfix/CDROM1/ tar xzf IScape05.01-p001lnx86.t.Z cd kits find . -name '*.t.Z' -exec tar -xzf '{}' \;Create system wide cadence bashrc file and set the license server variable.
echo "export CDS_LIC_FILE='5280@lm.aws.silicon-training.com'" >> /etc/bashrc echo "export LM_LICENSE_FILE='5280@lm.aws.silicon-training.com'" >> /etc/bashrcNote: You must export the variables so that they become available to sub processes. Simply sourcing the variable will not make it available to sub processes.
Run the install script
/opt/cadence/downloads/IC23.10.000_lnx86.Base/CDROM1/SETUP.SH. When prompted, use/opt/cadencefor the cadence install path and/opt/iscapefor the installscape path.Install IC dependencies.
dnf install -y mesa-libGLU libXScrnSaver libnsl tcsh ksh motif libXp glibc-devel gdb apr apr-util xorg-x11-server-Xvfb xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xterm zlib-develRun
checkSysConfto check if any dependencies or configurations are missing on the server./opt/cadence/installs/IC231/bin/checkSysConfRun InstallScape and choose the option for
Local directory/Media installand browse to the/opt/cadence/downloads/IC23.10.000_lnx86.Base/CDROM1folder. Install the base package. Then repeat the same steps for the hotfix folder and install it. You must install the base package first.After installing from the “CD”, go to the update section and update both IC and LCU. This will ensure that all needed files are present.
Add the cadence files to path.
echo "IC_BIN='/opt/cadence/installs/IC231/bin'" >> /etc/bashrc echo "PATH=$IC_BIN:$PATH" >> /etc/bashrc source /etc/bashrcCheck that the license sever is available.
lmutil lmstat -a