How to setup Momentum-Virtuoso - Universitetet i …Steps forward Now that you have installed...

Post on 18-Jul-2020

22 views 1 download

Transcript of How to setup Momentum-Virtuoso - Universitetet i …Steps forward Now that you have installed...

How to setupMomentum-Virtuoso

Torleif Sk̊ar

University of Oslo

October 2, 2019

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 1 / 27

Outline

1 Preface

2 Introduction

3 Assumptions

4 Backup

5 Installation

6 Verification

7 Debugging

8 Still not working?

9 Steps forward

10 References

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 2 / 27

Preface

This tutorial here assumes you have set up the PDK (TSMC65 nm)correctly on the UiO servers. If however this is not the case, follow theinstallation guide from [1].

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 3 / 27

What is Momentum-Virtuoso?

From the vendor itself [2]

Momentum is the leading 3D planar electromagnetic (EM) simulator usedfor passive circuit modeling and analysis. It accepts arbitrary designgeometries (including multi-layer structures) and uses frequency-domainMethod of Moments (MoM) technology to accurately simulate complexEM effects including coupling and parasitics. Accurate momentum EMsoftware enables RF/MMIC designers, RF/High-Speed Board Designers,RF Module/SiP Designers and Antenna Designers to improve designperformance and increase confidence that their manufactured products willmeet specs.

In other words; You’ll be using it to simulate passive components inCadence Virtuoso, using ADS Momentum as the EM simulator.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 4 / 27

Assumptions

Server

We’re assuming you’re connected to one of UiO’s RHEL6 servers(rh6login.ifi.uio.no)

Working directory

In this tutorial we assume you’ll stay in directory where you’re Cadencesession is installed. If you followed the guide as in [1], then your workingdirectory is: ∼/cadence616 tsmc65nmlp oa

General Linux symbol usage

In this tutorial the following symbols will be used:

1 ∼ - Shorthand for: $HOME/<username>/

2 Line starts with $ - Code that is to be ran through a terminal,typically through Bash, unless otherwise specified. Note: Do not write$ for the command, just everything trailing $.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 5 / 27

Backing up files, locally

We’ll be modifying some of the files for the Cadence setup, therefore we’lltake a backup of the files that are to be modified.

Backup

$ mv .cdsinit .cdsinit.bak

$ cp .cdsinit.bak .cdsinit

$ mv CRN65LP_session_IC616 CRN65LP_session_IC616.bak

$ cp CRN65LP_session_IC616.bak CRN65LP_session_IC616

Now, you have local copies of the symbolic linked file

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 6 / 27

Adding licences

We’ll need to add licenses for both ADS and GoldenGate, from [3], weneed to modify our .bashrc file:

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 7 / 27

Modifying .bashrc

Open your .bashrc file using your favorite editor, here we use ‘Vim’ as anexample

$ vim ~/.bashrc

Add the following at the bottom:

# ADS 2017:

export EMPRO_LICENSE_FILE=/hom/mes/cadsoft/adm/licensetollheimtu.dat

export HPEESOF_DIR=/projects/nanus/software/ADS2017

export PATH=$HPEESOF_DIR/bin:$PATH

export GOLDENGATE_LICENSE_FILE="$EMPRO_LICENSE_FILE"

# End ADS 2017

To make these changes take effect in the current session, run:

$ source ~/.bashrc

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 8 / 27

Adding ADS to the session [4]

For Cadence to be able to launch ADS-momentum, it needs to know whereADS is installed, so we’ll modify the session file: CRN65LP session IC616

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 9 / 27

Modifying Cadence session

$ vim CRN65LP_session_IC616

At the bottom, add the following:

# Momentum setup:

export HPEESOF_DIR=/projects/nanus/software/ADS2017

export ossSimUserHnlDir=$HPEESOF_DIR/idf/ads_site/hnl

export ossSimUserSiDir=$HPEESOF_DIR/idf/ads_site/si

export CDS_LOAD_ENV="CSF"

# End Momentum setup

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 10 / 27

Adding ADS to .cdsinit

We also need to link ADS together with the CDS. In this case, we’ll needto modify the file .cdsinit

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 11 / 27

Adding ADS to .cdsinit

$ vim .cdsinit

Add the following at the bottom

; Momentum

load(strcat(getShellEnvVar("HPEESOF_DIR") "/idf/config/.cdsinit"))

; End of Momentum

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 12 / 27

Getting setup.loc

We’ll also need to link ADS to the setup.loc file, however this filedoesn’t exists in the Cadence setup. We can use a script from ADS togenerate the file:

”Installing” setup.locADS gets the setup.loc file from the Cadence installation path

for ADS to find this setup.loc file, we need to set the

path for Cadence, this is done by sourcing the session file:

$ source CRN65LP_session_IC616

Then we can source the ADS script for installing setup.loc

$ source $HPEESOF_DIR/bin/setCSF.ksh

You should now have a setup.loc file in the working directory.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 13 / 27

Verification

Now one should be able to launch Virtuoso (as one has always launchedit), but now with Momentum as well. In the following slides, there areseveral steps to verify that it’s installed correctly.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 14 / 27

ADS is linked to Cadence correctly

The first step is to verify that ADS is linked correctly, this is shown in CIWas:

Figure: Correctly linked ADS and Virtuoso

If this is not the case, check out the debugging section

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 15 / 27

Create Momentum Cellview

See if you can create a Momentum Cellview in Cadence;

Figure: Create a new layout cellview, and then open ‘File’, and then open‘Momentum’

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 16 / 27

Along the tool-bar in Layout L, you should now have the following option:

Figure: Momentum-Virtuoso in the tool-bar

Press the ‘Momentum-Virtuoso’ button, and then press ‘Make MomentumCell...’, this should get you this:

Figure: Creating a Momentum-cellview, where ‘mom test’ is the cellview name

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 17 / 27

Momentum-Virtuoso

After creating the Momentum Cellview, the main window of Momentumshould pop up automatically, and it looks like:

Figure: Momentum, main window

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 18 / 27

GoldenGate-license

One last step to verify that everything works correctly, you need to checkthat you set up the license correctly for Momentum. From the Momentummain-window, go to ‘Tools’ → ‘License Manager’ → ‘Environment’, thenyou should have something like this:

Figure: Correctly set up GoldenGate license

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 19 / 27

All good?

If you managed to go through every step of the verification steps, thenMomentum is considered correctly set up. If not, then the next couple ofslides will give you a base-line of what you need to double check.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 20 / 27

Debugging

Check variables

First of all, check that all of the required variables are set up in Bash:

$ echo $HPEESOF_DIR

should return: /projects/nanus/software/ADS2017

$ echo $EMPRO_LICENSE_FILE

should return: /hom/mes/cadsoft/adm/licensetollheimtu.dat

$ echo $GOLDENGATE_LICENSE_FILE

should return: /hom/mes/cadsoft/adm/licensetollheimtu.dat

If any of those were wrong, you need to fix ∼/.bashrc

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 21 / 27

Check session variables

Now, let’s check that all of the session variables in cadence are correct.Note: all of the following commands will be written in CIW, i.e. thecommand window for Cadence (the first thing that launches when youlaunch ‘virtuoso’)

$ getShellEnvVar("HPEESOF_DIR")

should return: "/projects/nanus/software/ADS2017"

$ getShellEnvVar("ossSimUserHnlDir")

should return: "/projects/nanus/software/ADS2017/idf/ads_site/hnl"

$ getShellEnvVar("ossSimUserSiDir")

should return: "/projects/nanus/software/ADS2017/idf/ads_site/si"

$ getShellEnvVar("CDS_LOAD_ENV")

should return: "CSF"

If any of those are wrong, you need to fix CRN65LP session IC616

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 22 / 27

.cdsinit

If you did not see the ‘Loading .../ads.cxt’ message in the CIW, then youmight need to fix .cdsinit, ensure that the following line is in ‘.cdsinit’

$ grep -i "load(strcat(GetShellEnvVar" .cdsinit

should return:

load(strcat(getShellEnvVar("HPEESOF_DIR") "/idf/config/.cdsinit"))

If grep doesn’t return anything, then you need to add the expected returnline to .cdsinit.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 23 / 27

setup.loc

Ensure that you have a setup.loc in your working directory, but also checkthat includes the necessary line:

$ ls setup.loc

should return: setup.loc

$ grep -i "HPEESOF_DIR" setup.loc

should return: ${HPEESOF_DIR}/idf/ads_site

If the file doesn’t exists (ls returns nothing), then check how to installsetup.loc earlier in this document.If grep fails, then just add the expected line to setup.loc.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 24 / 27

Still not working?

If you still can’t get it to work, you can always email me. My email isembedded into my name in this document, so just click on it and/or lookit up from UiO.

Good luck!

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 25 / 27

Steps forward

Now that you have installed Momentum-Virtuoso you’ll need the substratestack to perform the EM simulations. How to set up this substrate stack iscovered in another tutorial.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 26 / 27

References I

Nano Wiki contributors. Startup TSMC65nmLPRF OA. [Online;accessed 2019-09-29]. 2017. url:https://nano.wiki.ifi.uio.no/Startup_TSMC65nmLPRF_OA.

Keysight Technologies. Momentum 3D Planar EM Simulator.[Online; accessed 2019-09-29]. 2019. url:https://www.keysight.com/en/pc-1887116/momentum-3d-

planar-em-simulator?cc=NO&lc=eng.

Nano Wiki contributors. Advanced Design Systems. [Online; accessed2019-09-29]. 2018. url:https://nano.wiki.ifi.uio.no/Advanced_Design_Systems.

Jason, Chen. Use Momentum in Cadence Virtuoso. [Online; accessed2019-09-29]. 2011. url:https://community.keysight.com/thread/19227.

Torleif Sk̊ar (University of Oslo) Momentum-Virtuoso setup October 2, 2019 27 / 27