Installation and Setup ===================================== Run the following commands sequentially to install RAD-Gen and its dependencies. Clone Repository ------------------ .. code-block:: bash $ 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. .. code-block:: bash $ # from $ # 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 ------------------ #. 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: #. Optional: after cloning the ASAP7 follow `instructions `_ to set it up for cadence virtuoso a. 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. .. code-block:: bash $ cd ~ && git clone git@github.com:The-OpenROAD-Project/asap7.git #. 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 ---------------------------------------------- - `Cadence Genus `_ → Synthesis - `Cadence Innovus `_ → Place & Route - `Synopsys PrimeTime `_ → Timing & Power - `(Optional) Cadence Virtuoso `_ → Full custom + GDS manipulation 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: .. code-block:: bash $ which genus $ which innovus $ which pt_shell $ # Below for COFFE / 3D IC flow $ which hspice $ # Below is Optional $ which virtuoso