EDA in GNU/Linux
September 10, 2010 7 Comments
As I mentioned in my previous post, I will be posting a few tutorials on EDA in GNU/Linux. EDA, Electronic Design Automation, is basically a class of tools which make an electronics engineer’s life a lot easier. (Wikipedia article). These tools are used by every company or institute. Most of you would have heard of SPICE (known popularly as PSpice), a circuit simulation tool. Many similar tools exist for analog and digital circuits, VLSI design, embedded systems and PCB (printed circuit board) design. However, most of the well known proprietary tools are very costly for an individual to buy and use. In college, students end up using cracked (which is illegal and I discourage this) versions of software. Evaluation versions do not have most of the important features or are valid for just a few days. That’s how the EDA world is in most people’s perspective – filled with tools that no one can afford and that’s where this post comes in. What most people do not know is that there are tons of free and open source tools out there which can do everything you expect from the tools you have used till now. Yes there are missing features. But you can still work well enough with them. Wondering what kind of tools I’m talking about? Here is a tiny list:
- Analog Circuit Simulation: ngspice, gnucap, gSpiceUI.
- Hardware Description: Icarus Verilog, FreeHDL, GHDL.
- VLSI Layout: Magic, Electric.
As I said, its a tiny list. A very tiny list. Now how do you get this software? Firstly I would suggest that you switch to a GNU/Linux distribution. This is for the simple reason that installing these in Windows can be a real pain. So if you can’t do without Windows (like me) have a dual boot setup (Windows + GNU/Linux on the same PC). Your best option would be to use Fedora. Fedora has a spin called Fedora Electronic Lab. It contains all the software you need for EDA. Here is a link: http://spins.fedoraproject.org/fel/
If you already have Fedora installed, just open the terminal and as root run the following command:
yum groupinstall ‘Electronic Lab’
Or you can install just Fedora and run the command above.
Alternatively you could use Ubuntu. Ubuntu is considered as the easiest to use GNU/Linux distribution. It also has a ton of EDA tools in its repository. Want to have a look at the list? Here you go:
If you are comfortable with some other distribution, you could just go to the tool’s website and download and install.
In my next post, I will post a beginners tutorial on analog circuit simulation using gEDA. The purpose of the tutorials on these is to get you to start using these tools. If you are someone with experience on GNU/Linux and EDA, you could just go through the documentation directly.
So stay tuned for tutorials on EDA in Linux 🙂
I received a comment where I was told that using these tools on Ubuntu is not the same. Instead of telling you why (and possibly changing what he meant), here’s a part of the comment itself:
“FEL’s way of packaging opensource EDA software is not like that of Ubuntu. Even though the software are the same, the versions of the tools are not the same.
FEL’s try to follow every bug and update their tool whenever this particular tool is fixed. This leads to a more closer quality that one might except from commercial tools. While Ubuntu just waits for a new version and package it. Thereby the users need to wait 6months till the bug is fixed.
People working in FEL are people from the Semiconductor industry not software guys like ubuntu. Thus with FEL you will always hear “design flows”. Take for example ngspice, FEL’s ngspice is coupled with xcircuit to enhance designer’s experience. Even, their kicad version follows what real people want as features:
The only reason I recommended Ubuntu is because its a lot easier for beginners and most Linux users I know use it. So I would recommend using Fedora itself. And for those of you who are using GNU/Linux for the first time ever, I’d like to tell you that Fedora was the first distribution I used. Had a few tiny problems with it initially but in a few days I was good to go.
Thank you Robert for your valuable feedback! 🙂