Cadence ECE Teaching Environment Guide

How to load the Cadence module, initialize your project, use the NCSU PDK, and choose the right tool flow for ECE courses.

Quick Start

Most students only need these three steps.

module load cadence_ece
mkdir my_project
cd my_project
cadence_init_project
virtuoso &
What this does: loads the Cadence environment, prepares your current directory for the NCSU design kit, and launches Virtuoso.

What the Module Loads

Module

cadence_ece

Sets the environment for the Cadence teaching tools and points the design-kit path to the shared PDK location.

PDK Path

CDK_DIR

/ventura/apps/pdk/ncsu/cdk-1.6.0.beta

Commands

Available Tools

virtuoso, spectre, genus, innovus, pvs, pegasus, xrun

What cadence_init_project Does

This command prepares your current folder to work with Cadence and the NCSU design kit.

  • Creates ~/.cdsinit if you do not already have one.
  • Creates a local cds.lib file in your current project directory.
  • Uses files from $CDK_DIR/cdssetup.
  • Does not overwrite existing files.

Files involved

FilePurpose
~/.cdsinitUser Cadence startup settings
./cds.libProject library mapping
cadence_init_project
Run this once per project directory. If you make a new folder for a new lab or design, run it again there.

Current Recommended Workflow vs Legacy Workflow

Recommended

Current module-based flow

module load cadence_ece
mkdir my_project
cd my_project
cadence_init_project
virtuoso &

This is the supported Jason/Volta workflow. It uses the shared PDK location under /ventura and avoids old user-specific paths.

Legacy

Older Hakan/Cihan style flow

Older class notes used manual setup steps such as editing cds.lib, manually setting Calibre variables, and loading the Calibre SKILL file inside Virtuoso. Those steps worked, but they relied on hardcoded personal or legacy paths.

Use the module-based flow above for new work. Only use the legacy method when reproducing an older project that still depends on those paths or settings.

Migration note: if you copied an older project into Volta, review cds.lib and any saved ADE state paths. Older projects often reference user-specific library or model paths that must be updated before they run correctly.

Verification Workflow: Pegasus in Virtuoso, Calibre as Standalone

The validated SDSU flow uses Pegasus inside Virtuoso for integrated layout verification. Siemens Calibre is available separately as a standalone verification tool in its own clean shell session.

Integrated

Pegasus inside Virtuoso

module load cadence_ece
cadence_init_project
virtuoso &

Open a layout view in Virtuoso and use the Pegasus menu in the layout window for integrated verification tasks.

Standalone

Siemens Calibre

module purge
module load siemens
module load calibre/2026.1
calibre -gui

Run Calibre in a separate clean terminal. This avoids environment conflicts with the Pegasus-integrated Cadence session.

Important: do not mix the Pegasus-integrated Virtuoso session and standalone Calibre in the same shell environment. Use a separate terminal for Calibre.
Where to look in Virtuoso: the integrated verification menu appears in the layout window, not in CIW or Library Manager. In the current validated setup, that menu is Pegasus, not Calibre.

Course Tool Map

Course Typical Tools Common Start
COMPE 572 - VLSI Circuit Design Virtuoso, Spectre module load cadence_ece
cadence_init_project
virtuoso &
EE 439 - Instrumentation Circuits Virtuoso, Spectre, Xcelium via xrun module load cadence_ece
cadence_init_project
EE 533 - Neuromorphic Computing Virtuoso, Spectre module load cadence_ece
cadence_init_project
virtuoso &
EE 670 - Digital ASIC Design Genus, Innovus, Xcelium module load cadence_ece
genus -help
innovus &
EE 674 - Signal and Power Integrity Cadence signoff and integrity flow as assigned, plus Pegasus / PVS / Calibre where required module load cadence_ece
module load siemens calibre/2026.1 (if your lab requires Calibre)

Common Commands

Check the PDK path

echo $CDK_DIR

Launch Virtuoso

virtuoso &

Show Spectre help

spectre -h

Show Genus help

genus -help

Launch Innovus

innovus &

Standalone Calibre GUI

module purge
module load siemens
module load calibre/2026.1
calibre -gui

Suggested Student Workflow

module load cadence_ece
mkdir lab1
cd lab1
cadence_init_project
virtuoso &
Important: create a separate directory for each lab, homework, or project. Run cadence_init_project inside each new project directory.

When you need standalone Calibre

module purge
module load siemens
module load calibre/2026.1
calibre -gui

Use a separate terminal for Calibre instead of trying to combine it with the Pegasus-integrated Virtuoso session.

Troubleshooting

Libraries do not appear in Virtuoso

Make sure you ran cadence_init_project in the current project folder and that cds.lib exists there.

Check that the module is loaded

module list

Check the design kit path

echo $CDK_DIR

Old project will not simulate

Inspect cds.lib, ADE state files, and model paths. Older transferred projects often contain user-specific paths that need to be changed.

Where is the verification menu?

Open a layout view. The integrated verification menu appears in the layout window, not in CIW or Library Manager. In the validated SDSU setup, the integrated menu is Pegasus.

Calibre shows a VCO mismatch

Start Calibre in a clean terminal with only siemens and calibre/2026.1 loaded. Do not run standalone Calibre from the same shell environment used for the Pegasus-integrated Cadence session.

Need help?

Contact wnguyen@sdsu.edu if a tool does not start or the environment does not load correctly.