BAG3++ Workspaces

Workspaces are available for the following open source PDKs. Please git clone and follow the instructions in the README.

Note

We strongly recommend using the PyCharm editor for easily navigating across the function definitions and quickly viewing doc strings in the various python files. For convenience, the .idea folders are included in all the repositories so that PyCharm gets auto-configured correctly in each workspace.

Available workspaces

  1. BAG3++ workspace for cds_ff_mpt: This is an academic FinFET PDK cds_ff_mpt from Cadence.

  2. BAG3++ workspace for SkyWater130: This is configured for the s8 version of the planar SkyWater 130nm PDK.

Updating path configurations

Note

BWRC users: This section is not necessary since all the paths are already configured.

After git cloning the workspaces and recursively updating the submodules, make the following changes.

  1. In .bashrc_bag, set:

    export BAG_TOOLS_ROOT=/path/to/conda/env/envname
    
  2. In .bashrc set

    export CMAKE_HOME=/path/to/programs/cmake-3.17.0
    
  3. In .bashrc, update the paths to the PDK installation directory and other programs.

  4. For server traffic management and space utilization reasons, we recommend putting simulation results, output logs from DRC, LVS, etc, in a “scratch” space to avoid increasing the size of the workspace area. Configure BAG to use the “scratch” space by editing this line in .bashrc_bag:

    export BAG_TEMP_DIR=/path/to/scratch/space
    
  5. Configure Virtuoso to put simulation results in the same “scratch” space by editing this line in .cdsenv:

    asimenv.startup projectDir string "/path/to/scratch/space"
    
  6. Update the PDK symlink inside <tech_repo>/workspace_setup to point to the local PDK installation directory.