Steps to install on Ubuntu20
Install all dependent packages
In this tutorial, it is considered that the installation is happening on a clean centos7 OS.
apt install python3 m4 libx11-dev gcc mesa-common-dev libglu1-mesa-dev csh tcl-dev tk-dev git clang -y
Install Magic
First, the magic code repository needs to be cloned to the local machine -
git clone git://opencircuitdesign.com/magic
Then, change to the cloned magic directory and begin the installation process -
cd magic
This command will verify the dependencies required for magic installation. -
./configure
This command will compile the code -
make
This command will install the binary in the directed location (Default location is /usr/local/bin) -
make install
Install Netgen
First, the magic code repository needs to be cloned to the local machine -
git clone git://opencircuitdesign.com/netgen
Then, change to the cloned netgen directory and begin the installation process -
cd netgen
This command will verify the dependencies required for netgen installation. -
./configure
This command will compile the code -
make
This command will install the binary in the directed location (Default location is /usr/local/bin) -
make install
Install OpenROAD
First, clone the OpenROAD git repository on to your local machine. This will also recursively initialize the third-party submodules -
git clone –recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
Now change to the cloned repository -
cd OpenROAD/
This shell script will install all the dependencies required for OpenROAD to build -
./etc/DependencyInstaller.sh -dev
Now, this shell script will build the OpenROAD app and store it in build/src folder by default -
./etc/Build.sh
Now move the generated binary from the default location to the /usr/bin so that it can be accessed from the command line by directly typing the openroad command -
cp build/src/openroad /usr/bin/.
Install Skywater 130nm PDK
Similar to above installation process, clone the skywater-pdk git repository from the github -
git clone https://github.com/google/skywater-pdk
Change to the cloned repository and start initializing the submodules -
cd skywater-pdk
Note that you can initialize a set of libraries as per your requirement. Below initializes the basic libraries -
git submodule init libraries/sky130_fd_io/latest
git submodule init libraries/sky130_fd_pr/latest
git submodule init libraries/sky130_fd_sc_hd/latest
git submodule init libraries/sky130_fd_sc_hvl/latest
git submodule update
Now build the timing files for the above selected libraries -
make timing
This completes the first step in the process of installating the PDK. Now use the open_pdks installer to build the PDK from the libraries to use them across the OSEDA tools. -
cd ../
Clone the open_pdks github repository -
git clone https://github.com/RTimothyEdwards/open_pdks.git
cd open_pdks
Run the below command which verifies all the dependencies required for this PDK build. Notice that the –enable-sky130-pdk option is pointing to the libraries location which we had arranged in the first step. The –prefix option will tell the installer to place the PDK files in a particular location. In this case, the PDK files will be installed in the location /pdks/share/pdk/ -
./configure –enable-sky130-pdk=/pdks/skywater-pdk –prefix=/pdks
This command will compile all the files (builds gds files, does the replacement inside the files if required) -
make
This command will install the PDK data in the respective location (the default location will be /usr/share/pdk. Else the location given with the –prefix is considered) -
make install
It is suggested to declare an environment variable which points to the pdk data location and place it in the .bashrc (or your terminla environment file). Below is an example on how to declare the pdk data environment variable. -
export PDK_ROOT=/pdks/share/pdk/
Install Klayout
First, the Yosys code repository needs to be cloned to the local machine -
git clone https://github.com/YosysHQ/yosys.git
Then, change to the cloned yosys directory and begin the installation process -
cd yosys
Below commands will build yosys binary on your local machine -
make config-clang
make
make install