Introduction to Cadence Virtuoso

Start the tool (this is specific to the envionment of OST)

  1. Connect with the VPN (Cisco AnyConnect Secure Mobility Client)
  2. Start MobaXterm if it is not installed on the computer, install it with chocolatey, see also the following page.
    1. Select the server “”
  3. Start the tool with virtuoso&
    1. When you have forgotten the & in the end use “ctrl-z bg”

First steps

  • Once started the log window will pop up and when you are in a directory where a cadence project is also the library manager will pop up.
  • Inside the Library manager you should see the different technology libraries
  • Select File -> New -> Library
  • Give some name and press ok
  • A new window pops up where one has to select a technology file for the new library
    • Select “Attach to an existing technology library”
    • Chose a technology
  • Now give a file name (create a new cell)
    • Select File -> New -> Cell View
    • give a Cell name
    • and select type “schematic”
  • Now one can draw on the Schematic
  • Once drawn select “Check and Save” button which is next to the Save button


iinsert new componentSchematic
q (component must be selected)edit properties of componentSchematic
c (component/s must be selected)copy componentsSchematic
escunselect everythingSchematic
shift +scheck and saveSchematic
center button of the mouserotate componentSchematic


A library contains different components, which are called cells/Cell in virtuoso.

A cell is a component which contains different views/View.

Can be a schematic, configuration, entity, rtl or simulation/model

In the config file one can select which model one wants to use in the simulation rtl, spectre (like spice an analogue model), or schematic which again contains rtl and spectre models.

Contains the RTL code of the Cell/Component. Note, every time one changes the RTL one also has to change/update the Entity ==> virtuoso is shit 🙂


  • Why does the library manager window not occur when I start virtuoso just in a random dictionary?
    • Virtuoso needs the following files in the directory where it is started to load the library manager:
      • .cdsinit
      • .cds.lib
      • .cdsenv
    • When one starts from scratch, one needs a so-called “Kit” which is provided from the manufacturer.
  • As library, we selected flow_sensor_tb. What does that mean should we not select there a library like tsmc xy?
    • No that is the concept of virtuoso. One creates a new library which contains the library from the manufacturer. In this way, the manufacturer library is not touched. One can then use the new components in the library or this library again in another library.
  • What is gpdk045?
    • The technology 45nm
  • Why do we create a new library when we want to do a new project?
    • A library contains cells we designed cells, therefore we created a new library to which the cells belong to
  • What are the Type maestro and …? When one creates a new cell view.
    • maestro is the simulation and config is the configuration with which one wants to make the simulation there one can select if one wants to do the simulation with rtl or spectre (spectre is a description like spice)
  • How to do a Simulation
    • Select Library Select cell and select maestro
  • What does the following code mean?
vopt work.calc_direction_overflow_tb +acc -o covername0 -cover sbcex2
  • safd
Print Friendly, PDF & Email

Leave a Reply