Fedora Electronics Lab
After a lot of work during the Fedora 7 release cycle, it was made possible to re-spin Fedora to suit your needs, and although there were a few spins created during that release cycle, this time around we're seeing some really exciting use made of this feature. One of the coolest spins to be created is the Fedora Electronics Lab.
Read on for an interview with Chitlesh Goorah, the developer behind this feature - in which he discusses the help he's had from the community, the target audience, his inspiration for creating this spin - along with some screenshots showing off some of the apps you can find on this spin...
If you enjoy this article, follow the link and give it a digg :D
#!html <div style="float: right; background: #eeeff1; border: 2px solid silver; padding: 1em; margin: 1em">
Location: Strasbourg, France
Profession: Postgraduate Student (Micro-Nano Electronics)
IRC Nick: ChitleshGoorah
Interviewed by: JonathanRoberts
To start, if you could tell us a bit about where the inspiration for this feature came from? Is it an area that hasn't been tackled by other distributions/OSs?
The inspiration for this feature came from HOW it got its name "Fedora Electronic Lab".
At the very beginning, there was neither the intention for a Fedora Electronic Lab nor its spin. During my post-graduate studies in Micro-Nano Electronic Engineering, I needed VLSI simulation tools. I started packaging the VLSI simulation tools for Fedora, which I needed for my studies. Then MirjamWaeckerlin and my lecturers in Strasbourg, France, encouraged the concept of introducing Application-Specific Integrated Circuit (ASIC) Design Flows on Fedora, so that they can recommend to other students or use those tools themselves.
After receiving some feedbacks from the fedora community, the objectives got wider till a point that it was tagged with a name "Fedora Electronic Lab". Now the latter covers every single package for electronic simulation available under the fedora umbrella.
Packaging or even introducing these tools in any distribution requires certain basic knowledge in microelectronics in terms of thorough testing. I guess this is among the reasons why these tools aren't available in the official repositories of many distributions.
Nowadays, nearly every semiconductor company uses some type of fabless approach. Being innovative and cutting-edge, Fedora has enough qualities to lead the opensource electronic simulation environment by example.
Tell us about your goals for the Fedora Electronic Lab. Do you have plans for expanding this post F8, perhaps targeting other areas of engineering?
Facilitating the design and verification of ASIC design flow for our users remains the key objective of the Fedora Electronic Lab.
This approach shaped our goals and raised many questions as well. Thus our solutions brought forward many potential advantages for Fedora users, such as:
- a complete process of creation, management, simulation and implementation for designs following either top-down and bottom-up strategies.
- interoperability between the packages.
- a simple fabless semiconductor facility designed to fulfill various design teams' tasks.
- a simple and quick deployment methodology of the FEL through the RPM package management.
- 7 extra technology libraries to automate synthesis, placement, and routing of a digital ASIC, up to a feature size of 0.13µm (more than 300 MB)
- many extracted spice decks which can be simulated with gnucap/ngspice or any circuit simulators.
- a mature environment at the Fedora Project in terms new contributions to the FEL.
During the last decade, the number of companies embracing the fabless model has increased tremendously. There are more than 700 fabless companies globally. The electronic simulation tools are very expensive and affect many educational institutions. One of our goal is to attract those institutions so that they opt Fedora based distributions as their software platform.
The prime objectives for the "Fedora Electronic Lab" aren't to include as many packages as possible. But rather, ensuring interoperability between the packages. It is good to have many packages at one's disposal. However, for any electronic engineer, it is useless (in terms of time wasting) to use an application which outputs data that can't be processed by another application. Surely, we will try to work with those upstream so that we can ensure interoperability in the future.
Once Fedora 8 will be released, the FEL packages will be pushed to the EPEL repositories so that other distributions such as CentOS, Scientific Linux etc... can take advantage of the Fedora Electronic Lab.
What are, in your opinion, some of the killer packages for this spin going to be? On the feature's wiki page you say that it is primarily targeted at micro-nano electronic engineering, but are there applications that will cater to other areas as well?
The Fedora Electronic Lab (FEL) isn't just the packages on the spin. Some packages were excluded as they take a lot of space on the live image along with their dependencies. These packages can be installed via yum later on.
Fedora Electronic Lab for Fedora 8 will mainly target the micro-nano electronic engineering field. However there are tools present on the Fedora collection for circuit simulation, programming micro-controllers and Atmel devices, designing PCB Layouts and schematics,...
With FEL, we satisfy a real-life scenario of a fabless semiconductor industry. The scenario consists of providing adequate simulation tools to various design teams:
- Physical Design
- Backend Product fabrication
- Design Testing
- Circuit Design
- Analog/Digital Design
- and many more ...
For example, for "backend product fabrication" project management, some basic tools such as a mindmapping tool, gantt diagram editor, numerical computing tools will be included in the spin.
The main actors are magic, netgen, xcircuit, irsim, alliance, gnucap and pharosc. Pharosc includes essential scripts to allow anyone to wrap up his/her own standard cell libraries.
FEL will not include tools for mechanical or biological simulations. But most certainly, there will be some work to introduce some FPGA tools and more verilog support on the Fedora Collection. However, there will certainly be more improvements on the actual packages.
So, if you had to describe the Fedora Electronic Lab in just one sentence, what would you say?
The FEL Live image(i.e the spin) is a marketing medium for upstream and focuses on being a free electronic laboratory for end users.
What kind of work has been required to put this feature together? Have there been many Fedora specific changes or has there been a lot of upstream work? How did other fedora contributors help?
60% of the work were to remove hard coded links from various packages. Upstream were notified and most changes have already been made. Most of these tools were in fact personal projects which ultimately needed an automated process for installation. Fedora's interest on the FEL forced many upstream to fix their old bugs and provide documentations for their tools. The rest of the work was to ensure interoperability so that minimum with Makefiles, simulations can be automated.
One of the key role of translating FEL packages in French was done by Fedora's french translator, Alain Portal. He is also the maintainer of Pikloops.
In terms of packaging, there aren't many Fedora specific changes other than doing system-wide compilations, ensuring multi-libs and satifying fedora packaging guidelines. MamoruTasaka and XavierLamien helped to integrate the packages in Fedora. But in terms of research, proposal and requests for enhancements the Fedora community have helped a lot in shaping the spin. RahulSundaram pointed to some interesting articles from time to time. Some fedora users called for changes in order to shape the FEL Live spin to their own usage. Some users did even send some requests to contact certain closed source projects they use in order to open their code. One of 3 projects I've contacted responsed positively and perhaps will license his product under the BSD license next year.
Hans de Goede and Trond Danielsen from the embedded SIG have included a cross toolchain for Fedora for the gp2x handheld console which is applicable to other arm platforms as well.
Uptil now, it has been a success and upstream have already integrated the changes in their trunk. Thus other distributions can take advantage of the opensource eco-system. I hope Fedora has made it simple for other distributions to integrate those simulation tools in their respective collection.
And finally, maybe you'd like to tell us a little bit about yourself? What got you interested in free software originally; things you love to do when you're not on the computer?!
It is rare that I'm not in front of my computer but I do differentiate fedora related work and my personal research work for electronics. I do share great moments with my girlfriend. I enjoy "real" melodic trance music, but not the commercial ones. I spend a lot of time on EDAs (both opensource and proprietary) trying to understand their engines and their limitations for a particular type of simulation.
ASIC : Application-Specific Integrated Circuit VLSI : Very Large Scale Integration, about 10⁶ to 10⁷ transistors