Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions apps/cadence_voltus/build_voltus.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/bash

# TODO: install directory
INSTALL_DIR="/voltus/"

WORKING_DIR="/mnt/resource"
CADENCE_TOOLS_BLOB="https://edarg3diag.blob.core.windows.net/edatools/Cadence"
ISCAPE_FILE="IScape04.23-s012lnx86.t.Z"

cd ${WORKING_DIR}

install_required_packages()
{
echo "----------------------installing required packages."
yum -y install ksh
yum -y install mesa-libGLU
yum -y install motif
yum -y install redhat-lsb
yum -y install glibc.i686
yum -y install elfutils-libelf.i686
yum -y install mesa-libGL.i686
yum -y install mesa-libGLU.i686
yum -y install motif.i686
yum -y install redhat-lsb.i686
yum -y install glibc-devel.i686
yum -y install libXScrnSaver.i686
yum -y install libXScrnSaver.x86_64
yum -y install java-1.8.0-openjdk
}

install_iscape()
{
echo "----------------------installing IScape."
wget ${CADENCE_TOOLS_BLOB}/${ISCAPE_FILE}
zcat ${ISCAPE_FILE} | sudo tar -xvf -
cd ${WORKING_DIR}/iscape.04.23-s012/bin

# To get Archive for the 1st time
#./iscape.sh -batch majorAction=download minorAction=ArchiveInstall SourceLocation="http://sw.cadence.com/is/SSV211/lnx86/Base" ArchiveDirectory=${WORKING_DIR}/VoltusArchive/ InstallDirectory=${INSTALL_DIR}
}

download_archive()
{
echo "----------------------downloading archive."
cd ${WORKING_DIR}
wget ${CADENCE_TOOLS_BLOB}/VoltusArchive.tgz
tar -xzvf VoltusArchive.tgz
}

install_from_archive()
{
echo "---------------------installing from archive."
cd ${WORKING_DIR}/iscape.04.23-s012/bin
./iscape.sh -batch majorAction=installfromarchive ArchiveDirectory=${WORKING_DIR}/VoltusArchive/ InstallDirectory=${INSTALL_DIR}

# generate configuration scripts
./iscape.sh -batch majorAction=configure InstallDirectory=${INSTALL_DIR}

# complete configuration
/bin/sh ${INSTALL_DIR}installData/SSV211_lnx86/batch_configure.sh
}

install_required_packages
install_iscape
download_archive
install_from_archive

echo "-----------------------DONE."
55 changes: 55 additions & 0 deletions apps/cadence_voltus/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## Cadence® Voltus™ IC Power Integrity Solutio

The Cadence® Voltus™ IC Power Integrity Solution is a standalone, cloud-ready, full-chip, cell-level power signoff tool. The Voltus tool is of particular value to designers by providing better understanding of the power grid strength, as well as debugging, verifying, and fixing IC chip power consumption, IR drop, and electromigration (EM) constraints and violations (EM-IR).

[Cadence Voltus IC Power Integrity Solutionr Home Page](https://www.cadence.com/zh_TW/home/tools/digital-design-and-signoff/silicon-signoff/voltus-ic-power-integrity-solution.html)

## Prerequisites

Cluster is built with the desired configuration for networking, storage, compute etc. The [simple_hpc_pbs](https://github.com/Azure/azurehpc/tree/eda/examples/simple_hpc_pbs) template in the examples directory is a suitable choice.

After cluster is built, first copy the apps directory to the cluster. The `azhpc-scp` can be used to do this:

```
azhpc-scp -u hpcuser -r $azhpc_dir/apps hpcuser@headnode:.
```

Then connect to the headnode:
```
azhpc-connect -u hpcuser headnode
```

## Installation

Change folder to:
```
cd /azurehpc/apps/cadence_voltus
```

Take a look at the 'build_voltus.sh' script, modify the installation directory if needed:
```
vim build_voltus.sh
```

Run the 'build_voltus.sh' script:
```
source build_voltus.sh
```
## Configure License Server
Make necessary modification of the license file you received from Cadence or supplier. EX: modify the SERVER name:
```
...
########################### LICENSE KEYS START HERE ######################
SERVER Cadence_SERVER 00ad3a9ddd47 5280
DAEMON cdslmd ./cdslmd
# DO NOT REMOVE THE USE_SERVER LINE
USE_SERVER
...
```
Copy the license file to the VM (EX: headnode), and then execute:
```
[your installation directory]/bin/lmgrd -c <YOUR LICENCE FILENAME> -l license.log
```

## Run Voltus
Run your Voltus simulation on the cluster.