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.
Install mambaforge if some form of conda or mamba isn’t already installed using the mambaforge installer.
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
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
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.
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
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.
Clone the repo from GitHub
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.
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;