Tutorials
This page provides basic information for ECE students, here at MSU, to use Cadence tools efficiently.
Currently, we have Cadence IC 6.1.3 and 6.1.2 installed along with NCSU CDK 1.6. A list of useful tutorials:
- A tutorial to setup your Cadence Virtuoso environment is
here.
- A tutorial to create a simple inverter simulation with AC/DC/TRAN analysis is
here.
- A tutorial to draw better plots and graphs is here.
- A tutorial for creating easy parametric analysis is here.
- A tutorial for layout design is here.
- A tutorial for power calculation here.
- A tutorial for place-and-route here.
- A tutorial for automated digital design flows here and scripts here.
- A tutorial for On-Chip Inductors using ASITIC is here, AMI_06.tek, layer.map.
- OnSemi 0.5 microns (SCN3ME_SUBM) GDSII Layer Map for MOSIS submissions ami05_mosis_layer_map.txt
FAQ
- Cadence Custom IC crashed! How can I restore the previous session?
- In the CIW type dbOpenPanicCellView("ECE410" "Inverter"
"layout")
- This will restore the layout window for your inverter in ECE410 library.
- How do I change the default so that ADE states are loaded or saved from
cellView rather than directory?
- In the CIW type envSetVal("asimenv" "saveAsCellview"
'boolean t)
- To make this permanent edit your .cdsenv and add
asimenv saveAsCellview boolean t
- In a Spectre simulation, how do I save currents by default?
- Add the following to your .cdsenv spectre.outputs
currents string "all"
- to save hdl variables as well add
- spectre.outputs subcktprobelvl string "2"
- spectre.outputs saveahdlvars string "all"
- I want to speed up my Spectre simulations. Does it support multi-threading?
- Yes, add the following to your .cdsenv spectre.opts multithread string
"on"
- spectre will detect the number of CPUs available and use all of them
if you have more then 256 components.
- if you want to specify the number of threads then add
spectre.opts nthreads
string "4"
- Why can't I set environment variables in .cdsenv?
- cdsenv does not support intelligent variables you have to use .cdsinit
instead. e.g. if you have $PROJECT_ENV_DIR already set and want your graphic
drfPath to load it you cannot do graphic drfPath string "PROJECT_ENV_DIR/display.drf"
- please use cdsinit by adding envSetVal(?graphic? ?drfPath? ?string strcat(getShellEnvVar("PROJECT_ENV_DIR")"/display.drf"?))
- How can I delete all Cadence Virtuoso Lock Files?
- Open a Terminal window, go the directory where your library resides. Type
find . -name "*.cdslck"
-type f -exec rm -rf {} \;
- This should recursively delete all cdslck files in the current directory.
- How do I reload .cdsenv file
- in CIW type envLoadVals(?envFile "./.cdsenv")
- This will reload .cdsenv in the currect directory. You can change the
path if desired.
- How do I attach a techlib to a library?
- in CIW type tcDisplayAttachTechForm()
- or go to CIW -> Tools -> Technology File Manager -> Attach
- I get an error "bash: setenv: command not found" when I source the environment file.
- Make sure that you are running tcsh shell not bash, so just type
tcsh before sourcing or contact
support to change your shell
permanently.
- When I run Virtuoso it fails with this error:
WARNING* X Window Display Initialization failure
WARNING* (DISPLAY not defined)
- If you are running on Windows make sure you that Xming is running and X11 Forwarding is enabled in Putty. If you are running on a Mac or Unix then verify that you pass -X when running ssh e.g. "ssh -X"
Prepared by
Faisal T. Abu-Nimeh
Last update: 12/28/2011