CAE EDA Quickstart Guide
EDA Quickstart Guide
EDA Software is now using containers to make software installations more stable and portable.
Run scripts are provided as a reliable method to enter container and run EDA software within. This means that proper use of module and run scripts are critical to software to work properly. Run Scripts follow a simple naming scheme: software-run.
The general patten for running EDA software is as follows:
module load mysoftware/suite, followed by ether:software-run programsoftware-run(your shell prompt changes) and then runprogram.
The order matters, as module will not work inside the EDA containers.
EDA Software and their Run Scripts
| Software | Containerization Status | Tool Name |
|---|---|---|
| Cadence | Yes |
cadence-run |
| Synopsys | Yes |
synopsys-run |
| Keysight | Yes |
keysight-run |
| Mentorgraphics | Yes |
mentor-run |
| Silvaco | Yes |
silvaco-run |
COMMON PITFALL Software that needs to run inside containers will either crash or malfunction in more subtle ways if not properly launched via run script.
Module system
Research and Lab systems now use the module command to set up the environment for executing software.
For more information, please see the software guide. Here is a brief example of module commands below:
Common Module commands
| Goal | Command | Example |
|---|---|---|
| List ready-to-load modules | module avail |
module avail |
| Load software into environment | module load <name> |
module load cadence/suite |
| Check loaded modules | module list |
module list |
| Unload a module | module unload <name> |
module unload cadence |
| Reset environment | module purge |
module purge |
| Inspect module behaviors | module show <name> |
module show cadence/suite |
Example: Launching Cadence Virtuoso with EMX
- Log into a research or lab system and open a terminal.
- Optionally, type
module availto see what modules are present. - Type in
module load cadence/emxto use the default emx, orcadence/emx/versionif you need a particular EMX version. Usemodule availto see available versions. - Create a project directory if this is a new project. In your project directory, use your favorite text editor of choice to add
load(strcat(getShellEnvVar("EMXHOME") "/share/emx/virtuoso_ui/emxinterface/emxskill/emxconfig.il"))to a new file named.cdsinit. Only do this edit ONCE per project.- For integrations other than EMX, you will need different
.cdsinitcontent.
- For integrations other than EMX, you will need different
- Launch the program via wrapper
cadence-run virtuoso, and the virtuoso program opens directly. It will take a few moments to load.- If you want an interactive shell in the eda environment (container), then
cadence-runwould suffice. Your prompt should now look likecadence>. - In the shell, run
virtuoso &to run the program and still continue to access the eda container shell, or invokeemxdirectly from the command line.
- If you want an interactive shell in the eda environment (container), then
- Virtuoso should now have launched, a GUI appears. The Virtuoso window should have logs regarding loading EMX defaults based on the install. The integration is a success.
Example: Cadence Virtuoso with RFIC Dynamic Link
- Log into a research or lab system and open a terminal.
- Load the Keysight(ADS) module, Cadence modules, and RFIC Dynamic Link Modules:
module load cadence/ic/251module load cadence/xcelium/2509module load keysight/suite/2026- After loading this,
moduleemits a helpful message appears telling you to load the corresponding rfic-link module. Run the module command it provides.
- Switch your working dir into your project directory with the
cdcommand. Create a new directory first if this is a fresh project.- Run the helper script "cae-rfic-link" to create or edit your
setup.locand.cdsinitfiles. - If you have existing files, the helper script won't overwrite them without you explicitly passing corresponding flags. Consider copying your .cdsinit before running the script if it contains valuable config that you cannot otherwise recreate.
- Run the helper script "cae-rfic-link" to create or edit your
- Only if you require ADSLib features, then additionally run
echo INCLUDE \$HPEESOF_DIR/cdslibs/rfde.lib > cds.lib - Now, you are ready to launch Cadence. As in the EMX example above, you may either
cadence-runand thenvirtuoso &; orcadence-run virtuosoto enter the container and start Virtuoso. - The RFIC Dynamic Link (ADS)features should be available from their typical location (the "launch" menu in Cadence Schematic View).
Example: Launching MentorGraphics (now Siemens) Calibre
- Log into a research or lab system and open a terminal.
- Load the relevant module:
module load mentor/suite - Launch the container and execute the process:
mentor-run calibre -noguior break this into two commandsmentor-runand thencalibre -nogui.- The latter is useful if you want CLI access to mentor/calibre programs.
calibre's default run mode is to be a command line interface, thus passing-noguiis required.
Example: Launching Synopsys DesignVision
- Log into a research or lab system and open a terminal.
- Load the relevant module:
module load synopsys/suite- Loading the suite pulls in the majority of Synopsys programs and tools, but surrenders granular control over each individual version.
- If you only need a particular Synopsys components, you can run commands like
module load synopsys/designvision/VERSION, omitting the version string if default is acceptable.
- Enter the container environment and execute a program, either with
synopsys-run design_visionorsynopsys-runfollowed bydesign_visionif you wish to enter an interactive shell first. - DesignVision now opens.
Example: Launching Silvaco Deckbuild
- Log into a research or lab system and open a terminal.
- Load the relevant module:
module load silvaco/suite - Launch the container and execute the process:
silvaco-run deckbuildor break this into two commandssilvaco-runand thendeckbuild.
