Upload
others
View
18
Download
1
Embed Size (px)
Citation preview
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