Install#

I would recommend using Conda to install Virtue and any related packages. This will install both virtue and Python into a virtual environments and makes it easy to use different versions of Python in each Conda environment.

  1. Install mambaforge if some form of conda or mamba isn’t already installed using the mambaforge installer.

  2. Create a new environment named “virtuoso”.

    This can be done using the environment definition from our anaconda cloud:

    1conda env create cascode-labs/virtuoso
    

    OR

    If you want to edit the packages to be installed you can download the virtuoso environment definition file, virtuoso.yml,, and create the env from the downloaded file:

    1conda env create -f virtuoso.yml
    
  3. Activate the newly created Conda environment and then install the Virtue SKILL environment into its Python environment.

    2conda activate virtuoso
    3virtue install
    

You can install Virtue using pip from the virtue-skill PyPi package

  1. You’ll need to have Python and pip installed and it’s recommended to create a new new virtual environment for virtuoso before installing virtue.

  2. Install Virtue using Pip. skillbridge and softworks are both optional recommendations to be installed with virtue.

    # Remember to activate your virtual environment first
    pip install virtue-skill skillbridge softworks
    virtue install
    
  1. You’ll need to have either Conda or Python and pip installed. It’s recommended to create a new Conda or venv virtual environment for virtuoso before installing virtue.

  2. Clone the repo from GitHub

  3. Pip install from source:

For a editable development installation that will include local updates:

1# Remember to activate your virtual environment first
2pip install -e .
3virtue install

OR

For a read-only installation:

1# Remember to activate your virtual environment first
2pip install .
3virtue install

Then Follow the instructions to add the Virtue SKILL environment initialization scripts to your Virtuoso initialization scripts. Each script will need to be initialized in a different way in your Virtuoso environment. See “Install the Library Manager Customizations” and “Install the View Type Registry” sections for more details and hints.

You can also just load the “virtue.init.ils” from the CIW window to enable only the main skill code for just the current session. This also doesn’t enable the data registry required to define custom view types and doesn’t enable the library manager customizations.

load("/path/to/repo/virtue/virtue/virtue.init.ils")

Reminder: The following will change your top-level interpreter to SKILL++ if you want to test it out interactively in SKILL++:

toplevel('ils)

Install the Library Manager Customizations#

Library customizations for all packages installed in a Virtue SKILL environment can be loaded by adding the following code to the “cdsLibMgr.il” file in the current working directory, a user’s home directory, or a site installation directory from the setup.loc list. You should also follow the instructions for loading multiple cdsLibMgr.il files, especially when existing site customizations must be loaded in addition to the user’s.

Load virtue-environment.cdsLibMgr.il#
1when(getShellEnvVar("VIRTUE_SKILL_PREFIX")
2     && isFile(strcat(env(VIRTUE_SKILL_PREFIX) "/virtue/virtue-environment.cdsLibMgr.il"))
3   printf("virtue-environment.cdsLibMgr.il...\n")
4   loadi(strcat(env(VIRTUE_SKILL_PREFIX) "/virtue/virtue-environment.cdsLibMgr.il"))
5)

Install the View Type Registry#

Custom cell view types must be included in a data.reg data registry file before starting Virtuoso.

You can add the following SOFTINCLUDE line to a data.reg file in the current working, home, or $CDS_SITE directory. You should also setup support for multiple files if it’s not already setup. Each package in the Virtue SKILL environment will then add itself to the environment’s data.reg.

SOFTINCLUDE $VIRTUE_SKILL_PREFIX/virtue.data.reg;