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.
Table of Contents
Analog VLSI Design Tools
- Magic – Open-source VLSI layout tool supporting interactive editing, design rule checking (DRC), and layout extraction.
- Xschem – Schematic capture tool for designing analog and mixed-signal circuits.
- Open PDKs – Package that provides technology files for open-source PDKs like SkyWater 130nm (Sky130).
- xterm – Terminal emulator used for running simulation and debugging commands.
- Ngspice – Open-source SPICE simulator for analog circuit analysis, transient, AC, and DC simulations.
Digital VLSI Design Tools
- OpenLane – Fully automated RTL-to-GDSII flow for digital ASIC design using Sky130 PDK.
- Icarus Verilog (Iverilog) – Open-source Verilog simulator for RTL design verification.
- GTKWave – Waveform viewer for analyzing simulation outputs.
- 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:
- Update the system:
sudo apt-get update
- Create a dedicated installation folder:
mkdir -p chip_design && cd chip_design
- Install prerequisites:
sudo apt install git build-essential clang bison flex
- 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 Xschemmagic
for Magicngspice -version
to check Ngspice installation
8. How do I install OpenLane for digital design?
- Install Docker:
sudo apt install docker.io
- Clone OpenLane repository:
git clone https://github.com/The-OpenROAD-Project/OpenLane
- Build OpenLane:
cd OpenLane && make
9. How can I install and use Icarus Verilog and GTKWave?
- Install Icarus Verilog:
sudo apt install iverilog
- Install GTKWave:
sudo apt-get -y install gtkwave
- Run simulations using
iverilog
and view results withgtkwave
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.
[…] Read this Article to know how to install the xschem and ngspice : Click Here […]
[…] that you have your directory, it’s time to open Xschem. If you haven’t installed Xschem or the necessary open-source tools yet, make sure to check out the installation guide. Once ready, […]
[…] with synthesis tools to generate hardware […]
[…] you omit the size, Verilog assumes a default width-usually 32 bits, but this can vary by simulator. Unsized numbers default to decimal unless a base is […]