Open-Source EDA Tools Installation

Open-source EDA tools provide cost-effective solutions for VLSI design and simulation. These tools support both analog and digital circuit design, simulation, verification, and layout generation. Electronic design automation tools are very handy for designing and simulating complex circuits, but the Advanced and modern EDA tools are very expensive. To solve this issue open-source eda tools came into the picture and giving access to many people to try on the VLSI Design.

In this article, we will explore the step-by-step process and essential commands required to install open-source Electronic Design Automation (EDA) tools for Very Large Scale Integration (VLSI) designs.

Analog VLSI Design Tools

  1. Magic – Open-source VLSI layout tool supporting interactive editing, design rule checking (DRC), and layout extraction.
  2. Xschem – Schematic capture tool for designing analog and mixed-signal circuits.
  3. Open PDKs – Package that provides technology files for open-source PDKs like SkyWater 130nm (Sky130).
  4. xterm – Terminal emulator used for running simulation and debugging commands.
  5. Ngspice – Open-source SPICE simulator for analog circuit analysis, transient, AC, and DC simulations.

Digital VLSI Design Tools

  1. OpenLane – Fully automated RTL-to-GDSII flow for digital ASIC design using Sky130 PDK.
  2. Icarus Verilog (Iverilog) – Open-source Verilog simulator for RTL design verification.
  3. GTKWave – Waveform viewer for analyzing simulation outputs.
  4. KLayout – High-performance IC layout viewer and editor with DRC and LVS capabilities.

System Requirements:

To Install the tools we need the Ubuntu 22.04.4 LTS version : Click Here

Follow the below video to Install the Ubuntu in Virtual box

Step-by-Step Installation of Open-Source EDA Tools

Step 1: System Updation

It is necessary to update the system, for this, open a terminal in the desktop/home and give
command:

sudo apt-get update

Step 2: Specific Folder Creation

Now, we will be installing all the required tools in a new folder and to create that folder type:

mkdir -p <Installation_directory_name>

Now, change the directory from desktop to the newly created folder by running the command

cd <Installation_directory_name>

(Example: mkdir -p chip_design / cd chip_design)

Step 3: Pre-Requisites

Next step is to install all the necessary supporting libraries for the installation of open source
tools for Ubuntu LTS version

sudo apt install git
sudo apt-get install build-essential clang bison flex
sudo apt-get install libreadline-dev gawk tcl-dev libffi-dev
sudo apt-get install git graphviz xdot pkg-config python3
sudo apt-get install libboost-system-dev libboost-python-dev
sudo apt-get install libboost-filesystem-dev zlib1g-dev make m4
sudo apt-get install tcsh csh libx11-dev gperf tcl8.6-dev tk8.6
sudo apt-get install tk8.6-dev libxmp4 libxpm-dev libxcb1
sudo apt-get install libcairo2 libxrender-dev libx11-xcb-dev
sudo apt-get install libxaw7-dev freeglut3-dev automake yosys
sudo apt-get update
sudo apt-get -y install libtool

Check whether .local/bin is included in $PATH

Check it with the following command:

echo $PATH | grep '\.local'

If it’s not there, then add it to your path before starting the install by adding this to your ~/.bashrc file:

export PATH="$HOME/.local/bin:$PATH"

Installation Instructions for Analog Chip Design Tools

Step 4: Installing Xschem Tool

Once the installation of all the prerequisites is done, we can proceed with installation of individual tools one by one. First, we are going to install xschem. For that, open a terminal in chip_design folder and clone the required repository from github by running the following commands:

cd ~/<Installation_directory_name>/
git clone https://github.com/StefanSchippers/xschem.git
cd xschem
./configure
make
sudo make install

To run xschem

xschem

Step 5: Installing Magic Tool

Next we will be installing magic, for that a terminal is opened in our installation folder and run the commands:

cd ~/<Installation_directory_name>/
git clone git://opencircuitdesign.com/magic
cd magic
./configure
make
sudo make install

To run magic

magic

Step 6: Installing NgSpice Tool

Next is the installation of ngspice, before installing ngspice, just update the system by : sudo apt-get update. There after run the following commands:

cd ~/<Installation_directory_name>/
git clone https://git.code.sf.net/p/ngspice/ngspice ngspice_git
cd ngspice_git
mkdir release

in order to run the following you must have adms installed (sudo apt-get install adms)

sudo apt-get install adms
./autogen.sh --adms
cd release

By default if no –prefix is provided ngspice will install under /usr/local/{bin,share,man,lib}


You can add a –prefix=/home/username to install into your home directory.

../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-adms
make
sudo make install

Step 7: Installing Open PDK’s

Next comes the most time consuming part of the installation process, i.e.., the installation of open_pdks. Once again start by updating the system : sudo apt-get update. Thereafter run the following commands:

sudo apt -y install yosys
git clone git://opencircuitdesign.com/open_pdks
cd open_pdks
./configure --enable-sky130-pdk
sudo make
sudo make install
sudo ln -s /usr/local/share/pdk/sky130A/libs.tech/magic/*/usr/local/lib/magic/sys
Home/<Installation_directory_name>/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc ~/.magicrc

Copy the .magicrc file and paste it in the magic directory

cd ~
cd ~/.xschem
cp ~/<Installation_directory_name>/open_pdks/sky130/sky130A/libs.tech/xschemrc
cd ~
cp ~/<Installation_directory_name>/open_pdks/sky130/sky130A/libs.tech/sky130A.magicrc ~/.magicrc
sudo apt -y install vim-gtk3 xterm

or

sudo apt-get -y install xterm
sudo apt-get -y install vim-gtk

Step 8: Installing LVS

Next install LVS tool to perform layout versus schematic check using the command:

sudo apt-get install netgen-lvs

Step 8: Installing Klayout

Next install the tool Klayout to have a look at the GDS file using command:

sudo apt-get install klayout

Alternative Method to install klayout

If not installed properly using the above try the alternative way as:

Download the latest Klayout from: Klayout

Klayout system requirements are:

  • C++: clang (tested on 3.8.0 and many more) or gcc (tested on 4.6.3 and many more).
  • Qt: Qt4 >= 4.8.5 (Qt 5 preferred, Qt 6 supported).
  • Ruby: >= 1.9.x (Ruby 2 or 3 preferred).
  • Python: >= 3.x.

Install using:

First install pre-requisites
(# Kindly note: Depending upon system the missing packages may appear, so installing them could help in installing klayout)

sudo apt install gcc ruby-full
sudo apt-get install libqt5opengl5 libhttp-parser2.9 libmbedcrypto7 libmbedtls14 libmbedx509-1 libssh2-1 libgit2-1.1
sudo dpkg -i klayout_0.29.5-1_amd64.deb

If it still indicates that a package is missing, install the required packages

If it pops message as “apt –fix-broken install”)

Give command:

sudo apt --fix-broken install

and re-run the following

sudo dpkg -i klayout_0.29.5-1_amd64.deb

Check Klayout using command

klayout

Installation Instructions for Digital Chip Design Tools

Step 1: Installing Openlane

In order to generate the GDS file for our digital design, we need to have openlane installed. For the same docker needs to be installed. Use the following commands to install and run docker tests.

sudo apt install docker.io
docker run hello-world

(Note*: After installing docker, run “docker run hello-world” to test if docker runs without root/sudo permissions, if it requires root permissions then you will get error regarding docker.sock in /var/run, you need to change this file permission buy running the following 🙂

cd /var/run
sudo su
chmod 666 docker.sock
exit

Inside the working directory (chip_design here) clone the following and hence install Openlane

git clone https://github.com/The-OpenROAD-Project/OpenLane
cd Openlane
make
make test

Step 2: Installing ICARUS, GTKWAVE

In order to run different digital designs Icarus Verilog serves as a means. Further in order to cross verify the output gtkwave needs to be installed so as to verify the simulation results.

  • Installation of iverilog
    • Iverilog can be installed using the following command
sudo apt install iverilog
  • Installation of gtkwave
    • To install gtkwave first of all, update the system using:
sudo apt-get update
sudo apt-get -y install gtkwave

we can see the gtkwave window by calling it on the respective terminal

Watch the complete tutorial

Read More Articles Here

Verilog Code for Basic NOT Gate

Download Pre-Installed Ubuntu File

Frequently Asked Questions

1. What are open-source EDA tools? Open-source EDA (Electronic Design Automation) tools are free software solutions for VLSI design, covering circuit design, simulation, verification, and layout generation.

2. Why should I use open-source EDA tools instead of commercial ones? Commercial EDA tools are expensive, whereas open-source tools provide cost-effective access for students, researchers, and hobbyists.

3. What are the main open-source tools for Analog VLSI design?

  • Magic: Layout design tool with DRC and extraction features.
  • Xschem: Schematic capture tool for analog and mixed-signal circuits.
  • Ngspice: SPICE simulator for circuit analysis.
  • Open PDKs: Provides technology files for open-source PDKs.
  • KLayout: Layout viewer and editor with DRC and LVS capabilities.

4. What are the key open-source tools for Digital VLSI design?

  • OpenLane: RTL-to-GDSII flow for ASIC design.
  • Icarus Verilog (Iverilog): Verilog simulator for RTL verification.
  • GTKWave: Waveform viewer for simulation results.

5. What are the system requirements for installing open-source EDA tools? Ubuntu 22.04.4 LTS is recommended. A system with at least 8GB RAM and 50GB free disk space is preferred.

6. How do I install open-source EDA tools on Ubuntu? Follow these steps:

  1. Update the system: sudo apt-get update
  2. Create a dedicated installation folder: mkdir -p chip_design && cd chip_design
  3. Install prerequisites: sudo apt install git build-essential clang bison flex
  4. Install tools like Xschem, Magic, Ngspice, Open PDKs, and Klayout by cloning repositories and following respective installation commands.

7. How can I verify if an installed tool is working? Run the respective command in the terminal:

  • xschem for Xschem
  • magic for Magic
  • ngspice -version to check Ngspice installation

8. How do I install OpenLane for digital design?

  1. Install Docker: sudo apt install docker.io
  2. Clone OpenLane repository: git clone https://github.com/The-OpenROAD-Project/OpenLane
  3. Build OpenLane: cd OpenLane && make

9. How can I install and use Icarus Verilog and GTKWave?

  1. Install Icarus Verilog: sudo apt install iverilog
  2. Install GTKWave: sudo apt-get -y install gtkwave
  3. Run simulations using iverilog and view results with gtkwave

10. Where can I find additional resources on open-source EDA tools? You can explore online documentation, GitHub repositories, and video tutorials to enhance your understanding of tool usage and troubleshooting.

For detailed installation steps, refer to the complete guide in the article.

Share your love

4 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *