Workspace Setup

Step 1 : Clone repository

Clone laygo2_workspace_sky130 from github

$ git clone
$ cd laygo2_workspace_sky130
$ git submodule init
$ git submodule update

Step 2: Set path variables for magic

Initialize magic template cell search path for this tutorial

$ ./
$ ./
% path

These .sh scripts initialize the ‘.maginit_personal’ file with the cell search path for ‘magic’. Your magic search path should include the following directories.

  • WORK_DIR/magic_layout/skywater130_microtemplates_dense

  • WORK_DIR/magic_layout/logic_generated

search path test example

These paths are the default template paths for the example code in laygo2.

Step 3 : Test laygo2


Several package prerequisites (such as Numpy) should be installed for LAYGO2. The base installation of Anaconda fulfills the package requirements.

$ source .bashrc
$ ipython profile create
$ ipython ( or ./ )

The ‘.bashrc’ file sets the python path of laygo2 by setting environment variables. The profile directory is printed to the shell. (Example: WORK_DIR/.ipython/profile_default/ Overwrite the default ‘’ to the config file in the repository.

If PROFILE_DIR is not output, or it dosen’t contain WORK_DIR, check if .ipython dir exists in WORK_DIR. If so, PROFILE_DIR = WORK_DIR/.ipython/profile_default.

import sys

The printed python path should include ‘WORK_DIR/laygo2’.