Installation and Setup

Run the following commands sequentially to install RAD-Gen and its dependencies.

Clone Repository

$ cd ~ && git clone git@github.com:StephenMoreOSU/rad_gen.git
$ cd rad_gen
$ git submodule init
$ git submodule update

We don’t do a recursive clone as there are some modules from within hammer that require an NDA.

Python Setup and Activation

The following script will setup the python environment for RAD-Gen. Dependencies are (conda) OR (python >= 3.9 AND venv).

Sourcing the following script will activate the specified RAD-Gen environment. If the environment is not found, it will install RAD-Gen’s environment as specified.

$ # from <RAD_GEN_HOME>
$ # Adds modules to PYTHONPATH and activates conda / venv environment
$ source env_setup.sh [conda|venv]  # Defaults to conda if environment is unspecified

ASAP7 PDK Setup

  1. The ASAP7 pdk is large so its not specified as a submodule to RAD-Gen. Users will have to clone this themselves, create a directory in a desired workspace that will be used to store ASAP7 and possibly other pdks:

  2. Optional: after cloning the ASAP7 follow instructions to set it up for cadence virtuoso
    1. This is only needed if virtuoso GDS extraction / DRC / LVS is required (not needed for vanilla asic flow)

Clone the ASAP7 repo in a directory of your choosing.

$ cd ~ && git clone git@github.com:The-OpenROAD-Project/asap7.git
  1. ASAP7 is supported for open source and commercial tools:
    • Commercial: Cadence

    • genus → Synthesis

    • innovus → Place & Route

    • tempus → Static Timing Analysis

    • Open Source: OpenROAD

RAD-Gen ASIC Flow ASAP7 Specific Dependencies

The above commercial tools are required for the below examples, however, due to hammers support for OpenROAD, it would be possible to run it was well with modification to config files. However this is untested.

If they are installed correctly the following commands should return executable paths:

$ which genus
$ which innovus
$ which pt_shell
$ # Below for COFFE / 3D IC flow
$ which hspice
$ # Below is Optional
$ which virtuoso