Installing Open-Source EDA Tools on a Virtual Machine

From Center for Integrated Circuits and Devices Research (CIDR)
Jump to navigation Jump to search

In this tutorial, we will create a Linux virtual machine (VM) running on your local (host) machine. We will then install open-source IC design tools here, isolated from the rest of your computer.

Installing Virtualization Software

There is a wide range of virtualization software available, such as VirtualBox or QEMU. For Windows and MacOS users, VirtualBox is a common choice, while Linux users would probably use QEMU/KVM. Download and install your chosen virtualization software.

After installing the virtualization software, you can now create virtual machines.

Installing Ubuntu

For EE220, it is sufficient to create a VM with 2 cores, 8GB of RAM, and 100GB of (disk) storage. Enable networking on your VM so you can download and install software from the web.

On your host computer, download the ISO image of the latest Ubuntu release from the Ubuntu website. We are using Ubuntu 22.04 for this tutorial.

Boot up your newly created VM using the Ubuntu ISO installer, and select normal installation. Follow the instructions for installing Ubuntu. At the end of the installation process, you will be asked to create a user account. You will use this to run the EDA tools we need for the class.

After successfully installing Ubuntu, log in to your VM and update it:

$ sudo apt update
$ sudo apt -y upgrade

Installing Prerequisite Software

We need to install a C compiler and the necessary developer tools using:

$ sudo apt install build-essential

We then need to install the necessary libraries for compiling the software tools:

$ sudo apt install bison flex libx11-dev libreadline-dev libxaw7-dev libxmu-dev x11proto-xext-dev libxft-dev fontconfig libxrender-dev libfftw3-dev autoconf automake libtool libedit-dev adms tcl-dev tk-dev git csh libcairo-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev

For python3, we will install Anaconda. Go to the Anaconda website and download the installer. After downloading the installer, change its permissions to make it executable, then run the installer:

$ chmod a+x Anaconda3-2022.05-Linux-x86_64.sh
$ ./Anaconda3-2022.05-Linux-x86_64.sh

Note that the installer filename could change if a newer version is available.

Installing NGSPICE

Download NGSPICE from via the NGSPICE website and uncompress the downloaded file:

$ tar xvf ngspice-37.tar.gz

The files are extracted to the ./ngspice-37/ directory. Enter this directory and run the following commands at the command line:

$ mkdir release
$ cd release
$ ../configure  --with-x --with-readline=yes --disable-debug
$ make
$ sudo make install

The default install directory for executables is /usr/local/bin/.

Installing Magic

Download the files via git:

$ git clone https://github.com/RTimothyEdwards/magic

Go to the local directory the files were copied to (e.g. ./magic/) and run:

$ ./configure
$ make
$ sudo make install

Installing the SkyWater 130nm Design Kit

Download the installation scripts via git:

$ git clone git://opencircuitdesign.com/open_pdks

After downloading the installation scripts, we can now install the PDK. Note that this could take some time.

$ cd open_pdks/
$ ./configure --enable-sky130-pdk
$ make
$ sudo make install