| Virtuoso |
| ======== |
| |
| Virtuoso Device Library |
| ----------------------- |
| |
| The SKY130 PDK supports Virtuoso OpenAccess and has been tested with Virtuoso IC6.1.7-64b.500.15. |
| |
| Virtuoso Environment Setup |
| -------------------------- |
| |
| A few environment variables must be set to load the SKY130 PDK in Cadence. Two examples for setting these variables are provided in the PDK and described below. |
| |
| Module File Setup |
| ~~~~~~~~~~~~~~~~~ |
| |
| Module files are a common technique for loading environment variables in a modular approach. An example module is provided in the directory $PDK_HOME/VirtuosoOA/examples/modules. The subdirectory s8 provides a module file s8phirs_10r.V1.3.0, which contains one section with site-specific environment variables: |
| |
| .. code:: zsh |
| |
| ############################################ |
| # Site-specific PDK Installation Variables # |
| ############################################ |
| setenv SW_PDK_ROOT /data/pdks/SkyWater |
| setenv PDK_HOME $env(SW_PDK_ROOT)/s8/V1.3.0 |
| |
| The $SW_PDK_ROOT variable must be customized for each site. Once this is set, all subsequent variable definitions should be correct. Note that the PDK version and METAL_STACK will be updated as appropriate in future releases. |
| |
| To load the module, use the command “module load s8/s8phirs_10r.V1.3.0”. Note that this module uses a separate module pdk_loaded to check if any other PDKs have been loaded. This module file is provided in the VirtuosoOA/examples/modules directory. |
| |
| .cdsinit |
| ^^^^^^^^ |
| |
| The .cdsinit file is automatically sourced by Cadence Virtuoso upon startup to load variables and settings. |
| |
| This file also has several lines that can be used to set the variables $PDK_HOME and $METAL_STACK if required. Note that these lines have been commented out on the assumption that these will be loaded by the module. |
| |
| This file also contains lines that set the default Spectre models. |
| |
| Techfiles |
| ~~~~~~~~~ |
| |
| User libraries can either attach to the existing technology library for s8phirs_10r, or they can compile their own techfile. The techfile for this technology is in $PDK_HOME/VirtuosoOA/techfiles/s8phirs_10r.tf. |
| |
| The gds mapfile is in the technology library, $PDK_HOME/VirtuosoOA/libs/s8phirs_10r/s8phirs_10r.layermap. |
| |
| Schematic Driven Layout / Layout XL |
| ----------------------------------- |
| |
| The V1.3.0 PDK supports schematic-driven layout with LayoutXL. Not all features of VirtuosoXL have been tested, nor have all device features been tested. |