|
|
In the instructions below, substitute your UW Net ID wherever you see
"uwnetid".
Last updated: 27 Sep 2023
CAD Tools
Vendor
| Description
| Common Tools
|
Cadence |
Cadence is a large collection of programs for circuit design, layout,
simulation and preparation for manufacturing.
|
Two of the primary toolsets are:
- Virtuoso
The
Virtuoso family of tools provide schematic editing, layout support,
electrical verification, and visualization and analysis of waveforms.
- Spectre
Spectre is Cadence's SPICE tool for circuit simulation.
|
Most of the tools are Linux based and run on a server. Access to the
server is via a remote desktop application -- in our case, this is
either:
- X2Go (new way, as of August 2023)
X2Go has proven to be a more efficient remote desktop application than
VNC.
The x2goclient program (see below) needs to be installed on your client
computer and configured to access our CAD servers, which runs an
x2goserver component. Once the connection to the remote CAD server
is made, it will open the remote desktop
as another window on your local computer's
desktop,
and you can use the server's desktop to access and interact with
the CAD tools.
- VNC (old way, prior to August 2023)
Using cadman is still allowed, but may result in
poor performance for everyone else on the CAD server.
It will likely be deprecated and removed in 2024.
Once you install the environment, you set up an encrypted tunnel from
your computer to the server,
use a VNC client to connect to the CAD server and open up a remote desktop
as another window on your local computer's
desktop.
Inside the remote desktop, you open up a terminal window and
run the appropriate commands or script to, say, change the
display resolution or run the desired CAD tool.
Installation on Windows
Installing the local application or client involves downloading
a client application.
- X2Go Client (recommended method)
- Download X2Go Client for MS Windows
- If installing as Adminstrator, run the downloaded executable file to install.
- If not installing as Adminstrator, please
follow the MS Windows "Detailed" instructions
in the
To install X2Go Client without admin rights section.
- Continue with x2go: Usage
- cadman (legacy method)
- Download cadman.zip
- Unzip cadman.zip into the C:\ folder.
If you are logged into a SET Lab computer or a UWT classroom computer,
you can unzip it to your H: drive.
- Look at the contents of the C:\cadman (or at UWT, your
H:\cadman) folder.
You should see one cadman.ini file and
several .exe and .cmd files.
The cadman.ini file is where you can override some
defaults; for example, if the server IP address or hostkey changes.
You don't normally need to modify this file, although sometime it
is useful if the username you logged in as in not the same as your
UW NetID. You want to put your UW NetID and/or your password in that
file — be
very careful about saving your password,
as it is saved in plain text.
- Continue with cadman: Usage from Windows
x2go: Usage
Before you can use Cadence tools, you must first connect to the server
on which the Cadence design and simulation tools are installed.
This is what the x2go client does, after it is configured to connect to the
Cadence server.
x2go: Using Cadence
cadman: Usage from Windows
Before you can use Cadence tools, you must first connect to the server
on which the Cadence design and simulation tools are installed.
Background
PuTTY's plink command is a remote shell command -- basically,
it is the command-line version of the putty.exe GUI.
plink
uses your login account on the remote server to start the remote
display mechanism -- the VNC remote display service. Your login account is the
same as your UW NetID, and your MyUW password is required.
plink is also used to provide an encrypted connection
to the server, to protect passwords and your work.
When the VNC server is started, it sets a unique port per user. That port is
used by plink to provide the encrypted tunnel, and
the VNC viewer command (vncviewer.exe)
to connect to the remote display service via the tunnel.
cadman.exe automates all of that for you.
It makes sure it can find plink.exe and
vncviewer.exe, uses plink to
start the VNC remote display service, gets the returned port number, opens up
a tunnel using plink (which must remain open),
and then starts vncviewer to use the tunnel and
connect to the remote display service.
cadman: Using Cadence from Windows
To use Cadence tools after installation:
- Browse to the C:\cadman (or H:\cadman) folder.
- Run cadman.exe
By default, cadman.exe uses the
value of the USERNAME environment variable to login
to the remote server. On a personal computer, this may not be the same
as your UW NetID. In that case, you should do one of the following:
- Click on the Cadence tab.
- Click on the Connect to Cadence Desktop via VNC Service button
You may be prompted for your MyUW password -- enter it when requested.
It will be remembered until you close cadman.
A command shell will open, with some information that looks like:
Connecting to remote system for port...
New 'cn10-vcl8:4 (srondeau)' desktop is cn10-vcl8:4
Starting applications specified in /home/srondeau/.vnc/xstartup
Log file is /home/srondeau/.vnc/cn10-vcl8:4.log
Port 5904 acquired.
Starting the ssh tunnel...
Connecting to Cadence server
If you see an error stating "unable to connect", close that window and
click on the Connect to ... button until connected.
- Change the size of the remote display.
You can use the entire full screen of your local display by pressing
the F8 key (possible Fn-F8 keys on some laptops) and checking the box
for "Full-screen". This is a feature of the TigerVNC remote viewing
program (a.k.a., "vncviewer").
Another way to change the remote display size is to select one of the
following screen resolutions: 1920x1080, 1440x900, 1600x1024, or 1280x1024 --
whatever is supported by your monitor and Windows. Use it in a command
issued in a terminal window inside the remote display; for example, to
set the remote display to 1440x900:
xrandr -s 1440x900
- Do your work in Cadence.
Installation on Mac OS
Installing the local application or client involves downloading
a client application.
- X2Go Client (recommended method)
- Download both Xquartz and X2Go Client for OS X
- Install the pre-requisite Xquartz and then the X2Go client as
instructed.
- Continue with x2go: Usage
- cad.sh (legacy method)
See cad.sh: Using Cadence from Mac OS
cad.sh: Using Cadence from Mac OS
Unfortunately, there is no Mac equivalent for the Windows app
cadman. However, there is a
script
to simplify the common connection process.
- Using the cad.sh script to connect:
- Right-click on this link
to download
the script to your Downloads folder.
Once downloaded, you should be able to run the script to run the
script from that folder, duplicating the
commands listed in the command line instructions.
- Open a terminal window on your Mac.
- Change to the Downloads directory:
cd ~/Downloads
- Change its permissions to allow executing by name:
chmod +x cad.sh
- Enter this command in that terminal window:
./cad.sh
You will be prompted for your UW Net ID. Enter that or q to
quit. If you enter the wrong UW Net ID, press and hold
the control key, then press the c
key and release both to terminate the script, and start over again.
The default VNC password for the Cadence server will be shown.
This is not necessarily your password, if you changed it at
some point with the setvncpw command —
we won't be able to display the one you changed it to, but you
can override it by setting it again.
Use the VNC password for the last prompt, to connect to the VNC
server via 127.0.0.1.
- Note that there are other arguments to pass to cad.sh
to perform various actions besides the default connect. They
are displayed via:
./cad.sh -h
and provide a slightly easier interface to
issuing manual commands. Your UW Net ID is remembered for such
future actions. For example, to stop the VNC service:
./cad.sh vncstop
You can combine actions. For example, to stop the VNC service and
end the tunnel:
./cad.sh vncstop et
- Continue with these instructions.
- To connect to the Cadence server manually via the command-line:
You will enter commands in a terminal window to set up and control
the remote display session, including establishing an encrypted tunnel
between your computer and the server. You may like portions of
these instructions better if you prefer the
graphical user interface (GUI) approach,
but you will still need to know the specific information here and adapt
it to filling in the information in the GUI.
To Connect to Cadence Desktop via VNC Service:
- Open a terminal window on your Mac
- Start the VNC service to get the remote port number.
ssh uwnetid@cadence.insttech.washington.edu vncstart
For uwnetid, provide your UW Net ID. When prompted for
a password, use your MyUW password.
For example, my UW Net ID is srondeau, so I would run:
ssh srondeau@cadence.insttech.washington.edu vncstart
and enter my MyUW password when prompted.
You should eventually see something similar to the output below:
New 'cn10-vcl8:9 (srondeau)' desktop is cn10-vcl8:9
Starting applications specified in /home/srondeau/.vnc/xstartup
Log file is /home/srondeau/.vnc/cn10-vcl8:9.log
default vncpw: xxxxxxx
vncport 5909
The default password is replaced by 'xxxxxxx' above for this
documentation -- you will see the real default password.
My remote port number is 5909, as can be seen from
this line above:
vncport 5909
Remember this number to replace remport in the
next step, which sets up an encrypted tunnel between your
computer and the server.
If the vncport line is the only line shown, you may need to run
the vncstop command before running the
vncstart command again, as the port may no longer
be active.
- Establish an ssh (encrypted) tunnel to protect your VNC session:
ssh -f uwnetid@cadence.insttech.washington.edu -L 15901:127.0.0.1:remport sleep 300
Again, substitute your UW Net Id for uwnetid.
Substitute the VNC port number (from the vncstart command)
for remport. For example:
ssh -f srondeau@cadence.insttech.washington.edu -L 15901:127.0.0.1:5909 sleep 300
What is that command doing? It is setting up the ssh tunnel from a local
port (15901 — this is an example of a random number between
1025 and 65535, used as a concrete example) on my local
computer (127.0.0.1, also known as "localhost") to the remote port
(5909, in the example)
on the remote computer or server (cadence.insttech.washington.edu). This
tunnel is only established between the local computer and the server
for this user (srondeau in the example). The sleep 300
command passed to the server tells it to keep the tunnel open for
encrpyted communication (mainly, the VNC password) for 300 seconds.
If you are returning to an already-established VNC session — that is,
one you previously started via vncstart — you can ask
what your VNC port is and use that directly in the ssh tunnel command:
ssh uwnetid@cadence.insttech.washington.edu vncport
For example:
ssh srondeau@cadence.insttech.washington.edu vncport
should show:
vncport 5909
- Display the default VNC password (which will work unless you changed it).
ssh uwnetid@cadence.insttech.washington.edu vncpw
- Open a VNC session to the remote computer:
open vnc://127.0.0.1:15901
Note that the IP address 127.0.0.1 is the "localhost" address always, and
15901 is the same as the local port number on the ssh tunnel command.
- Enter the VNC password when prompted.
The default VNC password is listed in the command shell window. You should
change that password (eventually) by following the
Set VNC Service Password instructions — note
that setting the password will shut down the existing VNC
remote display service to change the password.
- Change the size of the remote server's display.
A possible way to do so is to select one of the following Retina
screen resolutions: 1680x1050, 1440x900, or 1280x800. Use it in a command
issued in a terminal window inside the remote server's displays.
For example, to
set the remote server's display to 1440x900:
xrandr -s 1440x900
- Do your work in Cadence.
- When finished and you no longer want the VNC
remote display service active, stop or kill the service.
The remote display service stays up until you explictly stop or kill it. That
is done by following the
Kill Cadence Desktop VNC Service instructions.
- Set VNC Service Password
This is a means of forcing a new password to be what you set it.
- Open a terminal window on your Mac
- Change the password
ssh uwnetid@cadence.insttech.washington.edu setvncpw "newpw"
where newpw is the new password you want.
You will not be able to see what this password is via vncpw,
as it is not the default password. You can, however, set it to something
else if you can't remember it.
- Kill Cadence Desktop VNC Service
- Open a terminal window on your Mac
- Stop the VNC service
ssh uwnetid@cadence.insttech.washington.edu vncstop
Do your work in Cadence
- Note that Cadence does not
like spaces in directory or folder names.
If asked to create a directory or folder name, do not use spaces in
the name. For example, instead of TCES 421 Autumn 2022
use TCES_421_Autumn_2022. This will avoid later errors
creating libraries and other names (either also without spaces) in
that directory.
- Follow the instructions provided by your instructor.
On the remote server, open a terminal window or right-click
on the directory name in the File Manager tool, and click on
"Open in Terminal", then run one of these commands per
your instructor's instructions:
- cad-ncsu
This starts Cadence's Virtuoso and related tools with the
NCSU Cadence Design Kit (CDK) or library.
- cad-fp45
This starts Cadence's Virtuoso and related tools with the
NCSU Free Process Design Kit (PDK) for 45nm Node or library.
- virtuoso
This starts Cadence's Virtuoso and related tools with the default library.
Please close all Virtuoso windows
when you are finished for the day. This
will free up valuable computer resources for other students to use for
their work. Note that closing the VNC window WILL NOT close Virtuoso
windows.
You can also cleanly exit everything
to conserve server resources and avoid problems connecting later.
- spectre
The spectre script requires at least an input file name as
an argument. The input file is a netlist file; e.g.
spectre sample.netlist
To look at options for the command:
spectre -help
- When finished with your use of Cadence at the end of the day
You
should cleanly exit to conserve server
resources and avoid problems connecting later.
Troubleshooting Problems
- Mac Screen Sharing: Connection failed to "127.0.0.1:15901". The software on the remote computer appears to be incompatible with this version of Screen Sharing
This problem is likely the result of entering the wrong password. The desired
password is the VNC password, which has a default. If you change it via
"setvncpw", there is no way to retrieve and show what it is. However,
you can reset the password to a different password. For example:
ssh uwnetid@cadence.insttech.washington.edu setvncpw "newpw"
using your UW Net ID for uwnetid and your new password for
newpw, then trying the open command again
and using that new password when prompted.
- FATAL ERROR: Host key did not appear in manually configured list
You ran cadman before and saved the host key, but the host key has changed
because the cadence server changed. You probably have an older version
of cadman and need to download, unzip and use the
latest version.
- Access Denied
There are a few possibilities:
- The MyUW password you supplied was not accepted by the remote server.
You probably entered the wrong password. You may have to close
cadman and then start it again to "forget" the
wrong password.
Also, see this troubleshooting topic.
- USERNAME is not the same as UW NetID
The default user name is the value of the Windows USERNAME
environment variable. The most likely cause of this error is that the
USERNAME value is not the same as your UW NetID,
and that UW NetID should be all in lower case.
Refer to this explanation to determine how to resolve
that.
- Unknown login account for valid UW NetID
Another possibility is that a valid UW NetID
(must be typed in lower case!) is used, but there is no
login account that matches it on the remote
server. In that case, please contact your instructor or
lab staff.
- Your computer login account has spaces in its name.
Spaces in file names can cause problems because they need to be
specially handled, such as putting quotes around a path to a file.
Older versions (prior to 2.84) of
cadman.zip did not
handle this well, resulting in the Access is denied error.
Please download the latest cadman version.
- FATAL ERROR: Network error: Software caused connection abort
This indicates that your IP address is being blocked by the remote server,
probably due to too many failed login attempts.
Please contact lab staff via email
and provide your IP address. Your IP address can be seen by
visiting this web page.
- Connection Abandoned
This usually occurs when plink required an answer to a
question, but the script failed to answer it. If you try to connect manually:
plink uwnetid@140.142.71.52
using your UW NetID instead of "uwnetid", you should answer "y" to
the question about caching information, then provide your MyUW password
when prompted. If you login successfully, simply enter exit
to log out. After that, you can use cadman.exe to
connect to the server using the remote desktop service.
- FATAL ERROR: Host key did not appear in manually configured list
The hardcoded host key provided in
cadman.exe and
cadman.ini
no longer
match the host's key.
Try downloading and unzipping cadman.zip
in case there is an updated version (the version number appears in the
window title).
If cadman.exe still fails with this message,
please contact lab staff.
- plink: the -pw option can only be used with the SSH protocol
The wrong protocol is selected in the "default settings" for the PuTTY configuration.
To fix it:
- Start putty.exe
The window title should be the "PuTTY Configuration".
- Under the "Saved Sessions" label, select Default Settings and click on the "Load" button.
- Under the "Connection type:" label, check the radio button for SSH
- Click on the Save button.
- Close putty, and try cadman again.
- Opening a VNC session on a Mac fails
This could be due to too many ssh tunnel connections from your computer
to the server.
To resolve the problem, find all of your tunneled ssh sessions:
ps auxxwww | grep ssh | grep L
Then using the process ID (or pid) of each process (the second column after
the user name), kill all of those processes. For example, if the above command
displayed lines containing these pids: 31383 45141 45214:
kill -KILL 31383 45141 45214
After all of the old tunnels are destroyed by killing the process,
re-establish the tunnel and
and open a VNC session.
- Cadence: virtuoso error "bad atom" or "request xx error y serial zzz"
where "xx", "y" and "zzz" are numbers which may vary.
You may not see the virtuoso log window appear after you see one of those
error messages, and think that virtuoso did not start. It may have, but your
remote display size is too small to see the window virtuoso opened. See
the instructions on how to
"Change the size of the remote display".
- TigerVNC Viewer: Unable connect to socket: Connection refused (10061)
The student who reported this error also solved it -- his personal
computer's default language was NOT "English", and when he changed it
to "English", this problem was resolved.
In an attempt to fix this viewer error without changing the default
language (this is untested), the version of TigerVNC Viewer
was upgraded from 1.8.0 to 1.10.0, which is reflected in cadman
version 2.85. Later cadman versions may have TigerVNC Viewer
versions that are higher.
- FATAL ERROR: Network error: connection timed out
It may be that you don't have a login account on the Cadence server.
Only students currently (i.e., in the current quarter)
enrolled in a course requiring Cadence have login accounts. If you
had access in a past quarter, it is normally revoked at the end of
that quarter. If you need access, have your instructor send an email
to SET Labs Computing Staff requesting access
to Cadence for you (provide your name and UW Net ID).
- The MyUW password was not accepted.
Two possibilities:
- If you enter your password when prompted, then you must have entered
your password incorrectly.
Check for the CAPS Lock key being on.
Sometimes it
helps to type your password in a temporary file (using notepad or some other
editor), copy the password to the clipboard, then paste it when prompted.
Alternatively and MUCH LESS SECURELY,
put the password in your cadman.ini file,
but make sure you change that file if you change your MyUW password.
- If you were NOT prompted for a password, you have an old or incorrect password in the cadman.ini file.
Change the password to the correct one, or remove it so cadman will prompt
you for a password.
- Can't start terminal.
The cause is likely that you didn't exit cleanly from a previous login
session. At the end of every use and to rectify this problem, you should:
- Close all windows of the application (e.g., virtuoso) you are running.
- Log out of your desktop session.
- In upper right corner of screen, click on power button icon.
- Click on your UW NetID.
- Click on "Log out" menu item.
- Click on "Log out" button to log out immediately.
- Kill the desktop VNC service:
- Can't create library.
Most likely, this is the result of the directory name where you
started the application (e.g., virtuoso) — it probably
contains spaces in that name
.
Exit the application, go up one
level in the directory tree, then rename the directory with spaces, open
a terminal, start your application, and try creating the library again.
- vncstop: Operation timed out
Starting a VNC session is done via clicking on cadman's "Connect to
Cadence Desktop via VNC Service" button or sending the
vncstart command via ssh.
That session persists until either you stop it (cadman's "Kill Cadence
Desktop VNC Service" or sending vncstop via ssh), or the
cadence server is restarted.
If you get "Operation timed out", that means the server could not run
the vncstop command, probably because there are too
many processes running for your user account. In that case, please
contact SET Lab Staff.
Most of the time, a started VNC session remains started. Trying to start
it multiple times eventually causes a failure to login or run a command,
and SET Lab Staff need to intervene to kill all processes for a user account.
The ability to persist a VNC session can be very handy if you have a
long-running simulation or other work and you want it to continue
running even if you lose your Cadence desktop window (by closing it or
losing the network connection).
But how do you know if a VNC session is already started?
On cadman, there is no way to check (if unsure, press the kill button prior
to connecting via the connect button). It may not always work, and you
could end up with "Operation timed out" -- contact SET Lab Staff.
Using ssh, you can send the vncport command, which will
return:
No port. Use: vncstart
if it is not running.
Change Log
27 Sep 2023 |
Remove Synopsis documentation. Added X2Go as recommended
means of connecting to Cadence server. |
2 May 2023 |
Added Mac Troubleshooting item for "Connection failed" message. |
29 Nov 2022 |
Change to vncstart output for default vncpw, and minor edits. |
23 Nov 2022 |
Added Troubleshooting item about "Operation timed out" |
22 Nov 2022 |
Added Mac instructions to use a script, and clarified Mac command-line
instructions. |
18 Oct 2022 |
In Troubleshooting section, added "Can't start terminal"
and "Can't create library" sections. Warned users of spaces
in directory names when using Cadence.
Provided general instructions on how to cleanly exit
everything in Cadence.
|
18 Nov 2021 |
In Troubleshooting section, added 'The MyUW password was not accepted'
section.
|
28 Oct 2021 |
In Troubleshooting section, added 'FATAL ERROR: Network error: Connection timed out'.
|
21 Oct 2021 |
Added TigerVNC Viewer connection refused troubleshooting section.
|
14 Dec 2020 |
Emphasized closing Virtuoso windows to conserve resources.
|
22 Oct 2020 |
Emphasized that the UW NetID mst be entered in lower case only.
|
1 Oct 2020 |
In Troubleshooting section, added one more reason for 'Access is denied'. Also, improved Mac documentation about local ports.
|
17 Aug 2020 |
In Troubleshooting section, added 'FATAL ERROR: Host key did not appear in manually configured list'.
|
23 Oct 2019 |
In Troubleshooting section, added 'Cadence: virtuoso error "bad atom" or "request xx error y serial zzz"'.
|
9 Sep 2019 |
In Troubleshooting section, added "Opening a VNC session on a Mac fails".
|
4 Dec 2018 |
In Troubleshooting section, added fix for plink -pw error.
|
19 Nov 2018 |
For Cadence sections, provided instructions on installing cadman
to H: drive, and added additional clarifications.
|
28 Sep 2018 |
Clarified some Mac commands and provided means of increasing the resolution of the remote display. |
3 May 2018 |
Changed Windows Cadence instructions due to performance and
reliability changes in cadman 2.4. |
2 May 2018 |
Added cad-fp45 and new version of cadman (2.3) via cadman.zip download. |
5 Apr 2016 |
Added means of using Mac OS to gain access to Cadence/Synopsys servers |
8 Dec 2015 |
Revised to use new cadman.zip download, and cadman.exe and cadman.ini files |
2 Dec 2015 |
Added more help to "Troubleshooting Problems" section and added spectre documentation |
1 Dec 2015 |
Added changing username value and "Troubleshooting Problems" section |
30 Nov 2015 |
Original document |
Hours
|
Support Information
|
News
|
Policies
|
Emergencies
|