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.

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.

  1. 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 attach
  2. Update 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.timer
  3. Install 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
  4. (Optional) Install cockpit (Administration Web GUI).

    sudo dnf install -y cockpit
    sudo systemctl enable --now cockpit.socket

    You can now access the web GUI.

  5. Install other dependencies.

    sudo dnf install -y tigervnc-server tigervnc-selinux redhat-lsb-core

    Note: 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.

  6. Install desktop environment dependencies.

    sudo dnf group install -y "Server with GUI"
  7. Add user accounts using the cadence_ic_new_user.sh script.

  8. 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.users
  • The VNC password can be turned off if desired by updating either /etc/tigervnc/vncserver-config-mandatory or /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-mandatory

    To re-enable the vnc password:

    sed -i 's/securitytypes=None,TLSNone/#securitytypes=None,TLSNone/g' /etc/tigervnc/vncserver-config-mandatory
  • The 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

  1. 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.users
  2. Copy the systemd service file template:

    cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  3. Enable and start the daemon. Replace {display} with the number mapping from step 1:

    systemctl enable --now vncserver@:<display>.service
  4. Disable 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.

  1. Create the work directory /tmp/cadence.

    mkdir -p /opt/cadence/downloads
  2. Extract 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/downloads
  3. After 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 '{}' \;
  4. 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/bashrc

    Note: 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.

  5. Run the install script /opt/cadence/downloads/IC23.10.000_lnx86.Base/CDROM1/SETUP.SH. When prompted, use /opt/cadence for the cadence install path and /opt/iscape for the installscape path.

  6. 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-devel
  7. Run checkSysConf to check if any dependencies or configurations are missing on the server.

    /opt/cadence/installs/IC231/bin/checkSysConf
  8. Run InstallScape and choose the option for Local directory/Media install and browse to the /opt/cadence/downloads/IC23.10.000_lnx86.Base/CDROM1 folder. Install the base package. Then repeat the same steps for the hotfix folder and install it. You must install the base package first.

  9. 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.

  10. 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/bashrc
  11. Check that the license sever is available.

    lmutil lmstat -a

Add Virtuoso Icon to Gnome Menu

If desired, you can add a custom launcher icon to the Gnome menu.

  1. Locate and download an icon to use. Save the icon in /opt/cadence/share/virtuoso.logo.

  2. Identify the categories that fit this application. A list of all possible categories is available here.

  3. Create the file /usr/share/applications/virtuoso.desktop and add the following to it (update the categories and icon filepath as appropriate):

    [Desktop Entry]
    Type=Application
    Encoding=UTF-8
    Name=Cadence Virtuoso
    Comment=Cadence Virtuoso
    Icon=/opt/cadence/share/virtuoso.logo
    Exec=/opt/cadence/installs/IC231/bin/virtuoso
    Terminal=false
    Categories=ComputerScience;Electronics;Engineering