Install VLSI-CAD tools on Ubuntu (24.04)
I. Preparation
Install some dependencies:
$ sudo apt install ksh csh zsh patchelf
Make changes to YOUR ~/.bashrc
according to the example.
In the example, watch from the mark # VLSI-CAD TOOLS
to the end.
Make sure to put the correct installation folder to those export ...
.
The bin-PATH and HOME-PATH are two different things and serve different purposes.
You can change the bin-PATH names, but please keep the HOME-PATH names because the tool’s environment needs those exact HOME-PATH names.
II. Install CADENCE Tools
II. 1) Installation
-
Step 1: After downloading all the data, unzip all the tarballs.
-
Step 2: If there are multi-part tarballs (like
...1of4
,...2of4
, etc.), extract each tarball, and then merge all the folders into one.
You can run it by the terminal:$ mv <name>_*/* .
-
Step 3: To run the installation GUI:
$ IScape/iscape/bin/iscape.sh
-
Step 4: On the GUI, select the
Local directory/Media install
and browse to theCDROM1
folder in the merged folder in step 2. -
Step 5: Follow the GUI, choose the installation folder, start, wait -> done.
It is best to wait for the GUI and do nothing; don’t interact with other terminals; the GUI is quite fragile! -
Step 6: If there are many versions, install the LOWEST (or OLDEST) version FIRST.
-
Step 7: If there are Base, Hotfix, and Update on the SAME VERSION, the install sequence should be: Base -> Hotfix -> Update.
Please DON’T install Hotfix/Update in a separate folder with the Base. -
Step 8: After the installation, you can remove the
install/
andinstallData/
folders to restore some spaces.
II. 2) About the OA_HOME
All the Cadence tools require an OA_HOME
.
Each tool sometimes carries its own local oa_...
folder (not always).
We need to look for those local oa_...
folders and choose the one with the latest linux_rhel...
in its lib/
.
Usually, INNOVUS or IC will have the latest version.
When you decided which oa_...
folder to use,
-> put the correct PATH to the OA_HOME
in the ~/.bashrc
.
-> put the correct OA_UNSUPPORTED_PLAT
in the ~/.bashrc
, too.
The OA_UNSUPPORTED_PLAT
must match the name linux_rhel...
in the $OA_HOME/lib/
folder.
Note: The suffix _64
must be removed from the OA_UNSUPPORTED_PLAT
.
Finally, open the $OA_HOME/bin/sysname
and change the 1st line from #!/bin/sh
to #!/bin/bash
.
II. 3) CADENCE Tool List
After installed, to check if the tool works, try to run the following:
$ ASSURA/bin/assura
$ CONFRML/bin/lec_64
$ DDI/bin/genus
$ DDI/bin/innovus
$ DDI/bin/joules
$ GENUS/bin/genus
$ IC23/bin/virtuoso
$ IC618/bin/virtuoso
$ ICADV/bin/virtuoso
$ INNOVUS/bin/innovus
$ JasperGold/bin/jaspergold
$ LIBERATE/bin/liberate
$ PVS/bin/pvs
$ QUANTUS/bin/quantus
$ SIGRITY/tools/bin/3dworkbench
$ SPB/bin/XScale
$ SPECTRE/bin/spectre
$ SSV/bin/tempus
$ STRATUS/bin/stratus
$ XCELIUM/tools/bin/xrun
As long as the tool opens (maybe complains about the license), then you are fine.
If the tool shows errors (mostly related to those .so files) and does not open, then you have to try to fix the errors.
III. Install MENTOR GRAPHICS Tools
III. 1) Installation
-
Step 1: Untar all the tarballs.
-
Step 2: Run the
.exe
,.bin
,.mib
, or.aol
directly and follow the guide in the terminal.
(for calibre tool, choose theaok...
version if Ubuntu) -
Step 3: After the installation, you can remove the
_msidata/
andinstall.aol/
folders to restore some spaces.
III. 2) Fix Calibre Error
After installed, when you’re trying to run the calibre and get this error:
Invalid operating system environment, VENDOR=unknown OS VERSION=24
This means the tool checked your OS version and said it doesn’t support the OS.
-> Follow these steps to bypass the check:
-
Step 1: Check this website: https://calibre.mentorcloudservices.com/docs/Calibre_OS_Roadmap.htm
For example, if you previously installed theaok...
version, you now have to ‘trick’ the tool into thinking that your machine is a RedHat 8 version. -
Step 2: In the calibre installation path:
$ vi pkgs/icv_calenv/pvt/calibre_host_info
At the end of the file, write these two lines in:OS_VENDOR='redhat' OS_MAJOR_REV='8'
III. 3) MENTOR GRAPHICS Tool List
After installed, to check if the tool works, try to run the following:
$ 0-in/linux_x86_64/bin/0in
$ AMSV/amsv/bin/afs
$ Calibre/bin/calibre
$ DFT/bin/dftadvisor
$ LeonardSpectrum/bin/Linux/spectrum
$ ModelSim/bin/vsim
$ Pyxis/bin/da_ic
$ QuestaSim/bin/vlib
As long as the tool opens (maybe complains about the license), then you are fine.
If the tool shows errors (mostly related to those .so files) and does not open, then you have to try to fix the errors.
IV. Install SYNOPSYS Tools
IV. 1) Installation
-
Step 1: Go to the
synopsys_installer/
folder and run the.run
file.
It’ll self-extract into a series of files. Thesetup.sh
is the one we need. -
Step 2: Open the installation GUI by running that
setup.sh
.
Note: theSite ID Number
=000
is ok. -
Step 3: Browse to each folder, set the target installation folder, install, wait -> done.
Note 1: The download folder (containning those .spf files) and the destination folder must be different; the GUI wants that.
-> In my experience, I set the destination folder =.../Synopsys/
while my download folder =.../Synopsys/toolname/
.
Note 2: You might have to re-run thesetup.sh
GUI after each installation. -
Step 4: If you see an error about OVERLAY, another tool must be installed first.
Note: The versions of the required TOOL and the OVERLAY TOOL must match in order to continue with the installation.
IV. 2) SYNOPSYS Tool List
After installed, to check if the tool works, try to run the following:
$ customcompiler/W-2024.09/bin/custom_compiler
$ finesim/Q-2020.03-SP1/bin/finesim
$ formality/W-2024.09/bin/fm_shell
$ fpga/U-2023.03/bin/synplify_pro
$ fusioncompiler/W-2024.09/bin/fc_shell
$ fusioncompiler/W-2024.09/bin/icc2_lm_shell
$ fusioncompiler/W-2024.09/bin/lm_shell
$ hercules/B-2008.09-SP5-1/bin/amd64/hercules
$ hsim/Q-2020.03-SP2/hsimplus/bin/hsim
$ hspice/W-2024.09-1/hspice/bin/hspice
$ icc/W-2024.09/bin/icc_shell
$ icc2/W-2024.09/bin/icc2_shell
$ icv_workbench/V-2023.09-SP2/bin/linux64/icvwb
$ icvalidator/W-2024.09-2/bin/icv64
$ idq/R-2020.09-SP4/linux64/iddq/bin/ipro
$ library_compiler/W-2024.09/bin/lc_shell
$ milkyway/W-2024.09/bin/linux64/Milkyway
$ nanotime/V-2023.12-SP5/bin/nt_shell
$ primelib/T-2022.03-1/bin/primelib
$ primerail/M-2017.06-SP3/bin/pr_shell
$ primesim/T-2022.06-SP2-2/bin/primesim
$ primetime/U-2022.12-SP5-4/bin/pt_shell
$ primewave/W-2024.09/bin/primewave
$ primewavereliability/W-2024.09/bin/primewave_reliability
$ quantumatk/W-2024.09-SP1/bin/quantumatk
$ quickcap/W-2024.09/bin/quickcap
$ raphael/T-2022.03/bin/raphael
$ raphael_fx/T-2022.03-SP1/bin/raphael_fx
$ rtl_architect/T-2022.03-SP1/bin/rtl_shell
$ sentaurus/W-2024.09/bin/qtx
$ sentaurus_explorer/W-2024.09/bin/spx
$ slitho/U-2022.12/bin/slitho
$ slitho_pwa/U-2022.12/bin/pwa
$ spxviewer/W-2024.09/bin/spx_routeview
$ spyglass/V-2023.12/SPYGLASS_HOME/bin/spyglass
$ starrc/V-2023.12-SP5/bin/starrc_shell
$ syn/W-2024.09/bin/dc_shell
$ taurus/S_2021.06/bin/medici
$ tetramax/R-2020.09-SP4/bin/tmax2
$ vcs/W-2024.09/bin/vcs
$ vc_static/S-2021.09-SP2-4/bin/vc_static_shell
$ verdi/T-2022.06-SP1-1/bin/verdi
$ waveview/W-2024.09-2/bin/wv
$ xa/W-2024.09-1/bin/xa
As long as the tool opens (maybe complains about the license), then you are fine.
If the tool shows errors (mostly related to those .so files) and does not open, then you have to try to fix the errors.
V. Fix .so Error
V. 1) Fix Missing .so Files
Fix the missing or wrong <name>.so.<number>
file:
-
Step 1: Check if the
<name>.so.<number>
or the<name>.so
in the system or not.
The check command:$ whereis <name>.so.<number>
or:$ whereis <name>.so
-> If not found, proceed to step 2.
-> If found, create a symbolic link and link it back to the/usr/lib/
folder.
The link command:$ ln -s /path/to/filename /usr/lib/<name>.so.<number>
-
Step 2: If the
<name>.so.<number>
or<name>.so
file cannot be found bywhereis
, then try toapt install
it first.
The apt install command:$ sudo apt-get install <name>
or:$ sudo apt-get install <name><number>
Note: The<name>
is usually all de-capitalized, and NO dot.
in between the<name>
and the<number>
.
-> If the apt package or the exact version is unavailable, proceed to step 3. -
Step 3: In this step, you have to download the
<name>.so.<number>
manually. Go to this website: https://pkgs.org/
Search for the full name of<name>.so.<number>
. Pick either Solus or FreeBSD/NetBSD.
Beware of the 32-bit or 64-bit version, pick the one you need. Download it, untar it.
Beware of the link files, after untar, always usell
to check, notls
-> So you can see where the link is going to.
Copy only the content file (NOT the link file) to the/usr/lib/
folder.
Then, go to the/usr/lib/
folder and re-create the link file by:$ sudo ln -s <raw file> <name>.so.<number>
. -
Step 4: If the error still exists and says
ELF32
orELF64
wrong, you copied the wrong 32/64-bit version.
-> Repeat step 3 and download the corrected ones.
V. 2) Other Errors
- Problem 1: If the error says something about
undefined symbol
, for example:undefined symbol: ucal_openTimeZones_50
Maybe it’s still about the missing .so file, let’s
grep -r
and see if something comes up:$ grep -r ucal_openTimeZones_50
:grep: tools.lnx86/lib/cdnslibicui18n.so.50.1.2: binary file matches grep: tools.lnx86/lib/64bit/cdnslibicui18n.so.50.1.2: binary file matches grep: tools.lnx86/Qt/v5/64bit/lib/libcdsQt5Core.so.5.15.9: binary file matches
In this case, it means you’re missing the
cdnslibicui18n.so
file.
-> So, let’s repeat from the step 1 in the previous section. - Problem 2: If these kind of errors show up:
operator
,unexpected
,syntax error
; for example:test: unexpected operator Syntax error: redirection unexpected Syntax error: "(" unexpected [: 0: unexpected operator /bin/sh: 0: Illegal option -h
Then, this is about the bash-script environment.
Open the run file, change the 1st line from#!/bin/sh
to#!/bin/bash
and try again. - Problem 3: If the error says something about
GLIBC
, it could be very serious or still about some missing .so files.
Take a closer look at the error message. If it said something like this:tools.lnx86/lib/64bit/<name>.so.<number>: version `GLIBC_X.X' not found (required by ...)
Look closely at the PATH of the
<name>.so.<number>
file, and you’ll see it uses its own local lib oftools.lnx86/lib/64bit/
, not the system’s lib like/usr/...
or/lib/...
.
Maybe the system doesn’t have that<name>.so.<number>
file -> The tool is trying to use its own local version, which is causing the problem.
To know for sure, trywhereis
the<name>.so.<number>
and check if the system has it or not. -> This means you’re repeating the step 1 in the previous section. - Problem 4: Same as the previous problem, however, this time, the PATH of the
<name>.so.<number>
DO belongs to the system’s lib. For example:/lib/x86_64-linux-gnu/<name>.so.<number>: version `GLIBC_X.X' not found (required by ...)
Yeah, in this case, this is serious. Mismatching GLIBC between the tool and its host is a horror for any Linux dev.
Just a sanity check, let’s still do a$ whereis <name>.so.<number>
.
If the <name>.so.<number>
is there, properly linked, but the error persists, then you’re left with only one option: upgrade or downgrade the GLIBC (which is not recommended anywhere).
GLIBC IS the Kernel. Messing with it could destroy your OS, so do it at your own risk.
When you’re ready, check the Install VLSI-CAD Tools with GLIBC_Problem guide.
V. 3) Backup Solution
NOTE: This solution is a backup and not recommended because tricking the VLSI-CAD tools this way could lead to unforeseen problems.
Sometimes, it causes problems for other tools, not even the VLSI-CAD tools.
You can create a ‘fake’ redhat-release file by: $ sudo vi /etc/redhat-release
Then, write this line:
CentOS Linux release 8.<sub-version>.<date> (Core)
For the <sub-version>
and <date>
, check this website: https://access.redhat.com/articles/3078
The <date>
is a 4-digit number: first 2-digit for year, and last 2-digit for month.
For example, if you want to pick the RedHat 7.0 version, then:
CentOS Linux release 7.0.1406 (Core)
If you want to pick the RedHat 8.0 version, then:
CentOS Linux release 8.0.1905 (Core)
If you want to pick the RedHat 8.10 version, then:
CentOS Linux release 8.10.2405 (Core)