ASIC Design Flow requires many EDA tools and industry uses some of the advanced EDA tools. For expanding your knowledge on these tools and the design flow opensource eda tools can be used and applied to your design.
My system specifications
- Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
- SODIMM DDR3 Synchronous 1333 MHz 4GB
- ATA Disk 500GB
- Ubuntu 14.04.5
Opensource EDA tools
This website is the repository for the suite of open-source EDA (Electronic Design Automation) tools including Magic, IRSIM, Netgen, PCB, and XCircuit. These tools are all provided for free under the GNU Public License (GPL) or similar open-source license.
http://opencircuitdesign.com/ The simplistic design flow can be as follows
Lets starting by installing the Opensource EDA tools in the design flow order, these are the few required
Tcl/tk is needed for almost all the tools. It can be installed using the following command.
sudo apt-get install tk-dev tcl-dev tk tcl
1. Icarus verilog and GTKWave
sudo apt-get update sudo apt-get install iverilog sudo apt-get install gtkwave
These commands will install Iverilog and GTKWave. Iverilog is the open source verilog simulator. GTKWave is the opensource wave form viewer.
Yosys is a framework for Verilog RTL synthesis. You can install yosys using the yosys repository in git or using apt-get. I used the following ppa
sudo add-apt-repository ppa:saltmakrell/ppa sudo apt-get update sudo apt-get install yosys
This will setup yosys on your system,
Graywolf is used for placement in VLSI design. It can be found at the following git repository
git clone https://github.com/rubund/graywolf.git
Download the git repository using the above command.
cd graywolf cmake . make sudo make install
The installation might throw errors if you do not have Gnu Scientific Library. You have to install the gsl library for graywolf to compile.
sudo apt-get install libgsl0ldbl sudo apt-get install gsl-bin libgsl0-dev
This should set up gsl and installation of graywolf should not be a problem.
Qrouter is a tool to generate metal layers and vias to physically connect together a netlist in a VLSI fabrication technology. It is a maze router, otherwise known as an “over-the-cell” router or “sea-of-gates” router. That is, unlike a channel router, it begins with a description of placed standard cells, usually packed together at minimum spacing, and places metal routes over the standard cells.
Download the qrouter from the following link
tar -xvf qrouter-version cd qrouter-version ./configure make sudo make install
This should install qrouter.
Magic is a venerable VLSI layout tool. It can be downloaded from the following link
tar -xvf magic-version cd magic-version // to install dependencies sudo apt-get install m4 sudo apt-get install csh sudo apt-get install libx11-dev sudo apt-get install libncurses-dev sudo apt-get install blt-dev //OpenGl is also needed sudo apt-get install freeglut3 sudo apt-get install freeglut3-dev sudo apt-get install binutils-gold sudo apt-get install libglew-dev sudo apt-get install mesa-common-dev sudo apt-get install build-essential sudo apt-get install libglew1.5-dev libglm-dev //install magic ./configure make sudo make install
This should install magic.
Qflow is a complete tool chain for synthesizing digital circuits starting from verilog source and ending in physical layout for a specific target fabrication process. It can be downloaded from the following link,
tar -xvf qflow-1.1 cd qflow-1.1 ./configure make sudo make install
This should install qflow.
Netgen is a tool for comparing netlists, a process known as LVS, which stands for “Layout vs. Schematic”. It can be downloaded from the following link
tar -xvf netgen-version cd netgen-version ./configure make sudo make install
Netgen should be up and running.
IRSIM is a tool for simulating digital circuits. It is a “switch-level” simulator; that is, it treats transistors as ideal switches. Extracted capacitance and lumped resistance values are used to make the switch a little bit more realistic than the ideal, using the RC time constants to predict the relative timing of events. It can be downloaded here
tar -xvf irsim-version cd irsim-version ./configure make sudo make install