=====How to Use the VLSI systems ====
====Overview====
The VLSI systems are a collection of Red Hat Enterprise Linux (RHEL) 7 and RHEL 8 systems that host the Linux Engineering Software suite. The VLSI systems use the [[http://modules.sourceforge.net|Environment Modules]] aka ''module'' subsystem to manage the use of various tools.
To keep up with news on these software offerings, join our [[https://outlook.office365.com/owa/ut_eecs_lnx_engr@live.utk.edu/groupsubscription.ashx?action=join&source=MSExchange/LokiServer&guid=709f3558-644c-4b9d-a547-8636601035c9|Office 365 Linux Engineering Software Group]] (UTK/Tennessee email addresses only).
==== Modules ====
The command ''module avail'' will show the available modules, as seen below
jruser:vlsi1 ~> module avail
------------------ /usr/share/Modules/modulefiles ------------------
dot module-git module-info modules null use.own
------------------/etc/modulefiles ------------------
mpi/openmpi-x86_64
------------------ /sw/etc/modules/synopsys ------------------
cscope64-P-2019.06 hspice-P-2019.06-SP1-1 sentaurus-P-2019.03-SP1
synplify-Q-2020.03 syn-Q-2019.12-SP2 wv-P-2019.06-SP1-2
------------------ /sw/etc/modules/cadence ------------------
CONFRML182 EXT191 IC618 LIBERATE192
------------------ /sw/etc/modules/mentor ------------------
modelsim questa_infact questasim
------------------ /sw/etc/modules/keysight ------------------
ADS2019_Update1
=== Loading a Module ===
To load a module, run ''module load ModuleName'', This will set up your environment to properly run the selected software. For example, running''module load IC618'' sets up your environment to run Cadence Virtuoso IC 6.1.8:
jruser:vlsi1 ~> module load IC618
jruser:vlsi1 ~> which virtuoso
/sw/cadence/pkgs/IC618/bin/virtuoso
=== Showing Loaded Modules ===
The ''module list'' will show which modules you have loaded: jruser:vlsi1 ~> module list
Currently Loaded Modulefiles:
1) .cadence 2) IC618
Modules whose names start with periods (like ''.cadence'') are prerequisite modules for a whole set of software. You should not have to manually load or unload these.
=== Unloading Modules ===
Modules can be unloaded from your environment. You may want to do this, for example, to switch between versions of the same software. Simply run ''module unload ModuleName''. You can also use "module swap OldModule NewModule" to directly swap out an old module for a new one.
=== Information on a Module ===
If you're unsure what software is activated by a specific module, use the ''module whatis'' command for more information. For example:jsuer:vlsi1 ~> module whatis IC618
IC618 : Cadence Virtuoso, Release Version IC6.1.8 ISR7
=== Additional Resources ===
The Environment Modules system has a number of advanced features such as Python and Perl interfaces. See the manual page for the module command for more information by running ''man module''. Online documentation is available at: [[https://modules.readthedocs.io/en/latest/]]
==== Troubleshooting ====
=== Calibre "AVX2 is NOT available on this system" Error ===
Beginning with version 2021.1, Mentor Graphics Calibre requires the AVX2 [[wp>Advanced_Vector_Extensions|Advanced Vector Processor Extensions]] to run. Some VLSI systems may not support these and if you load the Calibre module, you may receive the following error:\\
{{:knowledge-base:linux-topics:avx2.png?400|}}\\
Please try one of the newer VLSI systems.